PT09IHJlbGVhc2UgMS4xMi4wID09PQoKMjAxNy0wNS0wNCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjEyLjAKCjIwMTctMDUtMDQgMTM6NDc6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDUtMDIgMTA6MzI6MzAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjcmFzaCBvbiBtc3Mgc3RyZWFtIGNhdXNlZCBieSBpbnZhbGlkIHN0c2QgZW50cnkgYWNjZXNzCgkgIFNpbmNlIG1zcyBoYXMgbm8gbW9vdiwgZGVmYXVsdCBzdHNkIGVudHJ5IHNob3VsZCBiZSBjcmVhdGVkIHdpdGggbWVkaWEtY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjA0MgoKPT09IHJlbGVhc2UgMS4xMS45MSA9PT0KCjIwMTctMDQtMjcgMTc6Mjk6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMS45MQoKMjAxNy0wNC0yNyAxNTo1ODo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZnVyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTA0LTI3IDE1OjI4OjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZWwucG86CgkqIHBvL2Z1ci5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDQtMjcgMTI6NTY6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgY3Jhc2ggaW4gZGVidWcgb3V0cHV0IGlmIHN0cmVhbT09TlVMTAoJICBUaGF0IGNhc2UgaXMgY29ycmVjdGx5IGhhbmRsZWQgYmVsb3cgYnV0IG5vdCBpbiB0aGUgZGVidWcgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMjcwCgoyMDE3LTA0LTI1IDE3OjExOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHBlcmZvcm0gc2Vla3Mgd2l0aCBpbmNvbnNpc3RlbnQgc2VlayB2YWx1ZXMKCSAgSWYgZ3N0X3NlZ21lbnRfZG9fc2VlaygpIGZhaWxzLCB3ZSBzaG91bGRuJ3QgdHJ5IHNlZWtpbmcgb24gdGhhdAoJICByZXN1bHRpbmcgc2VnbWVudCBidXQganVzdCBlcnJvciBvdXQuIENyYXNoZXMgZnVydGhlciBkb3duIHRoZSBsaW5lCgkgIG90aGVyd2lzZS4KCjIwMTctMDQtMjQgMjA6Mjc6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwYWVlZjYgdG8gNDhhNWQ4NQoKMjAxNy0wNC0yNCAxNzozMTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkZCB0ZXN0IGZvciBydHBoMjY0ZGVwYXkgYXZjL2J5dGUtc3RyZWFtIG91dHB1dAoJICBNYWtlIHN1cmUgYXZjIG91dHB1dCBkb2Vzbid0IGNvbnRhaW4gU1BTL1BQUyBpbmxpbmUsIGJ1dAoJICBieXRlLXN0cmVhbSBvdXRwdXQgZG9lcy4KCjIwMTctMDQtMjQgMTc6Mjk6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGRvbid0IGluc2VydCBTUFMvUFBTIGlubGluZSBmb3IgQVZDIG91dHB1dAoJICBTUFMvUFBTIGFyZSBpbiB0aGUgY2FwcyBpbiB0aGlzIGNhc2UgYW5kIHNob3VsZG4ndCBiZSBpbgoJICB0aGUgc3RyZWFtIGRhdGEuCgoyMDE3LTA0LTIxIDE5OjA5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBwcm92aWRlX2Nsb2NrKCkgaW1wbGVtZW50YXRpb24KCSAgSWYgbm8gY2xvY2sgd2FzIHByb3ZpZGVkIGRpcmVjdGx5IGJ5IHJ0c3BzcmMuIFRoaXMgYmVoYXZpb3VyIHdhcyByZW1vdmVkCgkgIGJ5IGY4MDEzNDg3YzkxYTZmZmM1NTJhNGIyNWFhMWE3MGYwYmQ1Mzc3ZjggYW5kIHJlc3VsdHMgaW4gcnRzcHNyYyBub3QKCSAgcHJvdmlkaW5nIHRoZSBzeXN0ZW0gY2xvY2sgdmlhIHRoZSBydHBqaXR0ZXJidWZmZXIuCgkgIEFzIGEgcmVzdWx0LCBpZiBhbm90aGVyIGVsZW1lbnQgbGlrZSBhbiBhdWRpbyBzaW5rLCBwcm92aWRlcyBhIGNsb2NrLAoJICB0aGUgcGlwZWxpbmUgd291bGQgc2VsZWN0IHRoYXQgKHdoZW4gZ29pbmcgdG8gUEFVU0VEL1BMQVlJTkcgYWdhaW4gbGF0ZXIpLgoJICBBdWRpbyBjbG9ja3MgdXN1YWxseSBkb24ndCBwcm9ncmVzcyBpbiBQQVVTRUQsIGFuZCB0aHVzIG91ciBsaXZlIHNvdXJjZQoJICB3b24ndCBiZSBhYmxlIHRvIHVzZSB0aGUgY2xvY2sgdG8gcHJvZHVjZSBkYXRhLCBtYWtpbmcgdGhlIHNpbmsgbmV2ZXIKCSAgcHJlcm9sbCBhbmQgZXZlcnl0aGluZyBpcyBzdHVjay4KCjIwMTctMDQtMjAgMTE6MjI6MTUgKzAyMDAgIErDvHJnZW4gU2FjaHMgPGp1ZXJnZW4uc2FjaHNAbWV0ei1jZS5kZT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNldCBzYW1wbGVfZGVzY3JpcHRpb25faWQgdG8gZGVmYXVsdAoJICBGaXhlcyBzdHJlYW0gd2hlcmUgc2FtcGxlX2Rlc2NyaXB0aW9uX2lkIGlzIHNwZWNpZmllZCBpbiB0aGUgdGZoZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MzM3CgoyMDE3LTA0LTIwIDEzOjE2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBEb24ndCB1c2UgYW4gZXhwbGljaXQgbmFtZSBmb3IgcmVxdWVzdGluZyBhdWRpbyBwYWRzCgkgIC4uLiB1bmxlc3MgdGhlIG11eGVyIHVzZXMgdGhlIHNhbWUgYXVkaW8gcGFkIHRlbXBsYXRlIG5hbWUgYXMKCSAgc3BsaXRtdXhzaW5rLiBXZSBjYW4ndCByZXF1ZXN0IGEgcGFkIGNhbGxlZCAiYXVkaW9fMCIgb24gYSBtdXhlciB0aGF0CgkgIHdhbnRzIHBhZHMgdG8gYmUgInNpbmtfJWQiLgoKMjAxNy0wMi0yMyAwOTozMTozNiArMDkwMCAgQ2hhbmdCb2sgQ2hhZSA8Y2hhbmdib2suY2hlYUBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgZHVwbGljYXRlZCBzZWdtZW50IGluaXRpYWxpemF0aW9uCgkgIEl0J3MgYWxzbyBkb25lIGluIGdzdF9mbHZfZGVtdXhfY2xlYW51cCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MTA2CgoyMDE3LTA0LTIwIDIwOjE3OjM1ICsxMDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IENvcnJlY3RseSBjYXRjaCBGTFVTSCBldmVudHMgaW4gcHJvYmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0OTgKCjIwMTctMDQtMTkgMTI6Mjg6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZXZlcnQgInJ0cGJpbjogcGlwZWxpbmUgZ2V0cyBhbiBFT1Mgd2hlbiBhbnkgcnRwc291cmNlcyBieWVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGVlZWEyYTdmZTg4YTE3YjE1MzE4ZDViNmFlNmUxOTBiMmY3NzcwMzAuCgkgIEl0IGJyZWFrcyBFT1MgaW4gc29tZSBzZW5kZXIgcGlwZWxpbmVzLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIxOCNjMjAKCjIwMTctMDQtMTQgMTc6MDE6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVzZXQgYWRhcHRlciBpbiBtb3JlIGRpc2NvbnRpbnVpdHkgY2FzZXMKCSAgSW4gcHVzaCBtb2RlIHdlIHByb2Nlc3MgYXMgbXVjaCBhcyBwb3NzaWJsZSBpbiB0aGUgYWRhcHRlci4gV2hlbiB3ZSByZWNlaXZlCgkgIGEgRElTQ09OVCBidWZmZXIgd2hpY2ggd2UgY2FuJ3QgbWF0Y2ggdG8gYW4gYWN0dWFsIHNhbXBsZSAoYmFzZWQgb24gdGhlIGV4aXN0aW5nCgkgIHNhbXBsZSB0YWJsZSkgYW5kIHRoZXJlIGlzIHN0aWxsIGRhdGEgcmVtYWluaW5nIGluIHRoZSBpbmNvbWluZyBhZGFwdGVyLHRoZXJlIGlzCgkgIG9uZSBvZiB0d28gY2FzZXMgaGFwcGVuaW5nOgoJICAxKSBXZSBhcmUgZG9pbmcgcmV2ZXJzZSBwbGF5YmFjaywgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQgZmx1c2ggb3V0IGFsbCBwZW5kaW5nCgkgIGRhdGEKCSAgMikgV2UgaGF2ZSBsZWZ0b3ZlciBkYXRhIGZyb20gdGhlIHByZXZpb3VzIGluY29taW5nIGJ1ZmZlci4uLiB3aGljaCB3ZSBjYW4ndCBkbwoJICBhbnl0aGluZyBhYm91dC4KCSAgRm9yIHRoZSBzZWNvbmQgY2FzZSwgbWFrZSBzdXJlIHdlIGZsdXNoIG91dCB0aGUgcmVtYWluaW5nIGRhdGEgc28gdGhhdCB3ZSBjYW4gc3RhcnQKCSAgcGFyc2luZyBhZ2FpbiBmcm9tIHNjcmF0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEzMTkKCjIwMTctMDQtMTQgMTA6NTY6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVzZSBHU1RfRUxFTUVOVF9FUlJPUl9XSVRIX0RFVEFJTFMKCSAgQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBrbm93IHRoZSBleGFjdCBzdGF0dXMgY29kZSB0aGF0IHdhcyByZXR1cm5lZAoJICBieSB0aGUgc2VydmVyIGluIGEgcHJvZ3JhbW1hdGljIGZhc2hpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEzMDQKCjIwMTctMDQtMTYgMTg6NDc6NTYgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBsZWFrIG9uIFF0RGVtdXhTdHJlYW1TdHNkRW50cnkKCSAgRml4IHVuaXQgdGVzdCBmYWlsdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEzNjIKCjIwMTctMDQtMTQgMTM6Mzg6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHRpbWVzY2FsZSBvZiB0aW1lY29kZSB0cmFja3MKCSAgVGhleSBzaG91bGQgaGF2ZSBpZGVhbGx5IHRoZSBzYW1lIHRpbWVzY2FsZSBvZiB0aGUgdmlkZW8gdHJhY2ssIHdoaWNoIHdlCgkgIGNhbid0IGd1YXJhbnRlZSBoZXJlIGFzIGluIHRoZW9yeSB0aW1lY29kZSBjb25maWd1cmF0aW9uIGFuZCB2aWRlbwoJICBmcmFtZXJhdGUgY291bGQgYmUgZGlmZmVyZW50LiBIb3dldmVyIHdlIHNob3VsZCBzZXQgYSBjb3JyZWN0IHRpbWVzY2FsZQoJICBiYXNlZCBvbiB0aGUgZnJhbWVyYXRlIGdpdmVuIGluIHRoZSB0aW1lY29kZSBjb25maWd1cmF0aW9uLCBhbmQgbm90IGp1c3QKCSAgdXNlIHRoZSBmcmFtZXJhdGUgbnVtZXJhdG9yLgoKMjAxNy0wNC0xMyAxMzoyNTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQcm9wZXJseSByZXNldCBkZW11eGVyIHdoZW4gYWxsIHN0cmVhbXMgYXJlIEVPUwoJICBNYWtlIHN1cmUgb2Zmc2V0IGFuZCBuZWVkZWRieXRlcyBhcmUgcHJvcGVybHkgcmVzZXR0ZWQgd2hlbiBhbGwKCSAgc3RyZWFtcyBhcmUgRU9TIGluIHB1c2gtbW9kZS4KCSAgQXZvaWRzIGNhc2VzIHdoZW4gc29tZSBkYXRhIG1pZ2h0IHN0aWxsIGJlIHB1c2hlZCBieSB1cHN0cmVhbSAoYmVjYXVzZQoJICBpdCBkaWRuJ3QgeWV0IHNlZSB0aGUgcmVzdWx0aW5nIEdTVF9GTE9XX0VPUyB5ZXQpIGFuZCBxdGRlbXV4IGdldHMKCSAgY29tcGxldGVseSBsb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMjY2CgoyMDE3LTA0LTEzIDA4OjAwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE1ha2UgbW9yZSB1c2FnZSBvZiBlcnJvciBtYWNybwoJICBBbmQgbWFrZSBzdXJlIHdlIGFjdHVhbGx5IHVzZSB0aGUgcHJvdmlkZWQgc291cF9tc2cgYXJndW1lbnQgaW4gdGhlIG1hY3JvCgoyMDE3LTA0LTEyIDE4OjQ2OjUzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBQcmludCBtZXNzYWdlIHdoZW4gZGlzYWJsaW5nIHRhZ2xpYiBvbiBNU1ZDCgoyMDE3LTA0LTEyIDEzOjI2OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgZm9yZ2V0IHRvIHVwZGF0ZSBwYWQtPmxhc3RfYnVmCgkgIGJ1ZiBpcyB0aGUgY3VycmVudCBwYWQtPmxhc3RfYnVmIHZhbHVlLiBJZiBldmVyIGl0IGdldHMgY29waWVkL3VucmVmZmVkLAoJICB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0byB3cml0ZSBiYWNrIHRoZSBuZXcgIHBvaW50ZXIgdG8gdGhlIGxhc3RfYnVmCgkgIHZhcmlhYmxlLgoJICBGaXhlcyB1c2luZyB3cm9uZyBwb2ludGVyIHZhbHVlcyBpbiB0aGUgY2FzZSBvZiBkZWNyYXNpbmcgRFRTIHZhbHVlCgoyMDE3LTA0LTEyIDExOjMzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IEFkZCB2cDllbmMgdG8gZ2l0aWdub3JlCgoyMDE3LTA0LTExIDEzOjQxOjQ4ICswMjAwICBKw7xyZ2VuIFNhY2hzIDxqdWVyZ2VuLnNhY2hzQG1ldHotY2UuZGU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4OiBzYW1wbGUgZGVzY3JpcHRpb24gaW5kZXggb3ZlcnJpZGUgaW4gdGZoZCBub3QgZXZhbHVhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzMzcKCjIwMTctMDQtMTIgMTE6MDM6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIG91dC1vZi1ib3VuZCBjaGVjawoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBpbnZhbGlkIG1lbW9yeQoKMjAxNi0wNC0yNyAxMjoxNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vdmUgcGFyc2luZyBvZiB0a2hkIG91dCBvZiBzdHNkIGVudHJ5IGxvb3AKCSAgSXQgbmVlZHMgb25seSB0byBiZSByZWFkIG9uY2UuCgoyMDE2LTA0LTA3IDEyOjIzOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgZm9yIGEgZGlmZmVyZW50IHN0c2QgZW50cnkgYmVmb3JlIHB1c2hpbmcgYSBzYW1wbGUKCSAgQmVmb3JlIHB1c2hpbmcgYSBzYW1wbGUsIGNoZWNrIGlmIHRoZXJlIHdhcyBhIGNoYW5nZSBpbiB0aGUgY3VycmVudAoJICBzdHNkIGVudHJ5LiBUaGlzIHBhdGNoIGFsc28gYXNzdW1lcyB0aGF0IHRoZSBmaXJzdCBzdHNkIGVudHJ5IGlzCgkgIHVzZWQgYXMgZGVmYXVsdCBmb3IgdGhlIGZpcnN0IHNhbXBsZS4gSXQgbWlnaHQgY2F1c2UgYW4gdW5lZWRlZAoJICBjYXBzIHJlbmVnb3RpYXRpb24gd2hlbiB0aGlzIGlzbid0IHRoZSBjYXNlLgoKMjAxNi0wNC0wNiAxMjo1NToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIGFsbCBzdHNkIGVudHJpZXMKCSAgc3RzZCBjYW4gaGF2ZSBtdWx0aXBsZSBmb3JtYXQgZW50cmllcywgcGFyc2UgdGhlbSBhbGwuCgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gcGxheSBEVkIgREFTSCBwcm9maWxlIHRoYXQgdXNlcyBtdWx0aXBsZSBlbnRyaWVzCgkgIHRvIGlkZW50aWZ5IHRoZSBkaWZmZXJlbnQgYXZhaWxhYmxlIGJpdHJhdGVzL29wdGlvbnMgb24gZGFzaCBzdHJlYW1zCgkgIFRoZSBzdHJlYW0gZm9ybWF0LXNwZWNpZmljIGRhdGEgaXMgbm90IHN0b3JlZCBpbnRvIFF0RGVtdXhTdHJlYW1TdHNkRW50cnkKCjIwMTYtMDQtMDUgMTQ6MzQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXdvcmsgc3RzZCBzYW1wbGUgZW50cmllcyBhY2Nlc3MKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgc3RzZCBhcyBhIGJhc2UgcG9pbnRlciwgdXNlIHRoZSBhY3R1YWwgc3RzZAoJICBlbnRyeSBhcyB0aGUgc3RzZCBjYW4gaGF2ZSBtdWx0aXBsZSBlbnRyaWVzLiBUaGlzIGlzIHJhcmVseSB1c2VkCgkgIGZvciBmaWxlIHBsYXliYWNrIGJ1dCBpcyBhIHBvc3NpYmxlIHByb2ZpbGUgd2l0aCBpbiBEVkIgREFTSCBzcGVjcy4KCSAgVGhpcyBzdGlsbCBkb2Vzbid0IHN1cHBvcnQgc3RzZCB3aXRoIG11bHRpcGxlIGVudHJpZXMgYnV0IG1ha2VzIGl0CgkgIGVhc2llciB0byBkbyBzby4KCjIwMTYtMDQtMDUgMTg6MDA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBnZXQgc3RzZCBjaGlsZCBieSBpbmRleCBpbnN0ZWFkIG9mIHR5cGUKCSAgVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgY2hpbGRyZW4gd2l0aCB0aGUgc2FtZSB0eXBlCgoyMDE3LTA0LTA3IDE2OjMzOjE4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrL3J0cHJ0eDogYWRkIGNoZWNrcyBmb3IgcnRwcnR4cXVldWUncyBtYXgtc2l6ZS17dGltZSxwYWNrZXRzfSBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA4NjcKCjIwMTctMDQtMDQgMTc6MzM6MzEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHBydHhxdWV1ZTogaW1wbGVtZW50IGhhbmRsaW5nIG9mIHRoZSBtYXgtc2l6ZS10aW1lIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA4NjcKCjIwMTctMDQtMTAgMjM6NDk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM5YWMyZjUgdG8gNjBhZWVmNgoKMjAxNy0wNC0xMCAwODo1NjowMCArMDAwMCAgVG9kb3IgVG9tb3YgPHRvZG9yLnRvbW92QGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyb2JqZWN0OiBDb3B5IHRpbWVzdGFtcCB3aGVuIGltcG9ydGluZyBidWZmZXJzCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBWNEwyX09VVFBVVCBpbnRlcmZhY2UsIGFuZCBpcyBoYXJtbGVzcyBvZgoJICBWNEwyX0NBUFRVUkUgaW50ZXJmYWNlcy4gVGhpcyB3aWxsIGZpeCB0aW1lc3RhbXAgaW4gY2FzZXMgbGlrZToKCSAgdjRsMnNyYyBpby1tb2RlPWRtYWJ1ZiAhIHY0bDJ2aWRlb05lbmMgb3V0cHV0LWlvLW1vZGU9ZG1hYnVmLWltcG9ydCAhICAuLi4KCSAgU2FtZSBhcHBseSBmb3IgdXNlcnB0ci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTExOQoKMjAxNy0wNC0xMCAxNTo1NTozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBsYXN0X2R0cyB0cmFja2luZyBmb3IgcmF3IGF1ZGlvIGFuZCBzaW1pbGFyIGZvcm1hdHMKCSAgQWNjdW11bGF0ZSB0aGUgZHVyYXRpb25zIGRpcmVjdGx5IGFuZCBkb24ndCBzY2FsZSB5ZXQgYW5vdGhlciB0aW1lIGJ5CgkgIHRoZSBudW1iZXIgb2Ygc2FtcGxlcy4KCjIwMTctMDQtMDcgMTA6NDg6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IGZpeCBsZWFrIGluIHNwbGl0bXV4IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTAyNQoKMjAxNy0wNC0wNyAxNToyOTo0MyArMDgwMCAgTHlvbiBXYW5nIDxseW9uLndhbmdAbnhwLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogU2NhbGUgR0FQIGV2ZW50IHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gbGlrZSBmb3IgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMDA4CgoyMDE3LTAyLTE3IDEwOjAxOjA4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMmRlYzogRml4IHJhY2Ugd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoJICBSdW5uaW5nIGBnc3QtdmFsaWRhdGUtbGF1bmNoZXIgLXQgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5jaGFuZ2Vfc3RhdGVfaW50ZW5zaXZlLnZvcmJpc192cDhfMV93ZWJtYAoJICBvbiBvZHJvaWQgWFU0IChzNXAtbWZjIHY0bDIgZHJpdmVyKSBvZnRlbiBsZWFkcyB0bzoKCSAgRVJST1I6Li4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9zeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoyMTU6Z3N0X3Y0bDJfdmlkZW9fZGVjX3N0b3A6IGFzc2VydGlvbiBmYWlsZWQ6IChnX2F0b21pY19pbnRfZ2V0ICgmc2VsZi0+cHJvY2Vzc2luZykgPT0gRkFMU0UpCgkgIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBmb2xsb3dpbmcgcmFjZSBoYXBwZW5zOgoJICAtIFQwOiBNYWluIHRocmVhZAoJICAtIFQxOiBVcHN0cmVhbSBzdHJlYW1pbmcgdGhyZWFkCgkgIC0gVDIuIHY0bDJkZWMgcHJvY2Vzc2luZyB0aHJlYWQpCgkgIFtUaGUgZGVjb2RlciBpcyBpbiBQQVVTRUQgc3RhdGVdCgkgIFQwLiBUaGUgdmFsaWRhdGUgc2NlbmFyaW8gcnVucyBgRXhlY3V0aW5nICgzNi80MCkgc2V0LXN0YXRlOiBzdGF0ZT1udWxsIHJlcGVhdD00MGAKCSAgVDEtIFRoZSBkZWNvZGVyIGhhbmRsZXMgYSBmcmFtZQoJICBUMi0gQSBkZWNvZGVkIGZyYW1lIGlzIHB1c2ggZG93bnN0cmVhbQoJICBUMi0gRG93bnN0cmVhbSByZXR1cm5zIEZMVVNISU5HIGFzIGl0IGlzIGFscmVhZHkgZmx1c2hpbmcgY2hhbmdpbmcgc3RhdGUKCSAgVDItIFRoZSBkZWNvZGVyIHN0b3BzIGl0cyBwcm9jZXNzaW5nIHRocmVhZCBhbmQgc2V0cyBgLT5wcm9jZXNzaW5nID0gRkFMU0VgCgkgIFQxLSBUaGUgZGVjb2RlciBoYW5kbGVzIGFub3RoZXIgZnJhbWUKCSAgVDEtIGAtPnByb2Nlc3NgIGlzIEZBTFNFIHNvIHRoZSBkZWNvZGVyIHJlc3RhcnRzIGl0cyBzdHJlYW1pbmcgdGhyZWFkCgkgIFQwLSBJbiB2NGwyZGVjLT4gc3RvcCB0aGUgcHJvY2Vzc2luZyB0aHJlYWQgaXMgc3RvcHBlZAoJICBOT1RFOiBBdCB0aGlzIHBvaW50IHRoZSBwcm9jZXNzaW5nIHRocmVhZCBsb29wIG5ldmVyIHN0YXJ0ZWQuCgkgIFQwLSBhc3NlcnRpb24gZmFpbGVkOiAoZ19hdG9taWNfaW50X2dldCAoJnNlbGYtPnByb2Nlc3NpbmcpID09IEZBTFNFKQoJICBIZXJlIEkgYW0gcmVtb3ZpbmcgdGhlIHdob2xlIC0+cHJvY2Vzc2luZyBsb2dpYyB0byBiYXNlIGl0IGFsbCBvbiB0aGUKCSAgR3N0VGFzayBzdGF0ZSB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUga25vd2xlZGdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4ODMwCgo9PT0gcmVsZWFzZSAxLjExLjkwID09PQoKMjAxNy0wNC0wNyAxNjozMTo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjExLjkwCgoyMDE3LTA0LTA3IDE1OjE4OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTA0LTA3IDE1OjA2OjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTA0LTA2IDEyOjAxOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBhbmQgaW1wcm92ZSBBdWRpb1NwZWNpZmljQ29uZmlnIHBhcnNpbmcKCSAgQXVkaW9TcGVjaWZpZ0NvbmZpZyBpcyB1c2VkIGluIGEgdmFyaWV0eSBvZiBBQUMgc3RyZWFtcyBidXQgd2FzCgkgIGJlaW5nIHBhcnNlZCBkaWZmZXJlbnRseS4gSW5zdGVhZCwgbWFrZSBldmVyeW9uZSB1c2UgdGhlIHNhbWUgcGFyc2luZy4KCSAgKiBSZW1vdmUgdW51c2VkICdiaXRzJyBmaWVsZCAoaXQgd2FzIGFsd2F5cyBzZXQgdG8gMCBpZiBwcmVzZW50KQoJICAqIEFkZCBwcm9wZXIgR0FDb25maWcgcGFyc2luZyAodG8ga25vdyB0aGUgIG51bWJlciBvZiBzYW1wbGVzIHBlciBmcmFtZQoJICBpZiBwcmVzZW50KS4KCSAgRml4ZXMgd3JvbmcgcmF0ZS9jaGFubmVscyBjb25maWd1cmF0aW9uIGluIHN0cmVhbXMgY29taW5nIGZyb20gcXRkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwOTY2CgoyMDE3LTA0LTA1IDA5OjQ2OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggMzJiaXQgb25seSBwcmludGYgZm9ybWF0CgkgIFRoZSBwcmV2aW91cyBwYXRjaCB3YXMgdXNpbmcgJWxsdSBmb3IgNjRiaXRzIHByaW50Ziwgd2hpY2ggaXMgMzJiaXQKCSAgc3BlY2lmaWMuIFdlIGFsc28gdHJhY2UgdGhlIGxhdGVuY3kgaW4gdGltZSBodW1hbiByZWFkYWJsZSBmb3JtIG5vdy4KCjIwMTYtMDMtMTYgMTY6MjI6NDggKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBzdHJlYW1wYXJtIGZvciBvdXRwdXRzIHRoYXQgc3VwcG9ydCBpdAoJICBXaXRob3V0IGEgc3BlY2lmaWVkIGZyYW1lcmF0ZSBmcm9tIHRoZSBzaW5rLCB0aGUgZGVjb2RlciBmcmFtZSBpbnRlcnZhbAoJICBzaG91bGQgYmUgc2V0IHVzaW5nIHRoZSBmcmFtZXJhdGUgb2YgdGhlIGVuY29kZWQgdmlkZW8gc3RyZWFtLgoJICBUaGVyZWZvcmUsIHRoZSB2NGwyb2JqZWN0IHNob3VsZCBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgZnJhbWVyYXRlIG9uIHRoZQoJICBvdXRwdXQgaWYgdGhlIFY0TDIgZGV2aWNlIGFjY2VwdHMgaXQuCgkgIFRoaXMgaXMgYWxzbyBuZWNlc3NhcnkgZm9yIG1lbTJtZW0gZW5jb2RlcnMgc28gdGhhdCB0aGVpciBiaXRyYXRlCgkgIGNhbGN1bGF0aW9uIGNvZGUgbWF5IHdvcmsgY29ycmVjdGx5IGFuZCB0aGV5IG1heSByZXBvcnQgdGhlIGNvcnJlY3QKCSAgZnJhbWUgZHVyYXRpb24gb24gdGhlIGNhcHR1cmUgcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NjYKCjIwMTYtMDMtMTYgMTY6MjQ6NTUgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBvbmx5IHNldCBsYXRlbmN5IGlmIHRoZSBmcmFtZSBkdXJhdGlvbiBpcyB2YWxpZAoJICBJZiB0aGUgZHVyYXRpb24gb2YgdGhlIHY0bDJvYmplY3QgaXMgR1NUX0NMT0NLX1RJTUVfTk9ORSwgYmVjYXVzZSB0aGUKCSAgc2luayBkaWQgbm90IHNwZWNpZnkgYSBmcmFtZXJhdGUgaW4gdGhlIGNhcHMgYW5kIHRoZSBkcml2ZXIgYWNjZXB0cyB0aGUKCSAgZnJhbWVyYXRlLCB0aGUgZGVjb2RlciBlbGVtZW50IHVzZXMgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBjYWxjdWxhdGUgYW5kCgkgIHNldCB0aGUgZWxlbWVudCBsYXRlbmN5LgoJICBXaGlsZSB0aGlzIGlzIGEgYnVnIG9mIHRoZSBjYXB0dXJlIGRyaXZlciwgdGhlIGRlY29kZXIgZWxlbWVudCBzaG91bGQKCSAgbm90IHVzZSB0aGUgaW52YWxpZCBkdXJhdGlvbiB0byBjYWxjdWxhdGUgYSBsYXRlbmN5LCBidXQgcHJpbnQgYSB3YXJuaW5nCgkgIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NjYKCjIwMTYtMTEtMjMgMTI6MTc6NTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogQmxvY2sgaW4gcHJlcm9sbF93YWl0IG9uIHVubG9jawoJICBUaGUgY29ycmVjdCBiZWhhdmlvdXIgb2YgYW55dGhpbmcgc3R1Y2sgaW4gdGhlIC0+cmVuZGVyKCkgZnVuY3Rpb24KCSAgYmV0d2VlbiAtPnVubG9jaygpIGFuZCAtPnVubG9ja19zdG9wKCkgaXMgdG8gY2FsbAoJICBnc3RfYmFzZV9zaW5rX3dhaXRfcHJlcm9sbCgpIGFuZCBvbmx5IHJldHVybiBhbiBlcnJvciBpZiB0aGlzIHJldHVybnMgYW4KCSAgZXJyb3IsIG90aGVyd2lzZSwgaXQgbXVzdCBjb250aW51ZSB3aGVyZSBpdCBsZWZ0IG9mZiEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDk0NQoKMjAxNy0wNC0wNSAxNTo1NToyMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEFkZCB3YXJuaW5ncyBmb3IgdW5zdXBwb3J0ZWQgZnJhbWUgZm9ybWF0cwoJICBBdCBsZWFzdCBvdXRwdXQgYW4gZWxlbWVudCB3YXJuaW5nIG9uIHRoZSBidXMgd2hlbiB3ZQoJICBlbmNvdW50ZXIgYSBmcmFtZSBmb3JtYXQgR1N0cmVhbWVyIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQuCgoyMDE3LTA0LTA0IDE3OjU1OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSGFuZGxlIFBhcmFtZXRyaWMgU3RlcmVvIHdpdGggSEUtQUFDKHYyKQoJICBBY2NvcmRpbmcgdG8gSVNPL0lFQzoxNDQ5Ni0yOjIwMDkgLCBpbiB0aGUgY2FzZSBvZiBIRS1BQUN2MiAoYXVkaW9PYmplY1R5cGUKCSAgMjkpIHBhcmFtZXRyaWMgc3RlcmVvIGlzIHVzZWQgKGEgc2luZ2xlIG1vbm8gdHJhY2sgaXMgdXNlZCBhbmQgdGhlbgoJICB0cmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgdG8gaXQgdG8gcHJvdmlkZSBhIHN0ZXJlbyBvdXRwdXQpLgoJICBXZSB0aGVyZWZvcmUgcmVwb3J0IHR3byBjaGFubmVscyBpbiB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBvbmUgcmVwb3J0ZWQKCSAgaW4gdGhlIGF1ZGlvQ2hhbm5lbENvbmZpZ3VyYXRpb24uCgkgIEZpeGVzIHRoZSB2YXJpb3VzIGlzc3VlcyB3aGVyZSBhIGRlbXV4ZXIgd291bGQgcmVwb3J0IHR3byBjaGFubmVscywgYnV0CgkgIHRoZW4gdGhlIHBhcnNlciB3b3VsZCBzYXkgdGhlcmUncyBvbmx5IG9uZSBjaGFubmVsLCBhbmQgdGhlbiB0aGUgZGVjb2RlcgoJICB3b3VsZCBvdXRwdXQgdHdvIGNoYW5uZWxzLgoKMjAxNy0wNC0wNCAxNToyMjoyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFNpbXBsaWZ5IGJ1ZmZlciByZWZjb3VudGluZyBpbiBhZGRfYnVmZmVyKCkgYW5kIHJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrcwoKMjAxNy0wNC0wNCAxNTowODozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFNlbGVjdCB0aGUgYmVzdCBwYWQgYmFzZWQgb24gdGhlIGNhY2hlZCBsYXN0X2J1ZiBpZiBhbnkKCSAgbGFzdF9idWYgaXMgdGhlIG9uZSB3ZSdyZSBnb2luZyB0byB3cml0ZSBuZXh0LCBub3QgYnVmLiBBcyBzdWNoIHdlCgkgIHNob3VsZCBjaGVjayB0aW1lc3RhbXBzIGFnYWluc3QgdGhhdCBvbmUgaWYgdGhlcmUgaXMgb25lIHRvIHNlbGVjdCB0aGUKCSAgZWFybGllc3QgcGFkLgoJICBBbHNvIHJlbWVtYmVyIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFkIGluIHRoZSB2ZXJ5IGJlZ2lubmluZyB3aGVuCgkgIHN0b3JpbmcgdGhlIGZpcnN0IGxhc3RfYnVmLgoJICBUaGlzIGJvdGggc29sdmVzIHNvbWUgZWRnZSBjYXNlcyB3aGVyZSBub3QgdGhlIGNvcnJlY3QgbmV4dCBwYWQgd2FzCgkgIHNlbGVjdGVkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHRhcmdldCBpbnRlcmxlYXZlLgoKMjAxNy0wNC0wNCAxNTowNzo0MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBhIHRpbWVjb2RlIGlzIHRvIGJlIHdyaXR0ZW4gYnV0IGRvd25zdHJlYW0gcmV0dXJuIG5vdC1PSwoKMjAxNy0wNC0wMyAxMTozNDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVcGRhdGUgdmFyaWFibGVzIGJlZm9yZSBlYXJseSBleGl0CgkgIFRoaXMgaXMgYW4gdXBkYXRlIG9mIGQ3OGQ1ODk2MjcyZDc4ZGY0MWU2OTZmYWM5MjllN2RmYjNiYjNkZmEKCSAgV2Ugc3RpbGwgZXhpdCBhcyBlYXJseSBhcyBwb3NzaWJsZSBpbiBjYXNlIG9mIG5vbi1vay9ub24tdW5saW5rZWQgY29tYmluZWQKCSAgZmxvdywgYnV0IHdlIGZpcnN0IG1ha2Ugc3VyZSB0aGF0IHdlIHVwZGF0ZSB0aGUgaW50ZXJuYWwgcG9zaXRpb24gdmFyaWFibGVzLgoJICBUaGlzIGVuc3VyZXMgdGhhdCBpZiB1cHN0cmVhbXMgImlnbm9yZXMiIHRoZSBmbG93IHJldHVybiAoYW5kIGNhcnJpZXMgb24gcHVzaGluZyksCgkgIHdlIGRvbid0IGVuZCB1cCBwcm9jZXNzaW5nIGRhdGEgd2l0aCBjb21wbGV0ZWx5IGJvZ3VzIHZhcmlhYmxlcy9wb3NpdGlvbnMuCgoyMDE3LTAzLTI0IDAwOjExOjEzICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogYXZvaWQgdXNpbmcgdW5pbml0aWFsaXNlZCBvcmRlcmluZ19tYXAKCSAgSWYgc2VsZi0+Y2hhbm5lbF9wb3NpdGlvbnMgPT0gTlVMTCAod2hpY2ggc2VlbXMgdW5saWtlbHkpLAoJICBzZWxmLT5kZWZhdWx0X2NoYW5uZWxzX29yZGVyaW5nX21hcCB3aWxsIGJlIHVzZWQgdW5pbnRpYWxpc2VkLgoJICBXZSBhdm9pZCB0aGF0IGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIGNoYW5uZWxfbWFzaywgd2hpY2ggaXMgc2V0IHdoZW4KCSAgdGhlIG9yZGVyaW5nIG1hcCBpcyBpbml0aWFsaXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDMzMQoKMjAxNy0wMy0yMyAyMzo1NjozMSArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQGhhbG8uZ2VuLm56PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBkb24ndCBvdmVyZmxvdyBjaGFubmVsIG1hcCB3aXRoID42NCBjaGFubmVscwoJICBXaGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gNjQgY2hhbm5lbHMsIHdlIGRvbid0IHdhbnQgdG8gZXhjZWVkIHRoZQoJICBib3VuZHMgb2YgdGhlIG9yZGVyaW5nX21hcCBidWZmZXIsIGFuZCBpbiB0aGVzZSBjYXNlcyB3ZSBkb24ndCB3YW50IHRvCgkgIHJlbXBhIGF0IGFsbC4gSGVyZSB3ZSBhdm9pZCBkb2luZyB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMzMxCgoyMDE3LTAzLTI4IDE0OjIzOjE2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogVXNlIGdldF9wa2djb25maWdfdmFyaWFibGUgaW5zdGVhZCBvZiBjYWxsaW5nIHBrZy1jb25maWcgb3Vyc2VsZgoJICBJdCBpcyBhdmFsYWlibGUgaW4gbWVzb24gMC4zNiB3aGljaCBpcyBub3cgYXJlIHJlcXVpcmVtZW50CgoyMDE3LTAzLTI4IDE0OjIyOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLnBjLmluOgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIHBrZ2NvbmZpZzogRG8gbm90IGV2ZXIgYnVpbGQgYW4gaW5zdGFsbGVkIC5wYyBmaWxlCgoyMDE3LTAzLTI4IDExOjE1OjUzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogdGVzdDogRml4IGVudmlyb25tZW50IG9iamVjdCB1c2FnZQoKMjAxNy0wMy0yOCAxMToxNDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QucGMuaW46CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgcGtnY29uZmlnOiBHZW5lcmF0ZSB0aGUgcGtnLWNvbmZpZyB3aXRoIG1lc29uIHRvbwoKMjAxNy0wMy0yNyAyMTo1MjowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbiBnYXAgbW9kZSwgY29uc2lkZXIgdGhlIG1kYXQgb2Zmc2V0IHdoZW4gY2FsY3VsYXRpbmcgdGhlIHJlbWFpbmluZyBtZGF0IHNpemUKCSAgVGhlIG1kYXQgZ2VuZXJhbGx5IGRvZXMgbm90IHN0YXJ0IGF0IG9mZnNldCAwLCB3ZSBoYXZlIHRvIGluY2x1ZGUgdGhlCgkgIHNpemUgb2YgdGhlIG1vb2YgYW5kIHdoYXRldmVyIGVsc2Ugd2FzIGluIGZyb250IG9mIHRoZSBtZGF0LgoKMjAxNy0wMy0yNyAxMTo0MzozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBhdG9tc3JlY292ZXJ5OiBFcnJvciBvdXQgd2hlbiBmc2VlaygpIGZhaWxzIGluc3RlYWQgb2Ygc2lsZW50bHkgaWdub3JpbmcKCSAgQ0lEIDE0MDMyNjIKCjIwMTctMDMtMjMgMjI6MTM6MDUgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWxzbyBhZGQgdmlkZW9tZXRhIGlmIHRoZXJlIGlzIHBhZGRpbmcgdG8gdGhlIHJpZ2h0IGFuZCBib3R0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQ3OAoKMjAxNy0wMy0yMSAxMjo1NDoyNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBvdXRwdXQgc2VnbWVudCBhbmQgYnVmZmVyIERUUyB0byBjb3JyZXNwb25kIHRvIHRoZSBmbGF0dGVuZWQgUFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAzNDcKCjIwMTctMDMtMjMgMTc6NTM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMKCjIwMTctMDMtMjMgMTU6MDE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgYSBjb3VwbGUgb2YgdW5uZWVkZWQgbGV2ZWxzIG9mIGluZGVudGF0aW9uCgoyMDE3LTAzLTIyIDE4OjE4OjQwICswMDAwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogPGVvY2FuaGFAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkaXN0aW5ndWlzaCBURkRUIHdpdGggdmFsdWUgMCBmcm9tIG5vIFRGRFQgYXQgYWxsCgkgIFRGRFRzIHdpdGggdGltZSAwIGFyZSBiZWluZyBpZ25vcmVkIHNpbmNlIGNvbW1pdCAxZmMzZDQyZi4gVGhleSdyZQoJICBtaXN0YWtlbiB3aXRoIHRoZSBjYXNlIG9mIG5vdCBoYXZpbmcgVEZEVCwgYnV0IHRob3NlIHR3byBjYXNlcwoJICBtdXN0IGJlIGRpc3Rpbmd1aXNoZWQgaW4gc29tZSB3YXkuCgkgIFRoaXMgcGF0Y2ggcGFzc2VzIGFuIGV4dHJhIGJvb2xlYW4gZmxhZyB3aGVuIHRoZSBURkRUIGlzIHByZXNlbnQuCgkgIFRoaXMgaXMgbm93IHRoZSBjb25kaXRpb24gYmVpbmcgZXZhbHVhdGVkLCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZvcgoJICAwIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0MTAKCjIwMTctMDMtMjIgMTk6MTU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZXNldCBjdXJyZW50IGNodW5rIGFmdGVyIHdyaXRpbmcgb3V0IHRpbWVjb2RlCgkgIElmIHdlIGhhdmUgbXVsdGlwbGUgdHJhY2tzIHdpdGggdGltZWNvZGVzLCBvciBpdCdzIG5vdCB0aGUgZmlyc3QgdHJhY2sKCSAgdGhhdCBoYXMgdGltZWNvZGVzLCBvciBub3QgdGhlIGZpcnN0IGJ1ZmZlciwgd2UgYWxyZWFkeSBzdGFydGVkIGEgY2h1bmsKCSAgZm9yIG1lZGlhIGRhdGEuIFdlIG5vdyBuZWVkIHRvICJjbG9zZSIgdGhhdCBjaHVuayBiZWNhdXNlIHdlIHdyb3RlIGRhdGEKCSAgZm9yIHRoZSB0aW1lY29kZSB0cmFjayBhbmQgYSBuZXcgY2h1bmsgaGFzIHRvIGJlIHN0YXJ0ZWQgZm9yIHRoZQoJICBvcmlnaW5hbCB0cmFjayB0aGUgbmV4dCB0aW1lIGl0IGhhcyBkYXRhLgoKMjAxNy0wMy0yMiAxODo1Mjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogRG8gdGltZWNvZGUgaGFuZGxpbmcgcGVyIHRyYWNrLCBub3QgcGVyIG11eGVyIGluc3RhbmNlCgkgIFRoZXJlIGNvdWxkIGJlIG11bHRpcGxlIHZpZGVvIHRyYWNrcyB3aXRoIHRpbWVjb2Rlcy4KCjIwMTctMDMtMjIgMDA6Mzg6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBxdGRlbXV4OiBtYXRyb3NrYWRlbXV4OiBJZ25vcmUgcmVwZWF0ZWQgc2VlayBldmVudHMKCSAgU2ltaWxhciB0byB3aGF0IHdhcyBkb25lIGluIGFkYXB0aXZlZGVtdXgsIGlnbm9yZSBzZWVrCgkgIGV2ZW50cyB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgLSBzdWNoIGFzIHdoZW4gdGhleSBhcmUgcmVjZWl2ZWQKCSAgb24gZXZlcnkgc3JjcGFkIG9mIGZpbGVzIHdpdGggbG90cyBvZiBzdHJlYW1zLgoKMjAxNy0wMy0yMSAxNDo1NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgbWRhdGxlZnQgZnJvbSBvdmVyYWxsIG1kYXRzaXplIGFuZCBvZmZzZXQgd2hlbiBvYnNlcnZpbmcgYSBnYXAKCSAgT3RoZXJ3aXNlIG1kYXRsZWZ0IHdpbGwgaGF2ZSBhIHZhbHVlIGNhbGN1bGF0ZWQgZnJvbSB0aGUgaW5pdGlhbAoJICBtZGF0c2l6ZSBtaW51cyB0aGUgcGFydHMgb2YgdGhlIHN0cmVhbSB0aGF0IHdlIHNhdywgd2hpY2ggaXMgbm90CgkgIGluY2x1ZGluZyBhbGwgdGhlIHBhcnRzIG9mIHRoZSBzdHJlYW0gdGhhdCBtaWdodCd2ZSBiZWVuIHNraXBwZWQuCgoyMDE3LTAzLTIwIDE3OjAzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBkb2NzOiB1cGRhdGUgdHdvIHJlZmVyZW5jZXMgdG8gdGhlIHJlbW92ZWQgJ21hZCcgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYxNDAKCjIwMTctMDMtMjAgMTI6MDM6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJICBydHBydHhxdWV1ZTogYWRkIGJhc2ljIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGUgcGlwZWxpbmVzCgkgIE1vc3RseSBleHBsYWluaW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcnRwcnR4cXVldWUgYW5kIHJ0cHJ0eHNlbmQuCgoyMDE3LTAzLTE3IDIwOjU4OjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9tZXNvbi5idWlsZDoKCSAgdjRsMjogRml4IG1lc29uIHBsdWdpbiBzaGFyZWQgb2JqZWN0IG5hbWUKCSAgSXQgZGlkbid0IG1hdGNoIGJldHdlZW4gQXV0b01ha2UgYW5kIE1lc29uLCBhbmQgdGhlIE1lc29uIG5hbWUKCSAgZGlkbid0IG1hdGggdGhlIHBsdWdpbiBuYW1lICh2aWRlbzRsaW51eDIpLgoKMjAxNy0wMy0xNiAxODoyMDo1NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogZml4IGV4YW1wbGUgcGlwZWxpbmVzIGFuZCBpbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEzODMKCjIwMTctMDMtMTcgMTQ6MTA6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBmaXggcGxheWJhY2sgaWYgc2FtcGxlIG51bWJlciBkb2VzIG5vdCBzdGFydCBhdCAwCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjliODA3Njg1ZDNjOTYyYmJlOGFmZTM1MWM1ZGNhOTdkNTllYjVlMCwgd2hpbGUKCSAgZml4aW5nIHRoZSBvcmlnaW5hbCBicmVha2luZyB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy4KCjIwMTctMDMtMTcgMTE6MzA6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IGZpeCBwbGF5YmFjayBpZiBzYW1wbGUgbnVtYmVyIGRvZXMgbm90IHN0YXJ0IGF0IDAiCgkgIFRoaXMgYnJlYWtzIGdzdC12YWxpZGF0ZSBvbiB0aGUgYnVpbGQgc2VydmVyICh0aG91Z2ggbm90IGxvY2FsbHkpLAoJICBhbmQgYSB1bml0IHRlc3QsIGFuZCBJIGNhbid0IHJ1biB1bml0IHRlc3RzIHJpZ2h0IG5vdyBmb3Igc29tZQoJICB1bnJlbGF0ZWQgcmVhc29uLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA3NDdiNTZmOGU3ZjQ3MzFkNjdmOGQxM2E0YmRjNDUzZGRlMGZkZjcuCgoyMDE3LTAzLTE2IDE3OjQ0OjQxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcmludCB0aGUgY29ycmVjdCB2YXJpYWJsZSBpbiBkZWJ1ZyBzdGF0ZW1lbnQKCSAgVGhpcyBkZWJ1ZyBzdGF0ZW1lbnQgaXMgbWVhbnQgdG8gcHJpbnQgdGhlIHRpbWUgc2luY2UgdGhlIGxhc3QgKGVhcmx5KQoJICBSVENQIHRyYW5zbWlzc2lvbiwgbm90IHRoZSBsYXN0IHJlZ3VsYXIgUlRDUCB0cmFuc21pc3Npb24gKHdoaWNoIGFsc28KCSAgaGFwcGVucyB0byBiZSBzZXQgYSBmZXcgbGluZXMgYWJvdmUgdG8gY3VycmVudF90aW1lLCBzbyB0aGUgZGVidWcgb3V0cHV0CgkgIGlzIGp1c3QgY29uZnVzaW5nKQoKMjAxNy0wMy0xNiAxNzo0MjoyNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogY29udmVydCBMT0cgbWVzc2FnZSB0byBUUkFDRQoJICBUaGlzIGlzIHByaW50ZWQgdG9vIG9mdGVuIChmb3IgZXZlcnkgY2hhaW5lZCBidWZmZXIhKSBhbmQganVzdCBjbHV0dGVycyB0aGUgbG9ncy4KCjIwMTctMDMtMTYgMTQ6NTg6NDUgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZml4IHdhcm5pbmcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMTA1CgoyMDE3LTAzLTE2IDEzOjU0OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZml4IHBsYXliYWNrIGlmIHNhbXBsZSBudW1iZXIgZG9lcyBub3Qgc3RhcnQgYXQgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NzM4CgoyMDE3LTAzLTE1IDE4OjU4OjU1ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiBnZXQgY2xvY2stcmF0ZSBmcm9tIHB0IGlmIG5lZWRlZCB0byBnZW5lcmF0ZSBTUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMTA1CgoyMDE3LTAzLTE2IDEzOjUyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEluY2x1ZGUgR1N0cmVhbWVyIHNvdXBodHRwc3JjIHZlcnNpb24gaW4gZGVmYXVsdCBVc2VyLUFnZW50IHN0cmluZwoKMjAxNy0wMy0xNiAwMDo0MTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IGNyYXNoIHdpdGggZW1wdHkgc3Byb3BzLXBhcmFtZXRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDA0MAoKMjAxNy0wMy0xMSAyMToyMDo0MCAtMDgwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkgIGF0b21zcmVjb3Zlcnk6IGFsc28gaGFuZGxlIGV4dHJhIGF0b21zIGFmdGVyICdtZGlhJyBpbiBhICd0cmFrJwoJICBUYWtlIGludG8gYWNjb3VudCB0aGUgYXRvbXMgYXQgdGhlIGVuZCBvZiB0aGUgJ3RyYWsnIGF0b20gd2hlbgoJICByZWNvdmVyaW5nIGl0LiBTbyB0aGF0IGl0cyBzaXplIChhbHJlYWR5IGNvbXB1dGVkIGFuZCBhZGRlZCBpbiB0aGUgdHJhawoJICBzaXplKSBpc24ndCBtYWtpbmcgb2Zmc2V0cyB3cm9uZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTQ3OAoKMjAxNy0wMy0xMSAxMjo1NjozMyAtMDgwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCBmYWxsdGhyb3VnaCB0byBtb292cmVjb3ZlcnkgZmFpbHVyZSBzZWN0aW9uCgkgIFJldHVybiBiZWZvcmUgdGhhdCB0byBwcmVzZXJ2ZSBvdXIgc3VjY2Vzc2Z1bGwgcmVzdWx0cywgb3RoZXJ3aXNlIG5vCgkgIG1vb3YgcmVjb3ZlcnkgaW5mb3JtYXRpb24gd291bGQgYmUgd3JpdHRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNDc4CgoyMDE3LTAzLTExIDEyOjI3OjI4IC0wODAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBhdG9tc3JlY292ZXJ5OiBleHBlY3QgbW9yZSBhdG9tIHR5cGVzIGF0IHRoZSBoZWFkZXJzCgkgIFNraXAgbW9yZSBhdG9tcyBhdCB0aGUgaGVhZGVyIHVudGlsIGl0IGZpbmRzIHRoZSAnbWRhdCcgdG8gY29udGludWUgdGhlCgkgIG1vb3YgcmVjb3ZlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTQ3OAoKMjAxNy0wMy0xNCAxNjo0MjoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSAgcHVsc2UgZXhhbXBsZTogUmVtb3ZlCgkgIFRoYXQgZXhhbXBsZSBvbmx5IHRlc3RlZCB0aGUgcHJvcGVydHkgcHJvYmUgaW50ZXJmYWNlLCB3aGljaCBoYXMgYmVlbiByZW1vdmVkLgoJICBUaGUgc2FtZSBraW5kIG9mIHRoaW5nIGNhbiBub3cgYmUgZG9uZSB3aXRoIHRoZSBnZW5lcmljIGdzdC1kZXZpY2UtbW9uaXRvciB0b29sLgoKMjAxNy0wMy0xNCAxNjozODowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogUmVtb3ZlIHVudXNlZCBtYWNybwoKMjAxNy0wMy0xNCAxNjozNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBSZW1vdmUgdW51c2VkIGRlZmluaXRpb25zCgoyMDE3LTAzLTE0IDEwOjEwOjE5ICswMTAwICBFbWVyaWMgR3JhbmdlIDxlZ3JhbmdlQGdvcHJvLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0bXV4OiBhZGQgQ2luZUZvcm0gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMDI0CgoyMDE3LTAzLTE0IDE1OjA5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBjcmVhdGUgbmV3IGNodW5rcyBpZiB3ZSBoYXZlIG1vcmUgdGhhbiBhIHNpbmdsZSBzdHJlYW0KCSAgVGhlcmUncyBubyBwb2ludCBpbiBjcmVhdGluZyBtdWx0aXBsZSBjaHVua3Mgb3RoZXJ3aXNlLCBpdCBvbmx5IHdhc3RlcwoJICBzb21lIGJ5dGVzIGZvciBzdG9yaW5nIHRoZSBjaHVuayBvZmZzZXRzLgoKMjAxNy0wMy0xNCAxMDowOTo0NiArMDEwMCAgRW1lcmljIEdyYW5nZSA8ZWdyYW5nZUBnb3Byby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIFMxNkwgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMDIyCgoyMDE3LTAzLTE0IDE1OjQ4OjA4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4IHRlc3Q6IFVzZSBwYXNzZWQgZmlyc3QvbGFzdCB0aW1lc3RhbXBzCgkgIERvbid0IGhhcmQtY29kZSB0aGUgZXhwZWN0ZWQgdGltZXN0YW1wIHJhbmdlLCB1c2UgdGhlCgkgIHZhbHVlcyB0aGUgY2FsbGVyIGlzIHBhc3NpbmcgaW4uCgoyMDE3LTAzLTEyIDExOjQyOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICBBZGQgb2xkIHBsdWdpbiBuYW1lcyB0byBjcnVmdCBsaXN0CgkgIFRoaXMgd2lsbCBoZWxwIGZpeGluZyB1bmluc3RhbGxlZCBzZXR1cC4gQWxzbyBmaXggbWlzc2luZyBwYXRoCgkgIGNvcnJlY3Rpb24gaW4gb25lIG9mIHRoZSBwbHVnaW4geG1sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzQ0CgoyMDE2LTEyLTE1IDEyOjM4OjQwICswMTAwICBNaWNoYWVsIER1dGthIDxtYWlsQG1pY2hhZWwtZHV0a2EuZGU+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY0ZGVwYXksIHJ0cGgyNjVkZXBheTogcmVtb3ZlIHN0cmF5IGdfZGVidWcoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5ODU4CgoyMDE3LTAzLTEwIDExOjI0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZm91cmNjCgkgIEluaXRpYWxpemUgdGhlIGZvdXJjYyB0byAwIHNvIHRoYXQgd2UgY2FuIGRldGVjdCBmYWlsdXJlIGxhdGVyLgoKMjAxNy0wMy0wOCAyMjo1MDo1MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICB0ZXN0czogQWRkIG1pc3NpbmcgTERBREQgZm9yIGxpYm0gaW4gdGVzdHMgdXNpbmcgbWF0aC5oCgkgIEFsc28sIHJlbW92ZSB0aGUgbWF0aC5oIGluY2x1ZGUgZm9yIHRoZSBvbmUgdGhhdCBqdXN0IHByZW50ZW5kIHRvIG5lZWQKCSAgaXQuCgoyMDE3LTAzLTA4IDIyOjE1OjQ2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEZpeCBzaG91dDIgcGx1Z2luIGRvYyBnZW5lcmF0aW9uCgkgIEluIHRoZSBwcmV2aW91cyBwYXRjaCwgd2UgYWxzbyByZW5hbWVkIHNob3V0MnNlbmQgdG8gc2hvdXQyLCBzbyBpdCBkb2VzCgkgIG5vdCBjbGFzaCB3aXRoIGl0J3MgZmVhdHVyZS4gVGhvdWdoIHdlIGZvcmdvdCB0byByZW5hbWUgaXQgaW4gdGhlIGRvYwoJICByZWZlcmVuY2UuIFRoaXMgcGF0Y2ggYWxzbyBhZGQgYSBjcnVmdCBkZXRlY3Rpb24gb24gdGhlIHhtbCB0aGF0IG1hZGUgbWUKCSAgbWlzcyB0aGlzIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzQ0CgoyMDE3LTAzLTA0IDEwOjUyOjQ3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL21lc29uLmJ1aWxkOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvbWVzb24uYnVpbGQ6CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICBGaXggcGx1Z2luIGZpbGVuYW1lcyB0byBtYXRjaCBwbHVnaW4gbmFtZXMKCSAgLSBsaWJnc3RwdWxzZS5zbyBiZWNvbWVzIGxpYmdzdHB1bHNlYXVkaW8uc28KCSAgLSBsaWJnc3Rzb3VwaHR0cHNyYy5zbyBiZWNvbWVzIGxpYmdzdHNvdXAuc28KCSAgLSBsaWJnc3Rvc3M0YXVkaW8uc28gYmVjb21lcyBsaWJnc3Rvc3M0LnNvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNDQKCjIwMTctMDMtMDggMTY6MDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBGcmVlIEVEVFMgaW5zdGVhZCBvZiBqdXN0IGNsZWFyaW5nIGl0IGFuZCBzZXR0aW5nIGl0IHRvIE5VTEwKCjIwMTctMDMtMDggMTU6Mjc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBzb21lIG1lbW9yeSBsZWFrcyByZWxhdGVkIHRvIHRpbWVjb2RlIHRyYWNrcwoKMjAxNy0wMy0wNCAwMDozNDo0NCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eDogQWRkIHVuaXQgdGVzdCBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBFbnN1cmUgdGhhdCByZXZlcnNlIHBsYXliYWNrIHdvcmtzIGFuZCBnZW5lcmF0ZXMgdGhlIHJhbmdlCgkgIG9mIHRpbWVzdGFtcHMgKDAtM3MpIHdlIGV4cGVjdCwgaW4gbW9ub3RvbmljYWxseSBkZXNjZW5kaW5nIG9yZGVyLgoKMjAxNy0wMi0yOCAxMTo1MDo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBGaXggcmV2ZXJzZSBwbGF5YmFjawoJICBGaXggdGhlIGNoZWNrIGZvciB3aGV0aGVyIHRoZSBzdGFydCB0aW1lIG9mIHRoZSBzZWdtZW50IGhhcwoJICBiZWVuIHJlYWNoZWQgd2hlbiBwbGF5aW5nIGluIHJldmVyc2UuIE90aGVyd2lzZSwgcGxheWJhY2sKCSAgc3RvcHMgYWZ0ZXIgcmVhY2hpbmcgdGhlIHN0YXJ0IG9mIGFueSBmaWxlIHBhcnQsIGluc3RlYWQgb2YKCSAgY29udGludWluZyB1bnRpbCBhbGwgcGFydHMgd2l0aGluIHRoZSBzZWdtZW50IGhhdmUgcGxheWVkCgoyMDE3LTAyLTIyIDAzOjAxOjMxICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBsb3NlIGNyeXB0byBpbmZvIG9uIGEgbmV3IG1vb2YKCSAgV2UgcGFyc2UgdGhlIG5leHQgbW9vZiBpbiBhZHZhbmNlIG9mIGhhdmluZyBwdXNoZWQKCSAgYWxsIHNhbXBsZXMgZnJvbSB0aGUgcHJldmlvdXMgb25lIGluIHNvbWUgY2FzZXMsIGFuZAoJICB3ZSdsbCBzdGlsbCBuZWVkIHRoZSBjcnlwdG8gaW5mbyBmcm9tIHRoZSBwcmV2aW91cwoJICBmcmFnbWVudCBzbyBrZWVwIGFyb3VuZCBhbnkgdW51c2VkIGNyeXB0byBpbmZvIGVudHJpZXMKCSAgd2hlbiBhZGRpbmcgbmV3IG9uZXMKCjIwMTctMDItMjcgMTM6NTU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXBkYXRlIG1vZGlmaWNhdGlvbiB0aW1lcyB3aGVuIHNlbmRpbmcgdGhlIG1vb3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTQyMgoKMjAxNy0wMy0wMSAxNjoxMTo0NyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bWxyc21pdGhAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5oOgoJICBzYmNwYXJzZTogRml4IHVwIHZhbHVlcyBmb3IgYWxsb2NhdGlvbiBlbnVtZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM4OQoKMjAxNy0wMi0yOCAxMzoxMDo1MCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogZml4IHBvdGVudGlhbCBsZWFrIG9mIG9sZCwgdW5hc3NvY2lhdGVkLCBhc3NvY2lhdGlvbiByZXF1ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNTYwCgoyMDE3LTAyLTI4IDE1OjQ3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgaW5jcmVtZW50IC0xIC8gdW5zZXQgaW5kaWNlcwoJICBDSUQgMTM5ODU0NQoKMjAxNy0wMi0yOCAxNToyMDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQcm90ZWN0IGFnYWluc3QgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGZvciBzdHJlYW1zIHdpdGhvdXQgY2FwcwoJICBDSUQgMTM2MzMzMgoKMjAxNy0wMi0yOCAxMjo1NzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGcmVlIG1hYyBvbiBlcnJvcnMKCSAgQ0lEIDEyMTIxNDkKCjIwMTctMDItMjggMTI6NDU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IEFkZCBtaXNzaW5nIGJyZWFrIHRvIGZvciBsb29wCgoyMDE3LTAyLTI4IDExOjAyOjU0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBGaXggc3BsaXRtdXggdGVzdCBDRkxBR1MKCSAgTmVlZHMgdG8ga25vdyB3aGVyZSB0aGUgZ3N0YXBwIGhlYWRlcnMgYXJlCgoyMDE3LTAyLTI3IDIxOjAyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyA3CgkgIHF0ZGVtdXguYzogSW4gZnVuY3Rpb24g4oCYcXRkZW11eF9wYXJzZV9zYW1wbGVz4oCZOgoJICBxdGRlbXV4LmM6ODQ1MDozOTogZXJyb3I6IOKAmCrigJkgaW4gYm9vbGVhbiBjb250ZXh0LCBzdWdnZXN0IOKAmCYm4oCZIGluc3RlYWQgWy1XZXJyb3I9aW50LWluLWJvb2wtY29udGV4dF0KCSAgaWYgKHN0cmVhbS0+c2FtcGxlc19wZXJfZnJhbWUgKiBzdHJlYW0tPmJ5dGVzX3Blcl9mcmFtZSkgewoJICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTctMDItMjcgMjE6MDE6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgNwoJICBnc3RtcGVnYXVkaW9wYXJzZS5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXBlZ19hdWRpb19wYXJzZV9yZXNldOKAmToKCSAgZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoyMDk6MzogZXJyb3I6IOKAmG1lbXNldOKAmSB1c2VkIHdpdGggbGVuZ3RoIGVxdWFsIHRvIG51bWJlciBvZiBlbGVtZW50cyB3aXRob3V0IG11bHRpcGxpY2F0aW9uIGJ5IGVsZW1lbnQgc2l6ZSBbLVdlcnJvcj1tZW1zZXQtZWx0LXNpemVdCgkgIG1lbXNldCAobXAzcGFyc2UtPnhpbmdfc2Vla190YWJsZV9pbnZlcnNlLCAwLCAyNTYpOwoJICBefn5+fn4KCSAgZ3N0bXBlZ2F1ZGlvcGFyc2UuYzogSW4gZnVuY3Rpb24g4oCYZ3N0X21wZWdfYXVkaW9fcGFyc2VfaGFuZGxlX2ZpcnN0X2ZyYW1l4oCZOgoJICBnc3RtcGVnYXVkaW9wYXJzZS5jOjk1MTo3OiBlcnJvcjog4oCYbWVtc2V04oCZIHVzZWQgd2l0aCBsZW5ndGggZXF1YWwgdG8gbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGhvdXQgbXVsdGlwbGljYXRpb24gYnkgZWxlbWVudCBzaXplIFstV2Vycm9yPW1lbXNldC1lbHQtc2l6ZV0KCSAgbWVtc2V0IChtcDNwYXJzZS0+eGluZ19zZWVrX3RhYmxlX2ludmVyc2UsIDAsIDI1Nik7CgkgIF5+fn5+fgoKMjAxNy0wMi0yNyAxOTozMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogV2hlbiBnZXR0aW5nIG5ldyBoZWFkZXJzLCByZXBsYWNlIHRoZSBvbGQgdmVyc2lvbiBvZiB0aGVtCgkgIFRoaXMgcHJldmVudHMgc3RvcmluZyBhbiBpbmZpbml0ZSBhbW91bnQgb2YgZS5nLiBjb21tZW50IGhlYWRlcnMgaWYgdGhleQoJICBjb21lIHdpdGhvdXQgYSBuZXcgaW5pdGlhbGl6YXRpb24gaGVhZGVyIGluIGZyb250IG9mIHRoZW0uIFRoZXJlIGNhbgoJICBvbmx5IGJlIG9uZSBoZWFkZXIgb2YgZWFjaCB0eXBlLgoKMjAxNy0wMi0yNyAxOToyNTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHAtcGF5bG9hZGluZzogQWRkIG5ldyB0ZXN0IGZvciBWb3JiaXMgcmVuZWdvdGlhdGlvbgoJICBDaGVjayBpZiBlbmNvZGluZywgcGF5bG9hZGluZywgZGVwYXlsb2FkaW5nIGFuZCBkZWNvZGluZyB3b3JrcyBpZiB0aGUKCSAgc3RyZWFtIGNvbmZpZ3VyYXRpb24gKGFuZCB0aHVzIHRoZSBoZWFkZXJzKSBjaGFuZ2UuCgoyMDE3LTAyLTI3IDE5OjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBPbmx5IHJlcGxhY2UgaGVhZGVycyB3aGVuIHJlY2VpdmluZyBhIG5ldyBjb25maWcgaGVhZGVyCgkgIElmIHdlIGFsc28gcmVwbGFjZSBhbGwgaGVhZGVycyB3aGVuIHJlY2VpdmluZyBhbnkgcG9zc2libHkgZm9sbG93aW5nCgkgIGNvbW1lbnRzIGhlYWRlciwgd2Ugd291bGQgdGhyb3cgYXdheSB0aGUgY29uZmlnIGhlYWRlciBiZWZvcmUgYmVpbmcgYWJsZQoJICB0byBtYWtlIHVzZSBvZiBpdC4KCjIwMTctMDItMjMgMTI6MTE6MTUgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IHNwbGl0bXV4OiBhZGQgdW5pdCB0ZXN0IGZvciBjb250ZW50IHdpdGggc3BhcnNlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA4NgoKMjAxNy0wMi0yMiAxMToyMzoxOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4cGFydHJlYWRlcjogaWdub3JlIHNwYXJzZSBzdHJlYW1zIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVuZCBvZmZzZXQgb2YgYSBwYXJ0CgkgIEEgc3BhcnNlIHN0cmVhbSdzIGVuZGluZyB0aW1lc3RhbXAgY2FuIGJlIGNvbnNpZGVyYWJseSBzbWFsbGVyCgkgIHRoYW4gdGhlIGVuZGluZyB0aW1lc3RhbXBzIG9mIHRoZSBvdGhlciBzdHJlYW1zLCB3aGljaCBjYW4gbGVhZAoJICB0byBza2lwcGluZyBjb25zaWRlcmFibGUgdGltZSBmcm9tIHRoZSBuZXh0IHBhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwODYKCjIwMTctMDItMjIgMTE6MjE6MDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHBhcnRyZWFkZXI6IGlkZW50aWZ5IHNwYXJzZSBzdHJlYW1zCgoyMDE3LTAyLTI1IDIxOjQ3OjAzIC0wMzAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIFVwZGF0ZSBFZGdhcmQgTGltYSdzIGVtYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkyMzAKCjIwMTctMDItMDggMTM6MzY6MDAgKzAwMDAgIEFuZHJldyA8bmlmaWdhc2VAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBhbHdheXMgcmVzZXQgUFRTIHRvIDAgYWZ0ZXIgYSBnYXAKCSAgSW4gZnVuY3Rpb24gcnRwX2ppdHRlcl9idWZmZXJfY2FsY3VsYXRlX3B0czogSWYgZ2FwIGluIGluY29taW5nIFJUUAoJICB0aW1lc3RhbXBzIGlzIG1vcmUgdGhhbiAoMyAqIGpidWYtPmNsb2NrX3JhdGUpIHdlIGNhbGwKCSAgcnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyB3aGljaCByZXNldHMgcHRzIHRvIDAuIFNvIGNvbXBvbmVudHMgZG93bgoJICB0aGUgcGlwZWxpbmUgKHBsYXllcywgbWl4ZXJzKSBqdXN0IHNraXAgZnJhbWVzL3NhbXBsZXMgdW50aWwgcHRzIGJlY29tZXMKCSAgZXF1YWwgdG8gcHRzIGJlZm9yZSBnYXAuCgkgIEluIHZlcnNpb24gMS4xMC4yIGFuZCBiZWZvcmUgdGhpcyBjaGVja2luZyB3YXMgYnlwYXNzZWQgZm9yIHBhY2tldHMgd2l0aAoJICAiZXN0aW1hdGVkIGR0cyIsIGFuZCBnYXBzIHdlcmUgaGFuZGxlZCBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzNDEKCjIwMTctMDItMjQgMTU6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFVwZGF0ZSB2ZXJzaW9uCgoyMDE3LTAyLTI0IDE1OjM3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjExLjIgPT09CgoyMDE3LTAyLTI0IDE1OjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBSZWxlYXNlIDEuMTEuMgoKMjAxNy0wMi0yNCAxMjo1MDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wMi0yNCAxMjo0NDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wMi0xMCAyMDo1MDoxNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRXh0cmFjdCByZWRpcmVjdGlvbiB1cmkgb24gbGlic291cCdzIHJlc3RhcnRlZCBjYWxsYmFjawoJICBMZXQgbGlic291cCBoYW5kbGUgcmVkaXJlY3Rpb24gYXV0b21hdGljYWxseS4KCSAgQW5kIHRoZW4sIHRvIGZpZ3VyZSBvdXQgcmVkaXJlY3Rpb24gdXJpLCBleHRyYWN0IGl0IG9uICJyZXN0YXJ0ZWQiCgkgIGNhbGxiYWNrIHdoaWNoIHdpbGwgYmUgZmlyZWQgYmVmb3JlIHNvdXBfc2Vzc2lvbl9zZW5kKCkgaXMgcmV0dXJuZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg0MjgKCjIwMTctMDEtMDIgMTk6Mjk6MDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXBkYXRlIGltYWdlIHNpemUgd2hlbiBleHRyYXBvbGF0aW5nCgkgIFVwZGF0ZSB0aGUgaW1hZ2Ugc2l6ZSBhY2NvcmRpbmcgdGhlIGFtb3VudCBvZiBkYXRhIHdlIGFyZSBnb2luZyB0bwoJICByZWFkL3dyaXRlLiBUaGlzIHdvcmthcm91bmQgYnVncyBpbiBkcml2ZXIgd2hlcmUgdGhlIHNpemVpbWFnZSBwcm92aWRlZAoJICBieSBUUlkvU19GTVQgcmVwcmVzZW50IHRoZSBidWZmZXIgbGVuZ3RoIChtYXhpbXVtIHNpemUpIHJhdGhlciB0aGVuIHRoZSBleHBlY3RlZAoJICBieXRlc3VzZWQgKGJ1ZmZlciBzaXplKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTU2NAoKMjAxNy0wMi0xNyAxNTo1MDozMiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggdHlwbyBpbiBfYWNxdWlyZV9mb3JtYXQoKSBlcnJvciBtZXNzYWdlcwoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODgxNQoKMjAxNy0wMi0wNyAxNzoyNzo1NiArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogbWF0cm9za2FtdXgsIHF0bXV4OiBkb24ndCBhZGQgY29kZWNfZGF0YSBidWZmZXJzIHRvIHRlbXBsYXRlIGNhcHMKCSAgc3RyZWFtaGVhZGVyIGFuZCBjb2RlY19kYXRhIGJ1ZmZlcnMgZmllbGRzIGFyZSBvbmx5IG1lYW50IHRvIGJlCgkgIGluIHRoZSBuZWdvdGlhdGVkIGNhcHMsIG5vdCB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgRml4ZXMgZmFsc2UtcG9zaXRpdmUgbGVha3Mgb2YgdGhvc2UgYnVmZmVycyBkZXRlY3RlZCBieSB0aGUgbGVha3MKCSAgdHJhY2VyLCBhcyB0ZW1wbGF0ZSBjYXBzIGFyZSBzdGF0aWMsIGFuZCB3ZSBkZWNpZGVkIHRvIG5vdCBpbmNsdWRlCgkgIGNvZGUgaW4gZ3N0cmVhbWVyIGNvcmUgdG8gaGFuZGxlIHRoaXMgdW51c3VhbCBjYXNlIG9mIHRlbXBsYXRlIGNhcHMKCSAgaGF2aW5nIGJ1ZmZlcnMgaW4gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODc2MgoKMjAxNy0wMi0wOSAxMjo0Njo1NCArMDAwMCAgSm9jaGVuIEhlbm5lYmVyZyA8amhAaGVubmViZXJnLXN5c3RlbWRlc2lnbi5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IFVwZGF0ZSBhbmQgc2VuZCBvdXQgaGVhZGVycyB3aGVuIG5ldyBoZWFkZXJzIGFyZSByZWNlaXZlZAoJICBUaGUgcGF5bG9hZGVyIG5lZWRzIHRvIHJlc2V0IGFuZCB1cGRhdGUgdGhlIHZvcmJpcyBjb25maWcgZGF0YSB3aGljaCBpcwoJICBwdXNoZWQgb24gdGhlIG5ldHdvcmsgaWYgaXQgcmVjZWl2ZXMgbmV3IGhlYWRlcnMsIG9yIGF0IGxlYXN0LCBpdCBtYXkKCSAgaGF2ZSB0byBkbyBzby4KCSAgV2l0aG91dCB0aGlzLCB0aGUgc3RyZWFtIGNvbmZpZ3VyYXRpb24gY291bGQgY2hhbmdlIHdpdGhvdXQgdGhlCgkgIHBheWxvYWRlciBzZW5kaW5nIHRoZSBuZXcgY29uZmlndXJhdGlvbiB0byB0aGUgb3RoZXIgc2lkZS4KCjIwMTctMDItMTUgMTQ6NDg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IENoYW5nZSBmaWxlcyBvbiBpbmNvbXBhdGlibGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE1IDE2OjM1OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBSZXNldCByZWFkeV9mb3Jfb3V0cHV0IG9uIHN0YXRlIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE1IDE1OjA5OjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBSZW1vdmUgdW51c2VkIG5leHRfbWF4X291dF9ydW5uaW5nX3RpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2MQoKMjAxNy0wMi0xNSAxNTowNzozMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogUmVtb3ZlIHVudXNlZCBtdXhlZF9vdXRfdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE3IDEzOjA3OjA1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IEFsd2F5cyBzbmFwIHRvIHRoZSBzdGFydCBvZiB0aGUga2V5ZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTA3OTAyZWM1MTRiZDgyNmFhMjlkMjI5ODEwN2UyYzA5MWUxYzc3OS4KCSAgVGhpcyBjb21taXQgaW50ZW5kZWQgdG8gZW5zdXJlIHRoYXQga2V5ZnJhbWUgc2Vla3MgbGFuZCBhdCB0aGUKCSAgc3RhcnQgdGltZXN0YW1wIG9mIGEga2V5ZnJhbWUsIHJhdGhlciB0aGFuIGluIHRoZSBtaWRkbGUgb2Ygb25lLAoJICBidXQgdGhleSBjYXVzZSB0cm91YmxlIG9uIGZpbGVzIHdpdGggc3BhcnNlIHN0cmVhbXMsIG9yIHdpdGgKCSAgSlBFRyAnY292ZXIgYXJ0JyB0cmFja3MgdGhhdCBoYXZlIG9ubHkgb25lIG9yIGEgZmV3IEpQRUcgc2FtcGxlcwoJICB3aXRoIHZlcnkgbG9uZyBkdXJhdGlvbnMuCgkgIFRoYXQncyBzdGlsbCBkZXNpcmFibGUgZm9yIGRvaW5nIHNlYW1sZXNzIGN1dHRpbmcgb2YgdmlkZW9zLAoJICBidXQgbmVlZHMgYSByZXRoaW5rIGZvciBpbXBsZW1lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODY5MAoKMjAxNy0wMi0xNyAwMToyMjoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkgIGF1ZGlvZngvZWNobzogYWRkZWQgc3Vycm91bmQtZGVsYXkgYW5kIHN1cnJvdW5kLW1hc2sKCSAgQWRkIGEgbmV3IGJvb2xlYW4gc3Vycm91bmQtZGVsYXkgcHJvcGVydHkgdGhhdCBtYWtlcwoJICBhdWRpb2VjaG8ganVzdCBhcHBseSBhIGRlbGF5IHRvIGNlcnRhaW4gY2hhbm5lbHMgdG8gY3JlYXRlCgkgIGEgc3Vycm91bmQgZWZmZWN0LCByYXRoZXIgdGhhbiBhbiBlY2hvIG9uIGFsbAoJICBjaGFubmVscy4gVGhpcyBpcyB1c2VmdWwgd2hlbiB1cG1peGluZyBmcm9tIHN0ZXJlbyAtIGZvciBleGFtcGxlLgoJICBBZGQgYSBzdXJyb3VuZC1tYXNrIHByb3BlcnR5IHRvIGNvbnRyb2wgd2hpY2ggY2hhbm5lbHMKCSAgYXJlIGNvbnNpZGVyZWQgc3Vycm91bmQgc291bmQgY2hhbm5lbHMgd2hlbiBhZGRpbmcgYQoJICBkZWxheSB3aXRoIHN1cnJvdW5kLWRlbGF5ID0gdHJ1ZQoJICBPcmlnaW5hbCBwYXRjaCBmcm9tIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKMjAxNy0wMi0xNSAwMDoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogVXNlIElQX01VTFRJQ0FTVF9BTEwgZm9yIGZpbHRlcmluZyBJUHY0IHBhY2tldHMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgZ29lcyBhcm91bmQgdGhlIGluZWZmaWNpZW50IGNvbnRyb2wgbWVzc2FnZSBiYXNlZCBmaWx0ZXJpbmcgYW5kCgkgIGRvZXMgYWxsIHRoZSBmaWx0ZXJpbmcga2VybmVsLXNpZGUuIFVuZm9ydHVuYXRlbHkgdGhpcyBpcyBMaW51eC1vbmx5IGFuZAoJICB0aGVyZSBpcyBubyBJUHY2IHZhcmlhbnQgb2YgaXQgKHlldCkuCgoyMDE3LTAyLTE0IDE5OjUzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIG1lc29uOiBkaXN0IG1lc29uIGJ1aWxkIGZpbGVzCgkgIFNoaXAgbWVzb24gYnVpbGQgZmlsZXMgaW4gdGFyYmFsbHMsIHNvIHBlb3BsZSB3aG8gdXNlIHRhcmJhbGxzCgkgIGluIHRoZWlyIGJ1aWxkcyBjYW4gc3RhcnQgcGxheWluZyB3aXRoIG1lc29uIGFscmVhZHkuCgoyMDE3LTAyLTEwIDEwOjUzOjA1ICswMTAwICBTw7hyZW4gSnV1bCA8enBvbi5ka0BnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHJlc2V0IHRhZ3Mgb24gZW1wdHkgdmFsdWUKCSAgU29tZSByYWRpbyBzdHJlYW1zIHVzZXMgU3RyZWFtVGl0bGU9JycgdG8gcmVzZXQgdGhlIHRpdGxlIGFmdGVyIGEKCSAgdHJhY2sgc3RvcHBlZCBwbGF5aW5nLCBlLmcuIHdoaWxlIHRoZSBob3N0IHRhbGtzIGJldHdlZW4gdHJhY2tzIG9yCgkgIGR1cmluZyBuZXdzIHNlZ21lbnRzLgoJICBUaGlzIGNoYW5nZSBmb3JjZXMgYW4gZW1wdHkgdGFnIG9iamVjdCB0byBiZSBkaXN0cmlidXRlZCBpZgoJICBTdHJlYW1UaXRsZSBvciBTdHJlYW1VcmwgaXMgcmVjZWl2ZWQgd2l0aCBlbXB0eSB2YWx1ZSwgdGh1cyBhbGxvd2luZwoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIGdldCBub3RpZmllZCBhYm91dCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDM3CgoyMDE3LTAyLTEzIDExOjE3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBub3RpZnkgbWlzc2luZyBlbGVtZW50cwoJICBJZiB0aGUgc3J0cCBlbGVtZW50cyBhcmUgbm90IHByZXNlbnQsIHBvc3QgYSBtZXNzYWdlIG9uIHRoZSBidXMKCSAgaW5mb3JtaW5nIGFib3V0IHRoZSBtaXNzaW5nIHBsdWdpbnMuCgoyMDE3LTAyLTEwIDEwOjMyOjU3IC0wMzAwICBKdWFuIFBhYmxvIFVnYXJ0ZSA8dWdhcnRlQGVuZGxlc3NtLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogbWFyayBzaW5nbGV0b24gY2FwcyBhcyAibWF5IGJlIGxlYWtlZCIgb2JqZWN0cy4KCSAgU2V0IE1BWV9CRV9MRUFLRUQgZmxhZyBvbiBzdGF0aWMgcGFkcyByZXR1cm5lZCBieSBnc3RfdjRsMl9vYmplY3RfZ2V0XypfY2FwcygpCgkgIGZ1bmN0aW9ucy4gTWFkZSBmdW5jdGlvbnMgdGhyZWFkIHNhZmUgYnkgdXNpbmcgZ19vbmNlX2luaXRbZW50ZXJ8bGVhdmVdCgkgIGZ1bnRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDUzCgoyMDE3LTAyLTA5IDE0OjE4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgbm93IHVudXNlZCBkb25lIGxhYmVsCgoyMDE3LTAyLTA5IDEyOjU1OjMyICswMTAwICBOaWNrIEthbGxlbiA8bmlja2thbGxlbkBtZS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGRvIG5vdCBjYWNoZSBjYXBzCgkgIFVwc3RyZWFtIGVsZW1lbnRzIGxpa2UgdmlkZW9mbGlwIGNhbiB0cmFuc2Zvcm0gY2Fwcywgc3VjaCBhcyBjaGFuZ2luZyB3aWR0aCBhbmQgaGVpZ2h0LgoJICBXaGVuIGFuIGltYWdlZnJlZXplIGRvd25zdHJlYW0gcmVjZWl2ZXMgYW4gQUNDRVBUX0NBUFMgcXVlcnkgaXQgd2lsbCBOT1cgcmV0dXJuCgkgIGFsbCBjYXBzIHRoYXQgaXQgY2FuIGFjY2VwdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODM4OQoKMjAxNy0wMi0wOSAxMToyOTo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgYSBjb21tZW50IGFib3V0IGhvdyBhdG9tX3RyYWtfc2V0X2Vsc3RfZW50cnkoKSB3b3JrcwoKMjAxNC0wOC0yMiAwOTo1NTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGRlbW90ZSBzb21lIGxvZyBtZXNzYWdlcyB0byBUUkFDRSBsZXZlbAoJICBEb24ndCBzcGFtIGRlYnVnIGxvZyB3aXRoIHVuaW50ZXJlc3Rpbmcgc3R1ZmYuCgoyMDE3LTAyLTA4IDE3OjI0OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IENsZWFyIGVkaXQgbGlzdHMgZXZlcnkgdGltZSB3ZSByZWNhbGN1bGF0ZSB0aGVtCgkgIFdlIHJlY2FsY3VsYXRlIHRoZW0sIHNvIGFueSBvbGQgaW5mb3JtYXRpb24gaGFzIHRvIGJlIGZvcmdvdHRlbi4KCSAgT3RoZXJ3aXNlIHdlIHdyaXRlIGludmFsaWQgZWRpdCBsaXN0cyB3aGVuIHdyaXRpbmcgaGVhZGVycyBtdWx0aXBsZQoJICB0aW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODMzMAoKMjAxNy0wMi0wNyAxMzoxMDoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogQWxsb3cgZm9yIGJ1ZmZlcnMgYmVmb3JlIHRoZSBzZWdtZW50IHdoZW4gbWVhc3VyaW5nCgkgIFVzZWQgc2lnbmVkIGNhbGN1bGF0aW9ucyB3aGVuIG1lYXN1cmluZyB0aGUgbWF4X3RzIG9mIGFuIGlucHV0CgkgIGZyYWdtZW50LCBzbyBhcyB0byBjYWxjdWxhdGUgdGhlIGNvcnJlY3QgZHVyYXRpb24gYW5kIG9mZnNldAoJICB3aGVuIGJ1ZmZlcnMgaGF2ZSB0aW1lc3RhbXBzIHByZWNlZGluZyB0aGVpciBzZWdtZW50CgoyMDE3LTAyLTAyIDEyOjU1OjI1ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogcmVsYXRlIHJlY2VpdmVkIEZJUnMgYW5kIFBMSXMgdG8gc291cmNlCgkgIFRoaXMgaXMgbmVlZGVkIGluIG9yZGVyIHRvOgoJICAtIEF2b2lkIGlnbm9yaW5nIHJlcXVlc3RzIGZvciBkaWZmZXJlbnQgbWVkaWEgc291cmNlcy4KCSAgLSBBZGQgU1NSQyBmaWVsZCBpbiB0aGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MDEzCgoyMDE3LTAxLTMwIDIwOjIwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNhbml0eSBjaGVjayBudW1iZXIgb2Ygc2VnbWVudHMgaW4gZWRpdCBsaXN0CgkgIEZpeGVzIGNyYXNoIHdpdGggZnV6emVkIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc5NDAKCjIwMTctMDEtMDIgMjI6MTY6MzkgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNraXAgc2Vla2luZyBxdWVyeSBpZiB1cHN0cmVhbSBmb3JtYXQgaXMgdGltZQoJICBEb24ndCBuZWVkIHRvIHF1ZXJ5aW5nIGJ5dGUtZm9ybWF0IHNlZWtpbmcgZm9yIHRpbWUtZm9ybWF0CgkgIHVwc3RyZWFtIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjcxNQoKMjAxNi0xMi0wMSAxMjo0NzowOCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHVwc3RyZWFtJ3MgU3RyZWFtRmxhZ3MgaWYgdGhlcmUgYXJlCgkgIFdoZW4gbXVsdGlwbGUgZGVtdXhlcidzIGFyZSB1c2VkLCB1cHN0cmVhbSBtaWdodCB3YW50IHRvIGluZGljYXRlCgkgIGRlZmF1bHQgc3RyZWFtcyB1c2luZyBHU1RfU1RSRUFNX0ZMQUdfe1NFTEVDVCwgVU5TRUxFQ1R9CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NDAKCjIwMTctMDEtMjcgMTY6MTQ6MTYgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogVGltZWNvZGUgdHJhY2sgZml4ZXMgZm9yIFNUU0QgZW50cnkKCSAgVGhlIG5fZnJhbWVzIGZpZWxkIChmcmFtZXMgcGVyIHNlY29uZCkgc2hvdWxkIGZvbGxvdyB0aGUgbm9taW5hbCBmcmFtZQoJICByYXRlIGZvciBkcm9wLWZyYW1lIHRpbWVjb2Rlcy4KCSAgQWxzbywgdGhlIHRyYWsncyB0aW1lc2NhbGUgKGFuZCBkdXJhdGlvbiwgYWNjb3JkaW5nbHkpIHNob3VsZCBmb2xsb3cgdGhlCgkgIFNUU0QgZW50cnkncyB0aW1lc2NhbGUgYW5kIGZyYW1lIGR1cmF0aW9uIChmcHNfbiBhbmQgZnBzX2QgYWNjb3JkaW5nbHkpLAoJICBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc4MzIKCjIwMTctMDEtMTkgMTE6MDg6MTEgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJldHJ5IHJlcXVlc3Qgb24gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgc2VydmVyCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgMTgzNjk1YzYxYTU0ZjEgKHJlZmFjdG9yIHRvIHVzZQoJICBTb3VwJ3Mgc3luYyBBUEkpLiBUaGUgY29kZSBwcmV2aW91c2x5IGF0dGVtcHRlZCB0byByZWNvbm5lY3Qgd2hlbiB0aGUKCSAgc2VydmVyIGNsb3NlZCB0aGUgY29ubmVjdGlvbiBlYXJseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgc3RyZWFtIHdhcyBwdXQKCSAgaW4gcGF1c2UgZm9yIHNvbWUgdGltZS4KCSAgUmVpbnRyb2R1Y2UgdGhpcyBmZWF0dXJlIGJ5IGNoZWNraW5nIGlmIEVPUyBpcyByZWNlaXZlZCBiZWZvcmUgdGhlCgkgIGV4cGVjdGVkIGNvbnRlbnQgc2l6ZSBpcyBkb3dubG9hZGVkLiBJbiB0aGlzIGNhc2UsIGRvIHRoZSByZXF1ZXN0CgkgIHN0YXJ0aW5nIGF0IHRoZSBwcmV2aW91cyByZWFkIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NzIwCgoyMDE3LTAxLTEwIDA5OjQwOjU2IC0wNzAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaW5kX3N0cmVhbV9ieV9jaGFubmVsIHNob3VsZCBpZ25vcmUgdW5jb25maWd1cmVkIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEwMQoKMjAxNy0wMS0yNSAxODo0MzowMCArMDAwMCAgQnJlbmRhbiBTaGFua3MgPGJyZW5kYW4uc2hhbmtzQHRlcmFkZWsuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHR5cG8gYW5kIHJlbW92ZSBtaXNsZWFkaW5nIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM2MgoKMjAxNy0wMS0yNSAyMDo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJICBydHA6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgaW4gZXhhbXBsZQoJICBjbGllbnQtUENNQS5jOjg0OjIyOiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2lzcmMnIFstV3VudXNlZC12YXJpYWJsZV0KCSAgR09iamVjdCAqc2Vzc2lvbiwgKmlzcmMsICpvc3JjOwoJICBeCgoyMDE3LTAxLTA5IDExOjMyOjM1ICswNTMwICBSYWh1bCBCZWRhcmthciA8cmFodWwuYmVkYXJrYXJAaW1ndGVjLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2hlY2sgZm9yIG5vdCBOVUxMIGJlZm9yZSBjbGVhcmluZyBhZGFwdGVyCgkgIEluIGNhc2Ugd2F2cGFyc2UgcmVjZWl2ZXMgYSBtYW51YWxseSBpbmplY3RlZCBGTFVTSF9TVE9QIGV2ZW50CgkgIHdoaWxlIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUgd2UgZ2V0IGNyaXRpY2FscyBiZWNhdXNlIHdlJ2QgdHJ5CgkgIHRvIGNsZWFyIGEgTlVMTCBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTIzCgoyMDE3LTAxLTI0IDE5OjIzOjQ0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogUHJvcGVybHkgdXNlICc6JyBmb3IgZGVmaW5pbmcga2V5d29yZHMKCjIwMTctMDEtMTcgMTY6NDE6NTggKzAxMDAgIEplYW4tQ2hyaXN0b3BoZSBUcm90aW4gPGplYW4tY2hyaXN0b3BoZS50cm90aW5Ac3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiByZWZlcmVuY2UgbWVtb3J5IGJlZm9yZSB0aGUgYnVmZmVyIGlzIHF1ZXVlZAoJICBJbiBnc3RfdjRsMl9hbGxvY2F0b3JfcWJ1ZigpLCB0aGUgbWVtb3J5IGlzIHJlZmVyZW5jZWQgYWZ0ZXIgdGhlCgkgIGJ1ZmZlciBpcyBxdWV1ZWQuIE9uY2UgcXVldWVkIChWSURJT0NfUUJVRiksIHRoZSBidWZmZXIgbWlnaHQgYmUgaGFuZGxlZAoJICBieSB0aGUgVjRMMiBkcml2ZXIgKGUuZy4gZGVjb2RlZCkgYW5kIGRlcXVldWVkIChnc3RfdjRsMl9hbGxvY2F0b3JfZHFidWYpLAoJICB0aHJvdWdoIGEgZGlmZmVyZW50IHRocmVhZCwgYmVmb3JlIHRoZSBtZW1vcnkgaXMgcmVmZXJlbmNlZCAoZ3N0X21lbW9yeV9yZWYpLgoJICBJbiB0aGlzIGNhc2UsIGluIGdzdF92NGwyX2FsbG9jYXRvcl9kcWJ1ZigpLCB0aGUgbWVtb3J5IGlzIHVucmVmZXJlbmNlZAoJICAoZ3N0X21lbW9yeV91bnJlZikgYmVmb3JlIGhhdmluZyBiZWVuIHJlZmVyZW5jZWQ6IHRoZSBtZW1vcnkgcmVmY291bnQKCSAgcmVhY2hlcyAwLCBhbmQgdGhlIG1lbW9yeSBpcyBmcmVlZC4KCSAgU28sIHRvIGF2b2lkIHRoaXMgY3Jvc3NpbmcgY2FzZSwgaW4gZ3N0X3Y0bDJfYWxsb2NhdG9yX3FidWYoKSwgdGhlCgkgIG1lbW9yeSBzaGFsbCBiZSByZWZlcmVuY2VkIGJlZm9yZSB0aGUgYnVmZmVyIGlzIHF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM5OQoKMjAxNy0wMS0yNCAxNzo1OTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IE9ubHkgd3JpdGUgNCBieXRlIHplcm8gcGFkZGluZyB0byB0aGUgVmlkZW8gU2FtcGxlIERlc2NyaXB0aW9uIGluIE1PVgoJICBGb3IgTVA0IHRoaXMgaXMgbm90IGRlZmluZWQsIGFuZCBpdCBhY3R1YWxseSBicmVha3MgdGhpbmdzIGZvciBNU0UgaW4KCSAgQ2hyb21lIGlmIHdlIGRvIHRoaXMuIEZvciBNT1YgdGhpcyBpcyByZXF1aXJlZCBieSBzb21lIGJyb2tlbiBzb2Z0d2FyZQoJICBidXQgdGhlIG9mZmljaWFsIHNwZWNpZmljYXRpb24gc2F5cyBpdCdzIG9wdGlvbmFsOgoJICBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L2RvY3VtZW50YXRpb24vUXVpY2tUaW1lL1FURkYvUVRGRkNoYXAzL3F0ZmYzLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzU0MAoKMjAxNy0wMS0wMiAxMzo0MjowNCArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2Nhcm90QHR3aWxpby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogS2VlcCBudW1iZXIgb2YgbmFja3Mgc2VudC9yZWNlaXZlZCBwZXIgc291cmNlCgkgIEN1cnJlbnRseSwgdGhlIG5hY2sgcGFja2V0cyBzZW50IG9yIHJlY2VpdmVkIGFyZSBrZXB0IGF0IHNlc3Npb24gbGV2ZWwsCgkgIHdoaWNoIG1ha2VzIGl0IGltcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggaG93IG1hbnkgb2YgdGhlc2UgcGFja2FnZXMgd2VyZQoJICBzZW50L3JlY2VpdmVkIHBlciBzc3JjIHdoZW4gc2V2ZXJhbCBzb3VyY2VzIGFyZSBpbiB0aGUgc2FtZSBzZXNzaW9uLiBUaGlzCgkgIHBhdGNoIGlzIGFsaWduZWQgd2l0aCB0aGUgaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYnJ0Yy1zdGF0cy8jZG9tLXJ0Y3J0cHN0cmVhbXN0YXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3MTQKCjIwMTYtMTItMDggMTU6NTk6MzMgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IEZpeCBoYW5kbGluZyBvZiBjb25maWctaW50ZXJ2YWwKCSAgSW5zZXJ0IFZQUy9TUFMvUFBTIGJlZm9yZSB0aGUgZmlyc3QgTkFMIHVuaXQgY29udGFpbmluZyBhbiBJLWZyYW1lIGluIGFuCgkgIGFjY2VzcyB1bml0IG9ubHkuIElmIGFuIGFjY2VzcyB1bml0IGNvbnNpc3RzIG9mIHNldmVyYWwgc3VjaCBOQUwgdW5pdHMKCSAgKHRpbGVzKSBWUFMvU1BTL1BQUyBzaG91bGQgb25seSBiZSBpbnNlcnRlZCBiZWZvcmUgdGhlIGZpcnN0IG9mIHRoZW0gc28KCSAgdGhhdCBwYXJhbWV0ZXJzIGFyZSBvbmx5IHVwZGF0ZWQgYmV0d2VlbiBmcmFtZXMuCgkgIERvIG5vdCBpbnNlcnQgVlBTL1NQUy9QUFMgYmVmb3JlIFAtZnJhbWVzIHdoZW4gY29uZmlnLWludGVydmFsIGlzIC0xLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1ODE3CgoyMDE3LTAxLTE5IDEyOjI5OjQ0ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXBvcnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aGVuIHNvdXBfc2Vzc2lvbl9zZW5kIGZhaWxzCgkgIFRoaXMgaGVscHMgdG8gdW5kZXJzdGFuZCBjYXNlcyB3aGVyZSBsaWJzb3VwIGRvZXNuJ3Qgc2V0IHRoZSBtZXNzYWdlCgkgIHN0YXR1cyBjb2RlIGFmdGVyIHJ1bm5pbmcgc291cF9zZXNzaW9uX3NlbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTkgMTE6MDU6MDAgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHByb3Blcmx5IGNoZWNrIHRoYXQgc2VlayByYW5nZSB3YXMgcmVzcGVjdGVkCgkgIFRoaXMgY2hlY2sgbXVzdCBiZSBkb25lIG9ubHkgd2hlbiB3ZSBhcmUgc3VyZSB0aGUgcmVxdWVzdCB3YXMKCSAgc3VjY2Vzc2Z1bGx5IHNlbnQuIHNvdXBfc2Vzc2lvbl9zZW5kKCkgbWlnaHQgZmFpbCB3aXRob3V0IHNldHRpbmcgdGhlCgkgIHN0YXR1cyBjb2RlLiBJbiB0aGlzIGNhc2Ugc3RhdHVzIGNvZGUgaXMgMCBzbyB3ZSB3b3VsZCBvbmx5IGNhdGNoIHRoZQoJICBlcnJvciBhZnRlciB0aGUgc2VlayByYW5nZSBjaGVjay4gSW4gdGhpcyBjYXNlIHdlIHdvdWxkIHJlcG9ydCBhbiBlcnJvcgoJICBzYXlpbmcgdGhhdCB0aGUgc2VlayByYW5nZSB3YXMgbm90IHJlc3BlY3RlZCwgaW5zdGVhZCBvZiByZXBvcnRpbmcgdGhlCgkgIHVuZGVybHlpbmcgZXJyb3IgdGhhdCB0cmlnZ2VyZWQgdGhlIHNvdXBfc2Vzc2lvbl9zZW5kKCkgZmFpbHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYXR0YWNobWVudC5jZ2k/YnVnaWQ9Nzc3MjIyCgoyMDE3LTAxLTA5IDIxOjA0OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkIGEgcG9zaXRpb25pbmcgY29lZmZpY2llbnQgcGFpcgoJICAuLi4gc28gYXMgdG8gYWxsb3cgb25lIGNsZWFybHkgZGVmaW5lZCAoYWJzb2x1dGUpIHBvc2l0aW9uaW5nIG1vZGUKCSAgdGhhdCBjYW4gY2F0ZXIgZm9yIGEgdmFyaWV0eSBvZiBhYnNvbHV0ZSBidXQgYWxzbyByZWxhdGl2ZSBwb3NpdGlvbmluZwoJICB3aXRoIHJlc3BlY3QgdG8gZWRnZSBvciBjZW50ZXIuCgoyMDE3LTAxLTIxIDIwOjQ4OjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IHVwZGF0ZSBjb21wb3NpdGlvbiBpbiBfYmVmb3JlX3RyYW5zZm9ybQoJICAuLi4gc2luY2Ugd2UgbmVlZCB0byBkZXRlcm1pbmUgcGFzc3Rocm91Z2ggbW9kZSBmb3IgYnVmZmVyIHByZXBhcmF0aW9uIGJlZm9yZQoJICBjYWxsaW5nIGludG8gX3RyYW5zZm9ybV9pcC4KCjIwMTctMDEtMDcgMjA6MTE6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogaGFuZGxlIHNldHRpbmcgTlVMTCBnZGtwaXhidWYKCSAgLi4uIHdoaWNoIGlzIGEgY2xlYXJlciB3YXkgdG8gY2xlYXIgYW55IGN1cnJlbnQgb3ZlcmxheSwgb3RoZXIgdGhhbgoJICBmaWRkbGluZyB3aXRoIGFscGhhIG9yIHBvc2l0aW9uaW5nIHByb3BlcnRpZXMgdG8gbWFrZSBpdCB2aXJ0dWFsbHkgZ28gYXdheS4KCjIwMTctMDEtMjAgMTc6MTY6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHJlYWRpbmcgYSBuY2R0IHN1Yi10YWcgaWYgaXQgZ29lcyBiZWhpbmQgdGhlIHN1cnJvdW5kaW5nIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NTMyCgoyMDE3LTAxLTIwIDA3OjU4OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHZhcmlvdXMgb3V0IG9mIGJvdW5kcyByZWFkcyB3aGVuIHBhcnNpbmcgbmNkdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc1MDAKCjIwMTctMDEtMTkgMTM6NDY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW5jcmVtZW50IGN1cnJlbnQgc3R0cyBpbmRleCB3aGVuZXZlciB3ZSBmaW5pc2hlZCBvbmUgc3R0cyBlbnRyeQoJICBPdGhlcndpc2Ugd2UgY291bGQgcmVhZCBtb3JlIGNodW5rcyB0aGFuIHRoZXJlIGFyZSBhdmFpbGFibGUsIGRvaW5nIGFuCgkgIG91dCBvZiBib3VuZHMgcmVhZCBhbmQgcG90ZW50aWFsbHkgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc0NjkKCjIwMTctMDEtMTkgMTM6MjU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBJbmNyZW1lbnQgY3VycmVudCBzdHRzIGluZGV4IGluIGFsbCBjb2RlIHBhdGhzIGFmdGVyIHJlYWRpbmcgb25lIGNodW5rIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk5ZDVkNzU3MGQwYjUzZGFkM2JjOGViNjUzYjEzMjBlZTQyMmFhY2UuIEl0IGJyb2tlCgkgIHBsYXliYWNrIG9mIHZhcmlvdXMgdmFsaWQgZmlsZXMuCgoyMDE3LTAxLTE5IDA3OjUyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluY3JlbWVudCBjdXJyZW50IHN0dHMgaW5kZXggaW4gYWxsIGNvZGUgcGF0aHMgYWZ0ZXIgcmVhZGluZyBvbmUgY2h1bmsKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIHJlYWQgbW9yZSBjaHVua3MgdGhhbiB0aGVyZSBhcmUgYXZhaWxhYmxlLCBkb2luZyBhbgoJICBvdXQgb2YgYm91bmRzIHJlYWQgYW5kIHBvdGVudGlhbGx5IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDY5CgoyMDE3LTAxLTE5IDA4OjM3OjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEluaXRpYWxpemUgcmV0dXJuIHZhcmlhYmxlCgkgIEluIHRoZSBub3JtYWwgdXNlLWNhc2Ugd2Ugd291bGQgZW5kIHVwIHdpdGggcmV0IGJlaW5nIHVuaXRpYWxpemVkCgkgIGNhdXNpbmcgaGF2b2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTMgMTI6Mjc6NDAgKzAwMDAgIERhdmlkIFdhcm1hbiA8ZHdhcm1hbkBtYW5nbGViaXQub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIFhNUCB0YWcgcGFyc2luZyBmYXRhbCBlcnJvci4KCSAgcXRkZW11eF9oYW5kbGVfeG1wX3RhZ2xpc3QoKSByZXF1aXJlcyBhIHdyaXRhYmxlIHRhZ2xpc3QsCgkgIGJ1dCBxdGRlbXV4LT50YWdfbGlzdCBjYW4gYmVjb21lIG5vbi13cml0YWJsZSwgc3BlY2lmaWNhbGx5CgkgIGFmdGVyIHNlbmRpbmcgZ2xvYmFsIHRhZ3MgKHF0ZGVtdXguYzo5NTgpLCB3aGljaCBhZGRzIGEKCSAgc2Vjb25kIHJlZmVyZW5jZS4gIEVuc3VyZSB0aGUgbGlzdCBpcyBtYWRlIHdyaXRhYmxlIGJlZm9yZQoJICBjYWxsaW5nIChtYWtlX3dyaXRhYmxlIHdpbGwgY29weSB0aGUgbGlzdCBpZiBuZWNlc3NhcnkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTc3CgoyMDE2LTA1LTMxIDEzOjE3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXdvcmsgdGFnbGlzdCBoYW5kbGluZwoJICBLZWVwIHRhZ2xpc3QgYXJvdW5kIGR1cmluZyBlbGVtZW50IGV4aXN0YW5jZSB0byBhdm9pZCBoYXZpbmcgdG8KCSAgY3JlYXRlIGl0IGF0IGRpZmZlcmVudCBwbGFjZXMgYmVmb3JlIHVzYWdlLiBNYWtlcyBjb2RlIHNpbXBsZXIgdG8gaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTc3CgoyMDE3LTAxLTE2IDExOjU4OjAyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBtYWtlIGZsb3cgcmV0dXJuIHZhbHVlcyBoYW5kbGluZyBjbGVhcmVyCgkgIFRoZSBmbG93IHJldHVybiB2YWx1ZXMgd2FzIHN0b3JlZCBpbiB0aGUgZWxlbWVudCBiZWZvcmUgYmVjYXVzZSB0aGUKCSAgcmVzdWx0IGhhZCB0byBiZSBzZXQgZnJvbSBjYWxsYmFja3MuIFRoaXMgaXMgbm90IHRoZSBjYXNlIGFueW1vcmUsIHdlCgkgIGNhbiByZXR1cm4gdGhlIGZsb3cgcmVzdWx0IGRpcmVjdGx5IGZyb20gZnVuY3Rpb25zLCBtYWtpbmcgdGhlIGNvZGUKCSAgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTMgMTY6NDA6NDMgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHByb3Blcmx5IHRyYWNrIHJlZGlyZWN0aW9ucwoJICBUaGUgY3VycmVudCBjb2RlIGNvbmZpZ3VyZXMgbGlic291cCB0byBoYW5kbGUgcmVkaXJlY3Rpb25zCgkgIHRyYW5zcGFyZW50bHksIHdpdGhvdXQgaW5mb3JtaW5nIHRoZSBjYWxsZXIsIHRodXMgcHJldmVudGluZyB0aGUgZWxlbWVudAoJICB0byByZWNvcmQgdGhlIHJlZGlyZWN0IGNvZGUgYW5kIGxvY2F0aW9uIHVyaS4KCSAgRml4IHRoaXMgYnkgYWx3YXlzIHNldHRpbmcgdGhlIFNPVVBfTUVTU0FHRV9OT19SRURJUkVDVCwgcHJldmVudGluZwoJICBsaWJzb3VwIGZyb20gaGFuZGxpbmcgdGhlIHJlZGlyZWN0aW9uLiBXaGVuIHdlIHJlY2VpdmUgYSByZWRpcmVjdGlvbgoJICByZXF1ZXN0IGFuZCBsaWJzb3VwIGNhbiBzYWZlbHkgaGFuZGxlIGl0LCByZXR1cm4gYSBjdXN0b20gZXJyb3Igd2hpY2gKCSAgdHJpZ2dlcnMgYSByZXRyeSB3aXRoIHRoZSBuZXcgVVJJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjIyCgoyMDE3LTAxLTE3IDEwOjUzOjM5ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDQ0NDQgYW5kIDQ0NDR4cSB2YXJpYW50cyB0byB2aWRlby94LXByb3JlcyBwYWQgdGVtcGxhdGUgY2FwcwoJICBUaGV5IGFyZSBoYW5kbGVkIHNpbmNlIGNvbW1pdCA3YjU2NTQ3NWJmNTUxYzUzYjhlZWQ0NmY3MDg2ZjNiMzcyZjFmNmM0CgkgIChxdDogQWRkIHN1cHBvcnQgZm9yIFByb1JlcyA0NDQ0IFhRKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM3NwoKMjAxNy0wMS0xNyAxMDo0ODo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBRdWlldCBhIFdBUk4gd2hlbiBwYXJzaW5nIHB1c2ggbW9kZQoJICBUaGlzIHdhcm5pbmcgd2FzIG5vaXN5IHdoZW4gcmV0dXJuaW5nIEVPUywgd2hpY2ggaXMKCSAganVzdCB1c2VkIHRvIGluZGljYXRlIG1vcmUgZGF0YSBpcyBuZWVkZWQgZnJvbSB1cHN0cmVhbS4KCjIwMTctMDEtMTYgMTQ6NTA6MjIgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHdyaXRlIFN5bmMgU2FtcGxlIEF0b20gZm9yIFByb1JlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MzMxCgoyMDE1LTAxLTI4IDA4OjU4OjI2ICswMTAwICBFbnJpY28gSm9ybnMgPGVqb0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IFJlbW92ZSB1c2FnZSBhbmQgZGVmaW5pdGlvbiBvZiBMT0dfQ0FQUyBtYWNybwoJICBVbmxpa2UgZm9ybWVyIGRlZmluaXRpb25zIG9mIExPR19DQVBTLCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzaW1wbHkKCSAgZXhwYW5kcyB0byBHU1RfREVCVUdfT0JKRUNULiBUaGUgTE9HX0NBUFMgbWFjcm8gaXMgcmFyZWx5IHVzZWQgYW5kIG1vc3QKCSAgdXNlcyBkdXBsaWNhdGUgYWxyZWFkeSBleGlzdGluZyBHU1RfREVCVUdfT0JKRUNUIGxpbmVzLiBUaGVyZWZvcmUsIHRoZQoJICBjYXBzIGFyZSBvZnRlbiBwcmludGVkIHR3aWNlIHdoaWNoIHVubmVjZXNzYXJpbHkgY2x1dHRlcnMgdGhlIGRlYnVnIGxvZy4KCSAgUmVwbGFjZSBMT0dfQ0FQUyBjYWxscyB3aXRoIEdTVF9ERUJVR19PQkpFQ1QsIHJlbW92ZSBMT0dfQ0FQUyBjYWxscywgYW5kCgkgIGRlbGV0ZSB0aGUgZGVmaW5pdGlvbiBvZiBMT0dfQ0FQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Njg5OQoKMjAxNy0wMS0xNiAxNTo0MDo0MyArMDEwMCAgSmVhbi1DaHJpc3RvcGhlIFRyb3RpbiA8amVhbi1jaHJpc3RvcGhlLnRyb3RpbkBzdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogcmVtb3ZlIGR1cGxpY2F0ZWQgbGluZSBvZiBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczMzAKCjIwMTctMDEtMTYgMTU6MTc6MTUgKzAxMDAgIEplYW4tQ2hyaXN0b3BoZSBUcm90aW4gPGplYW4tY2hyaXN0b3BoZS50cm90aW5Ac3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggbWVtb3J5IHR5cGUgaW4gYWxsb2NhdG9yIHByb2JlCgkgIFRoZSBidWZmZXIgbWVtb3J5IHR5cGUgcHJvdmlkZWQgdG8gdGhlIFZJRElPQ19DUkVBVEVfQlVGUyBpb2N0bCBzaGFsbAoJICBiZSBzZXQgd2l0aCB0aGUgdmFsdWUgKCJtZW1vcnkiKSBnaXZlbiBhcyBpbnB1dCBwYXJhbWV0ZXIgb2YgdGhlCgkgIGdzdF92NGwyX2FsbG9jYXRvcl9wcm9iZSgpIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MzI3CgoyMDE3LTAxLTE0IDE1OjI3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggb3RoZXIgaWNvbiBjb3VudGVyIGNoZWNrCgkgIEl0J3MgbmV2ZXIgZ29pbmcgdG8gYmUgMCBpZiB3ZSBmaXJzdCBpbmNyZW1lbnQgYW5kIHRoZW4gY2hlY2suCgoyMDE3LTAxLTE0IDE1OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGJvbGRseSBhc3N1bWUgdGhhdCBmaXJzdCAnY292cicgaW1hZ2UgaXMgdGhlIGZyb250IGNvdmVyCgoyMDE3LTAxLTE0IDE1OjA5OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgY292ZXIgYXJ0IGltYWdlcyBpbnRvIEdTVF9UQUdfSU1BR0Ugbm90IFBSRVZJRVdfSU1BR0UKCSAgVGhlc2UgYXJlIHVzdWFsbHkgbXVjaCBiaWdnZXIgdGhhbiBpY29uIHNpemUgYW5kIHJlcXVpcmVkIGJ5CgkgIGlUdW5lcyB0byBiZSBjZXJ0YWluIGZhaXJseSBsYXJnZSBzaXplcy4gSW4gcXRtdXggaXQgaXMgYWxzbwoJICB0aGUgSU1BR0UgdGFncyB3aGljaCB3ZSB3cml0ZSBvdXQgYXMgJ2NvdnInIGF0b21zLgoKMjAxNy0wMS0xNCAxNTowNTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWxzbyBzZXQgUElDVFVSRSB0YWcgd2lkdGggYW5kIGhlaWdodCBpZiBhdmFpbGFibGUKCjIwMTctMDEtMTQgMTQ6NTg6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBlbmNvZGVyIGluaXQgZXJyb3Igd2l0aCBzb21lIEdTVF9UQUdfUFJFVklFV19JTUFHRXMKCSAgVGhlIGVuY29kZXIgZmFpbHMgdG8gaW5pdGlhbGlzZSB3aGVuIHdlIHRyeSB0byBzZXQgR1NUX1RBR19QUkVWSUVXX0lNQUdFcwoJICBzZW50IHRvIHVzZSBieSBxdGRlbXV4IGZyb20gaVR1bmVzLWdlbmVyYXRlZCBtNGEgZmlsZXMuIFdlIHNob3VsZAoJICBub3QganVzdCBibGluZGx5IHRyYW5zbGF0ZSB0aGUgUFJFVklFVyB0YWcgdG8gZmlsZSBpY29uIGltYWdlIHR5cGVzLAoJICBidXQgY2hlY2sgaWYgdGhlIHNwZWNpZmljIGNvbmRpdGlvbnMgcmVxdWlyZWQgYXJlIG1ldCAoaS5lLiBpbWFnZQoJICB0eXBlIDEgbXVzdCBiZSBhIDMyeDMyIFBORyBpY29uLCBhbmQgd2hhdCB3ZSdyZSBnZXR0aW5nIGlzIDUwMHg1MDApLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTYyCgoyMDE3LTAxLTEzIDEyOjM5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidW1wIHZlcnNpb24KCjIwMTYtMTItMjIgMTc6NDA6NDAgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgb3B0aW9uIGZvciB0aW1lY29kZS1iYXNlZCBzcGxpdAoJICBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiwgaXQgd2lsbCBjYWxjdWxhdGUgdGhlIG5leHQgc3BsaXQgcG9pbnQgYmFzZWQgb24KCSAgdGltZWNvZGUgZGlmZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDIwOQoKMjAxNy0wMS0xMyAwMDowMTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXNldCByZXF1ZXN0IHBhZCBudW1iZXJpbmcgYWNyb3NzIHVzZXMKCSAgV2hlbiByZXNldCwgZG9uJ3QgcmVzdGFydCByZXF1ZXN0IHBhZCBudW1iZXJpbmdzLCBhcwoJICByZXF1ZXN0IHBhZHMgY2FuIHN1cnZpdmUgYWNyb3NzIHN0YXRlIGNoYW5nZXMuIE9ubHkKCSAgcmVzdGFydCBhdCAwIGlmIGFsbCByZXF1ZXN0IHBhZHMgYXJlIGhhbmRlZCBiYWNrIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTc0CgoyMDE3LTAxLTExIDE4OjUyOjI4ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHhxdWV1ZTogRXhwb3NlIGJhc2ljIHN0YXRpc3RpY3MgYXMgcHJvcGVydGllcy4KCSAgU3RhdGlzdGljcyBhYm91dCB0aGUgdG90YWwgbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzCgkgIGFuZCB0aGUgYWN0dWFsIG51bWJlciBvZiByZXRyYW5zbWl0dGVkIHBhY2tldHMgY2FuIGJlIGhlbHBmdWwKCSAgYXQgYXBwbGljYXRpb24tbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxODIKCjIwMTctMDEtMTIgMTc6NDU6MzUgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSB2aWRlby94LWgyNjQgY2FwcyBoYW5kbGluZwoJICAnc3RyZWFtLWZvcm1hdCcgYW5kICdhbGlnbm1lbnQnIGFyZSBkZWZpbmVkIGluIHBhZCB0ZW1wbGF0ZSBjYXBzIHNvCgkgIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgdGhlbSBhZ2FpbiBoZXJlLiBBbHNvIHJlbW92ZSBiaXRyYXRlIHBhcnNpbmcgZnJvbQoJICBjYXBzIGFzIGJpdHJhdGUgaW4gY2FwcyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYnV0IGZyb20gdGFncywgd2hpY2ggaXMKCSAgYWN0dWFsbHkgdGhlIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxODEKCjIwMTYtMTItMDggMTc6MDI6MjIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBiYXNpYyBIRVZDL0guMjY1IG11eGluZyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3NTIKCjIwMTctMDEtMTEgMTg6Mjk6MDUgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IENhbGN1bGF0ZSBjbGVhbiBhcGVydHVyZSBzaXplCgkgIENhbGN1bGF0ZSBjbGVhbiBhcGVydHVyZSBkaW1lbnNpb25zIGJ5IGZpcnN0IGd1ZXNzaW5nCgkgIGRpc3BsYXkgYXNwZWN0IHJhdGlvIGJhc2VkIG9uIHBpeGVsIGFzcGVjdCByYXRpbyBhbmQKCSAgZnJhbWUgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEwMAoKMjAxNy0wMS0xMCAxODoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdG11eDogV3JpdGUgdGFwdCBhdG9tIGZvciBNT1YgZmlsZXMgaWYgUEFSIG5vdCAxLzEKCSAgTmVlZGVkIGZvciBRdWlja1RpbWUgNyB0byBwcm9wZXJseSBwbGF5IGZpbGVzLgoJICBBbHNvIHdyaXRlIHRoZSBjbGFwIGF0b20gZm9yIE1PViBmaWxlcyBhbHdheXMsIG5vdCBvbmx5IHdoZW4gUHJvUmVzIGlzCgkgIHVzZWQgYXMgYSB2aWRlbyBjb2RlYy4gSXQncyBtYW5kYXRvcnkgZm9yIE1PVi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEwMAoKMjAxNy0wMS0xMiAxNjozMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xMS4xID09PQoKMjAxNy0wMS0xMiAxNTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgUmVsZWFzZSAxLjExLjEKCjIwMTctMDEtMTIgMTQ6Mzg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDEtMTIgMTQ6MzY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2lkLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDEtMTEgMTc6NTM6MzIgLTA4MDAgIEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJlZSBzZXFoIGFmdGVyIGNhbGxpbmcgcXRkZW11eF9wYXJzZV9zdnEzX3N0c2RfZGF0YSgpCgkgIFRoZSBzZXFoIGJ1ZmZlciBhbGxvY2F0ZWQgaW4gcXRkZW11eF9wYXJzZV9zdnEzX3N0c2RfZGF0YSgpIG5lZWRzIHRvCgkgIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIgYWZ0ZXIgdXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTU3CgkgIFNpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CgoyMDE3LTAxLTEwIDE2OjAxOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogRG9uJ3Qgc3BhbSBkZWJ1ZyBsb2cgd2l0aCBrbm9udy9wYWRkaW5nIGF0b21zCgkgIE9ubHkgb3V0cHV0IFdBUk5JTkcgbWVzc2FnZXMgZm9yIGF0b21zIHdlIGRvbid0IGtub3cgaG93IHRvIGhhbmRsZQoJICBpbnN0ZWFkIG9mIGZvciBwYWRkaW5nL2tub3duIGF0b21zIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55IHByb2Nlc3NpbmcKCSAgb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzA5NQoKMjAxNy0wMS0wOSAxOTowNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgRml4IGluZGVudGF0aW9uCgoyMDE3LTAxLTA5IDE5OjA0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IGZpeCBjb21waWxlciB3YXJuaW5nIGR1ZSB0byBjOTktaXNtCgkgIHJ0cGppdHRlcmJ1ZmZlci5jOjU5MjozOiBlcnJvcjog4oCYZm9y4oCZIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDOTkgbW9kZQoKMjAxNi0xMS0xMSAxNDozMTowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBicmluZyB0aGUgZWxlbWVudCBzdGF0ZSBkb3duIGFmdGVyIHN1Y2Nlc3MKCSAgT3RoZXJ3aXNlIHNvbWUgbWVzc2FnZXMgdGhhdCBhcmUgZW1pdHRlZCBieSB0aGUgZWxlbWVudCBvbiBOVUxMLT5SRUFEWQoJICB3aWxsIG5vdCByZWFjaCB0aGUgYXBwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5NDcKCjIwMTctMDEtMDggMDE6MTM6MzIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlIHRmZHQgYXRvbSBpbnRvIGZyYWdtZW50ZWQgZmlsZXMuCgkgIFRoZSBEQVNIIHNwZWMgcmVxdWlyZXMgdGhhdCB0ZmR0IGF0b21zIGJlIHByZXNlbnQsIHNvCgkgIHdyaXRlIG9uZSBvdXQuIElTTy9JRUMgMjMwMDktMToyMDE0IDYuMy40LjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODIyMQoKMjAxNy0wMS0wNyAyMzo1NTo0MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcmVzZXQgb3V0cHV0IHRpbWVzdGFtcHMgd2hlbiBubyB0ZmR0CgkgIElmIGEgZnJhZ21lbnRlZCBzdHJlYW0gZG9lc24ndCBoYXZlIGEgdGZkdCwgZG9uJ3QKCSAgcmVzZXQgdGhlIG91dHB1dCB0aW1lc3RhbXBzIGF0IGVhY2ggZnJhZ21lbnQgYm91bmRhcnkKCSAgYnkgZXJyb25lb3VzbHkgdXNpbmcgdGhlIGRlZmF1bHQgdmFsdWUgb2YgMC4gSW50cm9kdWNlZAoJICBieSBjb21taXQgNjlmYzQ4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMzAKCjIwMTYtMTItMTYgMTY6NTE6NDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9tZXNvbi5idWlsZDoKCSogZ3N0L2VxdWFsaXplci9tZXNvbi5idWlsZDoKCSogZ3N0L2lzb21wNC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBJbnN0YWxsIHByZXNldHMgZmlsZXMKCjIwMTctMDEtMDMgMTA6MTI6MzAgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBzb21lIGNhcHMgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NzY3ODkKCjIwMTYtMTItMjIgMTc6MzQ6MDggKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBSZXR1cm4gYSBiaW4gd2l0aCBhICJsb2NhdGlvbiIgcHJvcGVydHkgYXMgYSBzaW5rCgkgIFNwbGl0bXV4c2luayBtaWdodCBiZSBjYWxsZWQgd2l0aCBhIGN1c3RvbSBiaW4gYXMgYSBzaW5rLiBJZiBpdCBoYXMgYQoJICAibG9jYXRpb24iIHByb3BlcnR5LCBpdCBjYW4gYmUgdXNlZC4KCjIwMTYtMTEtMTggMjI6NDI6MTggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXg6IFJld3JpdGUgYnVmZmVyIGNvbGxlY3Rpb24gYW5kIHNjaGVkdWxpbmcKCSAgTWFqb3JseSBjaGFuZ2UgdGhlIHdheSB0aGF0IHNwbGl0bXV4c2luayBjb2xsZWN0cwoJICBpbmNvbWluZyBkYXRhIGFuZCBzZW5kcyBpdCB0byB0aGUgb3V0cHV0LCBzbyB0aGF0IGl0CgkgIG1ha2VzIGFsbCBkZWNpc2lvbnMgYWJvdXQgd2hlbiAvIHdoZXJlIHRvIHNwbGl0IGZpbGVzCgkgIG9uIHRoZSBpbnB1dCBzaWRlLgoJICBVc2Ugc2VwYXJhdGUgcXVldWVzIGZvciBlYWNoIHN0cmVhbSwgc28gdGhleSBjYW4gYmUKCSAgZ3Jvd24gaW5kaXZpZHVhbGx5IGFuZCBrZXB0IGFzIHNtYWxsIGFzIHBvc3NpYmxlLgoJICBUaGlzIHJlbW92ZXMgcmFjaW5lc3MgSSBvYnNlcnZlZCB3aGVyZSBzb21ldGltZXMKCSAgc29tZSBkYXRhIHdvdWxkIGVuZCB1cCBwdXQgaW4gYSBkaWZmZXJlbnQgb3V0cHV0IGZpbGUKCSAgb3ZlciBtdWx0aXBsZSBydW5zIHdpdGggdGhlIHNhbWUgaW5wdXQuCgkgIEFsc28gZml4ZXMgaGFuZ3Mgd2l0aCBpbnB1dCBxdWV1ZXMgZ2V0dGluZyBmdWxsCgkgIGFuZCBjYXVzaW5nIG11eGluZyB0byBzdGFsbCBvdXQuCgoyMDE2LTExLTE3IDIzOjQwOjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4c2luazogQWRkIGZvcm1hdC1sb2NhdGlvbi1mdWxsIHNpZ25hbAoJICBBZGQgYSBuZXcgc2lnbmFsIGZvciBmb3JtYXR0aW5nIHRoZSBmaWxlbmFtZSwgd2hpY2ggcmVjZWl2ZXMKCSAgYSBHc3RTYW1wbGUgY29udGFpbmluZyB0aGUgZmlyc3QgYnVmZmVyIGZyb20gdGhlIHJlZmVyZW5jZQoJICBzdHJlYW0gdGhhdCB3aWxsIGJlIG11eGVkIGludG8gdGhhdCBmaWxlLgoJICBVc2VmdWwgZm9yIGNyZWF0aW5nIGZpbGVuYW1lcyB0aGF0IGFyZSBiYXNlZCBvbiB0aGUKCSAgcnVubmluZyB0aW1lIG9yIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIGJ1ZmZlci4KCSAgVG8gbWFrZSBpdCB3b3JrLCBvcGVuaW5nIG9mIGZpbGVzIGFuZCBzZXR0aW5nIGZpbGVuYW1lcyBpcwoJICBub3cgZGVmZXJyZWQgdW50aWwgdGhlcmUgaXMgc29tZSBkYXRhIHRvIHdyaXRlIHRvIGl0LAoJICB3aGljaCBhbHNvIHJlcXVpcmVzIHNvbWUgY2hhbmdlcyB0byBob3cgYXN5bmMgc3RhdGUgY2hhbmdlcwoJICBhbmQgZ2FwIGV2ZW50cyBhcmUgaGFuZGxlZC4KCjIwMTYtMTItMzEgMDE6NTQ6MDEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFsd2F5cyBzbmFwIHRvIHRoZSBzdGFydCBvZiB0aGUga2V5ZnJhbWUKCSAgV2hlbiBwZXJmb3JtaW5nIGEga2V5LXVuaXQgc2VlaywgYWx3YXlzIHNuYXAgdG8gdGhlIHN0YXJ0IHRzCgkgIG9mIHRoZSBrZXlmcmFtZSBidWZmZXIgd2UgbGFuZGVkIG9uIHNvIHRoYXQgdGhlIGtleWZyYW1lIGlzCgkgIGVudGlyZWx5IHdpdGhpbiB0aGUgcmVzdWx0aW5nIG91dGdvaW5nIHNlZ21lbnQuIFRoYXQgc2VlbXMKCSAgdGhlIG1vc3Qgc2Vuc2libGUgcmVzdWx0LCBzaW5jZSB0aGUgdXNlciByZXF1ZXN0ZWQgc25hcHBpbmcKCSAgdG8gdGhlIGtleWZyYW1lIHBvc2l0aW9uLgoKMjAxNi0xMi0zMSAwMTo0ODowNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogT21pdCBjc2xnX3NoaWZ0IHdoZW4gc25hcHBpbmcgc2Vla3MKCSAgU2VnbWVudHMgdGltZXMgYW5kIHNlZWsgcmVxdWVzdHMgYXJlIHN0b3JlZCBhbmQgaGFuZGxlZAoJICBpbiByYXcgJ1BUUycgdGltZSwgd2l0aG91dCB0aGUgY3NsZ19zaGlmdCAtIHdoaWNoIG9ubHkgYXBwbGllcwoJICB0byBvdXRnb2luZyBzYW1wbGVzLiBPbWl0IHRoZSBjc2xnX3NoaWZ0IHBvcnRpb24gd2hlbgoJICBleHRyYWN0aW5nIFBUUyB0byBjb21wYXJlIGZvciBpbnRlcm5hbCBzZWVrIHNuYXBzLgoJICBJZiB0aGUgY3NsZ19zaGlmdCBpcyBpbmNsdWRlZCwgdGhlbiBrZXlmcmFtZStzbmFwLWJlZm9yZSBzZWVrcwoJICBnZW5lcmF0ZSBhIHNlZ21lbnQgc3RhcnQvc3RvcCB0aW1lIHRoYXQgYWxyZWFkeSBpbmNsdWRlcyB0aGUKCSAgY3NsZ19zaGlmdCwgYW5kIGl0J3MgdGhlbiBhZGRlZCBhIDJuZCB0aW1lLCBjYXVzaW5nIHRoZQoJICBmaXJzdCBidWZmZXIocykgdG8gaGF2ZSB0aW1lc3RhbXBzIHRoYXQgYXJlIG91dCBvZiBzZWdtZW50LgoKMjAxNi0xMi0zMCAyMjozMTozOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBSZW1vdmUgYm9ndXMgY2hlY2sgaW4gYXRvbV9zdHNjX2FkZF9uZXdfZW50cnkoKQoJICBSZW1vdmUgYW4gb2xkIGNoZWNrIGZyb20gYXRvbV9zdHNjX2FkZF9uZXdfZW50cnkoKSB0aGF0CgkgIGV4dGVuZHMgdGhlIGxhc3QgZW50cnkgaW4gdGhlIFNUU0MgaWYgdGhlIHNhbXBsZXMgcGVyIGNodW5rCgkgIG1hdGNoZXMsIGFzIHRoZSBuZXcgaW50ZXJsZWF2ZSBtZXJnaW5nIGxvZ2ljIHJlcXVpcmVzIHRoYXQKCSAgdGhlIGZpbmFsIGVudHJ5IGJ5IHVwZGF0ZWFibGUuIFRoZXJlJ3MgYWxyZWFkeSBjb2RlCgkgIGJlbG93IHdoaWNoIHNpbXBseSBtZXJnZXMgdGhlIGZpbmFsIGVudHJ5IGludG8gdGhlIHByZXZpb3VzCgkgIG9uZSB3aGVuIG5lZWRlZCwgc28gcmVseSBvbiB0aGF0IGluc3RlYWQuCgkgIEZpeGVzIGFzc2VydHMgbGlrZToKCSAgRVJST1I6YXRvbXMuYzoyOTQwOmF0b21fc3RzY191cGRhdGVfZW50cnk6IGFzc2VydGlvbiBmYWlsZWQ6CgkgIChhdG9tX2FycmF5X2luZGV4ICgmc3RzYy0+ZW50cmllcywgbGVuIC0gMSkuZmlyc3RfY2h1bmsgPT0gZmlyc3RfY2h1bmspCgoyMDE2LTA0LTI0IDIxOjM4OjUxICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXgga2V5X3RpbWUgaW4gZ3N0X3F0ZGVtdXhfYWRqdXN0X3NlZWsoKQoJICB0aW1lIGluIHNlZ21lbnQgc2hvdWxkIGJlIFBUUyBiYXNlZCAobm90IERUUykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU0OTgKCjIwMTYtMTItMjggMjI6NDk6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogUGFzcyBzZWVrIGZsYWdzIHdoZW4gYWN0aXZhdGluZy4KCSAgUGFzcyBhbGwgc2VlayBmbGFncyB3aGVuIGFjdGl2YXRpbmcgYSBwYXJ0CgkgIGJhc2VkIG9uIGEgc2Vlaywgc28gdGhhdCBTTkFQIGZsYWdzIGFyZSBwcmVzZXJ2ZWQuCgoyMDE2LTExLTI2IDAxOjEzOjE5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4OiBGaXggYSBzbWFsbCByYWNlIGluIHRoZSBzcGxpdG11eHNyYwoJICBNYWtlIHN1cmUgdGhlIHN0YXRlIG9mIHRoZSBwYXJzZXIgaXMgc2V0IHRvCgkgIGNvbGxlY3Rpbmcgc3RyZWFtcyBiZWZvcmUgY2hhaW5pbmcgdXAgdG8gdGhlCgkgIHBhcmVudCBjaGFuZ2Vfc3RhdGUoKSBtZXRob2QsIHRvIGNsb3NlIGEKCSAgc21hbGwgd2luZG93IHRoYXQgY2FuIGNhdXNlIHBsYXliYWNrIHRvCgkgIG5ldmVyIGNvbW1lbmNlLgoKMjAxNy0wMS0wMiAxNTowNjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIGNoZWNrOiBSZW1vdmUgZGVhZCBjb2RlCgoyMDE2LTEyLTMxIDA5OjUyOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiByZWZhY3RvciBtYXhfZmlsZXMgaGFuZGxpbmcgYSBiaXQKCSAgVXNlIEdRdWV1ZSBpbnN0ZWFkIG9mIGEgR1NMaXN0IHNvIHdlIGRvbid0IGhhdmUgdG8gdHJhdmVyc2UKCSAgdGhlIHdob2xlIGxpc3QgdG8gYXBwZW5kIHNvbWV0aGluZyBldmVyeSB0aW1lLiBBbmQgaXQgYWxzbwoJICBrZWVwcyB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIGl0IGZvciB1cy4KCSAgQWRkIGEgZnVuY3Rpb24gdG8gYWRkIGZpbGVuYW1lcyB0byB0aGUgbGlzdCBvZiBvbGQgZmlsZXMgYW5kCgkgIHVzZSBpdCBpbiBtb3JlIHBsYWNlcywgc28gdGhhdCBtZW1vcnkgZG9lc24ndCBidWlsZCB1cCBpbgoJICBvdGhlciBtb2RlcyBlaXRoZXIgaWYgbm8gbWF4X2ZpbGVzIGxpbWl0IGlzIHNwZWNpZmllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk5MQoKMjAxNi0wNS0yOSAxNzoyMTo0NyArMDEwMCAgVXJzdWxhIE1hcGxlaHVyc3QgPHVyc3VsYUBrYW5nYXRyb25peC5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCBsZWFrIG1lbW9yeSB3aGVuIG5vIG1heC1maWxlcyBsaW1pdCBpcyBzZXQKCSAgVGVjaG5pY2FsbHkgd2Ugd2VyZW4ndCBsZWFraW5nIHRoZSBtZW1vcnksIGp1c3Qgc3RvcmluZyBpdCBpbnRlcm5hbGx5CgkgIGFuZCBuZXZlciB1c2luZyBpdCB1bnRpbCB0aGUgZWxlbWVudCBpcyBmcmVlZC4gQnV0IHdlJ2Qgc3RpbGwgdXNlIG1vcmUKCSAgYW5kIG1vcmUgbWVtb3J5IG92ZXIgdGltZSwgc28gdGhpcyBpcyBub3QgZ29vZCBvdmVyIGxvbmdlciBwZXJpb2RzCgkgIG9mIHRpbWUuIE9ubHkga2VlcCB0cmFjayBvZiBmaWxlcyBpZiB0aGVyZSdzIGFjdHVhbGx5IGEgbGltaXQgc2V0LAoJICBzbyB0aGF0IHdlIHdpbGwgcHJ1bmUgdGhlIGxpc3QgZnJvbSB0aW1lIHRvIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5OTEKCjIwMTYtMTItMjkgMTI6Mzk6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGp1c3Qgc2VnbWVudCBzdG9wIGZvciBLRVlfVU5JVCBuZWdhdGl2ZSByYXRlIHNlZWtpbmcKCjIwMTYtMTItMjkgMTI6MjU6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXBsZW1lbnQgcHVsbCBtb2RlIFNOQVAgZmxhZyBzZWVraW5nCgoyMDE2LTEyLTI5IDExOjI2OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0d2VhayBLRVlfVU5JVCBTTkFQIHNlZWsgaGFuZGxpbmcKCSAgUHJldmlvdXNseSwgc2Vla2luZyB0byBwb3NpdGlvbiB5IHdoZXJlIHkgaXMgKHN0cmljdGx5KSB3aXRoaW4gYSBrZXlmcmFtZQoJICB3b3VsZCBzZWVrIHRvIHRoYXQga2V5ZnJhbWUgYm90aCB3aXRoIFNOQVBfQkVGT1JFIGFuZCBTTkFQX0FGVEVSLAoJICB3aGVyZSB0aGUgbGF0dGVyIGlzIG5vdyBhZGp1c3RlZCB0byByZWFsbHkgc25hcCB0byB0aGUgbmV4dCBrZXlmcmFtZS4KCjIwMTYtMTItMjggMTM6MjM6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNvcnJlY3RseSBwZXJmb3JtIHB1bGwgbW9kZSBLRVlfVU5JVCBzZWVraW5nCgkgIFJhdGhlciBhbWF6aW5nbHkgKGFuZCBlcXVhbGx5IHVubm90aWNlZCksIGtleXVuaXQgc2Vla2luZyByZXN1bHRlZCBpbiBzZWdtZW50cwoJICB3aGVyZSBzdGFydCAhPSB0aW1lICh3aGljaCBpcyBib2d1cyBmb3Igc2ltcGxlIGF2aSB0aW1lbGluZSkuICBTbywgcHJvcGVybHkKCSAgYWRqdXN0IHRoZSBzZWdtZW50IChzdGFydCkgcmF0aGVyIHRoYW4gZmlkZGxpbmcgd2l0aCBzZWdtZW50IHRpbWUgKG9ubHkpLgoKMjAxNi0xMi0yOCAxMzowNDo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzdG9yZSBjb25zaWRlcmluZyBvZiBwdWxsIG1vZGUgS0VZX1VOSVQgc2Vla2luZwoJICAuLi4gYnkgdXNpbmcgdGhlIG9yaWdpbmFsIHNlZWsgZXZlbnQncyBmbGFncyByYXRoZXIgdGhhbiB0aGUgY29ycmVzcG9uZGluZwoJICBzZWdtZW50IGZsYWdzLCB3aGljaCBkbyBub3QgaGF2ZSBzdWNoIGNvdW50ZXJwYXJ0IGZsYWdzIChhbmQKCSAgZG8gbm8gbG9uZ2VyIGhhdmUgdGhlbSBjb3ZlcnRseSBzbmVha2luZyBpbiBub3dhZGF5cykuCgoyMDE1LTA1LTA4IDEyOjQ0OjAxICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG9ubHkgZHJvcCBhY3R1YWwgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMgd2l0aCB4aXBoIGNvZGVjcwoJICBXaXRoIFhpcGggY29kZWNzIHRoZSBzdHJlYW0gaGVhZGVyIGJ1ZmZlcnMgYXJlIGJvdGggaW4gdGhlIGNhcHMgYW5kIGFyZQoJICB1c3VhbGx5IGFsc28gYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGlucHV0IHN0cmVhbSwgYnV0IGl0J3MgcGVyZmVjdGx5CgkgIHBvc3NpYmxlIHRoYXQgdGhlIGlucHV0IHN0cmVhbSBkb2VzIG5vdCBoYXZlIHRoZSBzdHJlYW0gaGVhZGVyIGJ1ZmZlcnMKCSAgaW5saW5lIGluIHRoZSBkYXRhLiBNYXRyb3NrYW11eCB3b3VsZCBkcm9wIHRoZSBmaXJzdCBOIGJ1ZmZlcnMgYXNzdW1pbmcKCSAgdGhleSdyZSBzdHJlYW0gaGVhZGVycywgYnV0IHRoaXMgbWVhbnQgaXQgd291bGQgZHJvcCBhY3R1YWwgcGF5bG9hZCBkYXRhCgkgIHdoZW4gdGhlIHN0cmVhbSBkaWRuJ3QgY29udGFpbiB0aGUgc3RyZWFtIGhlYWRlcnMgaW5saW5lLiBGaXggdGhpcyBieQoJICBvbmx5IGRyb3BwaW5nIGxlYWRpbmcgYnVmZmVycyBpZiB0aGV5J3JlIGZsYWdnZWQgYXMgc3RyZWFtIGhlYWRlcnMuIFRoaXMKCSAgZml4ZXMgaXNzdWVzIHdpdGggc3RyZWFtcyB0aGF0IGFyZSBiZWluZyB0YXBwZWQgaW50byBhZnRlciBzdHJlYW1pbmcKCSAgaGFzIHN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkwOTgKCjIwMTYtMTItMjEgMTc6NDM6NTggKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkanVzdCB1bml0IHRlc3QgdG8gbW9kaWZpZWQgYmVoYXZpb3VyCgkgIE5vdyBtYXRyb3NrYW11eCBtYXJrIGFsbCBwYWNrZXRzIG9mIGF1ZGlvLW9ubHkgc3RyZWFtcyBhcyBrZXlmcmFtZXMgc28KCSAgaW4gdGVzdF9ibG9ja19ncm91cCBhZnRlciBwdXNoaW5nIHRoZSB0ZXN0IGF1ZGlvIGRhdGEgNCBidWZmZXJzIGFyZSBwcm9kdWNlZAoJICBhbmQgbm90IG1vcmUgMi4gVGhlIGxhc3QgYnVmZmVyIGlzIHRoZSBvcmlnaW5hbCBkYXRhIGFuZCBtdXN0IG1hdGNoIHdpdGggd2hhdAoJICBwdXNoZWQuIFRoZSByZW1haW5pbmcgb25lcyBhcmUgbWF0cm9za2FtdXggaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Njk2CgoyMDE2LTA1LTMwIDAxOjE1OjMxICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1hcmsgYWxsIHBhY2tldHMgb2YgYXVkaW8tb25seSBzdHJlYW1zIGFzIGtleWZyYW1lcwoJICBUaGlzIGhlbHBzIHdpdGggc3RyZWFtaW5nIGF1ZGlvLW9ubHkgc3RyZWFtcyB2aWEgbXVsdGlmZHNpbmssCgkgIHRjcHNlcnZlcnNpbmsgYW5kIHN1Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2OTYKCjIwMTUtMDMtMjggMTg6MTU6MzYgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkIEc3MjIgYXVkaW8gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTc0CgoyMDE2LTEyLTEzIDExOjExOjA3ICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bC5sZWVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZHNyYzogQWRkIHRvIGpvaW4gbXVsdGlwbGUgbXVsdGljYXN0IGludGVyZmFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjAzMAoKMjAxNS0wMy0yNSAxMzo1MTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSAgcnRwa2x2ZGVwYXk6IGFkZCB0aGUgU1BBUlNFIGZsYWcgdG8gdGhlIG91dGdvaW5nIHN0cmVhbS1zdGFydCBldmVudAoKMjAxNi0xMi0xNCAxNDozNzo0NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogcGxhY2UgY29udGVudCBiZWZvcmUgU2luY2UtdmVyc2lvbiBBUEkgbWFya2VyCgkgIEF2b2lkcyBjb25mdXNpbmcgdGhlIHBhcnNlcgoKMjAxNi0xMi0xNCAxNDoxNjo1MyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBmaXggNDA0IGluIHBhY2thZ2Ugb3JpZ2luCgoyMDE2LTEyLTE0IDIxOjQ1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGlmIHdlIGhhdmUgZW5vdWdoIGRhdGEgYXZhaWxhYmxlIHdoZW4gcGFyc2luZyBlZGl0IGxpc3RzCgkgIEFsc28gY29uc3VtZSB0aGUgZGF0YSBlbnRyeSBieSBlbnRyeSB0byBnZXQgY29tcGxpY2F0ZWQgaW5kZXhpbmcgb3V0IG9mCgkgIHRoZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MTA3CgoyMDE2LTEyLTE0IDE5OjE1OjAzICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgY2hlY2sgc2l6ZSBpbiBhIG5vbi1saXN0IHZhbHVlCgkgIEFmdGVyIGNvbW1pdCAxZWE5NzM1YSBJIHNlZSB0aGVzZSBlcnJvciB3aGlsZSB1c2luZyB0aGUgd2ViY2FtCgkgIGludGVncmF0ZWQgaW4gbXkgbGFwdG9wOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF92YWx1ZV9saXN0X2dldF9zaXplOiBhc3NlcnRpb24gJ0dTVF9WQUxVRV9IT0xEU19MSVNUICh2YWx1ZSknIGZhaWxlZAoJICBUaGUgaXNzdWUgaXMgZ3N0X3Y0bDJzcmNfdmFsdWVfc2ltcGxpZnkoKSB3YXMgZG9pbmcgaXRzIGpvYiBvZgoJICBnZW5lcmF0aW5nIGEgc2luZ2xlIHZhbHVlLCByYXRoZXIgdGhhbiB0aGUgb3JpZ2luYWwgbGlzdC4gVGhhdCB3aHksCgkgIHdoZW4gZ2V0dGluZyB0aGUgbGlzdCBzaXplLCBhIGNyaXRpY2FsIHdhcm5pbmcgd2FzIHJhaXNlZC4KCSAgVGhpcyBwYXRjaCB0YWtlcyBhZHZhbnRhZ2Ugb2YgdGhlIGNvbXBpbGVyIG9wdGltaXphdGlvbnMgdG8gdmVyaWZ5CgkgIGZpcnN0IGlmIHRoZSBsaXN0IHdhcyBzaW1wbGlmaWVkLCB0aHVzIHVzZSBpdCBkaXJlY3RseSwgb3RoZXJ3aXNlLAoJICBpZiBpdCBpcyBhIGxpc3QsIHZlcmlmeSBpdHMgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjEwNgoKMjAxNi0xMi0xNCAxMDozOToxMiArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzL2ppdHRlcmJ1ZmZlcjogTWFqb3IgcmVmYWN0b3JpbmcgYW5kIGNsZWFudXBzCgkgICogQ2hhbmdlZCBQQ01VLT5URVNUIGZvciBjb21tb24gbWFjcm9zCgkgICogQ2hhbmdlZCB2ZXJpZnktZnVuY3Rpb25zIChsb3N0ICYgcnR4KSBpbnRvIG1hY3Jvcy4KCSAgKiBSZW1vdmUgb3B0aW9uIHRvIGFkZCBtYXJrZXItYml0IGZvciB0ZXN0LWJ1ZmZlcnMgKG5vdCB1c2VkIGFueXdoZXJlKQoJICAqIEFkZCBuZXcgcHVzaF90ZXN0X2J1ZmZlciBmdW5jdGlvbiB0aGF0IG1ha2VzIHN1cmUgdGhlcmUgYXJlIGNvcnJlbGF0aW9uCgkgIGJldHdlZW4gZHRzIGFuZCB0aGUgdGltZSBvbiB0aGUgY2xvY2suIChjbGFzc2ljIHRlc3QtbWlzdGFrZSkKCSAgKiBFc3RhYmxpc2hlZCBhIGdlbmVyaWMgc3RhcnRpbmctcG9pbnQgZm9yIHRlc3RzIHdpdGggdGhlCgkgIGNvbnN0cnVjdF9kZXRlcm1pbmlzdGljX2luaXRpYWxfc3RhdGUgZnVuY3Rpb24gYW5kIHVzZSBpdCB3aGVyZQoJICBhcHBsaWNhYmxlLCB3aGljaCByZW1vdmVzIGxvdHMgb2YgImJvaWxlcnBsYXRlIiBldmVyeXdoZXJlLgoJICAqIEFkZCBiYXNpYyBsb3N0LWV2ZW50IHRlc3QKCSAgKiBSZW1vdmUgYXMgbXVjaCAibWFnaWMgY29uc3RhbnRzIiBhcyBwb3NzaWJsZS4KCSAgKiBSZW1vdmUgMyB0ZXN0cyB0aGF0IG5vIGxvbmdlciBhcmUgdGVzdGluZyBhbnl0aGluZyB0aGF0IG90aGVycyBkb24ndCwKCSAgYW5kIHdhcyBjb21wbGV0ZWx5IHVubWFpbnRhaW5hYmxlLgoJICAqIFJlbW92ZSB1bm5lY2Vzc2FyeSB1c2Ugb2YgdGhlIHRlc3RjbG9jawoJICAqIFZlcmlmeSBlYWNoIHRlc3QgaXMgdGVzdGluZyB3aGF0IGl0IGFjdHVhbGx5IHNheXMgaXQgZG9lcyAoYW5kIG1vZGlmeQoJICB3aGVyZSBpdCBkb2Vzbid0KQoJICBJbiBnZW5lcmFsLCBtYWtlIHRoZSB0ZXN0cyBtdWNoIHNtYWxsZXIsIGJldHRlciwgbW9yZSBtYWludGFpbmFibGUgYW5kCgkgIHJlYWRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDA5CgoyMDE2LTEyLTE0IDA5OjU0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBSZW1vdmUgZ2VuZXJhdGVkIC5zcGVjIGZpbGUKCSAgTGlrZWx5IGV4dHJlbWVseSBiaXRyb3R0ZW4sIGFuZCB3ZSBzaG91bGQgbm90IHNoaXAgdGhpcyBhbnl3YXkuCgoyMDE2LTEyLTE0IDEwOjE1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIHRoYXQgdGhlIFhpVGggc2l6ZSBpcyBiaWcgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3OTQKCjIwMTYtMTItMDkgMjA6Mjc6NTMgKzA5MDAgIEhlZWt5b3VuZyBTZW8gPGhlZWt5b3VuZy5zZW9AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBub2RlIGxlbmd0aCBvZiB2aWRlbyBzYW1wbGUgZGVzY3JpcHRpb24KCSAgQWRkIGNoZWNrIGZvciBub2RlIGxlbmd0aCBvZiB2aWRlbyBzYW1wbGUgZGVzY3JpcHRpb24gYW5kIGl0cyBmaWVsZHMgYW5kCgkgIGZvciB0aGUgWGlUaCBhdG9tLgoJICBBbHNvIHVuaWZ5IHRoZSBjb2RlIGEgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Nzk0CgoyMDE2LTEyLTA4IDE4OjUwOjUyICswOTAwICBIZWVreW91bmcgU2VvIDxoZWVreW91bmcuc2VvQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRW5hYmxlIHh2aWQvbXAyIGNvZGVjIHN1cHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yIHh2aWQgdmlkZW8gYW5kIG1wMiBhdWRpbywgYWRkIG0ydjEgZm91cmNjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Nzk0CgoyMDE2LTEyLTEzIDIyOjMyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOWVuYy5jOgoJICBnc3Q6IERvbid0IGRlY2xhcmUgdmFyaWFibGVzIGluc2lkZSB0aGUgZm9yIGxvb3AgaGVhZGVyCgkgIFRoaXMgaXMgYSBDOTkgZmVhdHVyZS4KCjIwMTYtMTItMTEgMTM6Mjc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEVuc3VyZSB0byByZWluaXQgYnVmZmVycyB3aGVuZXZlciB0aGV5IHdlcmUgbm90IGFsbG9jYXRlZCB5ZXQKCSAgVGhhdCBpcywgd2hlbmV2ZXIgd2UgZ28gdGhyb3VnaCBzdGFydC9zdG9wIHdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgb24gdGhlCgkgIG5leHQgb3Bwb3J0dW5pdHkgdGhlIGJ1ZmZlcnMgYXJlIHJlYWxsb2NhdGVkIGFnYWluLiBPdGhlcndpc2UgdGhlCgkgIGJ1ZmZlcnMgbWlnaHQgYmUgTlVMTCBiZWNhdXNlIHRoZSBlbGVtZW50IHdhcyByZXVzZWQgd2l0aCB0aGUgc2FtZQoJICBjb25maWd1cmF0aW9uIGFzIGJlZm9yZSAoaS5lLiBzZXRfY2FwcygpIHdvdWxkbid0IGhhdmUgcmVpbml0ZWQgdGhlCgkgIGJ1ZmZlcnMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1ODk4CgoyMDE2LTEyLTEwIDEyOjUyOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBhdXhpbGlhcnkudHh0OgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwY29sbGlzaW9uLnR4dDoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cHJldHJhbnNtaXNzaW9uLnR4dDoKCSAgZG9jczogZGVzaWduOiByZW1vdmUsIG1vdmVkIHRvIGdzdC1kb2NzCgoyMDE2LTEyLTA5IDE3OjE3OjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFN1cHBvcnQgYnVpbGRpbmcgd2l0aG91dCBHc3QgZGVidWcKCjIwMTYtMTItMDkgMTc6NTU6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBmbHhkZWM6IE9ubHkgc2VuZCBTRUdNRU5UIGV2ZW50cyBhZnRlciBDQVBTCgkgIEkuZS4sIGRvbid0IGp1c3QgZm9yd2FyZCB0aGUgZXZlbnQgYnV0IGRlbGF5IGl0IGlmIHdlIGRvbid0IGhhdmUgY2FwcyBvbgoJICB0aGUgc3JjcGFkIHlldC4KCjIwMTYtMTItMDkgMTc6NDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IFVucmVmIGFuZCB1bm1hcCBidWZmZXJzIGluIGFsbCBjb2RlIHBhdGhzIGFzIG5lZWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1ODg4CgoyMDE2LTEyLTA2IDE3OjQyOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgc2V0IGVtcHR5IGludGVybGFjZS1tb2RlIGxpc3QKCSAgSWYgZm9yIHNvbWUgcmVhc29uIHdlIGZhaWwgdG8gcHJvYmUgZm9ybWF0cyAoYWxsIHRyeV9mbXQgY2FsbHMgZmFpbCwgZm9yCgkgIGV4YW1wbGUpLCB0aGlzIGlzIG5vdCBhIGNyaXRpY2FsIGVycm9yLCBidXQgd2UgZW5kIHVwIHdpdGggYW4gZW1wdHkgbGlzdAoJICBvZiBpbnRlcmxhY2UgbW9kZXMuIFRoaXMgY2F1c2VzIGFsbCBzdWJzZXF1ZW50IG5lZ290aWF0aW9uIHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaW50ZXJsYWNlLW1vZGUgc2V0dGluZyB0byBiZSBza2lwcGVkIGlmIHdlIGZhaWxlZCB0bwoJICBkZXRlY3QgYW55LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzAyCgoyMDE2LTEyLTA3IDE3OjIyOjIyICswNTMwICBHYXJpbWEgR2F1ciA8Z2FyaW1hLmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IFVucmVmIGFsbG9jYXRpb24gcXVlcnkgYWZ0ZXIgZmluaXNoZWQgd2l0aCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzUyCgoyMDE2LTEyLTA2IDA3OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBBbGxvY2F0ZSAwLWluaXRpYWxpemVkIG1lbW9yeSBmb3IgdGhlIGRlY29kZWQgZnJhbWUKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGxlYWsgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGZyb20gdGhlIHVuaW5pdGlhbGl6ZWQKCSAgbWVtb3J5IGlmIG5vdCBldmVyeSBwaXhlbCBpcyB3cml0dGVuLgoJICBodHRwczovL3NjYXJ5YmVhc3RzZWN1cml0eS5ibG9nc3BvdC5nci8yMDE2LzEyLzFkYXlzLTBkYXlzLXBvY3MtbW9yZS1nc3RyZWFtZXItZmxpYy5odG1sCgoyMDE2LTEyLTA1IDA3OjU3OjE5IC0wNzAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggc2Vzc2lvbiBjbGVhbnVwIHdoZW4gaGFuZGxpbmcgcmVkaXJlY3Qgb24gUExBWQoJICBSZWRpcmVjdCBvbiBQTEFZIHdhc24ndCBkb2luZyB0aGUgbmVjZXNzYXJ5IHNlc3Npb24gY2xlYW51cC4gRml4ZWQgYnkKCSAgcmVtb3ZpbmcgY29kZSBmcm9tIGdzdF9ydHNwc3JjX3NlbmQgdGhhdCBjaGFuZ2VkIHRoZSBzdGF0ZSB2YXJhYmxlIHVwb24KCSAgZW5jb3VudGVyaW5nIGEgcmVkaXJlY3QuIEJldHRlciB0byBsZXQgdGhlIHJlZGlyZWN0IGhhbmRsZXJzIGluCgkgIGdzdF9ydHNwc3JjX3JldHJpZXZlX3NkcCBhbmQgZ3N0X3J0c3BzcmNfcGxheSBkbyB0aGVpciBvd24KCSAgc3RhdGUtZGVwZW5kZW50IGNsZWFudXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU1NDMKCjIwMTYtMDktMDcgMTY6MTA6MjcgKzAzMDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsd2F5cyBzZW5kIHRlYXJkb3duIHJlcXVlc3QKCSAgQWxsb3cgQ01EX0NMT1NFIHRvIGNhbmNlbCBhbGwgY29tbWFuZHMgbm90IG9ubHkgQ01EX1BBVVNFCgkgIGFuZCBpZ25vcmUgQ01EX1dBSVQgd2hpbGUgY2xvc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM2MAoKMjAxNi0xMi0wMyAwODoxOToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTgwZmQ5IHRvIDM5YWMyZjUKCjIwMTYtMTItMDEgMTc6MDg6MDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogRG9uJ3QgbGVhayBkdXBsaWNhdGUgaXRlbXMKCSAgV2hlbiBwcm92aWRpbmcgaXRlbXMgd2l0aCBhIHNlcW51bSwgdGhlcmUgaXMgYSAodmVyeSBzbWFsbCkgcHJvYmFiaWxpdHkKCSAgdGhhdCBhbiBlbGVtZW50IHdpdGggdGhlIHNhbWUgc2VxbnVtIGFscmVhZHkgZXhpc3RzLiBEb24ndCBmb3JnZXQKCSAgdG8gZnJlZSB0aGF0IGl0ZW0gaWYgaXQgd2Fzbid0IGluc2VydGVkLgoJICBBbmQgYXZvaWQgcmV0dXJuaW5nIHVuZGVmaW5lZCB2YWx1ZXMgd2hlbiBkZWFsaW5nIHdpdGggZHVwbGljYXRlIGl0ZW1zCgoyMDE2LTEyLTAxIDExOjIzOjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNhbml0aXplIHVua25vd24gY29kZWMgY2FwcwoJICBXZSBtaWdodCBoYXZlIG5vbi1wcmludGFibGUgY2hhcmFjdGVycyBpbiB0aGUgdW5rbm93biBmb3VyY2MsIHJlcGxhY2UKCSAgdGhlbSB3aXRoICdfJywgaW4gdGhlIHNhbWUgd2F5IHdlIGRvIGl0IGZvciB1bmtub3duIHRhZ3MuCgoyMDE2LTEyLTAxIDIwOjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRnJlZSB2cHJwIGNodW5rIGFsc28gaWYgaXQgZXhpc3RlZCBidXQgd2UgbWFkZSBubyB1c2Ugb2YgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ3OQoKMjAxNi0xMi0wMSAxNzozODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbWVtb3J5IGxlYWsgd2hlbiBwYXJzaW5nIGF0dGFjaG1lbnRzCgkgIGdzdF90YWdfaW1hZ2VfZGF0YV90b19pbWFnZV9zYW1wbGUoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgcGFzc2VkIG1lbW9yeSwgc28gZG9uJ3Qgc2V0IGl0IHRvIE5VTEwgdG8gYWxsb3cgdXMgdG8gZnJlZSBpdCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ3MgoKMjAxNi0xMi0wMSAxNDo1NjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbmlmeSB6bGliL2J6aXAyIGRlY29tcHJlc3MgbG9vcHMgd2l0aCB0aGUgb25lcyBmcm9tIHF0ZGVtdXgKCSAgRXNwZWNpYWxseSwgc2ltcGxpZnkgdGhlIGNvZGUgYSBiaXQuCgoyMDE2LTEyLTAxIDE0OjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluY3JlYXNlIGluZmxhdGUgYnVmZmVyIGluIGJpZ2dlciBzdGVwcwoJICAxMDI0IGJ5dGVzIGlzIHF1aXRlIHNtYWxsLCBsZXQncyBkbyA0MDk2IGJ5dGVzIChvciBvbmUgcGFnZSkuCgkgIEFsc28gcmVtb3ZlIHJlZHVuZGFudCBpZiwgd2UncmUgYWx3YXlzIGluIHRoYXQgY2FzZSB3aGVuIGdldHRpbmcgaGVyZS4KCjIwMTYtMTItMDEgMTQ6MzA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRW5zdXJlIHRoYXQgc2l6ZSBvZiB0aGUgcGFzcCBhdG9tIGlzIGFzIG11Y2ggYXMgd2UgbmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDE0OjMwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZyZWUgY29tcHJlc3NlZCBtb292IG5vZGUgYW5kIGl0J3MgY29ycmVzcG9uZGluZyBkZWNvbXByZXNzZWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDE0OjI5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIHNpemUgb2YgY29tcHJlc3NlZCBNT09WIGhlYWRlciBhZ2FpbnN0IGF2YWlsYWJsZSBkYXRhCgkgIEFuZCBhY3R1YWxseSByZWFkIHRoZSBzaXplIG9mIHRoZSBjbXZkIGF0b20gZnJvbSB0aGUgcmlnaHQgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTUKCjIwMTYtMTItMDEgMTQ6Mjc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHpsaWIgaW5mbGF0ZSBsb29wCgkgIEhhbmRsZSBlcnJvcnMgY2xlYW5seSwgZGVhbGxvY2F0ZSBhbGwgbWVtb3J5IGFuZCByZXR1cm4gdGhlIGFjdHVhbCBzaXplCgkgIG9mIHRoZSBpbmZsYXRlZCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDEzOjM4OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogTWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIGRhdGEgaW4gdGhlIGNvZGVjX2RhdGEgdG8gYmUgYWJsZSB0byBwYXJzZSBpdAoJICBBbHNvIGVycm9yIG91dCBjbGVhbmx5IGlmIG1hcHBpbmcgdGhlIGJ1ZmZlciBmYWlsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTAKCjIwMTYtMTItMDEgMTM6MzI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG91dCBvZiBib3VuZHMgcmVhZCBpbiB0YWcgcGFyc2luZyBjb2RlCgkgIFdlIGNhbid0IHNpbXBseSBhc3N1bWUgdGhhdCB0aGUgbGVuZ3RoIG9mIHRoZSB0YWcgdmFsdWUgYXMgZ2l2ZW4KCSAgaW5zaWRlIHRoZSBzdHJlYW0gaXMgY29ycmVjdCBidXQgc2hvdWxkIGFsc28gY2hlY2sgYWdhaW5zdCB0aGUgYW1vdW50IG9mCgkgIGRhdGEgd2UgaGF2ZSBhY3R1YWxseSBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTEKCjIwMTYtMTItMDEgMTU6MDY6MDYgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwOiBGaXggc29tZSBtZW1vcnkgbGVha3MgaW4gdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTA3MQoKMjAxNi0xMS0zMCAxNzo1NjowMiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVhZCBpbnRlcmxhY2luZyBpbmZvcm1hdGlvbiBmcm9tICdmaWVsJyBhdG9tCgkgIFJlYWQgaW50ZXJsYWNpbmcgYW5kIFRGRi9CRkYgaW5mb3JtYXRpb24gZnJvbSB0aGUgJ2ZpZWwnIGF0b20gYW5kIHBhc3MgaXQKCSAgaW50byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDE0CgoyMDE2LTExLTI5IDEzOjU1OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIHF0ZGVtdXguYzogSW4gZnVuY3Rpb24g4oCYcXRkZW11eF9wYXJzZV90cmFr4oCZOgoJICBxdGRlbXV4LmM6MTAxODQ6Mzg6IGVycm9yOiBmb3JtYXQg4oCYJWx14oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhsb25nIHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUg4oCYZ2ludCB7YWthIGNvbnN0IGludH3igJkgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgR1NUX0RFQlVHX09CSkVDVCAocXRkZW11eCwgIkZvdW5kIGpwZWc6IGxlbiAldSwgbmVlZCAlbHUiLCBsZW4sCgkgIF4KCjIwMTYtMTEtMjggMTM6NDU6MjQgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoYW5nZSBvZmZfdCB0eXBlIHRvIGdpbnQKCSAgb2ZmX3QgaXMgYSBzaWduZWQgaW50ZWdlciB0eXBlIHByb3ZpZGVkIGJ5IHN5cy90eXBlcy5oIG9uIHBvc2l4IHN5c3RlbXMuCgkgIFJlcGxhY2Ugd2l0aCBnaW50IGZvciBidWlsZGluZyBvbiBub24tcG9zaXggc3lzdGVtcyAobGlrZSB3aW5kb3dzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTI4NwoKMjAxNi0xMS0yMiAyMTowMDoyNSAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCBsaWJtIHRvIGhhc19mdW5jdGlvbiBjaGVja3MKCSAgVGhlIGZ1bmN0aW9ucyBmcm9tIG1hdGguaCBtYXkgYmUgaW1wbGVtZW50ZWQgaW4gbGlibS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg3NgoKMjAxNi0xMC0yNyAyMzowMjozNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBSZXZlcnQgIm1lc29uOiBkdiBwbHVnaW4gbm93IHdvcmtzIG9uIE1TVkMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDVhODk2MTNmZWZmNzBjZmY0MTYzNjdmNWFhODA3YTFkNWM2OGI2My4KCSAgTGV0J3Mgbm90IHB1dCBpbiBzdHVmZiB0aGF0IG5lZWRzIHVucmVsZWFzZWQgTWVzb24uIFRoaXMgY2FuIGdvIGluCgkgIGZvciB0aGUgbmV4dCBjeWNsZS4KCjIwMTYtMTEtMjggMTM6NTE6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBFbnN1cmUgdGhhdCB0YWdzIGFyZSB2YWxpZCBVVEYtOCBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIHRhZ2xpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTIxOQoKMjAxNi0xMS0yOCAxMjoyMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHdlIGdvdCBFT1Mgd2l0aG91dCBoYXZpbmcgYWRkZWQgYW55IHBhZHMKCjIwMTYtMTEtMjggMTI6MDA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSGFuZGxlIG5vbi1VVEY4IGhlYWRlcnMgYW5kIGVycm9yIHJlYXNvbnMgbW9yZSBncmFjZWZ1bGx5CgkgIEVzcGVjaWFsbHkgZG9uJ3QgcHV0IHRoZW0gaW50byBHc3RTdHJ1Y3R1cmVzIGluIG9uZSB3YXkgb3IgYW5vdGhlciwganVzdAoJICBpZ25vcmUgdGhlbSBvciBlcnJvciBvdXQgY2xlYW5seSBkZXBlbmRpbmcgb24gdGhlIGltcG9ydGFuY2Ugb2YgdGhlaXIKCSAgY29udGVudC4KCjIwMTYtMTEtMjggMDk6MzA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogRXJyb3Igb3V0IGNsZWFubHkgaWYgbWFwcGluZyB0aGUgdmlkZW8gZnJhbWUgZmFpbHMKCSAgSW5zdGVhZCBvZiBsYXRlciBkZXJlZmVyZW5jaW5nIE5VTEwgYW5kIGNyYXNoaW5nLgoKMjAxNi0xMS0yNyAxMToxNDoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogVXBkYXRlIHN0YXRpc3RpY3MgYmVmb3JlIHB1c2hpbmcKCSAgSWYgYW4gZWxlbWVudCBxdWVyaWVzIHRoZSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb24gYnVmZmVycyBwdXNoZWQKCSAgKndoaWxlKiB0aGUgcHVzaCBpcyBzdGlsbCB0YWtpbmcgcGxhY2UgKGFuZCBiZWZvcmUgdGhlIG9iamVjdCBsb2NrCgkgIGlzIHRha2VuIGp1c3QgYWZ0ZXIpIGl0IHdvdWxkIGVuZCB1cCB3aXRoIHRoZSB3cm9uZyBzdGF0aXN0aWMKCSAgYmVpbmcgcmVwb3J0ZWQuCgkgIEluY3JlbWVudCBpdCBqdXN0IGJlZm9yZSB0aGUgcHVzaCwgYXZvaWRzIHJhY2VzIHdoZW4gZ2V0dGluZyBzdGF0aXN0aWNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3MjMKCjIwMTYtMTEtMjYgMTE6MjA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0bW9kdWxlczoKCSAgY29tbW9uOiB1c2UgaHR0cHMgcHJvdG9jb2wgZm9yIGNvbW1vbiBzdWJtb2R1bGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTExMAoKMjAxNi0wNy0yOCAxODo1MToyNCArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGdzdHY0bDJidWZmZXJwb29sOiBsb2NrIGZsdXNoX3N0b3AgYWdhaW5zdCByZWd1bGFyIHFidWYKCSAgVGhlc2UgY2FuIGJlIGNhbGxlZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGFuZCBib3RoIG1hbmlwdWxhdGUgdGhlCgkgIHBvb2wtPmJ1ZmZlcnMgYXJyYXkuIExvY2sgdGhlbSBwcm9wZXJseSBhbmQgbGV0IGZsdXNoX3N0b3AgbW92ZSB0aGUKCSAgYXJyYXkgY29udGVudHMgaW50byBhIHRlbXBvcmFyeSBhcnJheSBvbiB0aGUgc3RhY2sgdG8gYXZvaWQgaGF2aW5nCgkgIHRvIGNhbGwgcmVsZWFzZV9idWZmZXIgdW5kZXIgdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDE1CgoyMDE2LTExLTI0IDE0OjI1OjIyICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZ3N0djRsMmJ1ZmZlcnBvb2w6IHJlbW92ZSBjcml0aWNhbCBlcnJvciBtZXNzYWdlIHdoZW4gcHJvY2VzcyBpcyBjYWxsZWQgb24gYW4gaW5hY3RpdmUgcG9vbAoJICBJZiB0aGUgcG9vbCBpcyBpbmFjdGl2ZSwgaXQgaXMgZ3VhcmFudGVlZCB0byBhbHNvIGJlIGZsdXNoaW5nLCBzbyB0aGUKCSAgZm9sbG93aW5nIGNoZWNrIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0ZMVVNISU5HIGFueXdheS4KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIGEgdjRsMnNyYyBpcyBibG9ja2luZyBvbiBEUUJVRiBpbiBjcmVhdGUgYW5kIGlzIHNlbnQKCSAgYW4gRU9TIGV2ZW50IG9uIGFub3RoZXIgdGhyZWFkLiBJbiB0aGF0IGNhc2UgdGhlIHBvb2wgaXMgc2V0IHRvCgkgIGZsdXNoaW5nL2luYWN0aXZlIHdpdGhvdXQgbG9ja2luZywgdGhlIHY0bDJzcmMgaXMgdW5ibG9ja2VkLCBhbmQgbWF5CgkgIGNhbGwgcG9vbF9wcm9jZXNzIHdpdGggYSB2YWxpZCBidWZmZXIgb24gdGhlIGFscmVhZHkgaW5hY3RpdmUgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTAxNAoKMjAxNi0xMS0yNCAxNDo0MTo1MiArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogcmVsZWFzZSBidWZmZXIgaWYgY3JlYXRlIGZhaWxzCgkgIGdzdF9iYXNlX3NyY19nZXRfcmFuZ2UgZG9lcyBub3QgZXhwZWN0IGEgYnVmZmVyIHRvIGJlIHJldHVybmVkIGluCgkgIHRoZSBlcnJvciBjYXNlLCBzbyB3ZSBhcmUgbGVha2luZyBhIHJlZmVyZW5jZSBoZXJlIGlmIGNyZWF0ZSBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTAxNAoKMjAxNi0xMS0yMyAxODozNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEhhbmRsZSBjcmVhdGVfc2Vzc2lvbigpIHJldHVybmluZyBOVUxMIGluIGJ1bmRsZSBjb2RlCgkgIENJRCAxMzk0NDkyLgoKMjAxNi0xMS0yMiAxNjo0Mjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE1ha2Ugc3VyZSB0byBvbmx5IGNoYW5nZSBEVFMgb2Ygd3JpdGFibGUgYnVmZmVycwoJICBBbmQgdHJpdmlhbCBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjIgMTY6NDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBFcnJvciBvdXQgbXVjaCBlYXJsaWVyIGlmIHdlIGRvbid0IGhhdmUgYSB2YWxpZCBQVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMiAxNjoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgdXNlIGJ1ZmZlciBkdXJhdGlvbnMgaWYgdGhleSBhcmUgYWN0dWFsbHkgdmFsaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMiAxNTo1OToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJldmVydCBjb21taXRzIHRoYXQgc2V0IERUUyBhbmQgZHVyYXRpb24gb24gYnVmZmVycyB1bmNvbmRpdGlvbmFsbHkKCSAgMzlmN2U1MjI2NmZkZTNiM2MwMzVlMjJjYmNiYjJiYjFmYTIwN2IxNyB3YXMgc2V0dGluZyB0aGUgYnVmZmVyIGR1cmF0aW9uCgkgIHRvIDAgaWYgaXMgbm90IHZhbGlkLCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgInRoZSBsYXN0IgoJICBidWZmZXIgYW5kIG5vIG90aGVycyBhcmUgY29taW5nIG5leHQuIFRoaXMgaXMgd3JvbmcsIGxhc3RfYnVmIGlzIHRoZQoJICBwcmV2aW91cyBidWZmZXIgYW5kIG5vdCB0aGUgdmVyeSBsYXN0IG9uZS4KCSAgNGUzYzEzYzg3YzI1OGM5Yzk1ZTIyMTdkMzJhYjMxNGQxMmI1ZmZmYyB3YXMgc2V0dGluZyBEVFMgdG8gMCBpZiB0aGVyZQoJICB3YXMgbm9uZS4gVGhpcyB3aWxsIHNldCBEVFMgdG8gMCBmb3IgYWxsIGUuZy4gYXVkaW8gc3RyZWFtcywgY29tcGxldGVseQoJICBtZXNzaW5nIHVwIGNhbGN1bGF0aW9ucyBpZiBzdHJlYW1zIGRvbid0IHN0YXJ0IGF0IDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjIgMTU6NTg6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHdyaXRlICJnYXAiIGVkaXQgbGlzdCBpZiB0aGVyZSBpcyBhIG5vbi16ZXJvIGdhcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODQwCgoyMDE2LTExLTIzIDA3OjA5OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4ZGVjOiByZXdyaXRlIGxvZ2ljIGJhc2VkIG9uIEdzdEJ5dGVSZWFkZXIvV3JpdGVyCgkgIFNvbHZlcyBvdmVycmVhZGluZy93cml0aW5nIHRoZSBnaXZlbiBhcnJheXMgYW5kIHdpbGwgZXJyb3Igb3V0IGlmIHRoZQoJICBzdHJlYW1zIGFza3MgdG8gZG8gdGhhdC4KCSAgQWxzbyBkb2VzIG1vcmUgZXJyb3IgY2hlY2tpbmcgdGhhdCB0aGUgc3RyZWFtIGlzIHZhbGlkIGFuZCB3b24ndAoJICBvdmVycnVuIGFueSBhbGxvY2F0ZWQgYXJyYXlzLiAgQWxzbyBtaXRpZ2F0ZSBpbnRlZ2VyIG92ZXJmbG93IGVycm9ycwoJICBjYWxjdWxhdGluZyBhbGxvY2F0aW9uIHNpemVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODU5CgoyMDE2LTExLTIzIDExOjIwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBEb24ndCB1bnJlZigpIHBhcmVudCBpbiB0aGUgY2hhaW4gZnVuY3Rpb24KCSAgV2UgZG9uJ3Qgb3duIHRoZSByZWZlcmVuY2UgaGVyZSwgaXQgaXMgb3duZWQgYnkgdGhlIGNhbGxlciBhbmQgZ2l2ZW4gdG8KCSAgdXMgZm9yIHRoZSBzY29wZSBvZiB0aGlzIGZ1bmN0aW9uLiBMZWZ0b3ZlciBtaXN0YWtlIGZyb20gMC4xMCBwb3J0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODk3CgoyMDE2LTExLTIyIDIwOjMzOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBsaWJ2cHgncyByZWxlYXNlIGJ1ZmZlciBpcyBzb21ldGltZXMgY2FsbGVkIHdpdGggZmItPnByaXY9PU5VTEwKCSAgRG9uJ3QgYXNzZXJ0IG9uIHRoaXMgYnV0IGp1c3QgaWdub3JlIHRoZXNlIGNhc2VzLgoKMjAxNi0xMS0yMiAyMDoyNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggY2x1c3RlciBzZWFyY2hpbmcgaWYgd2Ugc2VhcmNoIG11bHRpcGxlIHRpbWVzIGluIG9uZSBjaHVuawoJICBBZnRlciBmaW5kaW5nIGEgY2x1c3RlciBpZCBpbiB0aGUgYnl0ZSByZWFkZXIsIHdlIHNraXAgYWhlYWQgdGhlIHJlYWRlcgoJICBwb3NpdGlvbiBieSBvbmUgZnVydGhlciBieXRlIHRvIGJlIGFibGUgdG8gY29udGludWUgc2VhcmNoaW5nIGZyb20gdGhlcmUKCSAgaW5zaWRlIHRoZSBzYW1lIGNodW5rIGlmIHRoZSBjbHVzdGVyIGNhbmRpZGF0ZSB3YXMgYSBmYWxzZSBwb3NpdGl2ZS4KCSAgV2UgaGF2ZSB0byBhY2NvbW9kYXRlIGZvciB0aGF0IGFkZGl0aW9uYWwgYnl0ZSB3aGVuIHJlc3VtaW5nIHRoZSBzZWFyY2gsCgkgIG90aGVyd2lzZSBhbGwgZm9sbG93aW5nIHB1bGxzIGFyZSBvZmYtYnktb25lIGZvciBldmVyeSByZXN1bWUgYW5kIHdlIHJ1bgoJICBpbnRvIGFuIGFzc2VydGlvbi4KCjIwMTYtMTEtMjIgMjA6MDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thOiBBZGQgc2l6ZSBjaGVja3MgdG8gdGhlIHBhcnNpbmcgb2YgRkxBQyBoZWFkZXJzCgoyMDE2LTExLTIyIDIzOjQ2OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGZpeCBzb21lIHdhcm5pbmdzIGNvbXBhcmluZyB1bnNpZ25lZCA8IDAKCSAgYmY0M2Y0NGZjZmFkYTVlYzRhM2NlNjBjYjM3NDM0MDQ4NmZlOWZhYyB3YXMgY29tcGFyaW5nIGFuIHVuc2lnbmVkCgkgIGV4cHJlc3Npb24gdG8gYmUgPCAwIHdoaWNoIHdhcyBhbHdheXMgZmFsc2UuCgkgIGdzdGZseGRlYy5jOiBJbiBmdW5jdGlvbiDigJhmbHhfZGVjb2RlX2JydW7igJk6CgkgIGdzdGZseGRlYy5jOjMyMjozMzogd2FybmluZzogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UgWy1XdHlwZS1saW1pdHNdCgkgIGlmICgoZ2xvbmcpIHJvdyAtIGNvdW50IDwgMCkgewoJICBeCgkgIGdzdGZseGRlYy5jOjMzMjozMzogd2FybmluZzogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UgWy1XdHlwZS1saW1pdHNdCgkgIGlmICgoZ2xvbmcpIHJvdyAtIGNvdW50IDwgMCkgewoJICBeCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4MzQKCjIwMTYtMTEtMjEgMTY6MTc6MzEgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogRW5hYmxlIHVwIHRvIDE2IHVucG9zaXRpb25lZCByYXcgYXVkaW8gY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc4OQoKMjAxNi0xMS0yMiAxOTowNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBhZGQgc29tZSB3cml0ZSBib3VuZHMgY2hlY2tpbmcKCSAgV2l0aG91dCBjaGVja2luZyB0aGUgYm91bmRzIG9mIHRoZSBmcmFtZSB3ZSBhcmUgd3JpdGluZyBpbnRvLCB3ZSBjYW4KCSAgd3JpdGUgb2ZmIHRoZSBlbmQgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KCSAgaHR0cHM6Ly9zY2FyeWJlYXN0c2VjdXJpdHkuYmxvZ3Nwb3QuZGsvMjAxNi8xMS8wZGF5LWV4cGxvaXQtYWR2YW5jaW5nLWV4cGxvaXRhdGlvbi5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4MzQKCjIwMTYtMTEtMjEgMTU6MjU6MjMgKzAwMDAgIERhdmlkIEV2YW5zIDxiYmNyZGRhdmVAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEJlIHN1cmUgbm90IHRvIHJlYWQgb2ZmIGVuZCBvZiBGTEFDIGRmTGEgYm94CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3MTIKCjIwMTYtMTEtMjEgMTE6NDg6NTggKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBza2lwcGluZyBpbnZhbGlkIGRhdGEgaW4gcHVzaCBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1NjYKCjIwMTYtMTEtMjEgMTE6NDg6MjkgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FwYXJzZTogYWRkIHN1cHBvcnQgZm9yIHNraXBwaW5nIGludmFsaWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTY2CgoyMDE2LTExLTE4IDE3OjAwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBNb3ZlIHRvIG5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gcGFyc2UgYXV0aGVudGljYXRpb24gcmVzcG9uc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MTYKCjIwMTYtMTEtMjAgMTQ6MTI6MTYgKzAxMDAgIGNocmlzdG9waGVjdnIgPHN0ZWZhbnNhdEB0ZWxlbmV0LmJlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB3cm9uZyBjb21waWxlciB3YXJuaW5nIHdpdGggZ2NjIDYuMgoJICB8IC4uLy4uLy4uL2dpdC9nc3QvaXNvbXA0L3F0ZGVtdXguYzogSW4gZnVuY3Rpb24gJ3F0ZGVtdXhfcGFyc2VfdHJlZSc6CgkgIHwgLi4vLi4vLi4vZ2l0L2dzdC9pc29tcDQvcXRkZW11eC5jOjEwMjI0OjI0OiBlcnJvcjogJ3NpemUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICB8ICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHNpemU7CgkgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KCSAgfCAuLi8uLi8uLi9naXQvZ3N0L2lzb21wNC9xdGRlbXV4LmM6MTAxOTc6MjU6IG5vdGU6ICdzaXplJyB3YXMgZGVjbGFyZWQgaGVyZQoJICB8ICAgICAgICAgICAgICAgICAgZ3VpbnQzMiBzaXplLCB0YWc7CgkgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc0NwoKMjAxNi0xMS0yMCAxNjoxNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiByZW1vdmUgY29waWVzIG9mIGdlbmVyYXRlZCBoZWFkZXJzCgoyMDE2LTExLTIwIDEzOjE0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBFbnN1cmUgdGhhdCByYXcgdmlkZW8gaGF2ZSBwcm9wZXJseSBhbGlnbmVkIGJ1ZmZlcnMKCSAgVGhhdCBpcywgYWxpZ25lZCB0byB0byAzMiBieXRlcyBmb3IgdmlkZW8uIEZpeGVzIGNyYXNoZXMgaWYgdGhlIHJhdwoJICBidWZmZXJzIGFyZSBwYXNzZWQgdG8gU0lNRCBwcm9jZXNzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQyOAoKMjAxNi0xMS0yMCAxMzowODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFbnN1cmUgdGhhdCByYXcgYXVkaW8gYW5kIHZpZGVvIGhhdmUgcHJvcGVybHkgYWxpZ25lZCBidWZmZXJzCgkgIFRoYXQgaXMsIGFsaWduZWQgdG8gdGhlIGJhc2ljIHR5cGUgZm9yIGF1ZGlvIGFuZCB0byAzMiBieXRlcyBmb3IgdmlkZW8uCgkgIEZpeGVzIGNyYXNoZXMgaWYgdGhlIHJhdyBidWZmZXJzIGFyZSBwYXNzZWQgdG8gU0lNRCBwcm9jZXNzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQyOAoKMjAxNi0xMS0xNCAxNDo0NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFsd2F5cyB3cml0ZSBlZGl0IGxpc3RzIGZvciB0aGUgdHJhY2tzIHRvIGdpdmUgYSBtb3JlIGFjY3VyYXRlIGR1cmF0aW9uCgkgIEFsd2F5cyB3cml0ZSBhbiBlZGl0IGxpc3QgZm9yIHRoZSB3aG9sZSB0cmFjay4gSW4gZ2VuZXJhbCB0aGlzIGlzIG5vdAoJICBuZWNlc3NhcnkgZXhjZXB0IGZvciB0aGUgY2FzZSBvZiBoYXZpbmcgYSBnYXAgb3IgRFRTIGFkanVzdG1lbnQgYnV0CgkgIGl0IGFsbG93cyB0byBnaXZlIHRoZSB3aG9sZSB0cmFjaydzIGR1cmF0aW9uIGluIHRoZSB1c3VhbGx5IG1vcmUKCSAgYWNjdXJhdGUgbWVkaWEgdGltZXNjYWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAzCgoyMDE2LTExLTE4IDIyOjQ1OjQ1ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdXNlbGVzcyByZXR1cm4gdmFyaWFibGUKCSAgcXRkZW11eF9leHBvc2Vfc3RyZWFtcygpIHJldHVybnMgZmxvdyBlcnJvciBpbW1lZGlhdGVseSwgaWYgdGhlcmUgaXMgYW4gZXJyb3IuCgkgIFNvLCB0aGUgdmFyaWFibGUgZm9yIHRoZSBmbG93IHJldHVybiBpcyBub3QgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0Njc0CgoyMDE2LTExLTE3IDEzOjU5OjQ4ICswMDAwICBEYXZpZCBFdmFucyA8YmJjcmRkYXZlQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIEZMQUMgZW5jYXBzdWxhdGVkIGluIElTT0JNRkYKCSAgQXMgZGVmaW5lZCBieQoJICBodHRwczovL2dpdC54aXBoLm9yZy8/cD1mbGFjLmdpdDthPWJsb2JfcGxhaW47Zj1kb2MvaXNvZmxhYy50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzcxMgoKMjAxNi0xMS0xNyAxOTo1OTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1hcmsgcGFkIGFzIG5lZWRpbmcgcmVjb25maWd1cmF0aW9uIGFnYWluIGlmIGl0IGZhaWxlZAoJICBBbmQgcmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgTk9UX05FR09USUFURUQgb24gZmx1c2hpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAxOTo1OToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogTWFyayBwYWQgYXMgbmVlZGluZyByZWNvbmZpZ3VyYXRpb24gYWdhaW4gaWYgaXQgZmFpbGVkCgkgIEFuZCByZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBOT1RfTkVHT1RJQVRFRCBvbiBmbHVzaGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDE5OjU4OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBNYXJrIHBhZCBhcyBuZWVkaW5nIHJlY29uZmlndXJhdGlvbiBhZ2FpbiBpZiByZWNvbmZpZ3VyYXRpb24gZmFpbGVkCgkgIEFuZCBjb25zaWRlciBuZWdvdGlhdGlvbiBmYWlsdXJlcyBvbiBmbHVzaGluZyBwYWRzIGFzIEZMVVNISU5HLCBub3QgYXMKCSAgTk9UX05FR09USUFURUQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjMKCjIwMTYtMTEtMTcgMTk6NTY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IEZpeCBoYW5kbGluZyBvZiBuZWdvdGlhdGlvbiBmYWlsdXJlcwoJICBSZXR1cm4gTk9UX05FR09USUFURUQgaWYgc2VuZGluZyB0aGUgY2FwcyBldmVudCBmYWlscywgb3IgRkxVU0hJTkcgaWYKCSAgdGhlIHBhZCB3YXMgZmx1c2hpbmcgYXQgdGhhdCBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAxNzoxNjoyNiAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZF9nbG9iYWxfYXJndW1lbnRzIC0+IGFkZF9wcm9qZWN0X2FyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjU2CgoyMDE2LTExLTE2IDEwOjUzOjUxICswNTMwICBWaW5vZCBLZXN0aSA8dmlub2RrZXN0aUB5YWhvby5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IHBhZCByZXF1ZXN0IGZhaWxzIGZvciBmbHZtdXgKCSAgc3BsaXRtdXhzaW5rIHJlcXVlc3RzIHBhZCBmcm9tIGVsZW1lbnQgdXNpbmcgcGFkIHRlbXBsYXRlIGxpa2UgInZpZGVvXyV1IiwgImF1ZGlvXyV1IiBhbmQgInNpbmtfJWQiLiBUaGlzIGlzIHRydWUgZm9yIG1vc3Qgb2YgdGhlIG11eGVycy4KCSAgQnV0IHNwbGl0bXV4c2luayBub3QgYWJsZSB0byByZXF1ZXN0IHBhZCB0byBmbHZtdXggYXMgZmx2bXV4IGhhcyAiYXVkaW8iIGFuZCAidmlkZW8iIGFzIHBhZCB0ZW1wbGF0ZXMuCgkgIGZpeDogc3BsaXRtdXhzaW5rIHNob3VsZCBmYWxsYmFjayB0byAiYXVkaW8iIGFuZCAgInZpZGVvIiB3aGVuIHRlbXBsYXRlIG5vdCBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUwNwoKMjAxNi0xMS0xNyAxMDoyNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBBZGQgcmVtYWluaW5nIHJlbGV2YW50IHBhcnRzIGZyb20gYTNhNTUzMDUgdG8gdGhlIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTY2CgoyMDE2LTExLTE2IDIyOjM5OjAxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBpZ25vcmUgcGFyc2luZyBlcnJvcnMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZQoJICBUaGlzIGlzIHRoZSBzYW1lIGNoYW5nZSBhcyBhM2E1NTMwNSBmb3IgdGhlIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDU2NgoKMjAxNi0xMS0xNiAwODo1NjozNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYnVuZGxlLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGJ1bmRsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGJ1bmRsZS5jOgoJICBydHBiaW46IHJlY2VpdmUgYnVuZGxlIHN1cHBvcnQKCSAgQSBuZXcgc2lnbmFsIG5hbWVkIG9uLWJ1bmRsZWQtc3NyYyBpcyBwcm92aWRlZCBhbmQgY2FuIGJlCgkgIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHRvIHJlZGlyZWN0IGEgc3RyZWFtIHRvIGEgZGlmZmVyZW50CgkgIEdzdFJ0cFNlc3Npb24gb3IgdG8ga2VlcCB0aGUgUlRYIHN0cmVhbSBncm91cGVkIHdpdGhpbiB0aGUKCSAgR3N0UnRwU2Vzc2lvbiBvZiB0aGUgc2FtZSBtZWRpYSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNzQwCgoyMDE2LTExLTE1IDE2OjUyOjM5ICswNTMwICBWaW5vZCBLZXN0aSA8dmlub2RrZXN0aUB5YWhvby5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhc3NlcnRpb24gd2hpbGUgY29udmVydGluZyBBRFRTIHN0cmVhbSB0byBSQVcKCSAgYWFjcGFyc2UgcmVzaXplcyBpbnB1dCBidWZmZXIgd2hpbGUgY29udmVydGluZyBBRFRTIHN0cmVhbSB0byBSQVcsCgkgIER1cmluZyBidWZmZXIgcmVzaXplIGJ1ZmZlciB3cml0ZSBwZXJtaXNzaW9uIGlzIG5vdCBjaGVja2VkLgoJICBUaGlzIHRocm93cyBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlIGFzc2VydGlvbiBhbmQgbGVhZHMgdG8gQVYgc3luYyBpc3N1ZSBzb21lIHRpbWVzLgoJICBJdCBpcyBjb3JyZWN0ZWQgYnkgbWFraW5nIGJ1ZmZlciB3cml0ZWFibGUgdXNpbmcgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxMjkKCjIwMTYtMTEtMTUgMjE6MTc6NTEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IG1vZGlmeSB1cHN0cmVhbSBUSU1FIHNlZ21lbnQKCSAgVElNRSBzZWdtZW50IGltcGxpZXMgdGhhdCBzdHJlYW0vcnVubmluZyB0aW1lIGlzIGJlaW5nIGhhbmRsZWQgYnkgdXBzdHJlYW0uCgkgIFNvLCB3ZSBzaG91bGRuJ3Qgb3ZlcnJpZGUgaXQgd2l0aG91dCBhbnkgY2x1ZS4KCSAgVGhpcyBwYXRjaCBpcyBmb3IgZml4aW5nIHNlZWsgaW4gREFTSCBzdHJlYW1pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxOTYKCjIwMTYtMTEtMTQgMjI6MzM6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5Ab3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlnLmgubWVzb246CgkgIG1lc29uOiBBZGQgZGVmaW5lIGZvciB2NGwyLXByb2JlIGNvbmZpZyBvcHRpb24KCjIwMTYtMTEtMTQgMTc6Mzc6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBSZXNldCBjYXBzIGFjY3VtdWxhdG9yIHRvIEFOWSB3aGVuIHJlc3luY2luZyB0aGUgYWRhcHRlciwgbm90IEVNUFRZCgkgIFRoZSBhY2N1bXVsYXRvciBpcyBmaWxsZWQgYnkgaW50ZXJzZWN0aW5nIHdpdGggYWxsIHRoZSBwYWQgY2FwcywgYXMgc3VjaAoJICBpdCBtdXN0IGJlIGluaXRpYWxpemVkIHdpdGggQU5ZIChsaWtlIGl0IGlzIGJlZm9yZSB0aGUgaXRlcmF0aW9uIGlzCgkgIHN0YXJ0ZWQpIGFuZCBub3QgdG8gRU1QVFkuCgkgIEZpeGVzIHRoZSBDQVBTIHF1ZXJ5IGFsd2F5cyByZXR1cm5pbmcgRU1QVFkgY2FwcyB3aGVuIHJlc3luY2luZyBoYXBwZW5lZAoJICBkdXJpbmcgdGhlIHF1ZXJ5LCBlLmcuIGJlY2F1c2UgcGFkcyB3ZXJlIGFkZGVkL3JlbW92ZWQuCgoyMDE2LTExLTE0IDEyOjEzOjE0ICswMTAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiByZW1vdmUgcmVkdW5kYW50IHNhZGRyIHVucmVmCgkgIFRoZSBnX29iamVjdF91bnJlZiAoc2FkZHIpIGJlZm9yZSByZWNlaXZpbmcgbWVzc2FnZSBzZWVtcyB0byBiZSByZWR1bmRhbnQgYXMgaXQKCSAgaXMgZG9uZSBqdXN0IGJlZm9yZSBqdW1waW5nIHRvIHJldHJ5CgkgIFRob3VnaCBub3QgZGlyZWN0bHkgcmVsYXRlZCwgcGFydCBvZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyODQxCgoyMDE2LTExLTEyIDIzOjM0OjIzICswMTAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiByZWNlaXZlIGNvbnRyb2wgbWVzc2FnZXMgb25seSBpbiBtdWx0aWNhc3QKCSAgQ29udHJvbCBtZXNzYWdlcyBhcmUgdXNlZCBvbmx5IGluIG11bHRpY2FzdCBtb2RlIC0gdG8gZGV0ZWN0IGlmIHRoZSBkZXN0aW5hdGlvbgoJICBhZGRyZXNzIGlzIG5vdCBvdXJzIGFuZCBwb3NzaWJseSBkcm9wIHRoZSBwYWNrZXQuIEhvd2V2ZXIgaW4gbm9uLW11bHRpY2FzdAoJICBtb2RlcyB0aGUgbWVzc2FnZXMgYXJlIHN0aWxsIGFsbG9jYXRlZCBhbmQgZnJlZWQgZXZlbiBpZiBub3QgdXNlZC4gVGhlcmVmb3JlCgkgIHJlcXVlc3QgY29udHJvbCBtZXNzYWdlcyBmcm9tIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpIG9ubHkgaW4gbXVsdGljYXN0CgkgIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4NDEKCjIwMTYtMTEtMTEgMTA6NDU6MDEgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBVc2UgaW50ZXJtZWRpYXRlIGd1aW50IHdoZW4gaGFuZGxpbmcgR3N0VmlkZW9NdWx0aXZpZXdGbGFncwoJICBUaGUgdW5kZXJseWluZyBpbnRlZ2VyIHR5cGUgb2YgdGhlIGVudW0gR3N0VmlkZW9NdWx0aXZpZXdGbGFncyBpcwoJICBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGFuZCBtYXkgbm90IGhhdmUgdGhlIHNhbWUgc2l6ZSBhcyBndWludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI5MwoKMjAxNi0xMS0xMSAxMDo0NDoxOCAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IHVwZGF0ZSB1cmlfZ2V0X3R5cGUgdG8gbWF0Y2ggdGhlIHByb3RvdHlwZSBpbiBHc3RVUklIYW5kbGVySW50ZXJmYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyOTMKCjIwMTYtMTAtMjYgMjI6Mzc6MzQgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkb24ndCBhZGRfZ2xvYmFsX2FyZ3VtZW50cyB3aGVuIGJlaW5nIGJ1aWx0IGFzIGEgc3VicHJvamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTY4CgoyMDE2LTEwLTIxIDE1OjQ5OjM2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZml4IGhlYWRlciByZXdyaXRpbmcgYmVpbmcgaWdub3JlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODAyCgoyMDE2LTExLTA5IDA2OjI1OjI3ICswMDAwICBTZWFuIER1Qm9pcyA8c2VhbkBzaW9idWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgbWV0YWRhdGFjcmVhdG9yIHByb3BlcnR5CgkgIEFsbG93IHVzZXJzIHRvIHNldCBtZXRhZGF0YWNyZWF0b3IgdmFsdWUgaW4gdGhlIG1ldGEgcGFja2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxMzEKCjIwMTYtMTEtMDEgMTk6NTY6MzYgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBVc2UgZmlyc3QgYnVmZmVyIFRTIGFzIG11eCBzdGFydCB0aW1lCgkgIERvIG5vdCB1c2UgbGFzdCBidWZmZXIgVFMgKyBidWZmZXIgZHVyYXRpb24gYmVjYXVzZSBidWZmZXIgZHVyYXRpb24KCSAgbWlnaHQgYmUgaW5hY2N1cmF0ZSwgZXNwZWNpYWxseSBmb3IgZnJhbWUgcmF0ZXMgbGlrZSAzMGZwcyB3aGVyZSBhCgkgIHJvdW5kaW5nIGVycm9yIGlzIG9ic2VydmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzg1CgoyMDE2LTExLTAzIDE1OjAzOjU5ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHRpbWVyLXJldXNlIGJ1ZwoJICBXaGVuIGRvaW5nIHJ0eCwgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIGFsd2F5cyBhZGQgYW4gcnR4LXRpbWVyIGZvciB0aGUgbmV4dAoJICBzZXF1ZW5jZSBudW1iZXIuCgkgIEluIHRoZSBjYXNlIG9mIHRoZSBwYWNrZXQgY29ycmVzcG9uZGluZyB0byB0aGF0IHNlcXVlbmNlIG51bWJlciBhcnJpdmluZywKCSAgdGhhdCBzYW1lIHRpbWVyIHdpbGwgYmUgcmV1c2VkLCBhbmQgc2ltcGx5IG1vdmVkIG9uIHRvIHdhaXQgZm9yIHRoZQoJICBmb2xsb3dpbmcgc2VxdWVuY2UgbnVtYmVyIGV0Yy4KCSAgT25jZSBhbiBydHgtdGltZXIgZXhwaXJlcyAoYWZ0ZXIgYWxsIHJldHJpZXMpLCBpdCB3aWxsIGJlIHJlc2NoZWR1bGVkIGFzCgkgIGEgbG9zdC10aW1lciBpbnN0ZWFkIGZvciB0aGUgc2FtZSBzZXF1ZW5jZSBudW1iZXIuCgkgIE5vdywgaWYgdGhpcyBwYXJ0aWN1bGFyIHNlcXVlbmNlLW51bWJlciBub3cgYXJyaXZlcyAoYWZ0ZXIgdGhlIHRpbWVyIGhhcwoJICBiZWNvbWUgYSBsb3N0LXRpbWVyKSwgdGhlIHJldXNlIG1lY2hhbmlzbSAqc2hvdWxkKiBub3cgc2V0IGEgbmV3CgkgIHJ0eC10aW1lciBmb3IgdGhlIG5leHQgc2VxdWVuY2UgbnVtYmVyLCBidXQgdGhlIGJ1ZyBpcyB0aGF0IGl0IGRvZXMKCSAgbm90IGNoYW5nZSB0aGUgdGltZXItdHlwZSwgYW5kIGhlbmNlIHNjaGVkdWxlcyBhIGxvc3QtdGltZXIgZm9yIHRoYXQKCSAgZm9sbG93aW5nIHNlcXVlbmNlIG51bWJlciwgd2l0aCB0aGUgcmVzdWx0IHRoYXQgeW91IHdpbGwgaGF2ZSBhIHZlcnkKCSAgZWFybHkgbG9zdC1ldmVudCBmb3IgYSBwYWNrZXQgdGhhdCBtaWdodCBzdGlsbCBhcnJpdmUsIGFuZCB5b3Ugd2lsbAoJICBuZXZlciBiZSBhYmxlIHRvIHNlbmQgYW55IHJ0eCBmb3IgdGhpcyBwYWNrZXQuCgkgIEZvdW5kIGJ5IEVybGVuZCBHcmFmZiAtIGVybGVuZEBwZXhpcC5jb20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzg5MQoKMjAxNi0xMC0wOSAxNTo1OTowNSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxvc3QtZXZlbnQgdXNpbmcgZHRzIGluc3RlYWQgb2YgcHRzCgkgIFRoZSBsb3N0LWV2ZW50IHdhcyB1c2luZyBhIGRpZmZlcmVudCB0aW1lLWRvbWFpbiAoZHRzKSB0aGFuIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIChwdHMpLiBHaXZlbiBjZXJ0YWluIG5ldHdvcmstY29uZGl0aW9ucyB0aGVzZSB0d28gd291bGQgYmVjb21lCgkgIHN1ZmZpY2llbnRseSBkaWZmZXJlbnQgYW5kIHRoZSBsb3N0LWV2ZW50IGNvbnRhaW5lZCB0aW1lc3RhbXAvZHVyYXRpb24KCSAgdGhhdCB3YXMgcmVhbGx5IHdyb25nLiBBcyBhbiBleGFtcGxlIEdzdEF1ZGlvRGVjb2RlciBjb3VsZCBwcm9kdWNlCgkgIGEgc3RyZWFtIHRoYXQganVtcHMgYmFjayBhbmQgZm9ydGggaW4gdGltZSBhZnRlciByZWNlaXZpbmcgYSBsb3N0LWV2ZW50LgoJICBUaGUgcHJldmlvdXMgYmVoYXZpb3IgY2FsY3VsYXRlZCB0aGUgcHRzIChiYXNlZCBvbiB0aGUgcnRwdGltZSkgaW5zaWRlIHRoZQoJICBydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQgZnVuY3Rpb24sIGJ1dCBub3cgdGhpcyBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuCgkgIHJlZmFjdG9yZWQgaW50byBhIG5ldyBmdW5jdGlvbiBydHBfaml0dGVyX2J1ZmZlcl9jYWxjdWxhdGVfcHRzIHRoYXQgaXMKCSAgY2FsbGVkIG11Y2ggZWFybGllciBpbiB0aGUgX2NoYWluIGZ1bmN0aW9uIHRvIG1ha2UgcHRzIGF2YWlsYWJsZSB0bwoJICB2YXJpb3VzIGNhbGN1bGF0aW9ucyB0aGF0IHdyb25nbHkgdXNlZCBkdHMgcHJldmlvdXNseQoJICAobGlrZSB0aGUgbG9zdC1ldmVudCkuCgkgIFRoZXJlIGFyZSBob3dldmVyIHR3byBjYWxjdWxhdGlvbnMgd2hlcmUgdXNpbmcgZHRzIGlzIHRoZSByaWdodCB0aGluZyB0bwoJICBkbzogY2FsY3VsYXRpbmcgdGhlIHJlY2VpdmUtaml0dGVyIGFuZCB0aGUgcnR4LXJvdW5kLXRyaXAtdGltZSwgd2hlcmUgdGhlCgkgIGFycml2YWwgdGltZSBvZiB0aGUgYnVmZmVyIGZyb20gdGhlIG5ldHdvcmsgaXMgdGhlIHJpZ2h0IG1ldHJpYwoJICAoYW5kIGlzIHdoYXQgZHRzIGluIGZhY3QgaXMgdG9kYXkpLgoJICBUaGUgcGF0Y2ggYWxzbyBhZGRzIHR3byB0ZXN0cyByZWdhcmRpbmcgQi1mcmFtZXMgb3IgdGhlCgkgIOKAnHJ0cHRpbWUtZ29pbmctYmFja3dhcmRz4oCdLXNjZW5hcmlvLCBhcyB0aGVyZSB3ZXJlIHNvbWUgY29uY2VybnMgdGhhdCB0aGlzCgkgIHBhdGNoIG1pZ2h0IGJyZWFrIHRoaXMgYmVoYXZpb3IgKHdoaWNoIHRoZSB0ZXN0cyBzaG93cyBpdCBkb2VzIG5vdCkuCgoyMDE2LTExLTAzIDE2OjMzOjUzICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGJ1ZyBpbiByZXNjaGVkdWxlX3RpbWVyCgkgIFRoZSBuZXcgdGltZW91dCBpcyBhbHdheXMgZ29pbmcgdG8gYmUgKHRpbWVvdXQgKyBkZWxheSksIGhvd2V2ZXIsIHRoZQoJICBvbGQgYmVoYXZpb3IgY29tcGFyZWQgdGhlIGN1cnJlbnQgdGltZW91dCB0byBqdXN0ICh0aW1lb3V0KSwgYmFzaWNhbGx5CgkgIGJlaW5nIChkZWxheSkgb2ZmLgoJICBUaGlzIHdvdWxkIGhhcHBlbiBpZiBydHgtZGVsYXkgPT0gcnR4LXJldHJ5LXRpbWVvdXQsIHdpdGggdGhlIHJlc3VsdCB0aGF0CgkgIGEgc2Vjb25kIHJ0eCBhdHRlbXB0IGZvciBhbnkgYnVmZmVycyB3b3VsZCBiZSBzY2hlZHVsZWQgaW1tZWRpYXRlbHkgaW5zdGVhZAoJICBvZiBhZnRlciBydHgtZGVsYXkgbXMuCgkgIFNpbXBseSBjYWxjdWxhdGUgKG5ld190aW1lb3V0ID0gdGltZW91dCArIGRlbGF5KSBhbmQgdGhlbiB1c2UgdGhhdCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczOTA1CgoyMDE2LTExLTAzIDEzOjI3OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2F1ZGlvdGVzdHNyYy53YXY6CgkgIHRlc3RzOiB3YXZwYXJzZTogYWRkIHRlc3QgZm9yIHByb2Nlc3NpbmcgYW4gYWN0dWFsIC53YXYgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczODYxCgoyMDE2LTExLTAzIDEyOjM0OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBzZXQgY2FwcyB0byBOVUxMIGFmdGVyIHNldHRpbmcgdGhlbSBvbiB0aGUgc3JjcGFkCgkgIFdlIHdvdWxkIGxpa2UgdG8gY2hlY2sgbGF0ZXIgb24gRU9TIGlmIHdlIGZvdW5kIGEga25vd24gc3RyZWFtIHR5cGUgb3IKCSAgbm90LCB0byBwb3NzaWJseSBwb3N0IGFuIGVycm9yIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM4NjEKCjIwMTYtMTEtMDIgMTQ6MzM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBkZXJlZiBOVUxMIHBhZHMgaW4gZGVidWcgb3V0cHV0CgkgIFRoYXQgdGVuZHMgdG8gY3Jhc2guCgoyMDE2LTExLTAyIDExOjQ2OjA3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IERvbid0IHVzZSBnc3RfdmlkZW9fY29sb3JpbWV0cnlfdG9fc3RyaW5nX2Z1bGwoKQoJICBUaGUgQVBJIHdhcyByZXZlcnRlZC4gSnVzdCB1c2UgdGhlIHBsYWluCgkgIGdzdF92aWRlb19jb2xvcmltZXRyeV90b19zdHJpbmcoKSBmdW5jdGlvbi4KCjIwMTYtMTEtMDIgMTE6MDA6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggR09iamVjdCB3YXJuaW5ncyBvbiBzaHV0ZG93bi4KCSAgQ29tbWl0IDgzZTcxOCBhZGRlZCBhIHBhZCB0ZW1wbGF0ZSB0byBzcGxpdG11eCByZXF1ZXN0CgkgIHBhZHMsIHdoaWNoIG1lYW5zIHRoYXQgR3N0RWxlbWVudCBub3cgcmVsZWFzZXMgdGhlIHBhZHMgb24KCSAgZGlzcG9zZSwgYnV0IGFmdGVyIGhhdmluZyByZW1vdmVkIGFsbCBlbGVtZW50cyBpbiB0aGUgYmluCgkgIGFuZCB1bmxpbmtlZCB0aGVtLiBNYWtlIHN1cmUgd2UgY2FuIGhhbmRsZSBjbGVhbnVwIGluIHRoYXQgY2FzZQoJICB3aXRob3V0IHRocm93aW5nIGFzc2VydGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3ODQKCjIwMTYtMTEtMDIgMDI6MjU6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmg6CgkgIHNwbGl0bXV4c3JjOiBTdG9yZSBzZWVrIHNlcW51bSBhbmQgc2VuZCBpdCBvbiBFT1MgLyBzZWdtZW50IGV2ZW50cy4KCSAgR0VTIHJlbGllcyBvbiB0aGUgRU9TIGV2ZW50IGhhdmluZyB0aGUgc2VxbnVtIG9mIHRoZSBzZWVrIHRoYXQKCSAgY2F1c2VkIGl0LgoKMjAxNi0xMS0wMiAwMjoyNTowMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBGb3J3YXJkIGEgbm90LWxpbmtlZCBlcnJvciBvbiB0aGUgYnVzCgkgIEhhbmRsZSBub3QtbGlua2VkIGFzIGZvciBvdGhlciBmYXRhbCBlcnJvcnMgYW5kIHBvc3QgaXQKCSAgb250byB0aGUgYnVzIHNvIHRoZSBhcHAga25vd3MKCjIwMTYtMTEtMDEgMjE6MDA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhxdGRlbXV4X3BhcnNlX3RyZWXigJk6CgkgIHF0ZGVtdXguYzoxMDEzOToxNjogZXJyb3I6IOKAmGNvbG9yX3RhYmxlX2lk4oCZIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBpZiAoY29sb3JfdGFibGVfaWQgIT0gMCkgewoJICBeCgkgIHF0ZGVtdXguYzoxMDEyMToxOTogbm90ZTog4oCYY29sb3JfdGFibGVfaWTigJkgd2FzIGRlY2xhcmVkIGhlcmUKCSAgZ3VpbnQxNiBjb2xvcl90YWJsZV9pZDsKCSAgXn5+fn5+fn5+fn5+fn4KCjIwMTYtMTAtMjAgMTc6NDA6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYSBkZWZhdWx0IGludGVybGVhdmUgb2YgMjUwbXMgZm9yIGFsbCBjb2RlY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIxNwoKMjAxNi0xMC0xOSAxNDozMzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBhIGRlZmF1bHQgaW50ZXJsZWF2ZSB3aGVuIFByb1JlcyBpcyB1c2VkCgkgIFRoZSBQcm9SZXMgZ3VpZGVsaW5lcyBzdWdnZXN0IGFuIGludGVybGVhdmUgb2YgMC41cyBpcyBjb21tb24sIGJ1dAoJICBzcGVjaWZpZXMgdGhhdCBmb3IgUHJvUmVzIGF0IG1vc3QgMk1CIChmb3IgU0QpIGFuZCA0TUIgKGZvciBIRCkgc2hvdWxkCgkgIGJlIHVzZWQgcGVyIGNodW5rLgoJICBJdCBtaWdodCBhbHNvIG1ha2Ugc2Vuc2UgdG8gdXNlIHNpbWlsYXIgbnVtYmVycyBpbiBnZW5lcmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE3CgoyMDE2LTEwLTE5IDE0OjI1OjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEFsbG93IGNvbmZpZ3VyaW5nIHRoZSBpbnRlcmxlYXZlIHNpemUgaW4gYnl0ZXMvdGltZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgc3dpdGNoaW5nIGZyb20gb25lIGNodW5rIHRvIGFub3RoZXIgb24gZXZlcnkgc2luZ2xlCgkgIGJ1ZmZlci4gVGhpcyB3YXN0ZXMgc29tZSBzcGFjZSBpbiB0aGUgaGVhZGVycyBhbmQsIGRlcGVuZGluZyBvbiB0aGUKCSAgc29mdHdhcmUsIG1pZ2h0IGRlcGVuZCBpbiBtb3JlIHJlYWRzIChlLmcuIGlmIHRoZSBzb2Z0d2FyZSBpcyByZWFkaW5nCgkgIG11bHRpcGxlIHNhbXBsZXMgaW4gb25lIGdvIGlmIHRoZXkncmUgaW4gdGhlIHNhbWUgY2h1bmspLgoJICBUaGUgUHJvUmVzIGd1aWRlbGluZXMgc3VnZ2VzdCBhbiBpbnRlcmxlYXZlIG9mIDAuNXMgaXMgY29tbW9uLCBidXQKCSAgc3BlY2lmaWVzIHRoYXQgZm9yIFByb1JlcyBhdCBtb3N0IDJNQiAoZm9yIFNEKSBhbmQgNE1CIChmb3IgSEQpIHNob3VsZAoJICBiZSB1c2VkIHBlciBjaHVuay4gVGhpcyB3aWxsIGJlIGhhbmRsZWQgaW4gYSBmb2xsb3ctdXAgY29tbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE3CgoyMDE2LTA5LTMwIDE4OjIyOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2V0IGNvbXByZXNzb3IgbmFtZSwgaG9yaXpvbnRhbC92ZXJ0aWNhbCByZXNvbHV0aW9uIGFuZCBkZXB0aCBmb3IgUHJvUmVzCgkgIFRoaXMgaXMgYWxzbyByZXF1aXJlZCBieSBzb21lIHNvZnR3YXJlIHRvIGhhbmRsZSBQcm9SZXMgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMzAgMTg6MDU6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdDogQWRkIHN1cHBvcnQgZm9yIFByb1JlcyA0NDQ0IFhRCgkgIEFuZCBhbHNvIDQ0NDQgaW4gdGhlIG11eGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTMwIDE3OjU4OjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0bXV4OiBXcml0ZSAnY2xhcCcgYXRvbSBmb3IgUHJvUmVzCgkgIEl0J3MgcmVxdWlyZWQgZm9yIFByb1JlcyB0byB3b3JrIHdpdGggb3RoZXIgc29mdHdhcmUuCgkgIEl0IGlzIGFsc28gaW4gdGhlIE1QNCBzdGFuZGFyZCwgYnV0IGludmVudGluZyB2YWx1ZXMgaGVyZSBzZWVtcyBhIGJpdAoJICB0cmlja3kgZm9yIHRoZSBnZW5lcmFsIGNhc2UgYW5kIGl0IGRvZXMgbm90IHJlYWxseSBnaXZlIGFueSBleHRyYQoJICBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0zMCAwOTo1NTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWFkIGNvbG9yaW1ldHJ5IGluZm9ybWF0aW9uIGZyb20gY29sciBhdG9tIGlmIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTgxCgoyMDE2LTA5LTI5IDIxOjU2OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFsd2F5cyB3cml0ZSBjb2xyIGF0b20gd2l0aCB0aGUgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE4MQoKMjAxNi0wOS0yOSAxODoxNjoxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggd3JpdGluZyBvZiB0aGUgJ2ZpZWwnIGV4dGVuc2lvbiBhdG9tCgkgIFRoaXMgd2FzIGFsc28gd3JvbmcgZm9yIEpQRUcyMDAwLiBBbHNvIHdyaXRlIGl0IGZvciBhbGwgTU9WIGZpbGVzIGFuZAoJICBKUEVHMjAwMCwgbm90IG9ubHkgZm9yIFByb1Jlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0yOSAxNzo0MDoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IFdyaXRlIDQgYnl0ZXMgb2YgemVyb2VzIGF0IHRoZSBlbmQgb2YgdGhlIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb25zCgkgIFRoaXMgaXMgd29ya2luZyBhcm91bmQgc29tZSBicm9rZW4gc29mdHdhcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMjggMjA6NTU6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiAncGFzcCcgYXRvbSBpcyBhbHNvIHBhcnQgb2YgTVA0LCB3cml0ZSBpdCBhbHdheXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wNy0xMSAxOTozMDoxMiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgYWRkaXRpb25hbCBhdG9tcyBmb3IgcHJvcmVzIHZpZGVvCgkgIFRoZXNlIHJlcXVpcmVkIGF0b21zIGFyZTogY29sb3JpbWV0cnksIGZpZWxkIGluZm9ybWF0aW9uLCBzcGF0aWFsL3RlbXBvcmFsCgkgIHF1YWxpdHksIGFuZCB2ZW5kb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTQtMDYtMTYgMTc6MjA6MzIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW4uc2VsbmVzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogRG9uJ3QgZHJvcCBtb2RlIGIgcGFja2V0cyB3aXRoIHBpY3R1cmUgc3RhcnQgY29kZQoJICBTb21lIGJ1Z2d5IHBheWxvYWRlcnMsIGUuZy4gcnRwaDI2M3BheSwgbWF5IHVzZSBtb2RlIEIgZm9yIHBhY2tldHMKCSAgdGhhdCBzdGFydHMgd2l0aCBhIHBpY3R1cmUgKG9yIEdPQikgc3RhcnQgY29kZSBhbHRob3VnaCBpdCdzIG5vdAoJICBhbGxvd2VkLiBMZXQncyBiZSBuaWNlIGFuZCBub3QgZHJvcCB0aGVzZSBwYWNrZXRzL2ZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNgoKMjAxNi0wNi0yMiAxMzo1OTozNSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNwcGF5OiBGaXggY2FwcyBsZWFrCgkgIEZpeCBsZWFraW5nIGNhcHMgd2hlbiBkb3duc3RyZWFtIGhhcyBub3QtZml4ZWQgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNQoKMjAxNi0xMC0yNiAxNjo0MjoxOSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogRml4IGluZGVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTQKCjIwMTYtMTAtMTggMTE6MzU6NTggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IFVzZSBHU1RfVFJBQ0VfT0JKRUNUIGZvciBsb2dnaW5nIGJpdHN0cmVhbSBwYXJzaW5nCgkgIEJ1bXAgdGhlIGJpdHN0cmVhbSBwYXJzaW5nIHRvIFRSQUNFIGxvZyBsZXZlbCBzbyBpdCBkb2Vzbid0IGZsb29kIHRoZQoJICBvdXRwdXQgd2hlbiB0cnlpbmcgdG8gcmVhZCB0aGUgbW9yZSB1c2VmdWwgREVCVUcgYW5kIExPRyBtZXNzYWdlcy4KCSAgQWxzbyB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbnN0ZWFkIG9mIEdTVF9ERUJVRyBpbiB2YXJpb3VzIHBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTE0CgoyMDE2LTEwLTE4IDExOjA5OjEwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggbGVhayBmb3IgQi1mcmFnbWVudHMKCSAgQWx0b3VnaCBjb21taXRzIDZhMTZiZTcsIDY0ZjlkMDggYW5kIDBjN2UzYTggZml4ZWQgc29tZSBpc3N1ZXMgdGhleQoJICBpbnRyb2R1Y2VkIG90aGVycy4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgbGVhayBvZiBvbmUgbWFjcm9ibG9jayBmb3IgZXZlcnkKCSAgQiBmcmFnbWVudC4KCSAgTWFjcm9ibG9jayBzdHJ1Y3R1cmVzIG11c3Qgbm90IGJlIGZyZWVkIGltbWVkaWF0ZWx5IGFmdGVyIGZpbmRpbmcgdGhlCgkgIGJvdW5kYXJpZXMgYXMgdGhleSBhcmUgc3RvcmVkIGFuZCB1c2VkIGxhdGVyLiBIb3dldmVyIHRoZSBpbml0YWwgZHVtbXkKCSAgc3RydWN0dXJlICh1c2VkIGZvciBmaW5kaW5nIHRoZSBmaXJzdCBib3VuZGFyeSkgbXVzdCBiZSBmcmVlZC4KCSAgQ0lEICMxMjEyMTU2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTIKCjIwMTYtMTAtMjAgMTM6MTQ6MTMgKzAyMDAgIEFsZWphbmRybyBHLiBDYXN0cm8gPGFsZXhAaWdhbGlhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhdm9pZCBnZW5lcmF0aW5nIGVycm9ycyB3aGVuIHJ0Y3AgbWVzc2FnZXMgYXJlIGVtcHR5IGFuZCBjaGVjayB0aGUgcXVldWUgaXMgbm90IGVtcHR5CgkgIEFkZCBhIGNoZWNrIHRvIHZlcmlmeSBhbGwgdGhlIG91dHB1dCBidWZmZXJzIHdlcmUgZW1wdHkgZm9yIHRoZQoJICBzZXNzaW9uIGluIGEgdGltb3V0IGFuZCBsb2cgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyNjkKCjIwMTYtMTAtMjYgMTM6MjE6MjkgKzAyMDAgIEFsZWphbmRybyBHLiBDYXN0cm8gPGFsZXhAaWdhbGlhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cGJpbjogcGlwZWxpbmUgZ2V0cyBhbiBFT1Mgd2hlbiBhbnkgcnRwc291cmNlcyBieWVzCgkgIEluc3RlYWQgb2Ygc2VuZGluZyBFT1Mgd2hlbiBhIHNvdXJjZSBieWVzIHdlIGhhdmUgdG8gd2FpdCBmb3IKCSAgYWxsIHRoZSBzb3VyY2VzIHRvIGJlIGdvbmUsIHdoaWNoIG1lYW5zIHRoZXkgYWxyZWFkeSBzZW50IEJZRSBhbmQKCSAgd2VyZSByZW1vdmVkIGZyb20gdGhlIHNlc3Npb24uIFdlIG5vdyBoYW5kbGUgdGhlIEVPUyBpbiB0aGUgcnRjcAoJICBsb29wIGNoZWNraW5nIHRoZSBhbW91bnQgb2Ygc291cmNlcyBpbiB0aGUgc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIxOAoKMjAxNi0xMC0yMSAxNzozMTowMCArMDAwMCAgTWF0dCBTdGFwbGVzIDxzdGFwbGVzMjU1QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWxzbyBoYW5kbGUgcmVkaXJlY3Qgb24gUExBWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjEwCgoyMDE2LTA4LTMwIDEwOjI0OjQzICswMjAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbGxvdyBtaXNzaW5nIGNvbnRyb2wgYXR0cmlidXRlIGluIGNhc2Ugb2YgYSBzaW5nbGUgc3RyZWFtCgkgIEltcHJvdmUgUkZDMjMyNiAtIGNoYXB0ZXIgQy4zIGNvbXBhdGliaWxpdHk6CgkgIEluIGNhc2UganVzdCBhIHNpbmdsZSBzdHJlYW0gaXMgc3BlY2lmaWVkIGluIFNEUCBhbmQgdGhlIGNvbnRyb2wgYXR0cmlidXRlCgkgIGlzIG1pc3NpbmcgZG8gbm90IGRyb3AgdGhlIHN0cmVhbSBidXQgcmF0aGVyIGFzc3VtZSAiYT1jb250cm9sOioiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1NjgKCjIwMTYtMTAtMDggMTg6MTE6MTcgKzAyMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyOiBXYXJuLCBkb24ndCBhc3NlcnQgaWYgdjRsIGdpdmVzIHVzIGEgYnVmZmVyIHdpdGggYSB0b28gbGFyZ2Ugc2l6ZQoJICBJJ3ZlIHNlZW4gcHJvYmxlbXMgd2hlcmUgdGhlIGBieXRlc3VzZWRgIGZpZWxkIG9mIGB2NGwyX2J1ZmZlcmAgd291bGQgYmUKCSAgYSBzaWxseSBudW1iZXIgY2F1c2luZyB0aGUgbGF0ZXIgY2FsbCB0bzoKCSAgZ3N0X21lbW9yeV9yZXNpemUgKGdyb3VwLT5tZW1baV0sIDAsIGdyb3VwLT5wbGFuZXNbaV0uYnl0ZXN1c2VkKTsKCSAgdG8gcmVzdWx0IGluIHRoaXMgZXJyb3IgdG8gYmUgcHJpbnRlZDoKCSAgKHB1bHNldmlkZW86MTEpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9tZW1vcnlfcmVzaXplOiBhc3NlcnRpb24gJ3NpemUgKyBtZW0tPm9mZnNldCArIG9mZnNldCA8PSBtZW0tPm1heHNpemUnIGZhaWxlZAoJICBiZXNpZGVzIGNhdXNpbmcgd2hvLWtub3dzIHdoYXQgb3RoZXIgcHJvYmxlbXMuCgkgIFdlIG1ha2UgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGJ1ZmZlciBoYXMgc3RpbGwgYmVlbiBkZXF1ZXVlZCBjb3JyZWN0bHkKCSAgc28ganVzdCBjbGFtcCB0byBhIHZhbGlkIHNpemUgc28gZG93bnN0cmVhbSBlbGVtZW50cyB3b24ndCBlbmQgdXAgaW4KCSAgdW5kZWZpbmVkIGJlaGF2aW91ci4KCSAgVGhlIGludmFsaWQgYHY0bDJfYnVmZmVyYCBJIHNhdyBmcm9tIG15IGNhcHR1cmUgZGV2aWNlIHdhczoKCSAgYnVmZmVyID0gewoJICBpbmRleCA9IDAsCgkgIHR5cGUgPSAxLAoJICBieXRlc3VzZWQgPSA1MzQ3NDg5MjgsIC8vIDwtIEludmFsaWQKCSAgZmxhZ3MgPSA4MjYwLCAvLyBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9NT05PVE9OSUMgfCBWNEwyX0JVRl9GTEFHX0VSUk9SIHwgVjRMMl9CVUZfRkxBR19ET05FCgkgIGZpZWxkID0gMDEzMzAsIC8vIDwtIEludmFsaWQKCSAgdGltZXN0YW1wID0gewoJICB0dl9zZWMgPSAwLAoJICB0dl91c2VjID0gMAoJICB9LAoJICB0aW1lY29kZSA9IHsKCSAgdHlwZSA9IDAsCgkgIGZsYWdzID0gMCwKCSAgZnJhbWVzID0gMCAnXDAwMCcsCgkgIHNlY29uZHMgPSAwICdcMDAwJywKCSAgbWludXRlcyA9IDAgJ1wwMDAnLAoJICBob3VycyA9IDAgJ1wwMDAnLAoJICB1c2VyYml0cyA9ICJcMDAwXDAwMFwwMDAiCgkgIH0sCgkgIHNlcXVlbmNlID0gMCwKCSAgbWVtb3J5ID0gMiwKCSAgbSA9IHsKCSAgb2Zmc2V0ID0gMzUzNzIxOTU4NCwKCSAgdXNlcnB0ciA9IDE0MDcwNjY2NTgzNjU0NCwgLy8gQ291bGQgYmUgbm9uc2Vuc2UsIG5vdCBzdXJlCgkgIHBsYW5lcyA9IDB4N2ZmOGQyZDViMDAwLAoJICBmZCA9IC03NTc3NDc3MTIKCSAgfSwKCSAgbGVuZ3RoID0gMjc2NDgwMCwKCSAgcmVzZXJ2ZWQyID0gMCwKCSAgcmVzZXJ2ZWQgPSAwCgkgIH0KCSAgVGhpcyBpcyBmcm9tIGdkYiB3aXRoIG15IG93biBhbm5vdGF0aW9ucyBhZGRlZC4KCSAgVGhpcyB3YXMgd2l0aCBnc3QtcGx1Z2lucy1nb29kIDEuOC4xLCBhIE1hZ2V3ZWxsIFhJMTAwRFVTQi1IRE1JIHZpZGVvCgkgIGNhcHR1cmUgZGV2aWNlIGFuZCBrZXJuZWwgMy4xMyB1c2luZyBhIGRvZGd5IEhETUkgY2FibGUgd2hpY2ggaXMgZ3JlYXQgYXQKCSAgYnJlYWtpbmcgSERNSSBjYXB0dXJlIGRldmljZXMuICBJJ20gdXNpbmcgaW8tbW9kZT11c2VycHRyIGFuZCBoYXZlIGJ1aWx0CgkgIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aG91dCBsaWJ2NGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjUKCjIwMTYtMTAtMjAgMjA6NDE6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYSBiZXR0ZXIgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIG1vdmllIGhlYWRlciB0aW1lc2NhbGUKCSAgVGFrZSB0aGUgbWF4aW11bSB2aWRlbyB0aW1lc2NhbGUsIG9yIGlmIG5vIHZpZGVvIHRyYWNrIGlzIHByZXNlbnQgdGhlCgkgIHByZXZpb3VzIHZhbHVlIG9mIDE4MDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDEKCjIwMTYtMTAtMjAgMjA6MDc6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBtb3JlIGNsZXZlciB3aXRoIHRoZSBkZWZhdWx0IHZpZGVvIHRyYWNrIHRpbWVzY2FsZQoJICBVc2UgdGhlIG51bWJlciBvZiBtaWxsaWZyYW1lcyBwZXIgc2Vjb25kIGZvciBpbnRlZ3JhbCBhbmQgZHJvcC1mcmFtZQoJICBmcmFtZXJhdGVzLCBhcyBzdWdnZXN0ZWQgYnkgdGhlIFFUIGZpbGUgZm9ybWF0IHNwZWNpZmljYXRpb24gYW5kIG90aGVyCgkgIHBsYWNlcy4gV2UgYWxyZWFkeSBkaWQgdGhhdCBmb3IgaW50ZWdyYWwgZnJhbWVyYXRlcyBiZWZvcmUsIGJ1dCBub3QgZm9yCgkgIGRyb3AtZnJhbWUgZnJhbWVyYXRlcy4gVGhpcyBub3cga2VlcHMgcHJlY2lzaW9uIGJldHRlci4KCSAgRm9yIGFsbCBvdGhlciBmcmFtZXJhdGVzLCBjaGVjayBpZiBpdCdzIGNsb3NlIHRvIGEgd2VsbC1rbm93biBmcmFtZXJhdGUKCSAgYW5kIHVzZSB0aGF0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDEKCjIwMTYtMTAtMTAgMTM6MDA6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgaW50ZXJsYWNlZCBpbmZvcm1hdGlvbiBmcm9tIGpwZWcgdmlkZW8KCSAgVGhpcyBpbmZvcm1hdGlvbiBpcyBoaWRkZW4gaW4gYSBzbWFsbCBjaHVuayBvZiBkYXRhLgoJICBGb3JtYXQgZm91bmQgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL3N0YW5kYXJkcy9xdGZmLTIwMDEucGRmLAoJICBwYWdlIDkyLCAiVmlkZW8gU2FtcGxlIERlc2NyaXB0aW9uIiwgdW5kZXIgdGFibGUgMy4xLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NzcxCgoyMDE2LTEwLTI2IDEyOjQ2OjI4ICswNTMwICBKYWdhZGlzaCA8amFnYWRpc2hrYW1hdGhrQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogRml4aW5nIHggYW5kIHkgb2Zmc2V0IGNvbXB1dGF0aW9uCgkgIFdoaWxlIGNvbXB1dGluZyB0aGUgeCBhbmQgeSBvZmZzZXRzLCBpdCdzIHRoZSB2aWRlbyByZXNvbHV0aW9uIGFuZAoJICByZXNpemVkIG92ZXJsYXkgcmVzb2x1dGlvbiB0byBiZSB1c2VkIGluc3RlYWQgb2YgYWN0dWFsIG92ZXJsYXkgaW1hZ2UKCSAgcmVzb2x0dWlvbi4gRHVlIHRvIHRoaXMsIHRoZSBvdmVybGF5IGltYWdlIHVzZWQgdG8gZ2V0IHdyb25nbHkgb3ZlcmxheWVkCgkgIGluIHVuZGVzaXJlZCBsb2NhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MjkyCgoyMDE2LTExLTAxIDE4OjA5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKMjAxNi0xMC0yNCAxNjo1NjozMSArMDAwMCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6IDxlb2NhbmhhQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSB0ZmR0IGRlY29kZSB0aW1lIG9uIGJ5dGUgc3RyZWFtcyB3aGVuIGl0J3Mgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgdGhhbiB0aGUgdGltZSBpbiB0aGUgbGFzdCBzYW1wbGUKCSAgV2UgY29uc2lkZXIgdGhlcmUncyBhIHNpZm5pZmljYW50IGRpZmZlcmVuY2Ugd2hlbiBpdCdzIGxhcmdlciB0aGFuIG9uIHNlY29uZAoJICBvciB0aGFuIGhhbGYgdGhlIGR1cmF0aW9uIG9mIHRoZSBsYXN0IHByb2Nlc3NlZCBmcmFnbWVudCBpbiBjYXNlIHRoZSBsYXR0ZXIgaXMKCSAgbGFyZ2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjMwCgo9PT0gcmVsZWFzZSAxLjExLjAgPT09CgoyMDE2LTExLTAxIDE4OjUzOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEwLjAgPT09CgoyMDE2LTExLTAxIDE3OjU3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xMC4wCgoyMDE2LTExLTAxIDE3OjQ3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTExLTAxIDE3OjQxOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTEwLTI3IDEyOjAxOjU1ICswMjAwICBUb2JpYXMgU2NobmVpZGVyIDx0b2JpYXMuc2NobmVpZGVyQHZvaWNlaW50ZXJjb25uZWN0LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggZXh0cmEtY29udHJvbHMgbGVhawoJICBHc3Qgc3RydWN0IHY0bDJvYmplY3QtPmV4dHJhX2NvbnRyb2xzIGlzIGNyZWF0ZWQgaWYgdXNlciBzZXRzIGFwcHJvcHJpYXRlCgkgIG9wdGlvbiBidXQgaXQgaXMgbm90IGZyZWVkIG9uIGRlc3RydWN0aW9uIG9mIHY0bDJvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1ODAKCjIwMTYtMTAtMzEgMTg6MDA6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBSZXZlcnQgInNvdXBodHRwc3JjOiByZWR1Y2UgcmVhZGluZyBsYXRlbmN5IGJ5IHVzaW5nIG5vbi1ibG9ja2luZyByZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg4MTY3NjQxMTI0MDg3NjY4ODljOGI2ODBhM2FmNTExMTVkZjRiZjUuCgkgIEl0IGNhdXNlcyBpc3N1ZXMgd2l0aCB0aGUgdGltZW91dHMsIGFuZCBjYXVzZXMgY29ubmVjdGlvbnMgdG8gYmUgY2xvc2VkCgkgIHdpdGhvdXQgYWN0dWFsIHJlYXNvbi4gTmVlZHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTA5CgoyMDE2LTEwLTMxIDA5OjAwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCB0cnkgdG8gYWRkIHNyY3BhZCBpZiB3ZSBkb24ndCBrbm93IHZhbGlkIGNhcHMgeWV0CgkgIE90aGVyd2lzZSB3ZSdsbCBydW4gaW50byBhbiBhc3NlcnRpb24gb24gc3BlY2lhbGx5IGNyYWZ0ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2NDMKCjIwMTYtMTAtMjcgMTE6MjM6NTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogUmVtb3ZlIHVzZWxlc3NseSBkdXBsaWNhdGVkIGRlcCBjaGVja3MKCSAgVGhlc2UgY2hlY2tzIGFyZSBkb25lIGluc2lkZSB0aGUgbWVzb24uYnVpbGQgZmlsZXMgZm9yIGVhY2ggcGx1Z2luLgoKMjAxNi0xMC0yNyAxMToyMjo1OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogZHYgcGx1Z2luIG5vdyB3b3JrcyBvbiBNU1ZDCgkgIE5lZWRzIGEgTWVzb24gcGF0Y2ggdG8gZmlsdGVyIG91dCB0aGUgdXNlbGVzcyAtbHB0aHJlYWQKCSAgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vcHVsbC85NjIKCjIwMTYtMTAtMjcgMTQ6MDM6NDggKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhbGxvdyByZXNvbHV0aW9ucyBhYm92ZSA0MDk2CgkgIE1vZGlmeSB0aGUgY2FwcyBzdHJpbmcgdG8gYWxsb3cgd2lkdGggYW5kIGhlaWdodCBncmVhdGVyIHRoYW4gNDA5Ni4KCSAgVGhlcmUgaXMgbm8gbmVlZCB0byByZXN0cmljdCBpdCBzaW5jZSB0aGUgbWF0cm9za2EgZm9ybWF0IGFsbG93cyB0aGUKCSAgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgdG8gYmUgdXAgdG8gZWlnaHQgYnl0ZXMgbG9uZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU4MgoKMjAxNi0xMC0yMyAxNzoyMzoxMCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IENoZWNrIGZvciBHX1BMQVRGT1JNX1dJTjMyIGZvciBwcmVzZW5jZSBvZiBpcGlfc3BlY19kZXN0CgkgIEdfT1NfV0lOMzIgaXMgb25seSBzZXQgd2hlbiBub3QgYnVpbGRpbmcgd2l0aCBjeWd3aW4sIGJ1dAoJICBpcGlfc3BlY19kZXN0IGlzIG1pc3NpbmcgYm90aCB3aXRoIGFuZCB3aXRob3V0IGN5Z3dpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yNiAwODo1MTo0MCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVzZXQgcmVhZF9wb3NpdGlvbiB3aGVuIHJlYWRpbmcgZmFpbHMKCSAgc291cGh0dHBzcmMgbWFpbnRhaW5zIHR3byB2YXJpYWJsZXMgZm9yIHRoZSBwb3NpdGlvbjoKCSAgKiAncmVxdWVzdF9wb3NpdGlvbicgaXMgd2hlcmUgd2Ugd2FudCB0byBiZQoJICAqICdyZWFkX3Bvc2l0aW9uJyBpcyB3aGVyZSB3ZSBhcmUKCSAgRHVyaW5nIE5vcm1hbCBvcGVyYXRpb25zIGJvdGggYXJlIHVwZGF0ZWQgaW4gc3luYyB3aGVuIGRhdGEgYXJyaXZlcy4gQSBzZWVrCgkgIGNoYW5nZXMgJ3JlcXVlc3RfcG9zaXRpb24nIGJ1dCBub3QgJ3JlYWRfcG9zaXRpb24nLgoJICBXaGVuIHRoZSB0d28gcG9zaXRpb25zIGdldCBvdXQgb2Ygc3luYywgdGhlbiBhIG5ldyByZXF1ZXN0IGlzIHNlbmQgYW5kIHRoZQoJICAnUmFuZ2UnIGhlYWRlciBpcyBhZGp1c3RlZCB0byB0aGUgY3VycmVudCAncmVxdWVzdF9wb3NpdGlvbicuCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCwgaWYgcmVhZGluZyBmYWlscywgdGhlbiB0aGUgc291cmNlIGlzIGRlc3Ryb3llZC4gVGhpcwoJICB0cmlnZ2VycyBhIG5ldyByZXF1ZXN0LCBidXQgdGhlIHJhbmdlIHJlbWFpbnMgdW5jaGFuZ2VkLiBBcyBhIHJlc3VsdCwgdGhlCgkgIG9sZCByYW5nZSBpcyB1c2VkIGFuZCBvbGQgZGF0YSB3aWxsIGJlIHJlYWQuCgkgIENoYW5naW5nIHRoZSAncmVhZF9wb3NpdGlvbicgdG8gLTEgbWFrZXMgaXQgZXhwbGljaXRseSBkaWZmZXJlbnQgZnJvbQoJICAncmVxdWVzdF9wb3NpdGlvbicgYW5kIGFzIGEgcmVzdWx0IHRoZSAnUmFuZ2UnIGhlYWRlciBpcyB1cGRhdGVkIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUwOQoKMjAxNi0xMC0yNSAwODo1NDozNCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IERvbid0IGRlcGVuZCBvbiBnc3RyZWFtZXItY2hlY2stMS4wIG9uIHdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yNSAxNToyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBjb25uZWN0aW9uIGluZm8gdG8gbm9uLWZsdXNoaW5nIHdoZW4gY2xvc2luZwoJICBUaGlzIHNvbHZlcyBhIGhhbmdpbmcgbWFpbmxvb3AgaW4gZm9sbG93aW5nIHNjZW5hcmlvOgoJICAqIGNvbm5lY3QgdG8gc291cmNlCgkgICogbmV0d29yay9zZXJ2ZXIgZHJvcHMKCSAgKiBwaXBlbGluZSBzZXQgdG8gTlVMTCAoYW5kIGNvbm5lY3Rpb24gdG8gZmx1c2hpbmcgYXMgcGFydCkKCSAgKiBwaXBlbGluZSBzZXQgdG8gUEFVU0VEL1BMQVlJTkcgKGNvbm5lY3Rpb24gdG8gbm9uLWZsdXNoaW5nLCBidXQgbm90IHJlY29yZGVkKQoJICAqIFtjb25uZWN0aW5nIHN0aWxsIG5vdCBwb3NzaWJsZV0KCSAgKiBwaXBlbGluZSBzZXQgdG8gTlVMTCA9PiBtYWlubG9vcCBoYW5ncyAoc2luY2Ugbm8gYWN0dWFsIGZsdXNoaW5nIGlzIGRvbmUpCgoyMDE2LTEwLTI2IDE0OjMyOjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogT25seSBhbGxvdyBvbmUgdmlkZW8gcmVxdWVzdCBwYWQKCSAgVGhlIHBhY2luZyBvZiB0aGUgb3ZlcmFsbCBtdXhpbmcgaXMgY29udHJvbGxlZAoJICBieSB0aGUgdmlkZW8gR09QcyBhcnJpdmluZywgc28gd2UgY2FuIG9ubHkgaGFuZGxlCgkgIDEgdmlkZW8gc3RyZWFtLCBhbmQgdGhlIHJlcXVlc3QgcGFkIGlzIG5hbWVkIGFjY29yZGluZ2x5LgoJICBJZ25vcmUgYSByZXF1ZXN0IGZvciBhIDJuZCB2aWRlbyBwYWQgaWYgdGhlcmUncyBhbHJlYWR5CgkgIGFuIGFjdGl2ZSBvbmUuCgoyMDE2LTEwLTI2IDExOjU5OjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogVGFrZSBvd25lcnNoaXAgb2YgZmxvYXRpbmcgcmVmcwoJICBzaW5rIHRoZSBmbG9hdGluZyByZWYgd2hlbiBoYW5kZWQgYSBtdXhlciBvciBzaW5rIHRvIHVzZSBzbwoJICB3ZSBjbGVhcmx5IHRha2Ugb3duZXJzaGlwLgoKMjAxNi0xMC0yNSAxNDo1MTo1MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFNldCBjaGlsZCBlbGVtZW50cyB0byBOVUxMIHdoZW4gcmVtb3ZpbmcuCgkgIE1ha2Ugc3VyZSB0aGF0IGVsZW1lbnRzIGFyZSBpbiB0aGUgTlVMTCBzdGF0ZSB3aGVuIHJlbW92aW5nLgoJICBGaXhlcyBjcml0aWNhbCB3YXJuaW5ncyB3aGVuIGVycm9ycyBvY2N1ciBlYXJseSBvbiBpbiBzdGFydGluZyB1cC4KCjIwMTYtMTAtMjUgMTQ6NTA6NTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBTZXQgcGFkIHRlbXBsYXRlIG9uIHJlcXVlc3Qgc2luayBwYWRzCgkgIEVuc3VyZSB0aGF0IHRoZSBnaG9zdCBwYWQgcmV0dXJuZWQgYXMgYSByZXF1ZXN0IHBhZAoJICBoYXMgdGhlIHRlbXBsYXRlIHRoYXQgd2FzIHJlcXVlc3RlZAoKMjAxNi0xMC0yNSAxMDo1MDo0NyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBSZXZlcnQgIm1lc29uOiBtb3ZlIGdzdHJlYW1lci1jaGVjay0xLjAgZGVwZW5kZW5jeSB0byB0ZXN0cy9jaGVjayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0NjYzMjY5NDY2MmI5NmZkZGI4NDhhMWYyMDkxYTIxNWIyOGEyZDM1LgoJICBEb2VzIG5vdCBhY3R1YWxseSB3b3JrLiBTZWU6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQjYzMxCgoyMDE2LTA2LTA4IDExOjI0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEFzc3VtZSBQVFMgaXMgRFRTIHdoZW4gUFRTIGlzIG1pc3NpbmcKCSAgVGhpcyBmaXhlcyBpc3N1ZSBmb3IgZW5jb2RlcnMgdGhhdCBvbmx5IHNldHMgdGhlIERUUy4gV2UgYXNzdW1lIHRoYXQKCSAgdGhlcmUgd2FzIG5vIHJlLW9yZGVyaW5nIHdoZW4gdGhhdCBoYXBwZW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA3CgoyMDE2LTEwLTI0IDAwOjM0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBmaXggYnVpbGQgb3V0c2lkZSBvZiBnc3QtYWxsCgoyMDE2LTEwLTIxIDAwOjQyOjU0IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGRpcmVjdHNvdW5kOiBBZGQgb2xlMzIgbGlicmFyeSBkZXBlbmRlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjEgMDA6NDI6MTggLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogbW92ZSBnc3RyZWFtZXItY2hlY2stMS4wIGRlcGVuZGVuY3kgdG8gdGVzdHMvY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMCAyMjowODoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdGVzdHM6IHZpZGVvbWl4ZXI6IGRpc2FibGUgcmFjeSBmbHVzaF9zdGFydF9mbHVzaF9zdG9wIHRlc3QKCSAgSXQncyBiZWVuIGJyb2tlbiBmb3IgeWVhcnMsIGFuZCBpdCdzIHVubGlrZWx5IGl0IHdpbGwgZXZlcgoJICBiZSBmaXhlZCBmb3IgY29sbGVjdHBhZHMvdmlkZW9taXhlciBub3cgdGhhdCB0aGVyZSdzIGNvbXBvc2l0b3IKCSAgd2hpY2ggd29ya3MgZmluZS4gU28gbGV0J3MgZGlzYWJsZSBpdCwgc2luY2UgYWxsIGl0IGRvZXMKCSAgaXMgdGhhdCBpdCBjcmVhdGVzIG5vaXNlIHRoYXQgZGlzdHJhY3RzIGZyb20gb3RoZXIgZmFpbHVyZXMuCgkgIEFsc28gc2VlIHRoZSBjb3JyZXNwb25kaW5nIGFkZGVyIGJ1ZyBhcyBpdCBmYWlsZWQgaW4gdGhlIHNhbWUgd2F5OgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODkxCgoyMDE2LTEwLTA5IDE2OjU2OjEwICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IEZpeCBzb3VwaHR0cHNyYyB0ZXN0cyB3aXRob3V0IENLX0ZPUks9bm8KCSAgSXQgc2VlbXMgdGhhdCB0aGUgZm9ya2VkIHByb2Nlc3NlcyBhbGwgYXR0ZW1wdCB0byBoYW5kbGUgdGhlIGxpc3RlbmluZwoJICBzb2NrZXQgZnJvbSB0aGUgc2VydmVyLCBhbmQgb25seSBvbmUgaGFzIHRvIHNodXRkb3duIHRoZSBzb2NrZXQgdG8gYnJlYWsKCSAgdGhlIHNlcnZlciBjb21wbGV0ZWx5LgoJICBDcmVhdGUgYSBuZXcgc2VydmVyIGluc2lkZSBlYWNoIHRlc3QgdG8gYXZvaWQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjY1NgoKMjAxNi0xMC0wOSAxNToyMzo1MSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBGaXggbGV2ZWwgdGVzdCBpbiBDS19GT1JLPW5vIG1vZGUKCSAgVGhlIHRlc3RzIGFjY3VtdWxhdGUgYnVmZmVycyBpbiBHc3RDaGVjaydzIGJ1ZmZlcnMgbGlzdCwgYW5kIHRoZSBsaXN0IGlzCgkgIG5vdCAoY29uc2lzdGVudGx5KSByZXNldCBiZXR3ZWVuIHRlc3RzLiBEbyB0aGF0IGFuZCByZW1vdmUgdGhlIG5vdwoJICBjb25mbGljdGluZyB1bnJlZnMgZm9yIG91dGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2NDQKCjIwMTYtMTAtMDcgMTM6MDQ6MjcgKzA1MzAgIEdhdXJhdiBHdXB0YSA8Zy5ndXB0YUBzYW1zdW5nLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiBGaXggTWVtb3J5IGxlYWsgdXNpbmcgR1NUX1BUUl9GT1JNQVQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjQ5NwoKMjAxNi0xMC0xOCAxMjoyMzo0MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21vbm9zY29wZS9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIGdzdGF1ZGlvIGRlcCB0byBtb25vc2NvcGUKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzo0MjowOgoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9hdWRpby9hdWRpby5oOjI2OjM5OiBmYXRhbCBlcnJvcjogZ3N0L2F1ZGlvL2F1ZGlvLWVudW10eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8tZW51bXR5cGVzLmg+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLW1lc29uLzI3MS9jb25zb2xlCgoyMDE2LTEwLTE2IDAyOjE4OjIyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIG1pc3NpbmcgcGJ1dGlscyBkZXBlbmRlbmN5IHRvIG11bHRpZmlsZQoJICBGb3VuZCB2aWEgdGhlIEplbmtpbnMgQ0k6CgkgIEZBSUxFRDogc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZUBzaGEvZ3N0c3BsaXRtdXhzaW5rLmMubwoJICBbLi4uXQoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOjI0OjAsCgkgIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOjU5OgoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzL3BidXRpbHMuaDozMDo0MzogZmF0YWwgZXJyb3I6IGdzdC9wYnV0aWxzL3BidXRpbHMtZW51bXR5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGdzdC9wYnV0aWxzL3BidXRpbHMtZW51bXR5cGVzLmg+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLW1lc29uLzI2My9jb25zb2xlCgoyMDE2LTEwLTE1IDIyOjExOjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IERvbid0IHNldCBjX3N0ZCB0byBnbnU5OQoJICBVc2UgdGhlIGRlZmF1bHQgZm9yIGVhY2ggY29tcGlsZXIgb24gZXZlcnkgcGxhdGZvcm0gaW5zdGVhZC4gVGhpcwoJICBpbXByb3ZlcyBvdXIgY29tcGF0aWJpbGl0eSB3aXRoIGNvbXBpbGVycyB0aGF0IGRvbid0IGhhdmUgZ251OTkgYXMKCSAgYSBjX3N0ZC4KCjIwMTYtMTAtMDQgMTg6MDQ6MTEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL2dldHBsdWdpbnNkaXI6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogTWFrZSB1c2Ugb2YgbmV3IGVudmlyb25tZW50IG9iamVjdCBhbmQgc2V0IHBsdWdpbiBwYXRoIHRvIGJ1aWxkZGlyCgkgIFdvcmthcm91bmQgc291cmNlX3Jvb3QgYmVpbmcgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIGFsbCBwcm9qZWN0cyBpbiB0aGUgc3VicHJvamVjdAoJICBjYXNlIGFuZCByZW1vdmUgbm93IHVubmVlZGVkIGdldHBsdWdpbnNkaXIKCSAgQnVtcCBtZXNvbiByZXF1aXJlbWVudCB0byAwLjM1CgoyMDE2LTEwLTA2IDExOjE1OjU0ICswNTMwICBHYXVyYXYgR3VwdGEgPGcuZ3VwdGFAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICB0ZXN0czogRml4IG1lbW9yeSBsZWFrIGluIHRlc3QgcnRwYXV4IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjQ5NgoKMjAxNi0xMC0wMyAxMToyNzo1NCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBGb3J3YXJkIGxhdGVuY3kgcXVlcmllcyB0byB1cHN0cmVhbQoJICBXaXRob3V0IHRoaXMsIGxhdGVuY3kgcXVlcmllcyB0byBpbWFnZWZyZWV6ZSB3aWxsIGZhaWwuCgoyMDE2LTA5LTMwIDExOjM1OjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGhvb2tzL3ByZS1jb21taXQuaG9vazoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL2dldHBsdWdpbnNkaXI6CgkgIG1lc29uOiBTZXR1cCBwcmUgY29tbWl0IGhvb2sgYW5kIGZpeCBnZXRwbHVnaW5zZGlyIGZvciBzdGFuZGFsb25lIGNhc2UKCjIwMTYtMDktMjkgMDQ6NTU6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogSGFuZGxlIHN0b3AgcG9pbnQgZnJvbSBzZWdtZW50CgkgIElmIHRoZSBzZWVrIHN0b3AgcG9pbnQgKG9yIHN0YXJ0LCBkdXJpbmcgcmV2ZXJzZSBwbGF5KQoJICB3YXMgd2l0aGluIHRoZSBzZWdtZW50IHdlIGp1c3QgZmluaXNoZWQsIGdvIEVPUyBpbW1lZGlhdGVseQoJICBpbnN0ZWFkIG9mIHByb2NlZWRpbmcgdGhyb3VnaCBhbGwgb3RoZXIgcGFydHMgYW5kIHNlbmRpbmcKCSAgMCBsZW5ndGggc2Vla3MgdG8gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0yOSAwMzoyMToyNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBEcm9wIGxvY2sgc2h1dHRpbmcgZG93biBwYWRzCgkgIEF2b2lkIGEgc3BvcmFkaWMgZGVhZGxvY2sgb24gc2h1dGRvd24gYnkgZHJvcHBpbmcKCSAgdGhlIHNwbGl0bXV4IGxvY2sgYXJvdW5kIHBhZCBzaHV0ZG93bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTI5IDAyOjQ3OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4c3JjOiBGaXggZXh0cmEgdW5yZWYgaGFuZGxpbmcgcXVlcmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTI5IDA0OjUwOjI1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEF2b2lkIHN0YWxsIHdoZW4gcGFydHMgZ2V0IG91dCBvZiBzeW5jCgkgIFdoZW4gb25lIHBhcnQgbW92ZXMgYWhlYWQgb2YgdGhlIG90aGVycyAtIGR1ZSB0byBleGNlc3NpdmUKCSAgZG93bnN0cmVhbSBxdWV1ZWluZywgb3IgcmVhbGx5IHNtYWxsIGlucHV0IGZpbGVzIC0gdGhlbgoJICB3ZSBjYW4gZW5kIHVwIGFjdGl2YXRpbmcgcGFydHMgbW9yZSB0aGFuIG9uY2UuIFRoYXQgY2FuIGxlYWQgdG8KCSAgZWZmZWN0cyBsaWtlIHNodXR0aW5nIGRvd24gcGFkIHRhc2tzIHByZW1hdHVyZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTMwIDExOjQxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKPT09IHJlbGVhc2UgMS45LjkwID09PQoKMjAxNi0wOS0zMCAxMzowMjoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjkwCgoyMDE2LTA5LTMwIDEyOjE3OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTA5LTMwIDExOjQzOjU0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA5LTMwIDEzOjIyOjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IEZpeCB0YWdzY2hlY2tpbmcgZmFpbHVyZSBkdWUgdG8gbWlzc2luZyBQVFMKCSAgcXRtdXggbm93IG5lZWRzIHRoZSBQVFMgKGNvbW1pdCBhOTkzODgzYjcpLCBzbyBsZXQncyBtYWtlIHN1cmUgd2UKCSAgcHJvZHVjZSBvbmUgd2l0aCBvdXIgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjIyOAoKMjAxNi0wOS0yOCAyMzowMzo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGNhbGN1bGF0ZSBQVFMgb2Zmc2V0IGFuZCBEVFMgd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIHZhbGlkIFBUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE0MwoKMjAxNi0wOS0yOSAxNzozNzoyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgSlBFRzIwMDAgaWhkciBhdG9tIHRvIHRoZSBsaXN0IG9mIGtub3duIG9uZXMKCSAgT3RoZXJ3aXNlIHF0ZGVtdXggaXMgYWx3YXlzIGdvaW5nIHRvIGNvbXBsYWluIGFib3V0IGl0IGJlaW5nIHVua25vd24uCgoyMDE2LTA5LTI5IDEwOjE5OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWx3YXlzIHdyaXRlIHRoZSBkZWZhdWx0IGZyYW1lIGR1cmF0aW9uIGZvciBWUDgvOSB0b28KCSAgVGhlIFdlYk0gc3BlYyBhbGxvd3MgdGhpcyBub3csIGFuZCBpdCBhbGxvd3MgdXMgdG8gZ3Vlc3MgYSBmcmFtZXJhdGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTQxIGFuZAoJICBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNzkKCjIwMTYtMDktMjcgMTU6MjY6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjZbNDVdZGVwYXk6IERvbid0IGhhbmRsZSBOQUxzIGluc2lkZSBTVEFQIHVuaXRzIHR3aWNlCgkgIFRoZXkndmUgYWxyZWFkeSBiZWVuIGhhbmRsZWQgYmVmb3JlIHB1c2hpbmcgdGhlbSBpbnRvIHRoZSBhZGFwdGVyLgoKMjAxNi0wOS0yNyAxMjozOToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogdGVzdHM6IGZpeCB2cDggYXZhaWxhYmlsaXR5IGNoZWNrcwoJICBUaG9zZSB2YXJpYWJsZXMgYXJlIG5vdCBkZWZpbmVkIGlmIHZwOCB3YXMgbm90IGZvdW5kLgoKMjAxNi0wOS0yNyAxMDoyMzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgIm11bHRpZmlsZXNpbms6IHN0cmVhbWxpbmUgdGhlIGZpbGUtc3dpdGNoIGNvZGUgYSBiaXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjFjZWFhYjAyZjNmNTU3ZTIzYjc3YjE0NzcxYTU3NTc4OGY5MmJiNC4KCSAgVGhpcyBicm9rZSBhdG9taWMgZmlsZSB3cml0ZXMgaW4gImJ1ZmZlciIgbW9kZS4gSXQgZGlkIG1ha2UKCSAgc3VyZSB0aGF0IGFueSBzdHJlYW1oZWFkZXJzIGFyZSBwcmVwZW5kZWQgdG8gZWFjaCBmaWxlIGluCgkgIGJ1ZmZlciBtb2RlIGFzIHdlbGwsIGJ1dCB0aGF0J3Mgbm90IHJlYWxseSBuZWVkZWQgaW4gcHJhY3RpY2UsCgkgIHdoZXJlYXMgYXRvbWljIGZpbGUgd3JpdGVzIGFyZSwgc28gbGV0J3MgcmVzdG9yZSB0aGUgc3RhdHVzCgkgIHF1byBhbnRlIGZvciBub3cgc2luY2UgdGhpcyB3YXMgcHJpbWFyaWx5IGEgY29kZSBjbGVhbnVwIGFueXdheSwKCSAgYW5kIGlmIGFueW9uZSBuZWVkcyB0byBzdHJlYW1oZWFkZXJzIGluIGJ1ZmZlciBtb2RlIHRvbyB0aGV5CgkgIGNhbiBtYWtlIGEgcGF0Y2ggdG8gaW1wbGVtZW50IHRoYXQgZGlmZmVyZW50bHkuIFJlLWltcGxlbWVudGluZwoJICB0aGUgYXRvbWljIHdyaXRlcyBpbiB0aGUgZWxlbWVudCBhbHNvIHNlZW1zIHdheSB0b28gbXVjaCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTkwCgoyMDE2LTA5LTI3IDEwOjIyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIFJldmVydCAibXVsdGlmaWxlc2luazogY2xvc2UgZmlsZSBvbiB3cml0ZSBlcnJvciB3aXRoIG5leHQtZmlsZSBtb2RlIGlzIHNldCB0byBidWZmZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODRlNDQxZDI2ODVjZjIyM2QzNDhhOTViZTBjNWJhNjkzYmJmNjYyNC4KCSAgVGhpcyB3aWxsIG5vIGxvbmdlciBiZSBuZWVkZWQgb25jZSB3ZSByZXZlcnQgZjFjZWFhYjAyLgoKMjAxNi0wOS0yNiAxMzoyMjoyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBnc3QtcGx1Z2lucy1iYXNlIHBsdWdpbnMgZGlyZWN0b3JpZXMgdG8gYmUgdXNlZCBieSB0ZXN0cwoKMjAxNi0wOS0yNiAxNDozMDowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9nZXRwbHVnaW5zZGlyOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCB1bml0IHRlc3RzCgkgIE9ubHkgd29ya3MgcHJvcGVybHkgaW4gYW4gaW5zdGFsbGVkIHNldHVwIGN1cnJlbnRseSwgbW9zdAoJICBsaWtlbHkgd29uJ3Qgd29yayB3aXRoIGEgc3VicHJvamVjdHMgc2V0dXAgeWV0LgoKMjAxNi0wOS0yNCAwOTozNjoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiBwby9tZXNvbi5idWlsZDoKCSAgbWVzb246IGhvb2sgdXAgdHJhbnNsYXRpb25zCgoyMDE2LTA5LTA4IDE3OjMwOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERvbid0IG5lZ290aWF0ZSB0byBsZXNzIHRoYW4gdHdvIHNlZ21lbnRzCgkgIEdzdEF1ZGlvUmluZ0J1ZmZlciBkb2Vzbid0IG5lZWRzIHVzIHRvIGhhdmUgYXQgbGVhc3QgMiBzZWdtZW50cy4gV2UgbWFrZQoJICBzdXJlIHRoYXQgaWYgb3VyIGJ1ZmZlciBwYXJhbWV0ZXJzIGFyZSBzdWNoIHRoYXQgdGhlIG1heGxlbmd0aCBpcyBub3QgYXQKCSAgbGVhc3QgMnggZnJhZ3NpemUsIHdlIHN0aWxsIHJlcXVlc3QgdGhlIHJpbmdidWZmZXIgdG8ga2VlcCB0aGF0IG11Y2gKCSAgc3BhY2Ugc28gaXQgY29udGludWVzIHRvIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA0NDYKCjIwMTYtMDktMjQgMjM6MjI6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRml4IHRpbWVzdGFtcGluZwoJICBXZSB3ZXJlIGp1c3QgcGlja2luZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IGJ1ZmZlciBwdXNoZWQgaW50byBvdXIKCSAgYWRhcHRlciBiZWZvcmUgd2UgaGFkIGVub3VnaCBkYXRhIHRvIHB1c2ggb3V0LgoJICBUaGlzIGZpeGVzIHRoaW5ncyB0byBmaWd1cmUgb3V0IGhvdyBsYXJnZSBlYWNoIGZyYW1lIGlzIGFuZCB3aGF0CgkgIGR1cmF0aW9uIGl0IGNvdmVycywgc28gd2UgY2FuIHNldCBib3RoIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uCgkgIGNvcnJlY3RseS4KCSAgQWxzbyBhZGRzIHNvbWUgRElTQ09OVCBoYW5kbGluZy4KCjIwMTYtMDctMTIgMTg6MTQ6NTIgKzAyMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBmb3VyY2MgZm9yIFByb1JlcyBQcm94eQoJICBUaGlzIGlzIGFwY28sIGFjY29yZGluZyB0bwoJICBodHRwczovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9QXBwbGVfUHJvUmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMTggMjA6NTU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJICBtZXNvbjogZml4IGJ1aWxkIHdpdGggdnB4IDEuMy54CgkgIHZweCA+PSAxLjQuMCBpcyBvcHRpb25hbAoKMjAxNi0wOS0xNSAxODoxOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIG5ldyBiaW4gc3VwcHJlc3NlZCBmbGFncyBBUEkgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50IGZsYWdzCgoyMDE2LTA5LTE1IDA5OjUyOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBleHQsIGdzdDogZml4IGluZGVudGF0aW9uCgoyMDE2LTA5LTE1IDA5OjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwdnA5LmM6CgkgIHRlc3RzOiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDgtMTEgMTE6MDQ6MjIgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggY2FsY3VsYXRpbmcgbmV4dF9zZXFudW0gd2hlbiBkcm9wcGluZyBvbGQgYnVmZmVycyBmcm9tIGEgZnVsbCBxdWV1ZS4KCSAgRml4ZXMgY2FsY3VsYXRpbmcgdGhlIG5leHQgc2VxdWVuY2UgbnVtYmVyIHdoZW4gYSBJVEVNX1RZUEVfTE9TVCB3aXRoIG1vcmUgdGhhbiBvbmUKCSAgZGVmaW5pdGVseSBsb3N0IHBhY2tldHMgaXMgZW5jb3VudGVyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NTcKCjIwMTYtMDgtMTEgMjM6MDc6NDQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlZCBydHgtcnR0IGF2ZXJhZ2luZwoJICBUaGUgYmFzaWMgaWRlYSBpcyB0aGlzOgoJICAxLiBGb3IgKmxhcmdlciogcnR4LXJ0dCwgd2VpZ2ggYSBuZXcgbWVhc3VyZW1lbnQgYXMgYmVmb3JlCgkgIDIuIEZvciAqc21hbGxlciogcnR4LXJ0dCwgYmUgYSBiaXQgbW9yZSBjb25zZXJ2YXRpdmUgYW5kIHdlaWdoIGEgYml0IGxlc3MKCSAgMy4gRm9yIHZlcnkgbGFyZ2UgbWVhc3VyZW1lbnRzLCBjb25zaWRlciB0aGVtICJvdXRsaWVycyIKCSAgYW5kIGNvdW50IHRoZW0gYSBsb3QgbGVzcwoJICBUaGUgaWRlYSBiZWluZyB0aGF0IHJlZHVjaW5nIHRoZSBydHgtcnR0IGlzIG11Y2ggbW9yZSBoYXJtZnVsIHRoZW4KCSAgaW5jcmVhc2luZyBpdCwgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0byBiZSB1bmRlcmVzdGltYXRpbmcgdGhlIHJ0dCBvZiB0aGUKCSAgbmV0d29yaywgYW5kIHdoZW4gdXNpbmcgdGhpcyBudW1iZXIgdG8gZXN0aW1hdGUgdGhlIGxhdGVuY3kgeW91IG5lZWQgZm9yCgkgIHlvdSBqaXR0ZXJidWZmZXIsIHlvdSB3b3VsZCByYXRoZXIgd2FudCBpdCB0byBiZSBhIGJpdCBsYXJnZXIgdGhlbiBhIGJpdAoJICBzbWFsbGVyLCBwb3RlbnRpYWxseSBsb3NpbmcgcnR4LXBhY2tldHMuIFRoZSAib3V0bGllci1kZXRlY3RvciIgaXMgdGhlcmUKCSAgdG8gcHJldmVudCBhIHNpbmdsZSBza2V3ZWQgbWVhc3VyZW1lbnQgdG8gYWZmZWN0IHRoZSBvdXRjb21lIHRvbyBtdWNoLgoJICBPbiB3aXJlbGVzcyBuZXR3b3JrcywgdGhlc2UgYXJlIHN1cnByaXNpbmdseSBjb21tb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMDUgMTI6NTE6NTkgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERldGVjdCB3aGV0aGVyIHRvIGFzc3VtZSBlcXVpZGlzdGFudCBzcGFjaW5nIHdoZW4gbG9zcwoJICBBc3N1bWluZyBlcXVpZGlzdGFudCBwYWNrZXQgc3BhY2luZyB3aGVuIHRoYXQncyBub3QgdHJ1ZSBsZWFkcyB0byBtb3JlCgkgIGxvc3MgdGhhbiBuZWNlc3NhcnkgaW4gdGhlIGNhc2Ugb2YgcmVvcmRlcmluZyBhbmQgaml0dGVyLiBUeXBpY2FsbHkgdGhpcwoJICBpcyB0cnVlIGZvciB2aWRlbyB3aGVyZSBvbmUgZnJhbWUgb2Z0ZW4gY29uc2lzdHMgb2YgbXVsdGlwbGUgcGFja2V0cwoJICB3aXRoIHRoZSBzYW1lIHJ0cCB0aW1lc3RhbXAuIEluIHRoaXMgY2FzZSBpdCdzIGJldHRlciB0byBhc3N1bWUgdGhhdCB0aGUKCSAgbWlzc2luZyBwYWNrZXRzIGhhdmUgdGhlIHNhbWUgdGltZXN0YW1wIGFzIHRoZSBsYXN0IHJlY2VpdmVkIHBhY2tldCwgc28KCSAgdGhhdCB0aGUgc2NoZWR1bGVkIGxvc3QgdGltZXIgZG9lcyBub3QgdGltZSBvdXQgdG9vIGVhcmx5IGNhdXNpbmcgdGhlCgkgIHBhY2tldHMgdG8gYmUgY29uc2lkZXJlZCBsb3N0IGV2ZW4gdGhvdWdoIHRoZXkgbWF5IGFycml2ZSBpbiB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTI3IDEwOjM5OjUwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCByZXF1ZXN0IHJ0eCBpZiAnbm93JyBpcyBwYXN0IHJldHJ5IHBlcmlvZAoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHNjaGVkdWxlIGFub3RoZXIgRVhQRUNURUQgdGltZXIgaWYgd2UncmUgYWxyZWFkeQoJICBwYXN0IHRoZSByZXRyeSBwZXJpb2QuIFVuZGVyIG5vcm1hbCBvcGVyYXRpb24gdGhpcyB3b24ndCBoYXBwZW4sIGJ1dCBpZgoJICB0aGVyZSBhcmUgbW9yZSB0aW1lcnMgdGhhbiB0aGUgaml0dGVyYnVmZmVyIGlzIGFibGUgdG8gcHJvY2VzcyBpbgoJICByZWFsLXRpbWUsIHNjaGVkdWxpbmcgbW9yZSB0aW1lcnMgd2lsbCBqdXN0IG1ha2UgdGhlIHNpdHVhdGlvbiB3b3JzZS4KCSAgSW5zdGVhZCwgY29uc2lkZXIgdGhpcyBwYWNrZXQgYXMgbG9zdCBhbmQgbW92ZSBvbi4gVGhpcyBzY2VuYXJpbyBjYW4KCSAgb2NjdXIgd2l0aCBoaWdoIGxvc3MgcmF0ZSwgbG93IHJ0dCBhbmQgaGlnaCBjb25maWd1cmVkIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMjYgMTg6MDE6NDggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBsb3N0IGR1cmF0aW9uIHdoZW4gZ2FwIGFmdGVyIGxvc3QgdGltZXIKCSAgVGhpcyBwYXRjaCBmaXhlcyBhbiBpc3N1ZSB3aXRoIHRoZSBlc3RpbWF0ZWQgZ2FwIGR1cmF0aW9uIHdoZW4gdGhlcmUgaXMKCSAgYSBnYXAgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBsb3N0IHRpbWVyIGhhcyBiZWVuIHByb2Nlc3NlZC4gUHJldmlvdXNseQoJICB0aGVyZSB3YXMgYSBkaXNjcmVwYW5jeSBiZXRlZW4gdGhlIGdhcCBpbiBzZXFudW0gYW5kIGdhcCBpbiBkdHMgd2hpY2gKCSAgd291bGQgY2F1c2Ugd3JvbmcgY2FsY3VsYXRlZCBkdXJhdGlvbi4gVGhlIGlzc3VlIHdvdWxkIG9ubHkgYmUgc2VlbiB3aXRoCgkgIHJldHJhbm1pc3Npb24gZW5hYmxlZCBzaW5jZSB3aGVuIGl0J3MgZGlzYWJsZWQgbG9zdCB0aW1lcnMgYXJlIG9ubHkKCSAgY3JlYXRlZCB3aGVuIGEgcGFja2V0IGlzIHJlY2VpdmVkIGFuZCB0aGUgYWN0dWFsIGdhcCBsZW5ndGggYW5kIGxhc3QgZHRzCgkgIGlzIGtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTE5IDAxOjExOjU4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBFeHBvc2UgcnR4LWRlYWRsaW5lIGFzIGEgcHJvcGVydHkKCSAgVGhlIGRlZmF1bHQgLTEgZ2l2ZXMgdGhlIG9sZCBiZWhhdmlvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOC0xMSAxMjowMjoxOSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEltcHJvdmVkIGV4cGVjdGVkLXRpbWVyIGhhbmRsaW5nIHdoZW4gZ2FwID4gMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTExIDExOjUxOjUwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNYWpvciBpbXByb3ZlbWVudHMgZm9yIFJUWCBzdGF0cwoJICBTdGF0cyBzaG91bGQgYWxzbyBiZSBjb2xsZWN0ZWQgZm9yIHVuc3VjY2Vzc2Z1bCBwYWNrZXRzLgoJICBydHgtcnR0IGlzIHZlcnkgaW1wb3J0YW50IGZvciBkZXRlcm1pbmluZyB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyZWQKCSAgbGF0ZW5jeSBvbiB0aGUgaml0dGVyYnVmZmVyLiBJdCdzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHRvIGJlIGFibGUgdG8KCSAgaW5jcmVhc2UgdGhlIGxhdGVuY3kgd2hlbiByZXRyYW5zbWl0dGVkIHBhY2tldHMgYXJyaXZlIHRvbyBsYXRlIGFuZCBhcmUKCSAgY29uc2lkZXJlZCBsb3N0LiBUaGlzIHBhdGNoIGluY2x1ZGVzIHRoZXNlIGxhdGUgcGFja2V0cyBpbiB0aGUKCSAgY2FsY3VsYXRpb24gb2YgdGhlIHZhcmlvdXMgcnR4IHN0YXRzLCBtYWtpbmcgdGhlbSBtb3JlIGNvcnJlY3QgYW5kCgkgIHVzZWZ1bC4KCSAgQWxzbyBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgb3JpZ2luYWwgcGFja2V0IGFycml2ZXMgYWZ0ZXIgYSBOQUNLIGlzIHNlbnQsCgkgIHRoZSByZWNlaXZlZCBSVFggcGFja2V0IHNob3VsZCB1cGRhdGUgdGhlIHN0YXRzIHNpbmNlIGl0IHByb3ZpZGVzIHVzZWZ1bAoJICBpbmZvcm1hdGlvbiBhYm91dCBSVFQuCgkgIFRoZSBSVFQgaXMgb25seSB1cGRhdGVkIGlmIGFuZCBvbmx5IGlmIGFsbCByZXF1ZXN0ZWQgcmV0cmFubWlzc2lvbnMgYXJlCgkgIHJlY2VpdmVkLiBUaGF0IHdheSB0aGUgUlRUIGlzIGd1YXJhbnRlZWQgdG8gbWFrZSBzZW5zZS4gSWYgbm90IHdlIGRvbid0CgkgIGtub3cgd2hpY2ggcmVxdWVzdCB0aGUgcGFja2V0IGlzIGEgcmVzcG9uc2UgdG8gYW5kIHRoZSBSVFQgbWF5IGJlIGJvZ3VzLgoJICBBIGNvbnNlcXVlbmNlIG9mIHRoaXMgcGF0Y2ggaXMgdGhhdCBSVFQgaXMgbm90IHVwZGF0ZWQgZm9yIGEgcmVxdWVzdAoJICB3aGVuIG9uZSBvZiB0aGUgUlRYIHBhY2tldHMgZm9yIHRoYXQgc2VxbnVtIGlzIGxvc3QsIGJ1dCB0aGF0IHNpbmNlCgkgIG1lYXN1cmVkIFJUVCB3aWxsIGJlIG1vcmUgYWNjdXJhdGUuCgkgIFRoZSBpbXBsZW1lbnRhdGlvbiBzdG9yZSB0aGUgUlRYIGluZm9ybWF0aW9uIGZyb20gdGhlIHRpbWVkIG91dCB0aW1lcnMKCSAgYW5kIHVzZSB0aGlzIHdoZW4gdGhlIHJldHJhbnNtaXR0ZWQgcGFja2V0IGFycml2ZXMuIEZvciBwZXJmb3JtYW5jZQoJICB0aGVzZSB0aW1lcnMgYXJlIHN0b3JlZCBzZXBhcmF0ZWx5IGZyb20gdGhlICJub3JtYWwiIHRpbWVycyBpbiBvcmRlciB0bwoJICBub3QgaW1wYWN0IHBlcmZvcm1hbmNlIChzZWUgYXR0YWNoZWQgcGVyZm9ybWFuY2UgdGVzdCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMTEgMTE6MDI6NDQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgYW5kIGV4cG9zZSBtb3JlIHN0YXRzIGFuZCBpbmNyZWFzZSB0ZXN0aW5nIG9mIGl0CgkgIEFkZCBudW0tcHVzaGVkIGFuZCBudW0tbG9zdC4KCSAgRXhwb3NlIG51bS1sYXRlLCBudW0tZHVwbGljYXRlcyBhbmQgYXZnLWppdHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0wNyAxMDoyMDowMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IFNldCBidWZmZXIgZmxhZyBmb3IgcmV0cmFuc21pdHRlZCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMDkgMjM6NDc6NDEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IE9wdGlvbiB0byBkaXNhYmxlIHJ0eC1kZWxheS1yZW9yZGVyCgkgIFdoZW4gZGlzYWJsZWQgd2UgY2FuIHNhdmUgc29tZSBpdGVyYXRpb25zIG92ZXIgdGltZXJzLgoJICBUaGVyZSBpcyBwcm9iYWJseSBhbiBhcmd1bWVudCBmb3IgcnR4LWRlbGF5LXJlb3JkZXIgdG8gZXhpc3QsIGJ1dAoJICBmb3Igbm9ybWFsIG9wZXJhdGlvbnMsIGhhbmRsaW5nIGppdHRlciAocmVvcmRlcmluZykgaXMgc29tZXRoaW5nIGEKCSAgaml0dGVyYnVmZmVyIHNob3VsZCBkbywgYW5kIHRoaXMgdmFyaWFibGUgZmVlbHMgbGlrZSBmdW5jdGlvbmFsaXR5IHRoYXQKCSAgaXMgbm90ICJpbi1zeW5jIiB3aXRoIHdoYXQgdGhlIGppdHRlcmJ1ZmZlciBpcyB0cnlpbmcgdG8gYWNoaWV2ZS4KCSAgRXhhbXBsZTogWW91IGhhdmUgNTBtcyBqaXR0ZXIgb24geW91ciBuZXR3b3JrLCBhbmQgYXJlIHJlY2VpdmluZwoJICBhdWRpbyBwYWNrZXRzIHdpdGggMTBtcyBkdXJhdGlvbnMuIEFuIGF1ZGlvIHBhY2tldCBzaG91bGQgbm90IGJlCgkgIGNvbnNpZGVyZWQgbGF0ZSB1bnRpbCBpdHMgcnR4LXRpbWVvdXQgaGFzIGV4cGlyZWQgKGFuZCBoZW5jZSBhIHJ0eC1ldmVudAoJICBpcyBzZW50KSwgYnV0IHdpdGggcnR4LWRlbGF5LXJlb3JkZXIsIGV2ZW50cyB3aWxsIGJlIHNlbnQgcHJldHR5IG11Y2gKCSAgYWxsIHRoZSB0aW1lIGR1ZSB0byB0aGUgaml0dGVyIG9uIHRoZSBuZXR3b3JrLgoJICBQb2ludCBiZWluZzogVGhlIGppdHRlcmJ1ZmZlciBzaG91bGQgYWRhcHQgaXRzIHNpemUgdG8gdGhlIG1lYXN1cmVkIG5ldHdvcmsKCSAgaml0dGVyLCBhbmQgdGhlbiBydHgtZGVsYXktcmVvcmRlciBuZWVkcyB0byBhZGFwdCBhcyB3ZWxsLCBvciBzaW1wbHkKCSAgZ2V0IG91dCBvZiB0aGUgd2F5IGFuZCBsZXQgdGhlIG90aGVyIChiZXR0ZXIpIHJ0eC1tZWNoYW5pc21zIGRvIHRoZWlyIGpvYi4KCSAgQWxzbyBjaGFuZ2UgZmluZF90aW1lciB0byBvbmx5IHVzZSBzZXFudW0gYXMgYW4gYXJndW1lbnQsIHNpbmNlIHRoZXJlCgkgIHdpbGwgb25seSBldmVyIGJlIG9uZSB0aW1lciBwZXIgc2VxbnVtIGF0IGFueSBnaXZlbiB0aW1lLiBJbiB0aGUKCSAgb25lIGNhc2Ugd2hlcmUgdGhlIHR5cGUgbWF0dGVycywgdGhlIGNhbGxlciBzaW1wbHkgY2hlY2tzIHRoZSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA5LTE0IDA5OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEZpeCBkb3VibGUgZnJlZSBmcm9tIGNvdmVyaXR5CgkgIENJRCAjMTM3Mjg4NwoKMjAxNi0wOS0xNCAwOTo1ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBJbmRlbnQgYXMgcGVyIGdzdC1pbmRlbnQKCjIwMTYtMDktMTQgMTE6MzA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGVwZW5kIG9uIGdzdHJlYW1lciAxLjkuMi4xCgoyMDE2LTA5LTE0IDEwOjE3OjAyICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bC5sZWVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogVXNlIGdzdF9iaW5fc2V0X3N1cHByZXNzZWRfZmxhZ3MoKSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTM5NQoKMjAxNi0wOS0wOSAxNTozNjoxMiArMDIwMCAgVGhvbWFzIFNjaGV1ZXJtYW5uIDxUaG9tYXMuU2NoZXVlcm1hbm5AYmFyY28uY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IEZpeCBwaXBlbGluZSBoYW5nIHdoZW4gamFjayBjaGFuZ2VzIHNhbXBsZSByYXRlIG9yIGJ1ZmZlciBzaXplCgkgIElmIGphY2tkIGNoYW5nZXMgdGhlIGJ1ZmZlciBzaXplIG9yIHNhbXBsZSByYXRlLCBqYWNrYXVkaW9zaW5rIGhhbmdzCgkgIGFuZCBjYW4ndCBiZSBzdG9wcGVkLiBUaGlzIGFsc28gaGFwcGVucyBpZiBqYWNrIGlzIGNvbmZpZ3VyZWQgYXMgc2xhdmUKCSAgYW5kIGEgZ3N0cmVhbWVyIHBpcGVsaW5lIGlzIHN0YXJ0ZWQgb24gdGhlIHNsYXZlIG1hY2hpbmUgd2hpbGUgdGhlIGphY2sKCSAgbWFzdGVyIGlzbid0IHJ1bm5pbmcgeWV0LiBJZiB0aGUgdGhlIGphY2sgbWFzdGVyIGlzIHN0YXJ0ZWQgaXQgY2hhbmdlcwoJICB0aGUgYnVmZmVyIHNpemUgLyBzYW1wbGUgcmF0ZSBhbmQgamFja2F1ZGlvc2luayBjYW4ndCBiZSBzdG9wcGVkLgoJICBUaGlzIGZpeCBjYWxscyBqYWNrX3NodXRkb3duX2NiIHdoZW4gamFja19zYW1wbGVfcmF0ZV9jYiBvcgoJICBqYWNrX2J1ZmZlcl9zaXplX2NiIGlzIGNhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTI3MgoKMjAxNi0wOS0xMiAyMDowODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGZpZWxkIG9yZGVyaW5nIGZvciByZXZlcnNlIHBsYXliYWNrCgkgIEFuZCBhY3R1YWxseSBjYWxjdWxhdGUgdGhlIGZpZWxkIGR1cmF0aW9uIGluc3RlYWQgb2YgYSBmcmFtZSBkdXJhdGlvbiBzbwoJICB0aGF0IHdlIGNhbiBwcm9wZXJseSB0aW1lc3RhbXAgb3V0cHV0IGZyYW1lcyBpbiBmaWVsZHM9YWxsIG1vZGUuCgkgIFRoaXMgaXMgcHJvYmFibHkgc3RpbGwgYnJva2VuIGZvciByZXZlcnNlIHBsYXliYWNrIGluIHRlbGVjaW5lIG1vZGUuCgoyMDE2LTA5LTEyIDA5OjAyOjAwICswMDAwICBUaG9tYXMgS2xhdXNuZXIgPHRrQGdpZ2Eub3IuYXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBjb21waWxhdGlvbiBvbiBOZXRCU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTI3OAoKMjAxNi0wOS0xMCAyMDo1MToxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIxOGQ4MjAgdG8gZjk4MGZkOQoKMjAxNi0wOS0wOSAxNDowMjoyNSArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb2Zmc2V0IGlzIGlycmVsZXZhbnQgd2hlbiBubyBjcnlwdG8gaW5mbwoJICBDYXVzZSBsYXRlciBpdCB3aWxsIHRyeSB0byB1c2UgdGhlIGNyeXB0byBpbmZvIGFycmF5IHRvIGdldCBhbiBpbmRleCBhbmQKCSAgYXR0YWNoIG9uIG9mIHRoZSBwb3NpdGlvbnMgYXMgYnVmZmVyJ3MgY3J5cHRvIGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5NTEKCjIwMTYtMDktMTAgMDk6NTM6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNDljNTVlIHRvIGIxOGQ4MjAKCjIwMTYtMDktMDcgMTU6MzM6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgb3N4YXVkaW86IERpc3RyaWJ1dGUgZGV2aWNlIHByb3ZpZGVyIGZpbGVzCgkgIFRob3NlIHdoZXJlIG1pc3NpbmcgdGhlIHRoZSBkZXYgcmVsZWFzZSB0YXJiYWxscyBmb3IgMS45LjIgd2hpY2gKCSAgcHJldmVudGVkIGJ1aWxkaW5nIGZyb20gdGFyYmFsbCBvbiBPU1ggcGxhdGZvcm0KCjIwMTYtMDktMDYgMDk6NDk6MzkgKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjcmFzaCB3aXRoIG5vIGNlbmMgYXV4IG9mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTUxCgoyMDE2LTA5LTA1IDA5OjM5OjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHBhcnNlIGEgYml0IG1vcmUgb2YgdGhlIGh1bW9uZ291cyBMT0FTIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozOTowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtYWtlIGl0IGNsZWFyIHdoZW4gYSBwb3RlbnRpYWwgTE9BUyBmcmFtZSBpcyBub3Qgb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6Mzg6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWRkIGEgZmV3IGNvbW1lbnRzIHRvIGFuY2hvciBwYXJzaW5nIHRvIHRoZSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6Mzc6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBpbXByb3ZlIGNoYW5uZWwvcmF0ZSBoYW5kbGluZwoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHBhcnNlZCBjaGFubmVscy9yYXRlIGZpZWxkcyBzbyB0aGV5IGNhbiBiZQoJICB1c2VkIGV2ZW4gaWYgdGhlIGVsZW1lbnQgd2FzIG5vdCB5ZXQgY29uZmlndXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozNTo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggdmFybGVuZ3RoIG51bWJlciByZWFkaW5nIGFzIHBlciBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6MzU6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc3RyaXAgdW5lZWRlZCBzdGF0aWMgYXJyYXlzIHNsYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDctMTggMTk6MTg6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBydHBtcDRhZGVwYXk6IE9ubHkgZGVjbGFyZSBhIHN0cmVhbSB0byBiZSBmcmFtZWQgb25jZSBhIG1hcmtlciBiaXQgaGFzIGJlZW4gc2VlbgoJICBUaGlzIG1heSBjYXVzZSBhIGZldyBwYWNrZXRzIHRvIGJlIHByb2Nlc3NlZCBieSB0aGUgcGFyc2VyLCBidXQgaXQncwoJICBiZXR0ZXIgdGhhbiBuZXZlciBwdXNoaW5nIG91dCBidWZmZXJzIGZyb20gYSBzbGlnaHRseSBicm9rZW4gc3RyZWFtCgkgIHdoZXJlIG5vIG1hcmtlciBiaXRzIGFyZSBzZXQuCgoyMDE2LTA5LTA2IDE0OjI1OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRml4IHRpbWVzdGFtcGluZyBpbiByZXZlcnNlIHBsYXliYWNrIG1vZGUKCSAgVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCByaWdodCBub3cgaWYgYWZ0ZXIgYSBkZW11eGVyIHRoYXQgc3VwcG9ydHMgcmV2ZXJzZQoJICBwbGF5YmFjaywgZS5nLiB3aXRoIERWIGNvbnRhaW5lciBpbnNpZGUgQVZJIGNvbnRhaW5lci4KCjIwMTYtMDktMDUgMTI6MjM6NTQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBCdW1wIHZlcnNpb24gdG8gMS45LjIKCjIwMTUtMDYtMjYgMjA6MTM6MTcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9pc29tcDQvR3N0UVRNdXgucHJzOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UuCgkgICsgQW5kIHByb3ZpZGUgYSAieW91dHViZSIgcHJlc2V0LCB3aGljaCBiYXNlZCBvbgoJICBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci8xNzIyMTcxIHNldHMKCSAgZmFzdHN0YXJ0IHRvIFRydWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1NTkKCjIwMTYtMDktMDEgMTI6Mjc6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOS4yID09PQoKMjAxNi0wOS0wMSAxMjoyNzoxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS4yCgoyMDE2LTA5LTAxIDExOjIzOjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0wMSAxMDo1OTo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIHRlc3RzL2V4YW1wbGVzOiAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFdlIHVzZSBnZGtfY2Fpcm9fY3JlYXRlKCkgd2hpY2ggaXMgZGVwcmVjYXRlZCBzaW5jZSAzLjIyLgoKMjAxNi0wOC0zMSAwNTo1MDo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvOiBSZW1vdmUgUXVpY2tUaW1lIHJlZmVyZW5jZXMuCgkgIFF1aWNrVGltZS5oIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgb24gT1MgWCAxMC4xMiAoU2llcnJhKSwKCSAgYW5kIGJvdGggdGhlIGhlYWRlciBhbmQgdGhlIGZyYW1ld29yayBzZWVtIHVubmVjZXNzYXJ5CgkgIGZvciBjb21waWxhdGlvbiAtIGF0IGxlYXN0IGFzIG9mIDEwLjExIChFbCBDYXBpdGFuKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDUyNgoKMjAxNi0wOC0xOSAxMToxMTowMyAtMDcwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgVXNlIHRoZSBuZXcgQVBJIHRvIHBvc3QgZmxvdyBFUlJPUiBtZXNzYWdlcyBvbiB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAxNTgKCjIwMTYtMDgtMjYgMjE6MzI6MDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIHF0ZGVtdXgsIHJ0cGgyNjEgYW5kIHJ0cHZwOSB0ZXN0cwoKMjAxNi0wOC0yNiAyMToyMjoxNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgR1NUX05FVF9MSUJTIGluc3RlYWQgb2YgaGFyZGNvZGVkIC1sZ3N0bmV0CgkgIEZpeGVzIGJ1aWxkIGluIE9TWCB3aGVuIHJ1bm5pbmcgJ21ha2UgY2hlY2snIGluIGdzdC11bmluc3RhbGxlZC4KCjIwMTYtMDgtMjYgMjE6MTQ6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiByZW1vdmUgYSB3cm9uZyAnY29uc3QnIHNwZWNpZmllcgoJICBGaXhlcyAiZXJyb3I6IGR1cGxpY2F0ZSAnY29uc3QnIGRlY2xhcmF0aW9uIHNwZWNpZmllciIKCjIwMTYtMDgtMjYgMjE6MTE6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBzaWxlbmNlIGVycm9yIGFib3V0IHB0aHJlYWQgZm9yICdtYWtlIGNoZWNrJyBpbiBvc3gKCSAgRml4ZXMgImNsYW5nOiBlcnJvcjogYXJndW1lbnQgdW51c2VkIGR1cmluZyBjb21waWxhdGlvbjogJy1wdGhyZWFkJyIKCjIwMTYtMDgtMjYgMjA6MzE6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdnA5ZW5jOiBGaXggYnVpbGQgb2YgdW5pdCB0ZXN0IGJ5IGxldHRpbmcgaXQgbGluayB0byBsaWJnc3R2aWRlbwoKMjAxNi0wOC0yNiAxMjowNjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgUmV2ZXJ0ICJydHBtdXg6IGZpeCBQUk9QX1RJTUVTVEFNUF9PRkZTRVQgcmFuZ2UgcHJvYmxlbXMiCgkgIFRoaXMgYnJva2UgQVBJLCBzbyB3ZSBuZWVkIGEgYmV0dGVyIHNvbHV0aW9uIQoJICBUaGlzIHJldmVydHMgY29tbWl0IGM3NTc5ZDMxYTZlOWQ3ODhlOTRiODMyNTgzMDkwNjNkMGFhZTQ4MWUuCgoyMDE2LTA2LTA4IDE1OjA2OjI4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHZwOS5jOgoJICBydHB2cDlkZXBheTogU3VwcG9ydCBmbGV4aWJsZSBtb2RlCgoyMDE2LTA2LTA2IDE3OjAzOjM2ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDllbmMuYzoKCSAgdnA5ZW5jOiBGaXggbGVhayBvZiB2cHhfaW1hZ2VfdAoKMjAxNi0wNS0wNiAxMzozMzoyMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzcGRlcGF5OiBEb24ndCB0cnkgdG8gcHVzaCBlbXB0eSBmcmFtZQoJICBJZiB0aGUgcmVzdWx0IG9mIGRlcGF5bG9hZGluZyBpcyBhbiBlbXB0eSBmcmFtZSwganVzdCBkcm9wIGl0LiBUaGlzIGlzCgkgIGxpa2VseSB0aGUgcmVzdWx0IG9mIGEgYnVnZ3kgcGF5bG9hZGVyLgoKMjAxNi0wNS0wNiAxNjowNjo1MyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IGZpeCBQUk9QX1RJTUVTVEFNUF9PRkZTRVQgcmFuZ2UgcHJvYmxlbXMKCSAgSXQgY291bGQgbm90IHNldCB0aGUgb2Zmc2V0IGZvciB0aGUgZnVsbCBndWludDMyIHJhbmdlLgoKMjAxNi0wNS0wNiAwOTo0NDo0MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGludHJvZHVjZSBtYXgtc3RyZWFtcyBwcm9wZXJ0eQoJICBUbyBiZSBhYmxlIHRvIGNhcCB0aGUgbnVtYmVyIG9mIGFsbG93ZWQgc3RyZWFtcyBmb3Igb25lIHNlc3Npb24uCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBwcmV2ZW50aW5nIERvUyBhdHRhY2tzLCB3aGVyZSBhIHNlbmRlciBjYW4gY2hhbmdlCgkgIFNTUkMgZm9yIGV2ZXJ5IGJ1ZmZlciwgZWZmZWN0aXZlbHkgYnJpbmdpbmcgcnRwYmluIHRvIGEgaGFsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDI5MgoKMjAxNi0wMy0zMSAwMDoxMDo0OSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogcmVvcmRlcmVkIHBhY2tldHMgYXJlIHZlcnkgbm9ybWFsLCBhbmQgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcKCjIwMTYtMDItMDUgMTQ6MTk6MjUgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZGVncmFkZSBnX3dhcm5pbmcgdG8gR1NUX0VSUk9SCgkgIFNvIHdlIGRvbid0IGJsb3cgdXAgd2hpbGUgaW52ZXN0aWdhdGluZwoKMjAxNi0wMi0wNCAxNDoxNjo0MCArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzcGRlcGF5OiBGaXggcGljdHVyZSBoZWFkZXIgZm9yIG5vbi13cml0YWJsZSBwYXlsb2FkCgkgIFVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucyBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZCgpIHJldHVybnMgYSBjb3B5IG9mCgkgIHRoZSBwYXlsb2FkLiBJbiB0aGlzIGNhc2UgdGhlIHBheWxvYWQgbW9kaWZpY2F0aW9ucyB3aWxsIG5vdCBhZmZlY3QgdGhlCgkgIHJ0cCBidWZmZXIuIFNvIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBwYXlsb2FkIGJ1ZmZlciBkaXJlY3RseSB3ZQoJICBzaG91bGQgbW9kaWZ5IHRoZSBidWZmZXIgdGhhdCBhY3R1YWxseSBnZXRzIHB1c2hlZCBvbiB0aGUgYWRhcHRlci4KCjIwMTUtMTEtMTkgMTE6NTA6NDcgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjEuYzoKCSAgcnRwaDI2MWRlcGF5OiBGaXggY2hlY2sgb2YgdmFsaWQgcGF5bG9hZCBsZW5ndGgKCSAgUGFja2V0cyB3aXRoIG5vIEguMjYxIHBheWxvYWQgc2hvdWxkIGJlIGRyb3BwZWQgdG8gYXZvaWQgaW52YWxpZAoJICB3cml0ZS9yZWFkcy4KCjIwMTUtMTEtMDkgMTA6MDY6MjEgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BheTogRml4IGRvdWJsZSBmcmVlLCBpbnZhbGlkIHJlYWRzIGFuZCBsZWFrCgoyMDE0LTA2LTMwIDE1OjQzOjU4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2FuaXR5IGNoZWNrIFJUVCBiZWZvcmUgaWdub3JpbmcgUExJL0ZJUgoKMjAxNC0wNi0zMCAxNTowNzo0NSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGhhbmRsZSBzZGVzIG1lc3NhZ2VzIHdpdGggbm9uLXV0ZjggbW9yZSBncmFjZWZ1bGx5CgoyMDE0LTA2LTE3IDA4OjUyOjUwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuLnNlbG5lc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogY2hhbmdlIGxvZyBsZXZlbCBvbiBiaXRzdHJlYW0gcGFyc2luZyBtZXNzYWdlcwoKMjAxNi0wNy0wNyAxMToxMzoxOCArMDIwMCAgTWlraGFpbCBGbHVka292IDxtaXNoYUBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvcnRwcnR4OiByZWZhY3RvciB0aGUgdGVzdHMgdG8gdXNlIGdzdGhhcm5lc3MKCSAgVGhlIGZ1bmN0aW9uYWxpdHkgb2YgYWxsIHRoZSB0ZXN0cyB3YXMga2VwdCBleGFjdGx5IHRoZSBzYW1lLiBTb21lIHRlc3RzCgkgIHdlcmUgcmVuYW1lZDoKCSAgdGVzdF9wdXNoX2ZvcndhcmRfc2VxIC0+IHRlc3RfcnR4c2VuZF9ydHhyZWNlaXZlCgkgIHRlc3RfZHJvcF9vbmVfc2VuZGVyIC0+IHRlc3RfcnR4c2VuZF9ydHhyZWNlaXZlX3dpdGhfcGFja2V0X2xvc3MKCSAgdGVzdF9kcm9wX211bHRpcGxlX3NlbmRlciAtPiB0ZXN0X211bHRpX3J0eHNlbmRfcnR4cmVjZWl2ZV93aXRoX3BhY2tldF9sb3NzCgkgIHRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uIHdhcyB0ZXN0aW5nIHRoYXQgcmV0cmFuc21pdHRlZAoJICBidWZmZXIgcHJvZHVjZWQgYnkgcnR4c2VuZCB3YXMgY29ycmVjdGx5IHRyYW5zZm9ybWVkIHRvIHRoZSBvcmlnaW5hbAoJICBidWZmZXIgYnkgcnR4cmVjZWl2ZS4gTm93IHdlIGFyZSBjaGVja2luZyBmb3IgdGhpcyBpbiBhbGwgdGhlIHRlc3RzCgkgIHdoZXJlIGJvdGggcnR4c2VuZCAmIHJ0eHJlY2VpdmUgYXJlIGludm9sdmVkLiBUaGF0J3Mgd2h5IHRoZSB0ZXN0IHdhcwoJICByZW1vdmVkLgoKMjAxNi0wOC0yNSAxNTo1MjozNiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogU2V0IFJUUCBtYXJrZXIgYml0CgkgIFNldCB0aGUgUlRQIG1hcmtlciBiaXQgb24gdGhlIGxhc3QgUlRQIHBhY2tldCBvZiBhbiBILjI2NSBhY2Nlc3MgdW5pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDM5NAoKMjAxNi0wNy0yNiAxOTozOTo1OCArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBhZGRlZCBHc3RWaWRlb0RpcmVjdGlvbiBpbnRlcmZhY2UKCSAgSXQgaW1wbGVtZW50cyBub3cgdGhpcyBpbnRlcmZhY2Ugd2l0aCBpdHMgdmlkZW8tZGlyZWN0aW9uCgkgIHByb3BlcnR5LiBWYWx1ZXMgYXJlIGNoYW5nZWQgdG8gR3N0VmlkZW9PcmllbnRhdGlvbk1ldGhvZCBidXQgdGhleSBoYXZlCgkgIHRoZSBzYW1lIHZhbHVlIHRoYW4gdGhlIG9yaWdpbmFscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODY4NwoKMjAxNS0xMS0wNiAxMDozOToxNiArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiByZWZhY3RvciBkdXBsaWNhdGUgY29kZSBpbnRvIGEgZnVuY3Rpb24KCSAgTGVzcyBjb2RlLCBlYXNpZXIgdG8gcmVhZCwgbW9yZSBjb25zaXN0ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjkzCgoyMDE2LTA4LTIzIDE3OjA2OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvIGluIG1heC1taXNvcmRlci10aW1lIHByb3BlcnR5IG5hbWUKCjIwMTYtMDgtMjIgMDA6MDU6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoJICBPbiAzMi1iaXQgeDg2OiBnc3RzcGxpdG11eHNpbmsuYzo5NjY6MzE6IHdhcm5pbmc6IGZvcm1hdCDigJgldeKAmSBleHBlY3RzCgkgIGFyZ3VtZW50IG9mIHR5cGUg4oCYdW5zaWduZWQgaW504oCZLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZQoJICDigJhndWludDY0IHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH3igJkKCjIwMTYtMDgtMTIgMjE6MTI6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZy5oLm1lc29uOgoJKiBleHQvY2Fpcm8vbWVzb24uYnVpbGQ6CgkqIGV4dC9kdi9tZXNvbi5idWlsZDoKCSogZXh0L2ZsYWMvbWVzb24uYnVpbGQ6CgkqIGV4dC9nZGtfcGl4YnVmL21lc29uLmJ1aWxkOgoJKiBleHQvamFjay9tZXNvbi5idWlsZDoKCSogZXh0L2pwZWcvbWVzb24uYnVpbGQ6CgkqIGV4dC9saWJwbmcvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3B1bHNlL21lc29uLmJ1aWxkOgoJKiBleHQvc2hvdXQyL21lc29uLmJ1aWxkOgoJKiBleHQvc291cC9tZXNvbi5idWlsZDoKCSogZXh0L3NwZWV4L21lc29uLmJ1aWxkOgoJKiBleHQvdGFnbGliL21lc29uLmJ1aWxkOgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJKiBleHQvd2F2cGFjay9tZXNvbi5idWlsZDoKCSogZ3N0L2FscGhhL21lc29uLmJ1aWxkOgoJKiBnc3QvYXBldGFnL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9meC9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9tZXNvbi5idWlsZDoKCSogZ3N0L2F1cGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdXRvZGV0ZWN0L21lc29uLmJ1aWxkOgoJKiBnc3QvYXZpL21lc29uLmJ1aWxkOgoJKiBnc3QvY3V0dGVyL21lc29uLmJ1aWxkOgoJKiBnc3QvZGVidWd1dGlscy9tZXNvbi5idWlsZDoKCSogZ3N0L2RlaW50ZXJsYWNlL21lc29uLmJ1aWxkOgoJKiBnc3QvZHRtZi9tZXNvbi5idWlsZDoKCSogZ3N0L2VmZmVjdHYvbWVzb24uYnVpbGQ6CgkqIGdzdC9lcXVhbGl6ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9mbHYvbWVzb24uYnVpbGQ6CgkqIGdzdC9mbHgvbWVzb24uYnVpbGQ6CgkqIGdzdC9nb29tL21lc29uLmJ1aWxkOgoJKiBnc3QvZ29vbTJrMS9tZXNvbi5idWlsZDoKCSogZ3N0L2ljeWRlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvaWQzZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9pbWFnZWZyZWV6ZS9tZXNvbi5idWlsZDoKCSogZ3N0L2ludGVybGVhdmUvbWVzb24uYnVpbGQ6CgkqIGdzdC9pc29tcDQvbWVzb24uYnVpbGQ6CgkqIGdzdC9sYXcvbWVzb24uYnVpbGQ6CgkqIGdzdC9sZXZlbC9tZXNvbi5idWlsZDoKCSogZ3N0L21hdHJvc2thL21lc29uLmJ1aWxkOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9tb25vc2NvcGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9tdWx0aWZpbGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9tdWx0aXBhcnQvbWVzb24uYnVpbGQ6CgkqIGdzdC9yZXBsYXlnYWluL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRwL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRwbWFuYWdlci9tZXNvbi5idWlsZDoKCSogZ3N0L3J0c3AvbWVzb24uYnVpbGQ6CgkqIGdzdC9zaGFwZXdpcGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9zbXB0ZS9tZXNvbi5idWlsZDoKCSogZ3N0L3NwZWN0cnVtL21lc29uLmJ1aWxkOgoJKiBnc3QvdWRwL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9ib3gvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2Nyb3AvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2ZpbHRlci9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvbWl4ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC93YXZlbmMvbWVzb24uYnVpbGQ6CgkqIGdzdC93YXZwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L3k0bS9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkqIG1lc29uX29wdGlvbnMudHh0OgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL3Y0bDIvbWVzb24uYnVpbGQ6CgkqIHN5cy94aW1hZ2UvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9tZXNvbi5idWlsZDoKCSAgQWRkIHN1cHBvcnQgZm9yIE1lc29uIGFzIGFsdGVybmF0aXZlL3BhcmFsbGVsIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbgoJICBXaXRoIGNvbnRyaWJ1dGlvbnMgZnJvbToKCSAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCSAgSnVzc2kgUGFra2FuZW4gPGpwYWtrYW5lQGdtYWlsLmNvbT4gKG9yaWdpbmFsIHBvcnQpCgkgIEhpZ2hsaWdodHMgb2YgdGhlIGZlYXR1cmVzIHByb3ZpZGVkIGFyZToKCSAgKiBGYXN0ZXIgYnVpbGRzIG9uIExpbnV4ICh+NDAtNTAlIGZhc3RlcikKCSAgKiBUaGUgYWJpbGl0eSB0byBidWlsZCB3aXRoIE1TVkMgb24gV2luZG93cwoJICAqIEdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcwoJICAqIEdlbmVyYXRlIFhDb2RlIHByb2plY3QgZmlsZXMKCSAgKiBNdWNoIGZhc3RlciBidWlsZHMgb24gV2luZG93cyAob24tcGFyIHdpdGggTGludXgpCgkgICogU2VyaW91c2x5IGZhc3QgY29uZmlndXJlIGFuZCBidWlsZGluZyBvbiBlbWJlZGRlZAoJICAuLi4gYW5kIG1hbnkgbW9yZS4gRm9yIG1vcmUgZGV0YWlscyBzZWU6CgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDUvZ3N0cmVhbWVyLWFuZC1tZXNvbi1uZXctaG9wZS5odG1sCgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDcvYnVpbGRpbmctYW5kLWRldmVsb3BpbmctZ3N0cmVhbWVyLXVzaW5nLmh0bWwKCSAgQnVpbGRpbmcgd2l0aCBNZXNvbiBzaG91bGQgd29yayBvbiBib3RoIExpbnV4IGFuZCBXaW5kb3dzLCBidXQgbWF5CgkgIG5lZWQgYSBmZXcgbW9yZSB0d2Vha3Mgb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCgoyMDE2LTA4LTIwIDE2OjU5OjMwICswODAwICBKaWUgSmlhbmcgPGppYW5namllQG51ZHQuZWR1LmNuPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgRml4ZWQgc3BsaXRtdXhzaW5rIDMyLWJpdCBvdmVyZmxvdyBidWcKCSAgRXh0ZW5kIHRoZSBieXRlIHRyYWNraW5nIGNvdW50ZXJzIHRvIDY0LWJpdCBvbgoJICBhbGwgcGxhdGZvcm1zLCBpbnN0ZWFkIG9mIHVzaW5nIGdzaXplLCB3aGljaCBvdmVyZmxvd3MKCSAgYWZ0ZXIgNEdCLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMDE5CgoyMDE2LTA4LTE5IDE3OjE4OjE2ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiBGaXggY292ZXJpdHkgd2FybmluZwoJICBJZiBhdG9tX2NvcHlfZGF0YSBmYWlscyB0byB3cml0ZSBhbnl0aGluZywgcmV0dXJuIDAKCSAgQ0lEICMxMzcxNDU4CgoyMDE2LTA0LTA5IDA3OjUxOjAzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJICB2NGwyOiBjb25zaXN0ZW50bHkgY2hlY2sgI2lmZGVmIEhBVkVfR1VERVYgaW5zdGVhZCBvZiAjaWYKCSAgQm90aCB3b3JrIHdpdGggYXV0b3Rvb2xzIGJ1dCB0aGV5IGRlZmluaXRlbHkgZG9uJ3QgbWVhbiB0aGUgc2FtZSB0aGluZywgY2F1c2UKCSAgcHJvYmxlbXMgd2l0aCBvdGhlciBidWlsZCBzeXN0ZW1zLCBhbmQgYXJlIGJhZCBmb3JtLiBFeGlzdGVuY2Ugc2hvdWxkIGFsd2F5cyBiZQoJICBjaGVja2VkIHdpdGggI2lmZGVmIG9yICNpZiBkZWZpbmVkLgoKMjAxNi0wNC0xOSAxMDo1MzowNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kOiBwb3J0IGF3YXkgZnJvbSBvbGQgRGlyZWN0WCBBUEkKCSAgRDNEWCBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgbGFzdCA0IHllYXJzIGFuZCBsYXRlc3QgdmVyc2lvbnMgb2YKCSAgV2luZG93cyBubyBsb25nZXIgc2hpcCBoZWFkZXJzIGZvciBpdC4gVGhpcyBpcyBmaW5lIGFzIGxvbmcgYXMgeW91J3JlCgkgIGJ1aWxkaW5nIHdpdGggQ2VyYmVybydzIFdpbmUtYmFzZWQgRGlyZWN0WCBoZWFkZXJzLCBidXQgc3Vja3MgaWYgeW91CgkgIHdhbnQgdG8gYnVpbGQgYWdhaW5zdCB0aGUgYWN0dWFsIFdpbmRvd3MgU0RLLgoJICBXZSB3ZXJlIGp1c3QgdXNpbmcgaXQgdG8gZ2V0IGVycm9yIHN0cmluZ3MgYW55d2F5LCBzbyBqdXN0IHVzZSB0aGUKCSAgZ2VuZXJpYyBlcnJvciBzdHJpbmcgQVBJLgoKMjAxNi0wOC0xOCAxMjowMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBBZGQgbWF4aW11bSBiaXRyYXRlIHRhZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNzAzYWI2OWY1MjYwOTJiYjI2Y2NlNDFjYTY5MWE4OTZjODM4M2Q4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzkyCgoyMDE2LTA4LTE4IDA5OjU3OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHVuaXQgdGVzdCBieSBkaXNhYmxpbmcgYWRhcHRpdmUgbWlzb3JkZXIvZHJvcG91dCBjYWxjdWxhdGlvbnMKCSAgTmVlZCB0byBzZXQgbWF4LW1pc29yZGVyLXRpbWUgYW5kIG1heC1kcm9wb3V0LXRpbWUgdG8gMCBzbyB0aGUKCSAgaml0dGVyYnVmZmVyIGRvZXMgbm90IGJhc2UgdGhlbSBvbiBwYWNrZXQgcmF0ZSBjYWxjdWxhdGlvbnMuCgkgIElmIGl0IGRvZXMsIG91dCBnYXAgaXMgYmlnIGVub3VnaCB0byBiZSBjb25zaWRlcmVkIGEgbmV3IHN0cmVhbSBhbmQKCSAgd2Ugd2FpdCBmb3IgYSBmZXcgY29uc2VjdXRpdmUgcGFja2V0cyBqdXN0IHRvIGJlIHN1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNi0wOC0wOSAxMjo1NTo1OSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEFkZCBvcHRpb24gdG8gc3BsaXQgYXQgZXhhY3RseSBtYXgtc2l6ZS10aW1lCgkgIFdpbGwgdHJ5IHRvIHJlcXVlc3QgYSBrZXlmcmFtZSBmcm9tIHRoZSBlbmNvZGVyIHRvIGJlIHNlbnQgYXQgdGhlIHRhcmdldAoJICBydW5uaW5nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk2NjQKCjIwMTYtMDgtMDkgMjA6MTY6MTYgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBBbGxvdyB0aW1lIGFuZCBieXRlcyB0byByZWFjaCB0aGVpciByZXNwZWN0aXZlIHRocmVzaG9sZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTY2NAoKMjAxNi0wOC0xNyAwOTo0OTowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWxsb3cgbWltZXR5cGVzIHdpdGggcHJvcGVydGllcyBhcyBsb25nIGFzIHRoZXkncmUgYXBwbGljYXRpb24vc2RwCgkgIFNvbWUgc2VydmVycyBhZGQgcHJvcGVydGllcyBsaWtlIGNoYXJzZXQsIGUuZy4KCSAgYXBwbGljYXRpb24vc2RwOyBjaGFyc2V0PXV0ZjgKCSAgSWRlYWxseSB3ZSBzaG91bGQgYWxzbyBwYXJzZSB0aGUgY2hhcnNldCBhbmQgZG8gY29udmVyc2lvbiBvZiBhbGwgbWVzc2FnZXMsCgkgIGJ1dCB0aGF0J3MgZm9yIGEgbGF0ZXIgdGltZS4KCjIwMTYtMDYtMjQgMTY6MzI6MzcgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQWRkZWQgc3VwcG9ydCBmb3Igd3JpdGluZyB0aW1lY29kZSB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3OTUwCgoyMDE2LTA4LTExIDE2OjMyOjIxIC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBJbml0aWFsaXplIGJ5dGVzX3NlbnQgZmllbGQuCgkgIFRoaXMgZml4ZXMgZW5kcG9pbnRzIG5vdCByZWNlaXZpbmcgYW55IGRhdGEgaW50ZXJtaXR0ZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NzMKCjIwMTYtMDgtMTAgMTE6NDU6MTMgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBY3R1YWxseSBjYWxjdWxhdGUgdGhlIHBhY2tldCByYXRlIGZvciBtYXgtZHJvcG91dCBhbmQgbWF4LW1pc29yZGVyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNi0wOC0xMCAxMToyNjoxNyAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IHdhcm4gZm9yIGR1cGxpY2F0ZSBwYWNrZXRzCgkgIFRoaXMgaXMgYSBub3JtYWwgc2NlbmFyaW8gYW5kIHNob3VsZCBub3QgYmUgYSB3YXJuaW5nLiAgVGhpcyBjYW4KCSAgaGFwcGVuIGZyZXF1ZW50bHkgd2hlbiByZS10cmFuc21pdHMgb2YgbG9zdCBwYWNrZXRzIGFyZSBlbmFibGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA4CgoyMDE2LTA4LTA4IDEzOjQ5OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBGaXggdHlwbyBjb252ZXJ0aW5nIHRvIHJ1bm5pbmcgdGltZS4KCSAgVXNlIHRoZSBjb3JyZWN0IGNvbGxlY3RlZCB0aW1lc3RhbXAuCgoyMDE2LTA4LTA4IDAyOjUzOjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIFJldmVydCAic3BsaXRtdXhzaW5rOiBVc2UgR3N0QmluIGFzeW5jLWhhbmRsaW5nIGluc3RlYWQgb2Ygb3VyIG93bi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmEwMDhmMjcxYTUyZjgyZGVkZWRjMjhiZDgxYjAyMGNhNzkzOWI0Ny4KCSAgYXN5bmMtaGFuZGxpbmcgaW4gR3N0QmluIGNhdXNlcyB0aGUgcGlwZWxpbmUgdG8gc3BpbiBhdCAxMDAlCgkgIENQVSBhcyB0aGUgdG9wLWxldmVsIHBpcGVsaW5lIHRyaWVzIHRvIGNoYW5nZSB0aGF0IHN0YXRlCgkgIHRvIFBMQVlJTkcgY29uc3RhbnRseS4gVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEgY29yZQoJICBwcm9ibGVtLCBlc3NlbnRpYWxseSwgYnV0IGFuIGltcHJvdmVtZW50IGluIHRoaXMgY2FzZSBmb3Igbm93LgoKMjAxNi0wOC0wOCAwMDo1NjozOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogUmVjaGVjayBzdGF0ZSBhZnRlciB1bmxvY2tpbmcgbXV0ZXguCgkgIEFmdGVyIGRyb3BwaW5nIHRoZSBzcGxpdG11eCBsb2NrLCByZS1jaGVjayB0aGUgc3RhdGUsCgkgIGRvbid0IGp1c3QgZmFsbCB0aHJvdWdoIGFuZCBzbGVlcCB1bmNvbmRpdGlvbmFsbHksCgkgIGFzIHdlIG1heSBoYXZlIGFscmVhZHkgbWlzc2VkIHRoZSB3YWtldXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk1MTQKCjIwMTYtMDgtMDMgMDM6MzI6MDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogRG9uJ3Qgc3RvcCBhbmQgZXJyb3Igb24gRU9TIGZsb3cgcmV0dXJuCgkgIERvbid0IGltbWVkaWF0ZWx5IGhhbHQgb24gRU9TIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbQoJICBkdWUgdG8gb3V0IG9mIHNlZ21lbnQuIExldCB0aGUgZGVtdXhlciBoYW5kbGUgaXQgYW5kIHNlbmQKCSAgRU9TLgoKMjAxNi0wOC0wNCAwMDozNjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCB1bnJlZiBvZiBudWxsIGJ1ZmZlcgoJICBUaGUgY3VycmVudCAnbCcgcG9pbnRlciB3aWxsIGJlIE5VTEwgd2hlbiB0aGUgbG9vcAoJICBpcyBpbnRlcnJ1cHRlZCB3aXRoIGEgJ2JyZWFrJyBzdGF0ZW1lbnQuIE5lZWQgdG8gaGF2ZQoJICBpdCBhZHZhbmNlIHRvIHRoZSBuZXh0IGxpc3QgaXRlbSBiZWZvcmUgaW50ZXJydXB0aW5nLgoKMjAxNi0wOC0wMiAxNDowMToxNCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEFkZCB0YWdzIGZvciBjb250YWluZXIgZm9ybWF0IGFuZCBiaXRyYXRlIGZvciB1bmNvbXByZXNzZWQgUENNCgkgIFRoZSBQQ00gYml0cmF0ZSBpcyBhZGRlZCB0byBoZWxwIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgdXJpZGVjb2RlYmluKQoJICBmaWd1cmUgb3V0IGEgcHJvcGVyIG5ldHdvcmsgYnVmZmVyIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM5MAoKMjAxNi0wOC0wMSAxODo1MjoyNiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGQgbWF4aW11bSBiaXRyYXRlIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzkyCgoyMDE2LTA3LTI4IDE3OjU4OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFdoZW4gcmVjZWl2aW5nIGEgRElTQ09OVCBidWZmZXIgdGhhdCBkb2VzIG5vdCBwb2ludCB0byBhIHNhbXBsZSwgcmVtZW1iZXIgdGhlIG9mZnNldAoJICBBbmQgZG9uJ3QganVzdCByZXNldCBldmVyeXRoaW5nLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBjYW4gY29udGludWUgdG8KCSAgaGFuZGxlIGRhdGEgaW4gdGhlIGZvbGxvd2luZyBzY2VuYXJpbzoKCSAgbW9vdjogZGlzY29udAoJICBtb29mOiBkaXNjb250CgkgIG1kYXQ6IGNvbnRpbnVvdXMKCSAgUHJldmlvdXNseSB0aGlzIHdvdWxkIGZhaWwgYmVjYXVzZSB0aGUgb2Zmc2V0IHdvdWxkIGJlIHRoZSBhY2N1bXVsYXRlZCBvZmZzZXQKCSAgZnJvbSBtb292IGFuZCBtb29mIGF0IHRoZSBtZGF0IHBvc2l0aW9uLCB3aGlsZSB0aGUgYnVmZmVyIG9mZnNldCBtaWdodCBiZQoJICBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQuCgoyMDE2LTA3LTI1IDEzOjM0OjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICBydHA6IEZpbHRlciB3aXRoIHRoZSBmaWx0ZXIgY2FwcyBpbiB0aGUgcGF5bG9hZGVyJ3MgZ2V0Y2FwcwoKMjAxNi0wMy0wMyAxMTozNTowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogaW5jbHVkZSBodHRwLXN0YXR1cy1jb2RlIGluIGVycm9yIG1lc3NhZ2UgZGV0YWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDM4CgoyMDE2LTA3LTI1IDE4OjIwOjAzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRml4IGRlYnVnIHN0YXRlbWVudCBzaWduZWRuZXNzLgoJICBUaGUgdHMgdmFyaWFibGUgaXMgYSBHc3RDbG9ja1RpbWUsIGRvbid0IHByaW50IGl0CgkgIGFzIGEgR3N0Q2xvY2tUaW1lRGlmZi4KCjIwMTYtMDctMTcgMjI6NDE6MDIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBIYW5kbGUgbmVnYXRpdmUgcnVubmluZyB0aW1lCgkgIFVzZSBzaWduZWQgY2xvY2sgdGltZXMgZm9yIHJ1bm5pbmcgdGltZSBldmVyeXdoZXJlCgkgIHNvIHRoYXQgd2UgaGFuZGxlIG5lZ2F0aXZlIHJ1bm5pbmcgdGltZXMgd2l0aG91dAoJICBnb2luZyBoYXl3aXJlLCBzaW1pbGFyIHRvIHdoYXQgcXVldWUgYW5kIG11bHRpcXVldWUKCSAgZG8gdGhlc2UgZGF5cy4KCjIwMTYtMDctMTggMDA6MTI6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBEcm9wIGxvY2sgd2hlbiBzZW5kaW5nIGR1bW15IGV2ZW50CgkgIFdoZW4gcHVzaGluZyB0aGUgZHVtbXkgZXZlbnQgaW50byB0aGUgbXVsdGlxdWV1ZSwKCSAgZHJvcCB0aGUgc3BsaXRtdXggbG9jayBvciBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAxNi0wNi0zMCAwMTo1Njo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEludGVyc2VjdCB3aXRoIGZpbHRlciBjYXBzIGluIGdldGNhcHMgZnVuY3Rpb24uCgkgIEFsd2F5cyBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGNhcHMgaW4gdGhlIGdldGNhcHMgZnVuY3Rpb24KCSAgdG8gbWFrZSBzdXJlIHdlIHJldHVybiBhIHN1YnNldCBvZiB3aGF0IHdhcyByZXF1ZXN0ZWQuCgkgIE90aGVyIHBheWxvYWRlcnMgYWxzbyBoYXZlIHRoaXMgcHJvYmxlbSBhbmQgbmVlZCBmaXhpbmcKCSAgaW4gZnV0dXJlIGNvbW1pdHMuCgoyMDE2LTA3LTEyIDE3OjMwOjU2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0ZGVtdXguYzoKCSAgdGVzdHM6IHF0ZGVtdXg6IGZpeCBlbGVtZW50IGFuZCBwYWQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzM5CgoyMDE2LTA3LTEyIDE2OjQ1OjM2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvYm94LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIHRlc3RzOiBmaXggYnVzIGxlYWtzCgkgIGdzdF9idXNfYWRkX3NpZ25hbF93YXRjaCgpIHRha2VzIGEgcmVmIG9uIHRoZSBidXMgd2hpY2ggc2hvdWxkIGJlCgkgIHJlbGVhc2VkIHVzaW5nIGdzdF9idXNfcmVtb3ZlX3NpZ25hbF93YXRjaCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzM5CgoyMDE2LTA3LTE0IDAzOjA3OjExICswODAwICBUaW5nLVdlaSBMYW4gPGxhbnR3QHNyYy5nbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCBBR19HU1RfUEtHX0NPTkZJR19QQVRIIHRvIHNldCBHU1RfUEtHX0NPTkZJR19QQVRICgkgIEdTVF9QS0dfQ09ORklHX1BBVEggaXMgdXNlZCBpbiBkb2NzL3BsdWdpbnMgZGlyZWN0b3J5LCBzbwoJICBBR19HU1RfUEtHX0NPTkZJR19QQVRIIG11c3QgYmUgY2FsbGVkIHRvIHNldCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODc4NwoKMjAxNi0wNy0xMiAwNzozOTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBkcm9wIGZpbmFsIGJ5dGVzIG9mIGEgcmFuZ2UgcmVxdWVzdAoJICBBdCB0aGUgZW5kIG9mIGEgcmFuZ2UgcmVxdWVzdCwgd2UgZG9uJ3Qgd2FudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TIG90aGVyd2lzZQoJICB0aGUgbGFzdCBieXRlcyB3ZSBqdXN0IHJlYWQgd2lsbCBiZSBkcm9wcGVkIGJ5IGJhc2VzcmMuCgkgIEluc3RlYWQganVzdCByZXR1cm4gR1NUX0ZMT1dfT0sgKHdoaWNoIHdhcyBzZXQganVzdCBiZWZvcmUpIGFuZCBsZXQgYmFzZXNyYwoJICBoYW5kbGUgdGhlIGZhY3Qgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQuCgoyMDE2LTA3LTExIDE4OjMwOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMnByb3ZpZGVyOiBGaXggZGV2aWNlIHR5cGUgZGV0ZWN0aW9uCgkgIFRoZSB0eXBlIGRldGVjdGlvbiB3b3VsZCBsZWFkIHRvIGFzc2VydGlvbiBhcyBpdCB3b3VsZCB0cnkKCSAgdG8gY3JlYXRlIGEgZGV2aWNlIHdpdGhvdXQgaGF2aW5nIGZvdW5kIGFueSB0eXBlIGZvciBpdC4gSXQKCSAgYWxzbyBkaWRuJ3QgZGV0ZWN0IE1QTEFORSBkZXZpY2VzIHByb3Blcmx5LgoKMjAxNi0wNy0xMSAxODoyOTowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBhc3NlcnQgd2hlbiB1c2VkIGJ5IHRoZSBtb25pdG9yCgkgIFRoZSBtb25pdG9yIHNldHMgdGhlIG9iamVjdC0+ZWxlbWVudCBvYmplY3QgYXMgYSBHc3RPYmplY3QuIFRoaXMKCSAgd29ya3MgZm9yIGRlYnVnIHRyYWNlcywgYnV0IHdpbGwgYXNzZXJ0IGZvciBFTEVNRU5UX0VSUk9SLiBUaGlzCgkgIHdhcyB0aGUgb25seSBjYXNlIHdoZXJlIHRoYXQgY291bGQgaGFwcGVuLiBBZGQgYSBjaGVjayBmb3IgdGhhdC4KCjIwMTYtMDctMTEgMTc6Mzg6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogSW5kZW50IHZlcnkgbG9uZyBsaW5lCgoyMDE2LTA3LTEyIDAwOjQyOjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEF0IHRoZSBlbmQgb2YgYSByYW5nZSByZXF1ZXN0LCByZWFkIGFub3RoZXIgdGltZSB0byBmaW5hbGl6ZSB0aGUgcmVxdWVzdAoJICBJZiB3ZSdyZSBhdCB0aGUgZW5kIG9mIGEgcmFuZ2UgcmVxdWVzdCwgcmVhZCBhZ2FpbiB0byBsZXQgbGlic291cAoJICBmaW5hbGl6ZSB0aGUgcmVxdWVzdC4gVGhpcyBhbGxvd3MgdG8gcmV1c2UgdGhlIGNvbm5lY3Rpb24gYWdhaW4gbGF0ZXIsCgkgIG90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRvIGNhbmNlbCB0aGUgbWVzc2FnZSBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24uCgoyMDE2LTA3LTExIDIxOjEzOjQ3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMzYzYjMyIHRvIGY0OWM1NWUKCjIwMTYtMDctMTEgMTk6NTc6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGtlZXAtYWxpdmUgaGFuZGxpbmcKCSAgV2UgaGF2ZSB0byBnZXQgcmlkIG9mIHRoZSBtZXNzYWdlIG9uIEVPUyB3aGVuIHRoZSBjb21wbGV0ZSBzdHJlYW0gaXMgcmVhZCB0bwoJICByZW1lbWJlciB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCBoYW5kbGluZyB0aGlzIHNwZWNpZmljIG1lc3NhZ2UuCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNhbmNlbCBpdCBsYXRlciBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24gaW5zdGVhZCBvZiByZXVzaW5nCgkgIGl0IGF0IGEgbGF0ZXIgdGltZS4KCSAgSXQgbWlnaHQgYWxzbyBtYWtlIHNlbnNlIHRvIHJldXNlIGNvbm5lY3Rpb25zIGlmIGEgbm9uLTIwMCByZXNwb25zZSBpcwoJICByZWNlaXZlZC4gQXMgbG9uZyBhcyB0aGVyZSB3YXMgbm8gY29ubmVjdGlvbiBlcnJvciwgdGhlIEhUVFAgY29ubmVjdGlvbiBzaG91bGQKCSAgYmUgcmUtdXNhYmxlLgoKMjAxNi0wNy0xMSAxMjowNTowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBbHNvIGVuYWJsZSBWNEwyIHByb2JlIG9uIGFhcmNoNjQgKGFrYSBBUk0gNjRiaXQpCgoyMDE2LTA3LTExIDExOjU5OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkgIHJ0cCBleGFtcGxlOiBGaXggbGVhawoJICBBbHNvIHN0b3AgZmV0Y2hpbmcgdGhlIGludGVybmFsIHNvdXJjZSBhcyB0aGlzCgkgIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gYnJva2VuLgoKMjAxNi0wNy0wOCAxNDo1ODozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBFbmFibGUgdjRsMiBwcm9iZSBvbiBMaW51eC9BUk0KCSAgTW9zdCBvZiB0aG9zZSBoYXZlIFY0TDIgZHJpdmVycyB0aGVzZSBkYXlzIGVuYWJsaW5nIGl0IG1ha2Ugc3VyZSB0aGF0IGl0CgkgIHRoaXMgY29kZSBpcyBlbmFibGVkIGluIG1ham9yIGRpc3RyaWJ1dGlvbiwgaGVuY2UgdGhhdCBIVyBhY2NlbGVyYXRlZAoJICBkZWNvZGVyL2VuY29kZXIgY2FuIGJlIHVzZWQgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCBpdC4gVGhlIHByb2JlcyBhcmUKCSAgc2xpZ2h0bHkgaW5jcmVhc2luZyB0aGUgZmlyc3QgaW5pdCBvZiBnc3RyZWFtZXIgbGlicmFyeSwgdGhvdWdoIHRoZQoJICByZXN1bHQgaXMgY2FjaGVkIGluIHRoZSByZWdpc3RyeSBmb3IgbGF0ZXIgdXNlLgoKMjAxNi0wNy0xMSAwOTo0Njo0OSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NXBheTogQWNjZXB0IGFycmF5X2NvbXBsZXRlbmVzcz0xCgkgIFdoZW4gcGFyc2luZyBOQUwgdW5pdCB0eXBlIGluIGNvZGVjX2RhdGEsIGNoZWNrIHRoZSA2Yml0cyBvZgoJICBOQUxfdW5pdF90eXBlIG9ubHkgYW5kIGRvIG5vdCByZXF1aXJlIHRoZSBhcnJheV9jb21wbGV0ZW5lc3MgYml0IHRvIGJlCgkgIDAsIHNpbmNlIHRoZSBkZWZhdWx0IGFuZCBtYW5kYXRvcnkgdmFsdWUgb2YgYXJyYXlfY29tcGxldGVuZXNzIGlzIDEgZm9yCgkgIGh2YzEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2NTMKCjIwMTYtMDctMTAgMjE6MzU6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQWxzbyBjb3B5IGRldmljZV9jYXBzIGluIGdzdF92NGwyX2R1cAoJICBUaGlzIGZpeGVzIHJlZ3Jlc3Npb24gd2hlcmUgTTJNIGVycm9yIG91dCBzYXlpbmcgdGhleSBoYXZlIG5vIG91dHB1dAoJICBmb3JtYXQgKHRoZSBWNEwyIENBUFRVUkUgc2lkZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMTAgMjE6MzA6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFVzZSBjb3JyZWN0IGluNl9wa3RpbmZvIHN0cnVjdCBpbnN0ZWFkIG9mIGluX3BrdGluZm8KCSAgRml4ZXMgdGhlIGJ1aWxkIG9uIEZyZWVCU0QsIHdoaWNoIGRvZXMgbm90IGhhdmUgdGhlIGxhdHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODYyMwoKMjAxNi0wNy0wOCAxNzoyODoxOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IG11bHRpcGxhbmFyIGNhcHR1cmUKCSAgQWZ0ZXIgc3dpdGNoaW5nIHRvIHVzaW5nIFY0TDJfQ0FQX0RFVklDRV9DQVBTIHdlIGxvc3Qgc3VwcG9ydCBmb3IKCSAgbXVsdGlwbGFuYXIgZGV2aWNlIHR5cGVzLiBBZnRlciBzb21lIHJlc2VhcmNoLCBpdCBsb29rcyBsaWtlCgkgIHZjYXAuY2FwYWJpbGl0aWVzIHRyZWF0ZWQgdGhlIG11bHRpcGxhbmFyIGZsYWcgb2Ygb3V0cHV0IGFuZCBjYXB0dXJlCgkgIGRldmljZXMgZXF1YWxseSwgYnV0IG5vdCB0aGUgbmV3IGRldmljZV9jYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTA4IDE0OjU2OjMwICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0bXV4OiBVc2UgUFRTIGFuZCBEVFMgaW5zdGVhZCBvZiB0aW1lc3RhbXAKCSAgQW5kIHBhc3MtdGhyb3VnaCBib3RoIG9mIHRoZW0uCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3OTAwCgoyMDE2LTA2LTMwIDE0OjQwOjQwICswMjAwICBUaG9tYXMgU2NoZXVlcm1hbm4gPFRob21hcy5TY2hldWVybWFubkBiYXJjby5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogZG9uJ3Qgd2FpdCBmb3IgY2FsbGJhY2tzIGlmIHRoZSBqYWNrIHNlcnZlciBzaHV0IGRvd24KCSAgT3RoZXJ3aXNlIHdlJ2xsIHdhaXQgZm9yZXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzI3NQoKMjAxNi0wNi0yMyAxNTozMDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBMZXQgdXBzdHJlYW0gZXZlbnRzIGdvIHRocm91Z2ggdXBzdHJlYW0KCSAgVGhlcmUncyBubyByZWFsIHJlYXNvbiB0byBhdm9pZCBzZW5kaW5nIFFPUy9OQVZJR0FUSU9OIGV2ZW50cyB1cHN0cmVhLgoJICBTb21lIGVsZW1lbnRzIG1pZ2h0IHdhbnQgdG8gaGF2ZSB0aGF0IGluZm9ybWF0aW9uLgoKMjAxNi0wNi0yMyAxNToyMjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IExldCB1cHN0cmVhbSBldmVudHMgZ28gdGhyb3VnaCB1cHN0cmVhbQoJICBUaGVyZSdzIG5vIHJlYWwgcmVhc29uIHRvIGF2b2lkIHNlbmRpbmcgUU9TL05BVklHQVRJT04gZXZlbnRzIHVwc3RyZWEuCgkgIFNvbWUgZWxlbWVudHMgbWlnaHQgd2FudCB0byBoYXZlIHRoYXQgaW5mb3JtYXRpb24uCgoyMDE2LTA2LTIzIDE1OjE3OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogTGV0IHVwc3RyZWFtIGV2ZW50cyBnbyB0aHJvdWdoIHVwc3RyZWFtCgkgIFRoZXJlJ3Mgbm8gcmVhbCByZWFzb24gdG8gYXZvaWQgc2VuZGluZyBRT1MvTkFWSUdBVElPTiBldmVudHMgdXBzdHJlYS4KCSAgU29tZSBlbGVtZW50cyBtaWdodCB3YW50IHRvIGhhdmUgdGhhdCBpbmZvcm1hdGlvbi4KCSAgQWxzbyByZW1vdmUgZG93bnN0cmVhbS1vbmx5IENBUFMgZXZlbnQgaGFuZGxpbmcgYW5kIG1pbmltaXplIGNvZGUKCjIwMTYtMDctMDcgMjM6NTM6NTQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IGZpeCB2NGwyIHByb2JlIGJ1aWxkIGVycm9yCgkgIEEgdHlwbyBpbiBnc3RfdjRsMl9wcm9iZV9hbmRfcmVnaXN0ZXIoKSBjYXVzZWQgYSBidWlsZCBlcnJvciB3aGVuIGJ1aWxkaW5nCgkgIHdpdGggLS1lbmFibGUtdjRsMi1wcm9iZS4gRml4aW5nIGl0LgoJICBnc3R2NGwyLmM6IEluIGZ1bmN0aW9uICdnc3RfdjRsMl9wcm9iZV9hbmRfcmVnaXN0ZXInOgoJICBnc3R2NGwyLmM6MTUwOjI1OiBlcnJvcjogJ3N0cnVjdCB2NGwyX2NhcGFiaWxpdHknIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2NhcGFiaWxpdGl0ZXMnCgkgIGRldmljZV9jYXBzID0gdmNhcC5jYXBhYmlsaXRpdGVzOwoKMjAxNi0wNy0wMSAyMjo1MzozMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiB1c2UgZ3N0X2NhcHNfaW50ZXJzZWN0X2Z1bGwgaW4gbmVnb3RpYXRlKCkKCSAgSW5zdGVhZCBvZiByZWltcGxlbWVudGluZyB0aGUgR1NUX0NBUFNfSU5URVJTRUNUX0ZJUlNUCgkgIGludGVyZWN0aW9uIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMDIgMDE6NTY6MDcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiB1c2Ugb3BlbmVkIGRldmljZSBjYXBzIGluc3RlYWQgb2YgcGh5c2ljYWwgZGV2aWNlIG9uZXMKCSAgVGhlIHNhbWUgcGh5c2ljYWwgZGV2aWNlIGNhbiBleHBvcnQgbXVsdGlwbGUgZGV2aWNlcy4gSW4KCSAgdGhpcyBjYXNlLCB0aGUgY2FwYWJpbGl0aWVzIGZpZWxkIG5vdyBjb250YWlucyBhIHVuaW9uIG9mCgkgIGFsbCBjYXBzIGF2YWlsYWJsZSBmcm9tIGFsbCBleHBvcnRlZCBWNEwyIGRldmljZXMgYWxvbmdzaWRlCgkgIGEgVjRMMl9DQVBfREVWSUNFX0NBUFMgZmxhZyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRlY2lkZQoJICB3aGF0IGNhcGFiaWxpdGllcyB0byBjb25zaWRlci4gSW4gb3VyIGNhc2UsIHdlIG5lZWQgdGhlCgkgIG9uZXMgZnJvbSB0aGUgZXhwb3J0ZWQgZGV2aWNlIHdlIGFyZSB1c2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE5NQoKMjAxNi0wNy0wNyAxODoyNDo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFJlbW92ZSBzdXNwaWNpb3VzIGNoZWNrcyBmb3IgcGFkcyBiZWluZyBhY3RpdmUgYW5kIGxpbmtlZAoJICBXZSBzaG91bGQgYWRkIGFsbCBwYWRzLCBubyBtYXR0ZXIgaWYgdGhleSBhcmUgbGlua2VkIG9yIGFjdGl2ZSBvciBub3QgYXQgdGhpcwoJICBwb2ludC4gU2tpcHBpbmcgc29tZSB0aGF0IGFyZSBub3Qgd2lsbCBjYXVzZSBkaWZmZXJlbnQgYmVoYXZpb3VyIHRoYW4gd2l0aAoJICBvdGhlciBtdXhlcnMuCgoyMDE2LTA3LTA3IDE4OjIzOjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRXJyb3Igb3V0IGlmIHdlIHN0YXJ0IHdyaXRpbmcgZGF0YSB3aXRoIHNvbWUgcGFkcyBub3QgaGF2aW5nIGEgY29kZWMgaWQgeWV0CgkgIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGlmIGEpIHVwc3RyZWFtIHNvbWVob3cgZ2V0cyBhcm91bmQgdGhlIENBUFMgZXZlbnQgZmFpbGluZwoJICBvciBiKSB0aGVyZSBuZXZlciBiZWluZyBhbnkgQ0FQUyBldmVudC4KCSAgVGhlIGZvbGxvd2luZyBjb2RlIGFzc3VtZXMgdGhhdCBhbGwgcGFkcyBoYXZlIGEgY29kZWMtaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg1MDkKCjIwMTYtMDctMDcgMTg6MTQ6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBDb25zaXN0ZW50bHkgdXNlIGdzdF9tYXRyb3NrYV9tdXhfc2V0X2NvZGVjX2lkKCkgZm9yIHNldHRpbmcgdGhlIGNvZGVjIGlkCgoyMDE2LTA3LTA0IDA5OjUwOjExICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NXBheS9kZXBheTogU3luYyBhZ2FpbnN0IFJGQyA3Nzk4CgkgIEhhbmRsZSBzcHJvcC12cHMsIHNwcm9wLXNwcyBhbmQgc3Byb3AtcHBzIGluIGNhcHMgaW5zdGVhZCBvZgoJICBzcHJvcC1wYXJhbWV0ZXItc2V0cy4KCSAgcnRwaDI2NXBheSB3b3JrcyB3aXRoIGJ5dGUtc3RyZWFtIGFuZCBodmMxIGZvcm1hdHMgYnV0IG5vdCBoZXYxIHlldC4gSXQKCSAgaGFuZGxlcyBwcm9maWxlLWlkLCB0aWVyLWZsYWcgYW5kIGxldmVsLWlkIGluIGNhcHMgcXVlcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NjAKCjIwMTYtMDctMDYgMDk6MjU6MDAgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFB1c2ggbm9taW5hbCBiaXRyYXRlIHRhZ3MKCSAgQWRkIHBlci1zdHJlYW0gdGFnIGxpc3RzLCB3aGljaCBhcmUgdXNlZCB0byBzZW5kIG5vbWluYWwKCSAgYml0cmF0ZSB0YWdzLiBXaGVuIHJlbXV4aW5nIEZMViA9PiBGTFYsIHRoaXMgbm93IHBhc3NlcwoJICB0aHJvdWdoIHRoZSB1cHN0cmVhbSBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDQwCgoyMDE2LTA3LTA2IDA5OjI0OjQ5ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBSZWZhY3RvciBtZXRhZGF0YSB0YWcgaGFuZGxpbmcKCSAgVGhlIEZMViBoZWFkZXIgY2Fubm90IGJlIHRydXN0ZWQgdG8gaW5kaWNhdGUgdmlkZW8gb3IKCSAgYXVkaW8gcHJlc2VuY2UsIGFzIHRoZSBjb21tZW50cyBhbHJlYWR5IG1lbnRpb24uIERvbid0CgkgIGRlbGF5IHB1c2hpbmcgdGFncyB3YWl0aW5nIGZvciBzdHJlYW1zIHRoYXQgbWlnaHQgbmV2ZXIKCSAgYXBwZWFyLgoJICBUYWdzIGFyZSBub3cgcHVzaGVkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZXkgY2hhbmdlOgoJICAtIEFmdGVyIHBhcnNpbmcgYW4gb25NZXRhRGF0YSBzY3JpcHQgb2JqZWN0CgkgIC0gQWZ0ZXIgbmVnb3RpYXRpbmcgY2FwcyBvbiBhIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDQwCgoyMDE2LTA3LTA2IDEyOjQ0OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBBQUMgY29kZWNfZGF0YSB2YWx1ZXMKCSAgQXMgc2VlbiBpbiB0aGUgcGFyZW50IHN3aXRjaCBmb3Igb2JqZWN0X3R5cGVfaWQsIHRoZSA0IHBvc3NpYmxlIHZhbHVlcyBhcmUKCSAgMHg0MCwgMHg2NiwgMHg2NyBhbmQgMHg2OC4gRml4aW5nIHRoZSBuZXN0ZWQgc3dpdGNoIHRvIG1hdGNoIHRoZXNlIHZhbHVlcy4KCSAgTG9va3MgbGlrZSBpdCB3YXMgYSB0eXBvIG1ha2luZyB0aGVtIGRlY2ltYWwgaW5zdGVhZCBvZiBoZXhhZGVjaW1hbC4KCSAgQ0lEIDEzNjMzMjgKCjIwMTYtMDctMDYgMTM6NTE6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOS4xID09PQoKMjAxNi0wNy0wNiAxMzowNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuMQoKMjAxNi0wNy0wNiAxMTo0NjoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wNy0wNiAxMToyMjo1MyArMDMwMCAgU3RldmVuIEhvdmluZyA8c2hAYmlnYnJvdGhlci5ubD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGVycm9yIG1lc3NhZ2VzIHRvIGZpcnN0IGNvbnZlcnQgdG8gZG91YmxlcyBiZWZvcmUgZGl2aXNpb24KCjIwMTYtMDctMDYgMTA6MTg6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vaHIucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zay5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDctMDUgMjE6MTE6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFNldCB0byBQTEFZSU5HIGFmdGVyIGEgc2VlayBhZ2FpbiBhZnRlciBzZXR0aW5nIHVwIHRoZSBzZWdtZW50IGFuZCBldmVyeXRoaW5nIGVsc2UKCSAgVGhlcmUncyBhIHNtYWxsIHdpbmRvdyBmb3IgYSByYWNlIGNvbmRpdGlvbiBvdGhlcndpc2UuCgoyMDE2LTA3LTA0IDE3OjQ1OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFVzZSBjb21wbGV0ZSBBQUMgY2FwcyB3aXRoIGNvZGVjX2RhdGEgaW4gdGhlIHRlc3RzCgoyMDE2LTA3LTA0IDE2OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVqZWN0IHJhdyBBQUMgaWYgbm8gY29kZWNfZGF0YSBpcyBmb3VuZCBpbiB0aGUgY2FwcwoJICBJZiBuZWNlc3NhcnksIGEgZGVtdXhlciB3aWxsIGhhdmUgdG8gaW52ZW50IHNvbWV0aGluZyBoZXJlIGJ1dCB0aGlzIGlzIG9ubHkgYQoJICBwcm9ibGVtIHdpdGggbm9uLWNvbmZvcm1hbnQgZmlsZXMgYW55d2F5LgoKMjAxNi0wNy0wNCAxNjo1NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbnZlbnQgQUFDIGNvZGVjX2RhdGEgaWYgbm9uZSBpcyBwcmVzZW50CgkgIFdpdGhvdXQsIHJhdyBBQUMgY2FuJ3QgYmUgaGFuZGxlZCBhbmQgd2UgaGF2ZSBzb21lIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBpbgoJICB0aGUgZGVjb2RlciB0aGF0IG1vc3QgbGlrZWx5IGFsbG93cyB1cyB0byBkZWNvZGUgdGhlIHN0cmVhbSBpbiBvbmUgd2F5IG9yCgkgIGFub3RoZXIuIFRoaXMgaXMgdGhlIHNhbWUgY29kZSBhbHJlYWR5IHVzZWQgYnkgbWF0cm9za2FkZW11eCBmb3IgdGhlIHNhbWUKCSAgcmVhc29ucywgYW5kIGZmbXBlZy92bGMgcGxheSBzdWNoIGZpbGVzIGp1c3QgZmluZSB0b28gYnkgZ3Vlc3N3b3JrLgoKMjAxNi0wNy0wNCAxNDo1NDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlamVjdCByYXcgQUFDIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhCgkgIFRoZSByZXN1bHRpbmcgZmlsZSBpcyBub3QgZ29pbmcgdG8gYmUgcGxheWFibGUgd2l0aG91dCBndWVzc3dvcmsgYW5kIHJhdyBjYXBzCgkgIHNob3VsZCBhbHdheXMgaGF2ZSBjb2RlY19kYXRhLgoKMjAxNi0wNS0xMCAxNTo0ODo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkgIHF0ZGVtdXg6IEhhbmRsZSB1cHN0cmVhbSBHQVAgaW4gcHVzaC1tb2RlL3RpbWUgc2VnbWVudAoJICBUaGlzIGlzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB1cHN0cmVhbSBoYW5kbGVzIHRoZSBmcmFnbWVudGVkIHN0cmVhbWluZyBpbiBUSU1FCgkgIHNlZ21lbnRzIGFuZCBzZW5kcyB1cyBkYXRhIHdpdGggZ2FwcyB3aXRoaW4gZnJhZ21lbnRzLiBUaGlzIHdvdWxkIGhhcHBlbiB3aGVuIGRlYWxpbmcKCSAgd2l0aCB0cmljay1tb2Rlcy4KCSAgV2hlbiB1cHN0cmVhbSAocHVzaC1iYXNlZCwgVElNRSBTRUdNRU5UKSB3aXNoZXMgdG8gc2VuZCBkaXNjb250aW51b3VzIHNhbXBsZXMsCgkgIGl0IG11c3Qgb2JleSB0aGUgZm9sbG93aW5nIHJ1bGVzOgoJICAqIFRoZSBidWZmZXIgY29udGFpbmluZyB0aGUgW21vb2ZdIG11c3QgaGF2ZSBhIHZhbGlkIEdTVF9CVUZGRVJfT0ZGU0VUCgkgICogVGhlIGJ1ZmZlcnMgY29udGFpbmluZyB0aGUgZmlyc3Qgc2FtcGxlIGFmdGVyIGEgZ2FwOgoJICAqIE1VU1Qgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNhbXBsZSwKCSAgKiBNVVNUIGhhdmUgdGhlIERJU0NPTlQgZmxhZyBzZXQsCgkgICogTVVTVCBoYXZlIGEgdmFsaWQgR1NUX0JVRkZFUl9PRkZTRVQgcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjczNTQKCjIwMTYtMDctMDEgMTE6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkgIHY0bDI6IGZpeCBwb3RlbnRpYWwgZG91YmxlLWZyZWUgb2YgZXJyb3IgZGVidWcgc3RyaW5nCgkgIGdzdF92NGwyX2NsZWFyX2Vycm9yKCkgZG9lc24ndCB3b3JrIGxpa2UgZ19jbGVhcl9lcnJvcigpLCBpdAoJICBkb2Vzbid0IE5VTExpZnkgdGhlIHBvaW50ZXIsIHNvIHNldCBmcmVlZCBkZWJ1ZyBzdHJpbmcgdG8gTlVMTAoJICBzbyBpdCBkb2Vzbid0IGdldCBmcmVlZCBhZ2FpbiBpZiBnc3RfdjRsMl9jbGVhcl9lcnJvcigpIGlzCgkgIGNhbGxlZCB0d2ljZSBvbiB0aGUgZXJyb3IuCgkgIENJRCAxMzYyOTAxCgoyMDE2LTA3LTAxIDEwOjA1OjAwICswMDAwICBCcmFkIExhY2tleSA8YmxhY2tleUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IGRpc2FibGUgVURQIHByb3RvY29scyBvbiByZWRpcmVjdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MjMyCgoyMDE2LTA3LTAxIDE3OjI4OjE3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQdXNoIGNhcHMgb25seSB3aGVuIGl0IHdhcyB1cGRhdGVkCgkgIENvbW1pdCA3ODczYmVkZTMxMzRiMTVlNTA2NmU4ZDE0ZTU0ZDFmNTA1NGQyMDYzIGNhdXNlZCBuZXcgY2FwcwoJICBldmVudCBwZXIgbW9vZiB3aXRob3V0IGNvbnNpZGVyYXRpb24gb2YgZHVwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgyNjgKCjIwMTYtMDYtMzAgMTU6MDE6NDYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzCgkgIDEwIGJ5dGVzIHdhcyBhbGxvY2F0ZWQgZm9yIHN0cmVhbV9mb3JtYXQgYnV0IHNpemUgb2YgImJ5dGUtc3RyZWFtIiBpcwoJICBtb3JlLiBVc2UgZ19zdHJkdXAoKSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA2LTI5IDIzOjMxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBVc2UgYSBub24tdGltZXIgR3N0UG9sbAoJICBPdGhlcndpc2Ugc2V0X2ZsdXNoaW5nKCkgd2lsbCBoYXZlIHVuZGVmaW5lZCBzZW1hbnRpY3MgYW5kIG5vd2FkYXlzIGNhdXNlcyBhCgkgIGdfY3JpdGljYWwoKSB0byB3YXJuIGFib3V0IHRoYXQuCgoyMDE2LTA2LTE5IDAyOjA4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBkeW5hbWljYWxseSBhZGp1c3QgYmxvY2tzaXplCgkgIFVwZGF0ZSB0aGUgYmxvY2tzaXplIGRlcGVuZGluZyBvbiBob3cgbXVjaCBpcyBvYnRhaW5lZCBmcm9tIGEgcmVhZAoJICBvZiB0aGUgaW5wdXQgc3RyZWFtLiBUaGlzIGF2b2lkcyBkb2luZyB0b28gbWFueSByZWFkcyBpbiBzbWFsbCBjaHVua3MKCSAgd2hlbiBsYXJnZXIgYW1vdW50cyBvZiBkYXRhIGFyZSBhdmFpbGFibGUgYW5kIGFsc28gcHJldmVudHMgdXNpbmcKCSAgYSB2ZXJ5IGxhcmdlIG1lbW9yeSBhcmVhIHRvIHJlYWQgYSBzbWFsbCBjaHVuayBvZiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODMzCgoyMDE2LTA2LTI4IDE2OjQ0OjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBXaW5kb3dzIGhhcyBubyBpcGlfc3BlY19kc3QgaW4gc3RydWN0IGluX3BrdGluZm8KCjIwMTYtMDYtMjggMTU6MTU6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6ICNkZWZpbmUgX19BUFBMRV9VU0VfUkZDXzM1NDIgdG8gYmUgYWJsZSB0byB1c2UgSVBWNl9QS1RJTkZPIG9uIE9TWC9pT1MKCjIwMTYtMDYtMjggMTU6MDg6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IE1vdmUgI2luY2x1ZGVzIGFyb3VuZCB0byBhKSB3b3JrIGFyb3VuZCBicm9rZW4gZ2xpYmMgaGVhZGVyIGFuZCBiKSBXaW5kb3dzCgoyMDE2LTA2LTI4IDE0OjI1OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggY29tcGlsYXRpb24gb24gV2luZG93cyBhbmQgKkJTRC9PU1gKCjIwMTYtMDYtMjMgMjA6MjE6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpbHRlciBvdXQgbXVsdGljYXN0IHBhY2tldHMgdGhhdCBhcmUgbm90IGZvciBvdXIgbXVsdGljYXN0IGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzk4MAoKMjAxNi0wNi0yOCAxMDo1NzoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogV2hlbiBzZWVraW5nLCBjb25zaWRlciB0aGUgY3VycmVudCBlbGVtZW50IHN0YXRlIG9yIHBlbmRpbmcgc3RhdGUgaW5zdGVhZCBvZiB0aGUgUlRTUCBzdGF0ZQoJICBJZiB3ZSBjb25zaWRlciB0aGUgUlRTUCBzdGF0ZSwgd2hhdCBjYW4gaGFwcGVuIGlzIHRoYXQgaXQgaXMgUExBWUlORyBidXQgdGhlCgkgIGVsZW1lbnQgYWxyZWFkeSBhc3luY2hyb25vdXNseSB0cmllZCB0byBQQVVTRSBhbmQgaXQganVzdCBkaWQgbm90IGhhcHBlbiB5ZXQuCgkgIFdlIHdvdWxkIHRoZW4gb3ZlcnJpZGUgdGhpcyBzZXR0aW5nIHRvIFBBVVNFRCAod2hpbGUgdGhlIGVsZW1lbnQgYWN0dWFsbHkgaXMKCSAgaW4gUEFVU0VEKSBhbmQgc2V0IHRoZSBSVFNQIHN0YXRlIHRvIFBMQVlJTkcgYWdhaW4uIFRoaXMgd291bGQgdGhlbiBjYXVzZSB1cwoJICB0byBwcm9kdWNlIHBhY2tldHMgd2hpbGUgdGhlIHNpbmtzIGFyZSBhbGwgUEFVU0VELCBwaWxpbmcgdXAgdGhvdXNhbmRzIG9mCgkgIHBhY2tldHMgaW4gdGhlIHJ0cGppdHRlcmJ1ZmZlciBhbmQgb3RoZXIgZWxlbWVudHMgYW5kIGZpbmFsbHkgZmFpbGluZy4KCjIwMTYtMDYtMjcgMDk6MjA6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBZGQgY29tbWVudCBhYm91dCBIMjYzL01QRUc0UDIgYmVpbmcgbm9uLXN0YW5kYXJkIGZvciBGTFYKCSAgVGhleSBhcmUgaG93ZXZlciBzdXBwb3J0ZWQgYnkgZmZtcGVnIGFuZCBhcHBhcmVudGx5IHVzZWQgb3V0IHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MDA2CgoyMDE2LTA2LTI0IDE0OjQ4OjUzICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBIMjYzIGFuZCBNUEVHNCBwYXJ0MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MDA2CgoyMDE2LTA2LTIxIDE3OjEwOjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgVXBkYXRlIHBsdWdpbnMgZG9jCgkgIFRoaXMgaXMgcGFydGx5IGF1dG9tYXRlZCB1c2luZyAibWFrZSB1cGRhdGUiIGluIGRvY3MvcGx1Z2lucywgYnV0IGFsc28KCSAgcmVxdWlyZWQgbWFudWFsIG1lcmdlLiBBZGRpdGlvbmFsbHksIG1pc3NpbmcgcGx1Z2lucyBhbmQgZWxlbWVudHMgaGF2ZQoJICBiZWVuIGFkZGVkLgoKMjAxNi0wNi0yMSAxNzo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzOiBzcGxpdG11eDogc2tpcCB0ZXN0cyBpZiB0aGVvcmEgb3Igb2dnIHBsdWdpbnMgYXJlIG5vdCBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzg2MQoKMjAxNi0wNi0yMSAxMTo0NjoxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhYzJmNjQ3IHRvIGYzNjNiMzIKCjIwMTYtMDYtMjEgMDc6NDA6NDIgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGdzdHJ0cGoya3BheTogdXNlIHRpbGUgYml0IGFuZCB0aWxlIG51bWJlciB0byBkZXRlcm1pbmUgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHRpbGVzIGluIHBhY2tldAoJICBOb3cgd2UgZG9uJ3QgaGF2ZSB0byByZWx5IG9uIGEgc3BlY2lhbCB2YWx1ZSBmb3IgdGhlIHRpbGUgbnVtYmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODE3CgoyMDE2LTA2LTIxIDA5OjM0OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBmaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YCgkgIGdzdHJ0cGoya3BheS5jOjM2NDoyMTogZXJyb3I6IGltcGxpY2l0IHRydW5jYXRpb24gZnJvbSAnaW50JyB0byBiaXRmaWVsZCBjaGFuZ2VzIHZhbHVlIGZyb20gLTEgdG8gNjU1MzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzgxNwoKMjAxNi0wNi0yMSAwOTozNDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTYtMDUtMTYgMTc6MzE6NTggKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIGZpeCBidWZmZXIgbGVha3MgaW4gdGVzdHMKCSAgTmVlZCB0byBjYWxsIGdzdF9jaGVja19kcm9wX2J1ZmZlcnMoKSB0byByZWxlYXNlIHRoZSBidWZmZXJzIGV4Y2hhbmdlZAoJICBkdXJpbmcgdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDUtMTcgMTI6NTI6NDMgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggbWVzc2FnZSBsZWFrcyBpbiB0ZXN0CgkgIEZsdXNoIHRoZSBidXMgd2hlbiBjbGVhbmluZyB1cCBzbyBwZW5kaW5nIG1lc3NhZ2VzIGFyZSBkZXN0cm95ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDUtMTcgMTI6NTg6MDYgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaXggZXZlbnQgbGVha3MgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTYxCgoyMDE2LTA1LTEzIDE1OjEyOjIyICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGZpeCBsZWFrcwoJICAtIEZsdXNoIHRoZSBidXMgc28gbWVzc2FnZXMgYXJlbid0IGxlYWtlZAoJICAtIEZpeCBwYWQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTYxCgoyMDE2LTA2LTE3IDE1OjI5OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERlcHJlY2F0ZWQgc3Byb3AtcGFyYW1ldGVyLXNldCBwcm9wZXJ0eQoJICBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIGVpdGhlciBpbiB0aGUgY29kZWNfZGF0YSAoYXZjIHN0cmVhbSBmb3JtYXQpIG9yIGluc2lkZQoJICB0aGUgc3RyZWFtLCBhbmQgd2UgZXh0cmFjdCBpdCBmcm9tIHRoZXJlLiBJdCBzaG91bGQgbm90IGJlIHNldCBmcm9tIGEKCSAgcHJvcGVydHkgYXMgaXQncyBzdHJlYW0gc3BlY2lmaWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3ODkKCjIwMTYtMDYtMTcgMTI6MTY6MzIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIGFsbCBzcnRwIGVuY29kZXIgcHJvcGVydGllcyBleHBsaWNpdAoJICBUaGUgU2Vzc2lvbiBEYXRhIFByb3RvY29sIGRvZXNuJ3QgYWxsb3cgc3BlY2lmeWluZyBhIGNpcGhlciBmb3IgdGhlCgkgIFNSVENQLCBzbyBpdCB3aWxsIHVzZSB0aGUgU1JUUCBvbmUuIEluIHRoZSAic3J0cGVuYyIgZWxlbWVudCB0aGUgY2lwaGVyCgkgICJhZXMtMTI4LWljbSIgaXMgdGhlIGRlZmF1bHQgZm9yIFNSVFAgYW5kIFNSVENQLCBidXQgaWYgd2Ugd2FudCB0byBoYXZlCgkgIGFuIFNSVENQIHdpdGggdGhlICJhZXMtMjU2LWljbSIgY2lwaGVyIHRoZW4gd2UgYWxzbyBuZWVkIHRvIHNldCB0aGUgU1JUUAoJICBjaXBoZXIgdG8gImFlcy0yNTYtaWNtIiwgb3RoZXJ3aXNlICJhZXMtMTI4LWljbSIgd2lsbCBiZSB1c2VkIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3OTkKCjIwMTYtMDYtMTcgMTk6NTk6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkgIHNvdXA6IHdvcmsgYXJvdW5kIGZyZXF1ZW50IGRlYWRsb2NrcyBpbiBHTGliIHR5cGUgaW5pdGlhbGlzYXRpb24KCSAgLi4gYnkgcmVnaXN0ZXJpbmcgdGhlIHR5cGVzIGZyb20gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uLiBUaGlzCgkgIHNlZW1zIHRvIGhlbHAsIGJ1dCB3ZSdsbCBzZWUgaWYgaXQncyBlbm91Z2ggKG1pZ2h0IG5lZWQgc2ltaWxhcgoJICB0aGluZ3MgZWxzZXdoZXJlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0ODg1CgoyMDE2LTA2LTE3IDE2OjA4OjA4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVGhlIHByb3JlcyB2YXJpYW50IGlzIHN0b3JlZCBpbiB0aGUgdmFyaWFudCBmaWVsZCwgbm90IGZvcm1hdAoJICBBbmQgdGhlIGNhcHMgaW4gdGhlIHNpbmsgcGFkIHRlbXBsYXRlIGFscmVhZHkgdXNlZCB2YXJpYW50IChvbmx5KS4KCjIwMTYtMDYtMTcgMTM6MDA6NDggKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHBoMjY1cGF5OiBSZW1vdmUgc3Byb3AtcGFyYW1ldGVyLXNldHMgcHJvcGVydHkKCSAgVGhlcmUgaXMgbm8gdmFsaWQgdXNlIGNhc2Ugd2hlbiB0aGlzIHByb3BlcnR5IGlzIG5lZWRlZCBzaW5jZSB0aGUgdmFsdWVzCgkgIG11c3QgYmUgaW4gZWl0aGVyIGNvZGVjX2RhdGEgb3IgYnVmZmVyIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NjAKCjIwMTYtMDYtMTAgMTY6MTc6MjYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZG9jcy9wbHVnaW5zL3NjYW5vYmotYnVpbGQuc3RhbXA6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBSZWFkIE5BTFUgdHlwZSB0aGUgc2FtZSB3YXkgZXZlcnl3aGVyZQoJICBDb3NtZXRpYyBjaGFuZ2UgdG8gcmVhZCBOQUxVIHR5cGUgaW4gZ3N0X3J0cF9oMjY1X3BheV9kZWNvZGVfbmFsKCkgdGhlCgkgIHNhbWUgd2F5IGFzIGluIG90aGVyIHBsYWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNi0xNyAxMzo1ODozMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBSVFBKaXR0ZXJCdWZmZXJNb2RlIGRvY3VtZW50YXRpb24KCSAgRG9jdW1lbnRhdGlvbiBsYWNrcyAnQCcgYmVmb3JlIGVhY2ggZW51bSB2YWx1ZXMgYW5kIHRoZXJlIHdhcyBhbiBleHRyYQoJICBsaW5lIGFmdGVyIHN5bWJvbCBzZWN0aW9uIHdoaWNoIGNvbmZ1c2VzIEdUSy1Eb2MgcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3Nzg4CgoyMDE2LTA1LTIzIDEwOjE4OjQ4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdGFrZSB0aGUgbG9jayB3aGVuIGNoYW5naW5nIHN0YXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwMjUKCjIwMTYtMDYtMTUgMTE6MTk6NDMgKzAyMDAgIErDvHJnZW4gU2xvd2FjayA8anVyZ2VuLnNsb3dhY2tAYmFyY28uY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjU6IGZpeCBOQUwgdW5pdCB0eXBlIHBhcnNpbmcgYW5kIFNQUy9QUFMvVlBTIGRldGVjdGlvbgoJICBGaXhlcyBzcHMvcHBzL3ZwcyBpbnNlcnRpb24gdmlhIHRoZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NjgwCgoyMDE2LTA2LTExIDEyOjE2OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgc2ltcGxlLWxhdW5jaC1saW5lczogVXNlIGNvcnJlY3QgSlBFRzIwMDAgY2FwcwoKMjAxNi0wNi0xMCAxMzo0MzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wNi0xMCAxMzo0MjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkYXRlIHBhcnNpbmcgd2hlbiB0aGVyZSBhcmUgdHJhaWxpbmcgc3BhY2VzCgkgIEZpeGVzIHBhcnNpbmcgb2YgIlRodSBNYXkgMTEgMTU6NTc6NDYgMjAwNiAiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDk2CgoyMDE2LTA1LTEzIDE1OjA4OjI0IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2NvbW1vbi5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGdzdHJ0cGoyazogc2V0IHNhbXBsaW5nIGZpZWxkIHJlcXVpcmVkIGJ5IFJGQwoJICBUaGlzIGZpZWxkIGlzIG5vdyByZXF1aXJlZCBpbiB0aGUgc2luayBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MjM2CgoyMDE2LTA2LTA5IDA5OjMwOjQ4ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB1bnJlZiBhc3NlcnRpb24gZmFpbHVyZQoJICBGaXggdW5yZWYgYXNzZXJ0aW9uIGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQyNAoKMjAxNi0wNS0xNCAxNDo0NjoxNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFdvcmsgd2l0aCBub24tVElNRSBzZWdtZW50cwoJICBXaXRoIG5vbi10aW1lIHNlZ21lbnRzLCBpdCBub3cgYXNzdW1lcyB0aGF0IHRoZSBhcnJpdmFsIHRpbWUgb2YgcGFja2V0cwoJICBpcyBub3QgcmVsZXZhbnQgYW5kIHRoYXQgb25seSB0aGUgUlRQIHRpbWVzdGFtcCBtYXR0ZXIgYW5kIGl0IHByb2R1Y2VzCgkgIGFuIG91dHB1dCBzZWdtZW50IHN0YXJ0IGF0IHJ1bm5pbmcgdGltZSAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDM4CgoyMDE2LTA2LTA3IDIwOjUzOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IFdhaXQgZm9yIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNoZWNraW5nIGl0CgkgIFRoZSBoZXVyaXN0aWMgdG8gY2hvb3NlIGJldHdlZW4gcGFja2V0aXNlIG9yIG5vdCB3YXMgY2hhbmdlZCB0byB1c2UgdGhlCgkgIHNlZ21lbnQgZm9ybWF0LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIHJlYWRpbmcgdGhlIHNlZ21lbnQKCSAgZHVyaW5nIHRoZSBjYXBzIGV2ZW50IGhhbmRsaW5nLiBUaGUgc2VnbWVudCBldmVudCB3aWxsIG9ubHkgYmUgc2VudAoJICBhZnRlci4gVGhhdCBwcmV2ZW50ZWQgdGhlIGRlY29kZXIgdG8gZ28gaW4gcGFja2V0aXplIG1vZGUsIGFuZCBhdm9pZAoJICB1c2VsZXNzIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTYtMDYtMDYgMTc6MDA6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogV2FpdCBmb3Igc2VnbWVudCBldmVudCBiZWZvcmUgY2hlY2tpbmcgaXQKCSAgVGhlIGhldXJpc3RpYyB0byBjaG9vc2UgYmV0d2VlbiBwYWNrZXRpc2Ugb3Igbm90IHdhcyBjaGFuZ2UgdG8gdXNlIHRoZQoJICBzZWdtZW50IGZvcm1hdC4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGlzIGNoYW5nZSBpcyByZWFkaW5nIHRoZSBzZWdtZW50CgkgIGR1cmluZyB0aGUgY2FwcyBldmVudCBoYW5kbGluZy4gVGhlIHNlZ21lbnQgZXZlbnQgd2lsbCBvbmx5IGJlIHNlbnQKCSAgYWZ0ZXIuIFRoYXQgcHJldmVudGVkIHRoZSBkZWNvZGVyIHRvIGdvIGluIHBhY2tldGl6ZSBtb2RlLCBhbmQgYXZvaWQKCSAgdXNlbGVzcyBwYXJzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE2LTA2LTA3IDE2OjQyOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBLZWVwIHBhcnQgb2YgdGhlIGlucHV0IGJ1ZmZlcgoJICBJbnN0ZWFkIG9mIGNvbXBsZXRlbHkgZ2V0dGluZyByaWQgb2YgdGhlIGlucHV0IGJ1ZmZlciwgY29weQoJICB0aGUgbWV0YWRhdGEsIHRoZSBmbGFncyBhbmQgdGhlIHRpbWVzdGFtcCBpbnRvIGFuIGVtcHR5IGJ1ZmZlci4KCSAgVGhpcyB3YXkgdGhlIGRlY29kZXIgYmFzZSBjbGFzcyBjYW4gY29weSB0aGF0IGluZm9ybWF0aW9uIGFnYWluCgkgIHRvIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDI0CgoyMDE2LTA2LTA3IDE2OjQxOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTYtMDYtMDcgMTY6MDk6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDE2LTA2LTA3IDE2OjA0OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBBZGQgYW4gZXJyb3IgcmV0dXJuIHRvIF90cnkvX3NldF9mb3JtYXQKCSAgVGhpcyB3YXkgb25lIGNhbiBlYXNpbHkgaWdub3JlIGVycm9ycy4gUHJldmlvdXNseSwgZXJyb3Igd2VyZSBhbHdheXMKCSAgcG9zdGVkIG9udCBoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNzIKCjIwMTYtMDYtMDcgMTY6MDE6NTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5oOgoJICB2NGwyLXV0aWw6IEludHJvZHVjZSBHc3RWNGwyRXJyb3IKCSAgVGhpcyBpcyB0byBhbGxvdyByZXR1cm5pbmcgYW4gZXJyb3IgdGhhdCBjYW4gZWFzaWx5IGJlIHNlbnQgYXMKCSAgbWVzc2FnZSB0byB0aGUgYXBwbGljYXRpb24gaWYgdGhlIGVsZW1lbnQgbmVlZHMgaXQuIFVzaW5nIHRoaXMKCSAgYWxzbyBhbGxvdyBpZ25vcmluZyBlcnJvcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNzIKCjIwMTYtMDYtMDcgMTI6NDE6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQXZvaWQgZGVjaWRlIGFsbG9jYXRpb24gb24gYWN0aXZlIHBvb2wKCSAgdjRsMnNyYyB3aWxsIHJlbmVnb3RpYXRlIG9ubHkgaWYgdGhlIGZvcm1hdCBoYXZlIGNoYW5nZWQuIEFzIG9mIG5vdywKCSAgaXQncyBub3QgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBhbGxvY2F0aW9udyB3aXRob3V0IHJlc2V0dGluZyB0aGUKCSAgY2FtZXJhLiBUbyBhdm9pZCB1bndhbnRlZCBzaWRlIGVmZmVjdCwgc2ltcGx5IGtlZXAgdGhlIG9sZCBhbGxvY2F0aW9uCgkgIGlmIG5vIHJlbmVnb3RpYXRpb24gaXMgdGFraW5nIHBsYWNlLiBUaGlzIGZpeGVzIGFzc2VydGlvbiBhbmQgcG9zc2libGUKCSAgZmFpbHVyZXMgaW4gVVNFUlBUUiBvciBETUFCVUYgaW1wb3J0IG1vZGUgKHdoZW4gdXNpbmcgZG93bnN0cmVhbSBwb29scykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNDIKCjIwMTYtMDQtMjggMTM6NDQ6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFNob3cgc3RhdGUgbmFtZSBpbiBkZWJ1Z2dpbmcKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHRyYWNlIHdoYXQncyBnb2luZyBvbgoKMjAxNi0wNS0xMCAxNTo0NTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZQoJICBUaGF0IHZhcmlhYmxlIGlzIG9ubHkgbmVlZGVkIGZvciBhIGRlYnVnIHN0YXRlbWVudCwgbW92ZSBpdCB0aGVyZQoKMjAxNi0wNS0xMCAxNToxMDozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkL0ZpeCBjb21tZW50cyBvbiB0aGUgdmFyaW91cyBzdHJ1Y3R1cmUgdmFyaWFibGVzCgkgIE5vIHZhcmlhYmxlcyB3ZXJlIGFkZGVkL3JlbW92ZWQuIFRoaXMgd2FzIGp1c3QgYSBnb29kIGV4Y3VzZSB0bzoKCSAgKiBDb21tZW50IHdoYXQgbW9zdCB2YXJpYWJsZXMgYXJlIHVzZWQgZm9yIChhbmQgd2hlbikKCSAgKiBPcmRlciB0aGVtIGluIHN1Y2ggYSB3YXkgYXMgdG8gc2hvdyBmaXJzdCB0aGUgY29tbW9uIHZhcmlhYmxlcyB1c2VkCgkgIGluIGFsbCBjYXNlcywgZm9sbG93ZWQgYnkgdGhvc2Ugb25seSB1c2VkIGluIHB1c2gtbW9kZQoKMjAxNi0wNS0xMCAxNTowNzo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdW51c2VkIHN0cnVjdHVyZQoJICBMZXQncyBqdXN0IHJlbW92ZSBpdCwgYmVlbiBjb21tZW50ZWQgZm9yIDcrIHllYXJzIDopCgoyMDE1LTA5LTAyIDExOjQ4OjI5ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogdXNlIGRlY29kZXIgc3RvcCBjb21tYW5kIGluc3RlYWQgb2YgcXVldWVpbmcgZW1wdHkgYnVmZmVycwoJICBPbmx5IGlmIHRoZSBkZWNvZGVyIHN0b3AgY29tbWFuZCBmYWlscywga2VlcCBxdWV1ZWluZyBlbXB0eSBidWZmZXJzIHRvCgkgIHNpZ25hbCBlbmQgb2Ygc3RyZWFtIGFzIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg2NAoKMjAxNC0xMi0xMiAxNDozMTozNiArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogYWRkIGdzdF92NGwyX2RlY29kZXJfY21kIGhlbHBlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODY0CgoyMDE2LTA2LTAxIDIwOjI4OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZvcndhcmQgc2VnbWVudHMgZGlyZWN0bHkgaWYgd2UgYXJlIG9wZXJhdGluZyBpbiBQVVNIIG1vZGUgb24gZnJhZ21lbnRlZCBzdHJlYW1zCgkgIFdlIHNob3VsZG4ndCBnbyB0aHJvdWdoIHNlZ21lbnQgYWN0aXZhdGlvbiBhcyB3ZSB3aWxsIG9ubHkgaGF2ZSBhIGxpbWl0ZWQKCSAgdW5kZXJzdGFuZGluZyBvZiBob3cgdGhlIHdob2xlIHN0cmVhbSB0aW1lbGluZSBsb29rcyBsaWtlIGZyb20gdGhlIG1vb2YuIFdlCgkgIG9ubHkga25vdyBhYm91dCB0aGUgY3VycmVudCBmcmFnbWVudCwgd2hpbGUgdXBzdHJlYW0ga25vd3MgYWJvdXQgdGhlIHdob2xlCgkgIHN0cmVhbS4KCSAgVGhpcyBmaXhlcyBzZWVraW5nIGluIERBU0ggc3RyZWFtcywgYm90aCBmb3Igc2Vla3MgYWZ0ZXIgdGhlIGN1cnJlbnQgbW9vZiBhbmQKCSAgZm9yIHNlZWtzIGludG8gdGhlIGN1cnJlbnQgbW9vZi4gVGhlIGZvcm1lciB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIG1vb2YgZW5kcwoJICBhbmQgd2UgY2FuJ3QgYWN0aXZhdGUgYW55IHNlZ21lbnQsIHRoZSBsYXR0ZXIgd291bGQgY2F1c2UgYSBzZWdtZW50IHRoYXQgc3RvcHMKCSAgYXQgdGhlIG1vb2YgZW5kLCBhbmQgbm8gZnVydGhlciBmcmFnbWVudHMgd291bGQgYmUgcGxheWVkIGJlY2F1c2Ugd2UgZW5kIHVwCgkgIGJlaW5nIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNi0wNi0wNiAxNzo1NDoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBVc2UgbG9vc2VyIGNhcHMgZm9yIHVwc3RyZWFtCgkgIFdoZW4gd2UgZml4YXRlIGZvciB1cHN0cmVhbSwgdHJ5IHRvIG5vdCBpbnRyb2R1Y2UgbmV3IGZpZWxkcyB3aGVuIG5vdAoJICBuZWVkZWQuIFRoaXMgd2FzIGltcG9ydGVkIGZyb20gdmlkZW9jb252ZXJ0IGVsZW1lbnQuCgoyMDE1LTAxLTI4IDEyOjA3OjU4ICswMTAwICBFbnJpY28gSm9ybnMgPGVqb0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgZ3N0djRsMnRyYW5zZm9ybTogZm9ybWF0IGZpeGF0aW9uIGZvciBwcmVmZXJyaW5nIHBhc3N0aHJvdWdoCgkgICogSWYgb3V0Z29pbmcgZm9ybWF0IGlzIHVuZml4YXRlZCwgdHJ5IHRvIHNldCBpdCB0byBpbnB1dCBmb3JtYXQuCgkgICogQ2FsbCBnc3RfY2Fwc19maXhhdGUgKCkgYXQgZW5kIG9mIGZpeGF0aW9uIHJvdXRpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcxOQoKMjAxNi0wNS0yMCAxMjo0OTo1MyArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogYWxsb3cgdG8gY2hhbmdlIHBpeGVsIGFzcGVjdCByYXRpbwoJICBTY2FsZXJzIG1heSBjaGFuZ2Ugd2lkdGggYW5kIGhlaWdodCBpbmRlcGVuZGVudGx5LAoJICBhbGxvdyB0byBjaGFuZ2UgcGl4ZWwgYXNwZWN0IHJhdGlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzEyCgoyMDE2LTA1LTIwIDEyOjMyOjI1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBmaXggc2NhbGluZyBpbiBjYXNlIG9mIGZpeGVkIHBpeGVsIGFzcGVjdCByYXRpbwoJICBUbyBjaGFuZ2UgcGl4ZWwgYXNwZWN0IHJhdGlvIGZyb20gREFSIHRvIFBBUiwgdGhlIG5lY2Vzc2FyeSBzY2FsaW5nIGZhY3RvcgoJICBpcyBEQVIvUEFSLCBub3QgREFSKlBBUi4KCSAgRm9yIGdvb2QgbWVhc3VyZSwgYWRkIGRlYnVnIG91dHB1dCBzaW1pbGFyIHRvIHRoZSBmaXhlZC13aWR0aCBhbmQKCSAgZml4ZWQtaGVpZ2h0IGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzExCgoyMDE2LTA1LTEzIDE2OjM5OjI1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaWxsIGNvbG9yaW1ldHJ5IGluIGdzdF92NGwyX29iamVjdF9hY3F1aXJlX2Zvcm1hdAoJICBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRlZmF1bHQgY29sb3JpbWV0cnkgY2hvc2VuIGJ5CgkgIGdzdF92aWRlb19pbmZvX3NldF9mb3JtYXQoKSwgc2V0IGluZm8uY29sb3JpbWV0cnkgZnJvbSB0aGUKCSAgdmFsdWVzIHJldHVybmVkIGJ5IEdfRk1ULiBUaGlzIGFsbG93cyBkZWNvZGVycyB0byBwcm9wYWdhdGUKCSAgdGhlaXIgaW5wdXQgY29sb3JpbWV0cnkgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM4MwoKMjAxNi0wNS0xOCAxMDoxNzoxMiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcmVmYWN0b3IgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jb2xvcnNwYWNlIHRvIHRha2UgYSB2NGwyX2Zvcm1hdCBwYXJhbWV0ZXIKCSAgTW92ZSB0aGUgZXh0cmFjdGlvbiBvZiBjb2xvcmltZXRyeSBwYXJhbWV0ZXJzIGZyb20gc3RydWN0IHY0bDJfZm9ybWF0IGFuZCB0aGUKCSAgc2V0dGluZyBvZiB0aGUgaWRlbnRpdHkgbWF0cml4IGZvciBSR0IgZm9ybWF0cyBpbnRvIHRoZSBmdW5jdGlvbiB0byBhdm9pZCBjb2RlCgkgIGR1cGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgzCgoyMDE2LTA1LTEzIDE0OjU4OjQxICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogdXNlIHZpc2libGUgc2l6ZSwgbm90IGNvZGVkIHNpemUsIGZvciBkb3duc3RyZWFtIG5lZ290aWF0aW9uIGZpbHRlcgoJICBnc3RfdjRsMl9wcm9iZV9jYXBzKCkgcmV0dXJucyB0aGUgY29kZWQgc2l6ZSwgbm90IHRoZSB2aXNpYmxlIHNpemUuIFN1YnRyYWN0CgkgIHRoZSBrbm93biBwYWRkaW5nIGZyb20gcHJvYmVkIGNhcHMgd2l0aCB0aGUgY29kZWQgc2l6ZSBiZWZvcmUgdXNpbmcgdGhlbSBhcwoJICBmaWx0ZXIgZm9yIGNhcHMgbmVnb3RpYXRpb24gd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgyCgoyMDE2LTA1LTEzIDE0OjQ1OjAyICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiB1c2UgR19TRUxFQ1RJT04gaW5zdGVhZCBvZiBHX0NST1AgaW4gZ3N0X3Y0bDJfb2JqZWN0X2FjcXVpcmVfZm9ybWF0CgkgIFRoZSBnc3RfdjRsMl9vYmplY3RfYWNxdWlyZV9mb3JtYXQoKSBmdW5jdGlvbiBpcyB1c2VkIGJ5IHY0bDJ2aWRlb2RlYyB0byBvYnRhaW4KCSAgdGhlIGN1cnJlbnRseSBzZXQgY2FwdHVyZSBmb3JtYXQuIFNpbmNlIEdfRk1UIHJldHVybnMgdGhlIGNvZGVkIHNpemUsIHRoZQoJICB2aXNpYmxlIHNpemUgbmVlZHMgdG8gYmUgb2J0YWluZWQgZnJvbSB0aGUgY29tcG9zZSByZWN0YW5nbGUgaW4gb3JkZXIgdG8KCSAgbmVnb3RpYXRlIGl0IHdpdGggZG93bnN0cmVhbSBlbGVtZW50cy4gVGhlIEdfQ1JPUCBjYWxsIGhhc24ndCB3b3JrZWQgb24gbWVtMm1lbQoJICBjYXB0dXJlIHF1ZXVlcyBmb3IgYSBsb25nIHRpbWUuIEluc3RlYWQgdXNlIHRoZSBHX1NFTEVDVElPTiBjYWxsIHRvIG9idGFpbiB0aGUKCSAgY29tcG9zZSByZWN0YW5nbGUgYW5kIG9ubHkgZmFsbCBiYWNrIHRvIEdfQ1JPUCBmb3IgYW5jaWVudCBrZXJuZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgxCgoyMDE2LTAxLTI3IDA5OjU3OjM4ICswMTAwICBBbmRyZWFzIE5hdW1hbm4gPGFuYXVtYW5uQHVsdHJhdHJvbmlrLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFVzZSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9PVkVSTEFZIGlmIGRyaXZlciBhZHZlcnRpc2VzIGl0LgoJICBPbiBtb2Rlcm4ga2VybmVscywgdGhlIEcvU19GTVQgaW9jdGxzIHdpbGwgYWx3YXlzIGZhaWwgdXNpbmcKCSAgVjRMMl9CVUZfVFlQRV9WSURFT19PVkVSTEFZIHdpdGggVkZMX0RJUl9UWCAoZS5nLiByZWFsIG92ZXJsYXkgb3V0IGRyaXZlcnMpCgkgIHNpbmNlIHRoaXMgaXMgbm90IHRoZSBpbnRlbnRlZCB1c2UgKHJhdGhlciByeCwgYWNjb3JkaW5nIHRvIHY0bDIgQVBJIGRvYykuCgkgIFByb2JhYmx5IHRoaXMgaXMgd2h5IHRoZSBWaWRlbyBPdXRwdXQgT3ZlcmxheSBpbnRlcmZhY2Ugd2FzIGNyZWF0ZWQsIHNvIGlmCgkgIHRoZSBkcml2ZXIgYWR2ZXJ0aXNlcyBpdCB3ZSBtaWdodCBhcyB3ZWxsIHVzZS4KCSAgRm9yIG9sZCBrZXJuZWxzIChwcmUgMjAxMikgdGhlIG9sZCB3YXkgbWlnaHQgc3RpbGwgd29yayBzbyBrZWVwaW5nIHRoaXMgZm9yCgkgIGNvbXBhdGliaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExNjUKCjIwMTYtMDYtMDYgMTg6NTI6MDEgKzAxMDAgIEtpZXJhbiBCaW5naGFtIDxraWVyYW5AYmluZ2hhbS54eXo+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBub24tZGVwcmVjYXRlZCBWNEwyIHR5cGUgZm9yIFJHQjE1CgkgIFN1cHBvcnQgZm9yIHRoZSB1cGRhdGVkIFY0TDJfUElYX0ZNVF9YUkdCNTU1IHdhcyBhZGRlZCBpbiBjb21taXQKCSAgMjUzOGZlZTJmZDhmZGI3NGIwNWYwYTUxMTI4MWJjNDcwN2U3Y2M0NCBob3dldmVyLCB3aGVuIHNldHRpbmcgdGhlIGZvcm1hdAoJICBmb3IgdXNlIGluIHY0bDIgaW9jdGxzLCB0aGUgb2xkIGRlcHJlY2F0ZWQgZm9ybWF0IGlzIHN0aWxsIHVzZWQuIENvbnZlcnQKCSAgdGhpcyB0byB0aGUgbmV3IGFjY2VwdGVkIGZvcm1hdCB0eXBlLCBhcyB0aGUgcHJlZmVycmVkIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzMwMAoKMjAxNi0wNS0wNCAxNDo1MDozMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJlc2VydmUgc2VlayBmbGFncwoJICBXaXRob3V0IHRoaXMgc29tZSBmbGFncyBnZXQgbG9zdCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE5NAoKMjAxNi0wNi0wNiAxMDo0Nzo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgUmV2ZXJ0ICJXSVAgcmV2ZXJ0IHNvdXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmRhYzNhN2EyMzFmMzg0ODY2NTYzNmNmODEyMmY5NjEwM2I0NmUzYi4KCSAgV2FzIG5vdCBzdXBwb3NlZCB0byBiZSBwdXNoZWQgYnV0IGEgbG9jYWwgd29ya2Fyb3VuZCBmb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMSNjMTMKCjIwMTYtMDYtMDMgMTM6MDk6MzUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogY29tcGxldGUgd2FybiBsb2cgd2l0aCBTU1JDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxOTUKCjIwMTYtMDUtMzEgMTU6Mjk6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFdJUCByZXZlcnQgc291cAoKMjAxNi0wNi0wMyAxMzoxODozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFVucmVmIHNlZWsgZXZlbnQgaW4gYW55IGNhc2UKCSAgSXQgd291bGQgYmUgbGVha2VkIGlmIG5vIHNlZWsgaGFuZGxlciB3YXMgY3VycmVudGx5IHNldC4KCjIwMTYtMDYtMDMgMTA6NDk6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBQcm9wZXJseSBzZXQgZXZlbnQvbWVzc2FnZSBzZXF1ZW5jZSBudW1iZXJzIGJhc2VkIG9uIHRoZSBwcmV2aW91cyBzZWVrCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDMgMTA6MzY6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBSZW1lbWJlciBpZiB1cHN0cmVhbSBoYWQgYSB0aW1lIHNlZ21lbnQgYW5kIGlmIG5vdCBwcm9wZXJseSBjcmVhdGUgdGltZSBzZWdtZW50cwoJICBQcmV2aW91c2x5IHRoZSBzZWdtZW50LnRpbWUgd2FzIHdyb25nLCBhbmQgdGhlIHBvc2l0aW9uIHdhcyBub3QgdXBkYXRlZAoJICBjb3JyZWN0bHksIHJlc3VsdGluZyBpbiBzZWVrcyBpbiBQVVNIIG1vZGUgd2l0aCB1cHN0cmVhbSBwcm92aWRpbmcgYSBCWVRFUwoJICBzZWdtZW50IHRvIG5vdCB3b3JrIGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMyAwOTo1NDo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5IHNvIHdlIGNhbiBhY3R1YWxseSBzZWVrIGlmIHVwc3RyZWFtIGNhbid0IHNlZWsgaW4gVElNRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAyIDE0OjE5OjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogUmVjYWxjdWxhdGUgdGhlIGZyYW1lIG9mZnNldHMgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIEJZVEUgc2VnbWVudCBhbmQgd2hlbmV2ZXIgdXBzdHJlYW0gZ2l2ZXMgdXMgYSB0aW1lc3RhbXAKCSAgVGhpcyBmaXhlcyBzZWVraW5nIGluIERWIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gb3BlcmF0ZXMgaW4gUFVTSCBtb2RlIHdpdGggYQoJICBUSU1FIHNlZ21lbnQgKGUuZy4gYXZpZGVtdXgpLiBXaXRob3V0IHRoaXMsIHdlIHdvdWxkIGdlbmVyYXRlIHdyb25nIGR1cmF0aW9ucwoJICBhbmQgdGltZXN0YW1wcyBhZnRlciBhIHNlZWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDIgMTM6NTM6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBQYXNzLXRocm91Z2ggYnVmZmVyIERJU0NPTlQgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMiAxNjoxNjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSAgcnRwdnA5ZGVwYXk6IERvbid0IGFzc2VydCBvbiBmbGV4aWJsZSBtb2RlIHBhY2tldHMKCSAgSW5zdGVhZCBqdXN0IHBvc3QgYSB3YXJuaW5nIG9uIHRoZSBidXMgZm9yIG5vdy4KCjIwMTYtMDYtMDIgMTU6MDM6MTcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHBiaW46IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NgoKMjAxNi0wNi0wMiAxNTowMDowMSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICB0ZXN0czogYW1ycGFyc2U6IGNsZWFuIHVwIHRlc3QKCSAgLSB1c2UgR1NUX0NIRUNLX01BSU4oKSB0byByZWR1Y2UgYm9pbGVycGxhdGUKCSAgLSB1bnJlZiB0aGUgaW5wdXQgY2FwcyB1c2luZyBhIHRlYXJkb3duIGZ1bmN0aW9uIHRvIHByZXZlbnQgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NgoKMjAxNi0wNS0yMCAxNToyMjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEVuc3VyZSBESVNDT05UIGZsYWcgaXMgcHJvcGVybHkgcHJvcGFnYXRlZAoJICBUaGUgb3V0cHV0IG9mIGRlaW50ZXJsYWNlIGF0IHN0YXJ0dXAsIG9yIHdoZW4gcmVjZWl2aW5nIGEgbmV3IERJU0NPTlQKCSAgYnVmZmVyLCBzaG91bGQgaGF2ZSB0aGUgRElTQ09OVCBmbGFnIHNldCBvbiB0aGUgZmlyc3QgYnVmZmVyLgoKMjAxNi0wNS0zMSAyMTozNDowNCArMDIwMCAgSm9zZXAgVG9ycmEgPGFkbjc3MEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBjaGVjayBmb3IgdmFsaWQgc2l6ZSBvbiByYXcgdmlkZW8gYnVmZmVycwoJICBEaXNjYXJkIGJ1ZmZlcnMgdGhhdCBkb2Vzbid0IGNvbnRhaW4gZW5vdWdoIGRhdGEgd2hlbiBkZWFsaW5nCgkgIHdpdGggcmF3IHZpZGVvIGlucHV0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA4NgoKMjAxNi0wNS0zMSAxNzoxMDozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIGRlbXV4ZXIgc2VnbWVudCBpbnN0ZWFkIG9mIGEgbmV3IG9uZSBmb3IgTVNTIHN0cmVhbXMKCSAgVXBzdHJlYW0gbWlnaHQgaGF2ZSB0b2xkIHVzIHNvbWV0aGluZyBhYm91dCB0aGUgdG8gYmUgZXhwZWN0ZWQgc2VnbWVudCwgc28KCSAgbGV0J3MgdXNlIHRoYXQgaW5mb3JtYXRpb24gaW5zdGVhZCBvZiBjb21pbmcgdXAgd2l0aCBhIFswLC0xXSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA1LTMxIDE3OjA0OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE9ubHkgYWN0aXZhdGUgc2VnbWVudHMgYW5kIHNlbmQgU0VHTUVOVCBldmVudHMgaWYgd2UgaGF2ZSBzdHJlYW1zCgkgIEJ1dCBpbiB0aGF0IGNhc2UgYWxzbyByZW1vdmUgdGhlIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudCwgb3RoZXJ3aXNlIHdlIHdvdWxkCgkgIGxhdGVyIHNlbmQgYSBwb3NzaWJseSBvdXRkYXRlZCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNi0wNS0zMSAxNjo1Mzo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbiBQVUxMIG1vZGUsIG5vdGhpbmcgaXMgZXZlciBnb2luZyB0byBzZW5kIHVzIGEgU0VHTUVOVCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA1LTMxIDE2OjM4OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IG92ZXJyaWRlIFRJTUUgc2VnbWVudHMgZnJvbSB1cHN0cmVhbSB0aGF0IHdlIGp1c3Qgc2F3CgkgIFRoZSBwb2ludCBvZiBkOGZiN2E5Yzk2YjEwODgxNGJlZWFhMGU2M2Y4MThkNDY0OGM3ZmU5IHdhcyB0byBub3QgaGF2ZSBhbnkKCSAgc3B1cmlvdXMgc2VnbWVudHMgc3RvcmVkIGZvciBsYXRlciBpZiB3ZSBkbyBCWVRFUy0+VElNRSBjb252ZXJzaW9uLCBidXQKCSAgb3ZlcnJpZGluZyBhbnkgVElNRSBzZWdtZW50cyBmcm9tIHVwc3RyZWFtIGRvZXMgbm90IG1ha2UgYW55IHNlbnNlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzE2NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE1LTA3LTE2IDA5OjQ4OjQ2ICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBzZXQgcG9zaXRpb24gYXMgb2Zmc2V0IGZyb20gc3RhcnQtaW5kZXgKCSAgcXVlcnkgcG9zaXRpb24gaW4gR1NUX0ZPUk1BVF9CVUZGRVIgcmV0dXJucwoJICBvZmZzZXQgZnJvbSBzdGFydC1pbmRleCByYXRoZXIgdGhhbiBpbmRleC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ2MgoKMjAxNi0wNS0yNyAxMjo0OTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9ncmFkaWVudC5qMms6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBKUEVHLTIwMDAgcnRwIHBheWxvYWRlciBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NzAKCjIwMTYtMDUtMjUgMTc6MTE6MTMgKzAyMDAgIFBpZXJyZSBMYW1vdCA8cGllcnJlLmxhbW90QG9wZW53aWRlLmZyPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIElucHV0IGJ1ZmZlciBtZW1vcnkgd2FzIG5vdCB1bm1hcHBlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODcwCgoyMDE2LTA1LTE4IDEyOjEyOjE1ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IGNhcHMgbGVhawoJICBnc3RfdjRsMl9vYmplY3RfcHJvYmVfY2FwcygpIHdhcyB0YWtpbmcgYW4gZXh0cmEgcmVmIG9uIHRoZSByZXR1cm5lZAoJICBjYXBzIGZvciBubyByZWFzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MTAKCjIwMTYtMDUtMjIgMjA6MTQ6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3AgbWFyayBjcm9wIHByb3BlcnRpZXMgYXMgbXV0YWJsZSBpbiBwbGF5aW5nIHN0YXRlCgoyMDE2LTA1LTIwIDE2OjQ3OjM1ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggYnVmZmVyIGxlYWsgd2hlbiBmbHVzaGluZwoJICBXaGVuIGVhcmx5IHJldHVybmluZyBpbiBnc3Rfc291cF9odHRwX3NyY19yZWFkX2J1ZmZlcigpIGJlY2F1c2UgdGhlCgkgIGVsZW1lbnQgaXMgRkxVU0hJTkcsIHdlIG5lZWQgdG8gdW5tYXAgYW5kIHVucmVmIHRoZSBidWZmZXIgd2hpY2ggd2FzIGp1c3QgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcxOAoKMjAxNi0wNS0yMCAxMToxNTo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTZXQgc2VlayBldmVudCBzZXFudW0gb24gYWxsIFNFR01FTlQgZXZlbnRzCgkgIFNvbWUgd2VyZSBmb3Jnb3R0ZW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgoyMDE2LTA1LTIwIDExOjEyOjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBQYXNzIHRocm91Z2ggc2VlayBldmVudCBzZXFudW1zIGluIGFsbCBTRUdNRU5UL0VPUyBldmVudHMgYW5kIFNFR01FTlRfRE9ORSBtZXNzYWdlcy9ldmVudHMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCjIwMTYtMDUtMjAgMTA6NTY6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2V0IHNlZWsgZXZlbnQgc2VxbnVtIGluIEVPUyBhbmQgU0VHTUVOVF9ET05FIG1lc3NhZ2VzL2V2ZW50cwoJICBBbHNvIGFjdHVhbGx5IHN0b3JlIHRoZSBzZXFudW0gaW4gcHVsbCBtb2RlIHNlZWtzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzNQoKMjAxNi0wNS0xNyAxMzo0MDozOCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBjYXBzIGxlYWsKCSAgVGhlIGNhcHMgcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgd2FzIG5ldmVyIHVucmVmZmVkIHdoZW4KCSAgbm90IGVhcmx5IHJldHVybmluZy4KCSAgRml4IGEgbGVhayB3aXRoIHRoZSBlbGVtZW50cy9kZWludGVybGFjZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTU4CgoyMDE2LTAxLTI1IDE2OjI1OjUxICswMTAwICBNaWtoYWlsIEZsdWRrb3YgPG1pc2hhQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgYWN0IG9uIHN1c3BpY2lvdXMgQllFIFJUQ1AKCSAgU29tZSBlbmRwb2ludHMgKGxpa2UgVGFuZGJlcmcgRTIwKSBjYW4gc2VuZCBCWUUgcGFja2V0IGNvbnRhaW5pbmcgb3VyCgkgIGludGVybmFsIFNTUkMuIEkgdGhpcyBjYXNlIHdlIHdvdWxkIGRldGVjdCBTU1JDIGNvbGxpc2lvbiBhbmQgZ2V0IHJpZAoJICBvZiB0aGUgc291cmNlIGF0IHNvbWUgcG9pbnQuIEJ1dCBiZWNhdXNlIHdlIGFyZSBzdGlsbCBzZW5kaW5nIHBhY2tldHMKCSAgd2l0aCB0aGF0IFNTUkMgdGhlIHNvdXJjZSB3aWxsIGJlIHJlY3JlYXRlZCBpbW1lZGlhdGVseS4KCSAgVGhpcyBicmFuZCBuZXcgaW50ZXJuYWwgc291cmNlIHdpbGwgbm90IGhhdmUgc29tZSB2YXJpYWJsZXMgaW5jb3JyZWN0bHkKCSAgc2V0IGluIGl0cyBzdGF0ZS4gRm9yIGV4YW1wbGUgJ3NlcW51bS1iYXNlYCBhbmQgYGNsb2NrLXJhdGVgIHZhbHVlcyB3aWxsIGJlCgkgIC0xLgoJICBUaGUgZml4IGlzIG5vdCB0byBhY3Qgb24gQllFIFJUQ1AgaWYgaXQgY29udGFpbnMgaW50ZXJuYWwgb3IgdW5rbm93bgoJICBTU1JDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE5CgoyMDE1LTExLTE1IDE0OjU0OjI4ICswMTAwICBNaWtoYWlsIEZsdWRrb3YgPG1pc2hhQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHRlc3QgZm9yIGxvY2tpbmcgb2YgdGhlIHN0YXRzIHNpZ25hbAoJICBLZWVwaW5nIHRoZSBsb2NrIHdoaWxlIGVtaXR0aW5nIHRoZSBzdGF0cyBzaWduYWwgaW50cm9kdWNlcyBwb3RlbnRpYWwKCSAgZGVhZGxvY2sgaW4gdGhvc2Ugc2l0dWF0aW9ucyB3aGVuIHRoZSBzaWduYWwgY2FsbGJhY2sgd2FudHMgdGhlIGFjY2VzcwoJICB0byBydHBzZXNzaW9uJ3MgcHJvcGVydGllcyB3aGljaCBhbHNvIHJlcXVyZSB0aGUgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxNgoKMjAxNi0wNS0xOSAxNTozNjo1NyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgaG9sZCBvYmplY3QgbG9jayB3aGlsc3QgcHVzaGluZyBvdXQgaGVhZGVycwoJICBtYXRyb3NrYWRlbXV4IHdvdWxkIHRha2UgdGhlIEdTVF9PQkpFQ1RfTE9DSyBpbgoJICAtIGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2NvZGVjX2RhdGFfYWxsKCkKCSAgLSBnc3RfbWF0cm9za2FfZGVtdXhfcXVlcnkoKQoJICBTb21lIHBhcnNlIGVsZW1lbnQgc3VjaCBhcyBGTEFDIGNoZWNrcyB1cHN0cmVhbSBzZWVrYWJpbGl0eSwgYW5kCgkgIHRoZXJlIGlzIHNvbWUgdXNlIGNhc2VzIHRoYXQgbWF0cm9za2EtZGVtdXggaXMgbGlua2VkIHRvIGEgcGFyc2UgZWxlbWVudAoJICAoZS5nLixGTEFDIGZvcm1hdCkgd2l0aG91dCBpbnRlcm1lZGlhdGUgZWxlbWVudHMgKGUuZy4sIHF1ZXVlKS4KCSAgSW4gdGhpcyBjYXNlLCBtYXRyb3NrYS1kZW11eCBuZXZlciByZXR1cm5zIGZyb20gX3B1c2hfY29kZWNfZGF0YV9hbGwoKQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgY2FuIHJldHVybiBvbmx5IGFmdGVyIGl0IHJlY2VpdmVzIHRoZSByZXNwb25zZSB0bwoJICB0aGUgdXBzdHJlYW0gcXVlcnksIGJ1dCB0aGF0J3Mgbm90IGdvaW5nIHRvIGhhcHBlbiBiZWNhdXNlIGl0J3MKCSAgZGVhZGxvY2tlZC4KCSAgRWxlbWVudHMgbXVzdCBub3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbHN0IHB1c2hpbmcgb3V0IGV2ZW50cwoJICBvciBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjQ1CgoyMDE2LTA1LTE5IDEyOjQzOjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogU2V0IHNlbnRfYnVmZmVycyBhbmQgc3RyZWFtaGVhZGVyX2J1ZmZlcnMgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgkgIE90aGVyd2lzZSB3ZSBtaWdodCB1c2UgYW4gYWxyZWFkeSBmcmVlZCBsaXN0IGxhdGVyIGFuZCBjcmFzaCBvciB3b3JzZS4KCjIwMTYtMDUtMTggMTg6MzI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBTaW5jZSB2ZXJzaW9uIGZvciBuZXcgImxvb3AiIHByb3BlcnR5CgoyMDE2LTA1LTE2IDE2OjE4OjM3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IGZpeCBjbG9jayBsZWFrCgkgIGdzdF9zeXN0ZW1fY2xvY2tfb2J0YWluKCkgcmV0dXJucyBhIG5ldyByZWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1MjEKCjIwMTYtMDUtMTcgMDU6MzM6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBkb2MgYmx1cmIgd2l0aCBzaW5jZSBtYXJrZXIgZm9yIG5ldyAibG9vcCIgcHJvcGVydHkKCjIwMTUtMTEtMTMgMTU6NTI6MzUgKzAxMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQgc3VwcG9ydCBmb3IgcG5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNTkKCjIwMTYtMDUtMTUgMjI6MDc6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IENvbm5lY3QgdG8gZGVtdXggc2lnbmFscyBiZWZvcmUgYWN0aXZhdGluZwoJICBGaXggYSByYWNlIGluIHNwbGl0bXV4c3JjIGJ5IHByb3Blcmx5IGNvbm5lY3RpbmcgdG8gdGhlCgkgIGRlbXV4ZXIgc2lnbmFscyB3ZSdyZSBpbnRlcmVzdGVkIGluICpiZWZvcmUqIHNldHRpbmcgaXQgcnVubmluZy4KCjIwMTYtMDUtMTUgMTM6MzE6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIGZvciBnaXQgbWFzdGVyCgoyMDE2LTA1LTE1IDEyOjE2OjIzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBydHBtcDRncGF5OiBEb24ndCBwcm9kdWNlIHRpbWVzdGFtcHMgYmFzZWQgb24gYnl0ZSBjb3VudAoJICBUaGUgR1NUX0JVRkZFUl9PRkZTRVQgb2Ygb3V0cHV0IGJ1ZmZlcnMgcmV0dXJuZWQgdG8gR3N0UnRwQmFzZVBheWxvYWQKCSAgc2hvdWxkIHJlZmxlY3QgdGhlIG51bWJlciBvZiAic2FtcGxlcyIgaW4gdGhlIHVuaXQgb2YgdGhlIFJUUCBjbG9jayBpbiB0aGlzCgkgIGJ1ZmZlci4gSWYgdGhpcyBpcyBub3QgdHJ1ZSwgdGhlbiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxOTQzCgoyMDE2LTA1LTE1IDEyOjI0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IEZpeCBzdHJjbXAgdXNhZ2UKCSAgSnVzdCB1c2UgZ19zdHJjbXAwIHdoaWNoIGNhbiBoYW5kbGUgTlVMTCBlbnRyaWVzCgoyMDE2LTAzLTA0IDEwOjE0OjAwICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIGF1ZGlvL3gtdW5hbGlnbmVkLXJhdyBpbnN0ZWFkIG9mIGF1ZGlvL3gtcmF3IGZvciBMMTYgZGF0YQoJICBEaXJlY3RseSBzZXR0aW5nIGF1ZGlvL3gtcmF3IGNhcHMgbGVhZHMgdG8gcHJvYmxlbXMgd2hlbiB0aGUgZGVsaXZlcmVkCgkgIGRhdGEgYmxvY2tzIGRvIG5vdCBhbGlnbiBwcm9wZXJseSBhdCBzYW1wbGUgYm91bmRhcmllcyAoZm9yIGV4YW1wbGUsIGEKCSAgZGF0YSBibG9jayB3aXRoIDM5MSBieXRlcykuIFNvLCBpbnN0ZWFkLCBzZXQgYXVkaW8veC11bmFsaWduZWQtcmF3IHRvCgkgIGxldCBhIHBhcnNlciBiZSBhdXRvcGx1Z2dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ2MAoKMjAxNi0wNS0xMiAxMTo1MjowOSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2luZyBlbHN0IGJveCBiYXNlZCBvbiB2ZXJzaW9uCgkgIHNlZ21lbnRfZHVyYXRpb24gYW5kIG1lZGlhX3RpbWUgc2hvdWxkIGJlIHBhcnNlZCBiYXNlZCBvbiB2ZXJzaW9uCgkgIG9mIGVsc3QgYm94LiBTcGVjaWZpY2F0aW9uIGRlZmluZXMgdGhhdCBhbiBlbHN0IGJveCB3aXRoIHZlcnNpb24gMQoJICBoYXMgdWludDY0IGFuZCBpbnQ2NCB2YWx1ZXMgZm9yIHNlZ21lbnRfZHVyYXRpb24gYW5kIG1lZGlhX3RpbWUsCgkgIHJlc3BlY3RpdmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjMwMQoKMjAxNi0wNS0xNCAxMjo1Nzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGNoZWNrIGlmIHJlcXVlc3Qgd2FzIGNhbmNlbGxlZCB3aGVuIHNlbmRpbmcgbWVzc2FnZQoJICBJdCBtaWdodCBiZSB0aGF0IHRoZSByZXF1ZXN0IHdhcyBhYm9ydGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBhbmQKCSAgd2UgY2FuIHJldHVybiBpbW1lZGlhdGVsbHkKCjIwMTYtMDUtMTQgMTI6NDM6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBwcm94eSByZXNvbHZlciBpcyBvbiBieSBkZWZhdWx0CgkgIFJlbW92ZSBmcm9tIHRoZSBzZXNzaW9uIGNyZWF0aW9uIHBhcmFtZXRlcnMKCjIwMTYtMDUtMTQgMTI6MTU6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICBzb3VwOiB1cGRhdGUgYnVpbGQgdG8gd2FybiBhYm91dCBuZXdlciBkZXByZWNhdGVkIGZ1bmN0aW9ucwoJICBXZSBhbHJlYWR5IGRlcGVuZCBvbiAyLjQ4CgoyMDE2LTA1LTE0IDExOjA5OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogcmVkdWNlIHJlYWRpbmcgbGF0ZW5jeSBieSB1c2luZyBub24tYmxvY2tpbmcgcmVhZAoJICBOb24tYmxvY2tpbmcgcmVhZCB3aWxsIHJldHVybiB0aGUgYW1vdW50IG9mIGRhdGEgYXZhaWxhYmxlIHdpdGhvdXQKCSAgYmxvY2tpbmcgdG8gd2FpdCBmb3IgdGhlIGZ1bGwgcmVxdWVzdGVkIHNpemUuCgkgIFRoZSBkb3duc2lkZSBpcyB0aGF0IG5vdyBpdCBzb3VwaHR0cHNyYyBuZWVkcyB0byBoYXZlIGEgd2FpdGluZwoJICBtZWNoYW5pc20gaW4gY2FzZSB0aGVyZSBpcyBubyBkYXRhIGF2YWlsYWJsZSB5ZXQgdG8gYXZvaWQgYnVzeQoJICBsb29waW5nIGFyb25kIHRoZSBpbnB1dHN0cmVhbS4KCjIwMTYtMDUtMTUgMTI6MzA6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRha2UgdGhlIGxvY2sgYWxyZWFkeSB3aGVuIHJlYWRpbmcgdGhlIG90aGVyIHN0YXRzLCBub3QganVzdCBmb3IgdGhlIGhhc2ggdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNS0xNCAxNzowNDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IHVzZSBtYXRoLWNvbXBhdC5oIGZvciBOQU4gZGVmaW5lCgoyMDE2LTA1LTE0IDIzOjM5OjIyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogVXNlIEdzdEJpbiBhc3luYy1oYW5kbGluZyBpbnN0ZWFkIG9mIG91ciBvd24uCgkgIFNldCB0aGUgYXN5bmMtaGFuZGxpbmcgcHJvcGVydHkgb24gR3N0QmluIHRvIGxldCBpdCBtYW5hZ2UKCSAgYXN5bmMtaGFuZGxpbmcgaW5zdGVhZCBvZiB0aGUgbG9jYWwgaGFuZGxpbmcgZnJvbSB0aGUgcHJldmlvdXMKCSAgY29tbWl0LiBXb3JrcyBiZWNhdXNlIG9mICMxNzRhNWUgaW4gY29yZQoKMjAxNi0wNS0xMyAxMDoxNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IHJlZmFjdG9yIHRvIHVzZSBTb3VwJ3Mgc3luYyBBUEkKCSAgUmVwbGFjZSB0aGUgYXN5bmMgQVBJIHdpdGggdGhlIHN5bmMgQVBJIHRvIHJlbW92ZSBhbGwgdGhlIGV4dHJhIG1haW5sb29wCgkgIGFuZCBjb250ZXh0IGhhbmRsaW5nLiBDdXJyZW50bHkgaXQgYmxvY2tzIHJlYWRpbmcgdW50aWwgJ2Jsb2Nrc2l6ZScKCSAgYnl0ZXMgYXJlIGF2YWlsYWJsZSBidXQgdGhhdCBjYW4gYmUgaW1wcm92ZWQgYnkgdXNpbmc6CgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9naW8vdW5zdGFibGUvR1BvbGxhYmxlSW5wdXRTdHJlYW0uaHRtbCNnLXBvbGxhYmxlLWlucHV0LXN0cmVhbS1yZWFkLW5vbmJsb2NraW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTYtMDUtMTQgMDQ6NTA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogcmVwbGFjZSBkZXByZWNhdGVkIEFQSQoJICBBdm9pZCB1c2luZyBzb3VwX3NlcnZlcl9ydW5fYXN5bmMgYW5kIG9sZCBnZXRfcG9ydCgpIEFQSXMsCgkgIHJlcGxhY2Ugd2l0aCBtZSBzb3VwX3NlcnZlcl9saXN0ZW4gYW5kIGdldCB0aGUgcG9ydCB0aHJvdWdoIHRoZQoJICBVUklzIGxpc3QgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyLgoKMjAxNi0wNS0xNCAxMjozNDoxMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVwZ3JhZGUgZGVidWcgbWVzc2FnZSB0byBlcnJvcgoJICBJdCBjYXVzZXMgdGhlIGVudGlyZSBwaXBlbGluZSB0byBmYWlsLCBpdCBzaG91bGQgYmUgZWFzaWVyIHRvIGZpbmQuCgoyMDE2LTA1LTE0IDE4OjMyOjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogSGlkZSBpbnRlcm5hbCBhc3luYyBzdGF0ZSBjaGFuZ2VzLgoJICBXaGVuIHN3aXRjaGluZyBmcmFnbWVudHMsIGhpZGUgdGhlIGFzeW5jLXN0YXJ0L2FzeW5jLWRvbmUKCSAgbWVzc2FnZXMgZnJvbSB0aGUgcGFyZW50IGJpbiwgYXMgb3RoZXJ3aXNlIHdlIHNvbWV0aW1lcyAodmVyeSByYXJlbHkpCgkgIGhhbmcgaW4gUEFVU0VEIGluc3RlYWQgb2YgcmV0dXJuaW5nIC8gY29udGludWluZyB0byBQTEFZSU5HCgkgIHN0YXRlLgoKMjAxNi0wNS0xMyAyMToyMDoyOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFJlbW92ZSBzdHJheSBjYXJyaWFnZS1yZXR1cm4gZnJvbSBkZWJ1ZwoKMjAxNi0wNS0xMyAxNjo0MzoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogU2hpcCBnc3RydHBqMmtjb21tb24uaCBmaWxlIHRvIGZpeCBkaXN0Y2hlY2sKCjIwMTUtMDQtMzAgMTQ6NDM6MDQgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IERvIG5vdCB3cml0ZSBpbmRleCBhbmQgaGVhZGVyIGlmIGlkeCBpcyBOVUxMCgkgIEZpeGVzIGNyaXRpY2FscyB3aXRoIGUuZy4KCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTEgISBpZGVudGl0eSBkcm9wLXByb2JhYmlsaXR5PTEuMCAhIGF2aW11eCAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg3MDAKCjIwMTYtMDUtMTIgMDg6NDM6MzkgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogbWFuYWdlIFQgdGlsZSBpbnZhbGlkYXRpb24gYml0IGNvcnJlY3RseSwgdXBkYXRlIHRpbGUgaWQgaW4gaGVhZGVyIGNvcnJlY3RseS4KCSAgMS4gYWNjb3JkaW5nIHRvIFJGQywgVCBiaXQgaXMgb25seSBzZXQgd2hlbiBlaXRoZXIgdGhlIFJUUCBwYWNrZXQgb25seSBjb250YWlucyB0aGUgSjJLIG1haW4gaGVhZGVyLCBvciB0aGUgcGFja2V0IGNvbnRhaW5zIHRpbGUgcGFydHMgZnJvbSBtdWx0aXBsZSB0aWxlcy4gVGhpcyBpcyBub3cgYmVpbmcgbWFuYWdlZCBjb3JyZWN0bHkgaW4gdGhlIGNvZGUuIFRoZSBzZWNvbmQgc2NlbmFyaW8gY2Fubm90IGhhcHBlbiB3aXRoIG91ciBwYXlsb2FkZXIsIHNpbmNlIHRpbGUgaGVhZGVycyBhcmUgYWx3YXlzIHBsYWNlZCBpbiB0aGVpciBvd24gUlRQIHBhY2tldCwgYW5kIHNvIGEgcGFja2V0IGNhbm5vdCBjb250YWluIHRpbGUgcGFydHMgZnJvbSBtdWx0aXBsZSB0aWxlcy4KCSAgSG93ZXZlciwgSSBoYXZlIGFkZGVkIGNvZGUgdG8gdHJhY2sgaWYgbXVsdGlwbGUgdGlsZSBwYXJ0cyBhcmUgaW5jbHVkZWQgaW4gYSBzaW5nbGUgUlRQIHBhY2tldCwgaW4gY2FzZSBpbiB0aGUgZnV0dXJlIHdlIHdhbnQgdG8gcHV0IGhlYWRlciBhbmQgZGF0YSBpbiBzYW1lIHBhY2tldC4KCSAgMi4gT2xkIGNvZGUgd291bGQgc2V0IHRoZSB0aWxlIGlkIHRvIHplcm8gZm9yIGFsbCBKMksgcGFja2V0cy4gVGhpcyBpcyBub3cgc2V0IGNvcnJlY3RseSB0byB0aGUgYXBwcm9wcmlhdGUgdGlsZSBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMiAwODo0MTo1MSAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBtYW5hZ2UgZnJhZ21lbnRlZCBoZWFkZXJzIGNvcnJlY3RseQoJICBKMksgbWFpbiBoZWFkZXIgZnJhbWVudGF0aW9uIGFjcm9zcyBtdWx0aXBsZSBSVFAgcGFja2V0cyBpcyBub3cgaGFuZGxlZCBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMSAxNTowNDoyNiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtjb21tb24uaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoyazogbW92ZSBjb21tb24gY29kZSB0byBzaGFyZWQgaGVhZGVyLCBjb2RlIGNsZWFuIHVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxODcKCjIwMTYtMDUtMTEgMTU6MDE6MzIgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrOiB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTEyIDE0OjQzOjQzICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBhdXBhcnNlOiBGaXggc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmcKCSAgTWFrZSBzdXJlIHRoYXQgc3JjIHBhZCBoYXMgY2FwcyBiZWZvcmUgc2VuZGluZyBzZWdtZW50IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzU5CgoyMDE2LTA1LTExIDA5OjI4OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBub3RpZnkgYWJvdXQgc3RhdHMgcHJvcGVydHkgY2hhbmdlcyB3aGlsZSB0YWtpbmcgdGhlIHNlc3Npb24gbG9jawoJICBUaGUgc2lnbmFsIGhhbmRsZXJzIG1pZ2h0IHdhbnQgdG8gYWN0dWFsbHkgZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgc3RhdHMKCSAgcHJvcGVydHksIHdoaWNoIHdvdWxkIHRha2UgdGhlIHNlc3Npb24gbG9jayBhZ2FpbiBhbmQgZGVhZGxvY2suCgkgIFRoaXMgd2FzIGludHJvZHVjZWQgYnkgMmU5NjBlNzA3NTBhMGNiN2UxMTE3ZDBjMDlkMDg1OTc4NjZhMjllZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNS0wMyAxMzo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZWR0cyBzZWdtZW50IGhhbmRsaW5nIGFmdGVyIHNlZWtzIGluIHB1c2ggbW9kZQoJICBQcm9wZXJseSBoYW5kbGUgZWR0cyBzZWdtZW50cyBmb3IgcHVzaC1iYXNlZCBvcGVyYXRpb24gc2Vla2luZy4KCSAgV2Ugb25seSBzdXBwb3J0IGVkdHMgdGhhdCBhIHNpbmdsZSBzZWdtZW50IHRoYXQgaGFzIG1lZGlhIGF0IHRoZSBlbmQsCgkgIGJlaW5nIHByZWNlZWRlZCBieSBhbnkgbnVtYmVyIG9mIGdhcCBzZWdtZW50cy4KCSAgVGhpcyBhbHNvIGFsbG93cyB0aGUgcXQgc2VnbWVudCByYXRlIHRvIGJlIHJlc3BlY3RlZCBhZnRlciBzZWVrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NjY5CgoyMDE2LTA1LTAzIDEwOjQxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGVybHkgYWN0aXZhdGUgc2VnbWVudCB3aXRoIHJhdGUgIT0gMS4wCgkgIEFsc28gdXNlIHRoZSBxdCByYXRlIHRvIGlkZW50aWZ5IHRoZSBwb3NpdGlvbiB3aXRoaW4gYSBxdCBzZWdtZW50CgkgIHRvIHByb3Blcmx5IHRyYW5zbGF0ZSBwbGF5YmFjayB0aW1lIHRvIHF0IG1lZGlhIHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY2OQoKMjAxNi0wNS0wMyAxMTo0NTowMSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBzdGFsbCB3aGVuIHJlY2VpdmluZyBhbHJlYWR5IGxvc3QgcGFja2V0CgkgIFdoZW4gYSBwYWNrZXQgYXJyaXZlcyB0aGF0IGhhcyBhbHJlYWR5IGJlZW4gY29uc2lkZXJlZCBsb3N0IGFzIHBhcnQgb2YgYQoJICBsYXJnZSBnYXAgdGhlICJsb3N0IHRpbWVyIiBmb3IgdGhpcyB3aWxsIGJlIGNhbmNlbGxlZC4gSWYgdGhlIHJlbWFpbmluZwoJICBwYWNrZXRzIG9mIHRoaXMgbGFyZ2UgZ2FwIG5ldmVyIGFycml2ZXMsIHRoZXJlIHdpbGwgYmUgbWlzc2luZyBlbnRyaWVzCgkgIGluIHRoZSBxdWV1ZSBhbmQgdGhlIGxvb3AgZnVuY3Rpb24gd2lsbCBrZWVwIHdhaXRpbmcgZm9yIHRoZXNlIHBhY2tldHMKCSAgdG8gYXJyaXZlIGFuZCBuZXZlciBwdXNoIGFub3RoZXIgcGFja2V0LCBlZmZlY3RpdmVseSBzdGFsbGluZyB0aGUKCSAgcGlwZWxpbmUuCgkgIFRoZSBwcm9wb3NlZCBmaXggY29uY2lkZXJzIHBhcnRzIG9mIGEgbGFyZ2UgZ2FwIGRlZmluaXRlbHkgbG9zdCAoc2luY2UKCSAgdGhleSBhcmUgY2FsY3VsYXRlZCBmcm9tIGxhdGVuY3kpIGFuZCBpZ25vcmVzIHRoZSBsYXRlIGFycml2YWxzLgoJICBJbiBwcmFjdGljZSB0aGUgaXNzdWUgaXMgcmFyZSBzaW5jZSBsYXJnZSBnYXBzIGFyZSBzY2hlZHVsZWQgaW1tZWRpYXRlbHksCgkgIGFuZCBmb3IgdGhlIHN0YWxsIHRvIGhhcHBlbiB0aGUgbGF0ZSBhcnJpdmFsIG5lZWRzIHRvIGJlIHByb2Nlc3NlZAoJICBiZWZvcmUgdGhpcyB0aW1lcyBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzMKCjIwMTYtMDUtMDUgMTQ6MTg6MjEgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUYWtlIHNlc3Npb24gbG9jayB3aGVuIGNyZWF0aW5nIHN0YXRzCgkgIFRoZSBhY2Nlc3MgdG8gdGhlIHNlc3Npb24gaGFzaCB0YWJsZSBtdXN0IGhhcHBlbiB3aGlsZSB0aGUgc2Vzc2lvbiBsb2NrIGlzCgkgIHRha2VuLCBvdGhlcndpc2UgYW5vdGhlciB0aHJlYWQgbWlnaHQgbW9kaWZ5IHRoZSBoYXNoIHRhYmxlIHdoaWxlIHdlJ3JlCgkgIGNyZWF0aW5nIHRoZSBzdGF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNS0wMyAyMToxNzowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBzZWdtZW50IHdoZW4gbmV3IGR1cmF0aW9uIGlzIGZvdW5kCgkgIE90aGVyd2lzZSB0aGUgb2xkIHNlZ21lbnQgd2lsbCBoYXZlIGEgc2hvcnRlciBzdG9wIHRpbWUgYW5kIHdvdWxkCgkgIGNhdXNlIHRoZSBzdHJlYW0gdG8gZW5kIHRvbyBlYXJseS4KCjIwMTYtMDUtMDQgMTE6Mzc6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkaXNtZW1iZXIgYWN0aXZhdGVfc2VnbWVudCBpbnRvIDIgcGFydHMKCSAgT25lIHRoYXQgdXBkYXRlcyBhbmQgcHVzaCBhIG5ldyBzZWdtZW50LCB0aGUgb3RoZXIgd2lsbCBtb3ZlIHRoZQoJICBzdHJlYW0gdG8gdGhlIG5ldyBzZWdtZW50IHN0YXJ0aW5nIHBvc2l0aW9uCgoyMDE2LTA1LTA0IDA5OjMwOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2OiBVc2UgY29ycmVjdCBwaXhlbC1hc3BlY3QtcmF0aW8gdmFsdWVzCgkgIFRoZSBwcmV2aW91cyBvbmVzIHJlc3VsdGVkIGluIG9kZCBkaXNwbGF5IGFzcGVjdCByYXRpb3MgYW5kIHdlcmUgZGlmZmVyZW50CgkgIGZyb20gdGhlIG9uZXMgdXNlZCBieSBlLmcuIGZmbXBlZy4gVGhlIG5ldyBvbmVzIG5vdyByZXN1bHQgaW4gZGlzcGxheSBhc3BlY3QKCSAgcmF0aW9zIG9mIDQ6MyBhbmQgMTY6OS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTk0NgoKMjAxNS0xMS0wOSAxNzo1NTowOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzOiBhZGQgc3BsaXRtdXhzcmMgdGVzdCBmb3IgbmV3ICJmb3JtYXQtbG9jYXRpb24iIHNpZ25hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI1CgoyMDE1LTExLTA5IDE3OjUxOjEyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogYWRkIGEgZm9ybWF0LWxvY2F0aW9uIHNpZ25hbCB0aGF0IGFsbG93cyBieXBhc3NpbmcgdGhlIGxvY2F0aW9uIHByb3BlcnR5CgkgIFRoaXMgc2lnbmFsIGFsbG93cyBhIHVzZXIgdG8gZGlyZWN0bHkgcmV0dXJuIGEgc29ydGVkIGxpc3Qgb2YKCSAgZmlsZXMgdG8gYmUgam9pbmVkLCBzbyB0aGF0IHRoZXkgZG9uJ3QgaGF2ZSB0byBmb2xsb3cgdGhlCgkgIGZpbGVuYW1lIHBhdHRlcm4gdGhhdCB0aGUgImxvY2F0aW9uIiBwcm9wZXJ0eSBleHBlY3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI1CgoyMDE2LTA1LTA0IDExOjE1OjIwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBkZWFkbG9jayBjYXNlIHdoZW4gc291cmNlIHJlYWNoZXMgRU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwNzIKCjIwMTYtMDUtMDMgMjI6NTk6MjcgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNpbXBsaWZ5IGFuZCBjb3JyZWN0IGhlYWRlciBzY2FubmluZwoJICBUaGUgd2F2IHNwZWMgdGVsbHMgdGhhdCAnZm10JyAoYW5kICdiZXh0JyBpZiBwcmVzZW50KSBtdXN0IGNvbWUgYmVmb3JlICdkYXRhJy4KCSAgVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgZm9yICdmbXQnIHRvIGJlIGZpcnN0LiBXZSBhbHJlYWR5IGhhZCBhIGxpc3Qgb2YgY2h1bmtzCgkgIHRvIHNraXAsIGJ1dCBpdCBpcyBlYXNpZXIgdG8ganVzdCBza2lwIGFueSBjaHVuayB3aGlsZSBzZWVraW5nIGZvciAnZm10Jy4KCSAgVGhpcyBmaXhlcyByZWFkaW5nIGZpbGVzIGdlbmVyYXRlZCBieSBQcm9Ub29scy4KCjIwMTYtMDQtMzAgMjI6MTU6MTMgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9kZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9kZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogU3VwcG9ydCBhdWRpbyBkZXZpY2UgcHJvdmlkZXIgb24gb3N4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNjUKCjIwMTYtMDUtMDEgMTU6MDk6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2V0IGF1ZGlvIGhlYWRlciByYXRlIGFjY29yZGluZyB0byBjYWxjdWxhdGVkIGJwcyBpbiBzdG9wX2ZpbGUKCSAgLi4uIG5vdyB0aGF0IHNldF9maWVsZHMgaXMgbm8gbG9uZ2VyIGNhbGxlZCB0aGVyZSBieQoJICBlNTM4NjA4YjNmOTA1MzkwMDNkZTIxYzFkYjIzOGYzYzliOTQ2ZTMwCgoyMDE2LTA0LTI5IDE1OjA0OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBTdG9yZSB0aGUgc2VnbWVudCBzZXF1ZW5jZSBudW1iZXIgaW4gdGhlIEVPUyBldmVudHMgYW5kIFNFR01FTlRfRE9ORSBldmVudHMvbWVzc2FnZQoJICBBbHNvIGluc3RlYWQgb2Ygc3RvcmluZyBpdCBwZXIgc3RyZWFtLCBzdG9yZSBpdCBnbG9iYWxseSBpbiB0aGUgZGVtdXhlci4gSXQncwoJICB0aGUgc2FtZSBmb3IgZWFjaCBzdHJlYW0gYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1ODA2CgoyMDE2LTA0LTExIDEwOjU0OjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBbHdheXMgYmluZCB0byBBTlkgd2hlbiBhZGRyZXNzIGlzIGEgbXVsdGljYXN0IGFkZHJlc3MgYW5kIG5vdCBvbmx5IG9uIFdpbmRvd3MKCSAgRm9yIElQdjYgYWRkcmVzc2VzLCBiaW5kaW5nIHRvIGEgbXVsdGljYXN0IGdyb3VwIGRvZXMgbm90IHdvcmsgb24gTGludXgKCSAgZWl0aGVyLiBBbHdheXMgYmluZCB0byBBTlkgYW5kIHRoZW4gbGF0ZXIgam9pbiB0aGUgbXVsdGljYXN0IGdyb3VwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njc5CgoyMDE2LTA0LTI2IDE3OjAxOjQ5ICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXV0aWw6IHNob3VsZG4ndCBpbXBsZW1lbnQgdHJhbnNmb3JtIGlmIGRvbid0IHN1cHBvcnQgaXQKCSAgc2hvdWxkbid0IGltcGxlbWVudCB0cmFuc2Zvcm0gaWYgZG9uJ3Qgc3VwcG9ydCBpdC4gT3IgZ3N0X2J1ZmZlcl9jb3B5X2ludG8oKQoJICB3aWxsIHByaW50IEVSUk9SIGxvZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTU4MwoKMjAxNi0wNC0yOCAxNjoyNDo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWxsb3cgTVBFRy0xIExheWVyIDEgYW5kIDIgaW4gYWRkaXRpb24gdG8gMyBpbiBNUDQKCSAgVmlhIHRoZSBNUEVHLTQgUGFydCAzIHNwZWMgd2UgY2FuIHN1cHBvcnQgdGhlIG90aGVyIGxheWVycyB0b28uCgkgIEFsc28gY29ycmVjdCB0aGUgc2FtcGxlcyBwZXIgZnJhbWUgY2FsY3VsYXRpb24gZm9yIE1QMyBpZiBpdCdzIE1QRUctMiBvcgoJICBNUEVHLTIuNS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTcyNQoKMjAxNi0wNC0yNyAyMDo0NjozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVcGRhdGUgY2FwcyBmb3IgVENQIHdoZW5ldmVyIHRoZXkgY2hhbmdlCgkgIFdlIG9ubHkgY2hhbmdlZCB0aGVtIGZvciBVRFAgc28gZmFyLCB3aGljaCBjYXVzZWQgdGhlIHdyb25nIHNlcW51bS1iYXNlIGFuZAoJICBvdGhlciBpbmZvcm1hdGlvbiB0byBiZSBwYXNzZWQgdG8gcnRwaml0dGVyYnVmZmVyL2V0YyB3aGVuIHNlZWtpbmcuIFRoaXMKCSAgdXN1YWxseSB3YXNuJ3QgdGhhdCBtdWNoIG9mIGEgcHJvYmxlbSBhcyB0aGUgY29kZSB0aGVyZSBpcyByb2J1c3QgZW5vdWdoLCBidXQKCSAgZXZlcnkgbm93IGFuZCB0aGVuIGl0IGNhdXNlcyB1cyB0byBkcm9wIHVwIHRvIDMyNzU2IHBhY2tldHMgYmVmb3JlIHdlCgkgIGNvbnRpbnVlIGRvaW5nIGFueXRoaW5nIG1lYW5pbmdmdWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2ODkKCjIwMTYtMDQtMjcgMjA6MzM6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBFbnN1cmUgdG8gbm90IHRha2UgY2FwcyB3aXRoIHRoZSB3cm9uZyBwdCBmb3IgZ2V0dGluZyB0aGUgY2xvY2stcmF0ZQoJICBFc3BlY2lhbGx5IHRoZSBjYXBzIG9uIHRoZSBwYWQgbWlnaHQgYmUgb3V0IG9mIGRhdGUsIGFuZCB0aGUgbmV3IGNhcHMgd291bGQgYmUKCSAgcHJvdmlkZWQgZm9yIHRoZSBjdXJyZW50IHB0IHZpYSB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1Njg5CgoyMDE2LTA0LTI3IDE4OjI3OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBwcm9wYWdhdGUgc3B1cmlvdXMgc3RhdGUgY2hhbmdlIHJldHVybnMgZnJvbSBpbnRlcm5hbCBlbGVtZW50cyBmdXJ0aGVyCgkgIFdlIGhhbmRsZSB0aGVtIGluc2lkZSBydHNwc3JjIGFuZCBvdmVycmlkZSB0aGVtIGluIGFsbCBvdGhlciBjYXNlcyBhbnl3YXksIHNvCgkgIGRvIHRoZSBzYW1lIGZvciAiaW50ZXJuYWwiIHN0YXRlIGNoYW5nZXMgbGlrZSBQQVVTRUQtPlBBVVNFRCBhbmQKCSAgUExBWUlORy0+UExBWUlORy4KCSAgVGhpcyBrZWVwcyB1bmV4cGVjdGVkIE5PX1BSRVJPTEwgdG8gY29uZnVzZSBzdGF0ZSBjaGFuZ2VzIGluIEdzdEJpbi4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDUzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1Njg5CgoyMDE2LTA0LTI3IDE0OjA5OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBEb24ndCBvdmVycmlkZSBtYXhpbXVtIGF1ZGlvIGNodW5rIHNpemUgd2l0aCB0aGUgc2NhbGUgYWdhaW4ganVzdCBiZWZvcmUgd3JpdGluZyBpdAoJICBzZXRfZmllbGRzKCkgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGluIHRoZSBiZWdpbm5pbmcsIG90aGVyd2lzZSB3ZSB3aWxsIG5ldmVyCgkgIHJlbWVtYmVyIHRoZSBtYXhpbXVtIGF1ZGlvIGNodW5rIHNpemUgYW5kIHdyaXRlIGEgd3JvbmcgYmxvY2sgYWxpZ24uLi4gd2hpY2gKCSAgdGhlbiBjYXVzZXMgd3JvbmcgdGltZXN0YW1wcyBhbmQgb3RoZXIgcHJvYmxlbXMuCgoyMDE2LTA0LTI3IDEzOjUzOjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBY3R1YWxseSBzdG9yZSB0aGUgbGFyZ2VzdCBhdWRpbyBjaHVuayBzaXplIGZvciB0aGUgVkJSIGNhc2Ugb2YgTVAyL01QMwoJICAzZWEzMzhjZTI3MWUxZjZhOTZkMmVkNDlkNDQ3MmIwOTFmNmY4YjdlIGNoYW5nZWQgYXZpbXV4IHRvIGRvIHRoYXQsIGJ1dCBpdAoJICBuZXZlciBhY3R1YWxseSBrZXB0IHRyYWNrIG9mIHRoZSBtYXggYXVkaW8gY2h1bmsgZm9yIE1QMyBhbmQgTVAyLiBUaGVzZSBhcmUKCSAga25vd2luZyB0aGUgaGRyLnNjYWxlIG9ubHkgYWZ0ZXIgcGFyc2luZyB0aGUgZnJhbWVzIGluc3RlYWQgb2YgYXQgc2V0Y2FwcwoJICB0aW1lLgoKMjAxNi0wNC0yNSAxNTowMzoxNCArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQWxsb3cgc2V0dGluZyAic29ja2V0LXY2IiB3aXRob3V0IHNldHRpbmcgInNvY2tldCIgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ4OTcKCjIwMTYtMDQtMjIgMTU6MDI6MTYgKzAxMDAgIE1hcmlvIFNhbmNoZXogUHJhZGEgPG1hcmlvQGVuZGxlc3NtLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkgIHZweGVuYzogUHJvcGVybHkgaGFuZGxlIGZyYW1lcyB3aXRoIHRvbyBsb3cgZHVyYXRpb24KCSAgV2hlbiBhIGZyYW1lJ3MgZHVyYXRpb24gaXMgdG9vIGxvdywgY2FsbGluZyBnc3RfdXRpbF91aW50NjRfc2NhbGUoKQoJICB0byBzY2FsZSBpdHMgdmFsdWUgY2FuIHJlc3VsdCBpbnRvIGl0IGJlaW5nIHRydW5jYXRlZCB0byB6ZXJvLCB3aGljaAoJICB3aWxsIGNhdXNlIHRoZSB2cHggZW5jb2RlciB0byByZXR1cm4gYW4gVlBYX0NPREVDX0lOVkFMSURfUEFSQU0gZXJyb3IKCSAgd2hlbiB0cnlpbmcgdG8gZW5jb2RlLgoJICBUbyBwcmV2ZW50IHRoaXMgZnJvbSBoYXBwZW5pbmcsIHdlIHNpbXBseSBpZ25vcmUgdGhlIGR1cmF0aW9uIHdoZW4KCSAgZW5jb2RpbmcgaWYgaXQgYmVjb21lcyB6ZXJvIGFmdGVyIHNjYWxpbmcsIGxvZ2dpbmcgYSB3YXJuaW5nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzOTEKCjIwMTYtMDQtMjIgMTU6NDg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBkZXNjcmlwdGlvbiBvZiBsaW5lYXIgaW50ZXJsYWNpbmcgbWV0aG9kCgoyMDE2LTA0LTIxIDE0OjA4OjE5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBkbyBub3QgZ2V0IGFueSBDb2xsZWN0RGF0YSBpbiBoYW5kbGVfYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzMjAKCjIwMTYtMDQtMTEgMjI6NDE6MjAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCB1c2UgdW5yZWxpYWJsZSBmcmFtZXJhdGUKCSAgdGltZXNjYWxlLzEgaXMgdW5yZWxpYWJsZSB2YWx1ZSBmb3IgZnJhbWVyYXRlLiBEdWUgdG8gZG93bnN0cmVhbQoJICBlbGVtZW50IHVzdWFsbHkgdXNlIGZyYW1lcmF0ZSBnZW5lcmF0ZWQgYnkgcXRkZW11eCwgbGV0IGl0IGJlIG9taXR0ZWQKCSAgdW50aWwgdGhlIGZyYW1lcmF0ZSBjYW4gYmUgcmVsaWFibHkgY2FsY3VsYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDczMwoKMjAxNi0wNC0yMSAxMjo1MzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBleHBvc2Ugc3RyZWFtcyB3aXRoIGZpcnN0IG1vb2YgZm9yIGZyYWdtZW50ZWQgZm9ybWF0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ4YmI2Njg3ZWEyNTE1NzBjMzMxMDM4Mjc5YTQzZDQ0ODE2N2Q2YWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ3MzMKCjIwMTYtMDItMDkgMTc6MTc6MDkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNlZWtpbmcgb2YgQ0VOQyBlbmNyeXB0ZWQgc3RyZWFtcwoJICBXaGVuIHBsYXlpbmcgYSBzdHJlYW0gdGhhdCBoYXMgYmVlbiBwcm90ZWN0ZWQgYnkgREFTSCBDRU5DLCBwbGF5YmFjawoJICB3aWxsIGZhaWwgaWYgYSBzZWVrIGlzIHBlcmZvcm1lZC4gUXRkZW11eCBwcm9kdWNlcyB0aGUgZXJyb3IgInN0cmVhbQoJICBpcyBwcm90ZWN0ZWQgdXNpbmcgY2VuYywgYnV0IG5vIGNlbmMgcHJvdGVjdGlvbiBzeXN0ZW0gaW5mb3JtYXRpb24KCSAgaGFzIGJlZW4gZm91bmQiIGFuZCBwbGF5YmFjayBzdG9wcy4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBnc3RfcXRkZW11eF9yZXNldCgpIGdldHMgY2FsbGVkIGFzIHBhcnQgb2YgdGhlCgkgIEZMVVNIIGR1cmluZyBhIHNlZWsuIFRoaXMgZnVuY3Rpb24gZnJlZXMgdGhlIHByb3RlY3Rpb25fc3lzdGVtX2lkcwoJICBhcnJheS4gV2hlbiBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBpcyBjYWxsZWQgYWZ0ZXIgdGhlCgkgIHNlZWsgaGFzIGNvbXBsZXRlZCwgdGhlIHByb3RlY3Rpb25fc3lzdGVtX2lkcyBhcnJheSBpcyBlbXB0eSBhbmQKCSAgcXRkZW11eCBpcyB1bmFibGUgdG8gY3JlYXRlIHRoZSBjb3JyZWN0IG91dHB1dCBjYXBzIGZvciB0aGUgcHJvdGVjdGVkCgkgIHN0cmVhbS4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyBpdCB0byBvbmx5IGZyZWUgdGhlIHByb3RlY3Rpb25fc3lzdGVtX2lkcyBvbgoJICBoYXJkIHJlc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc4NwoKMjAxNi0wNC0xOCAxNDozMzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogYWRkICJyZXRyaWV2ZS1zZW5kZXItYWRkcmVzcyIgcHJvcGVydHkKCSAgVGhpcyBhbGxvd3MgZGlzYWJsaW5nIG9mIHNlbmRlciBhZGRyZXNzIHJldHJpZXZhbCwgd2hpY2ggbWlnaHQKCSAgYmUgdXNlZnVsIGluIGNlcnRhaW4gc2NlbmFyaW9zLCBsaWtlIHdoZW4gdGhlIHNvY2tldCBpcyBjb25uZWN0ZWQsCgkgIG9yIHRoZSBzZW5kZXIgYWRkcmVzcyBpcyBub3Qgb2YgaW50ZXJlc3QgKGUuZy4gd2hlbiByZWNlaXZpbmcgYW4KCSAgTVBFRy1UUyBzdHJlYW0pLiBEaXNhYmxpbmcgc2VuZGVyIGFkZHJlc3MgcmV0cmlldmFsIGluIHRob3NlCgkgIGNhc2VzIGNhbiBoYXZlIG1pbm9yIHBlcmZvcm1hbmNlIGFkdmFudGFnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjMzMjMKCjIwMTUtMTEtMjYgMTM6MTU6MDYgKzAxMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBDaGFuZ2Ugd2FybmluZyBoYW5kbGluZyB0byBicmVhayBpbmZpbml0ZSBtZXNzYWdlIGxvb3AKCSAgdjRsMnNyYyBjYW4gY2F1c2UgYW4gImluZmluaXRlIG1lc3NhZ2UgbG9vcCIgd2hlbiBhIGJhc2UgY29udHJvbCBleHBvc2VkIGFzIGEKCSAgcHJvcGVydHkgaXMgbm90IHByb3ZpZGVkIGJ5IHRoZSBkZXZpY2UuIEluIHRoZXNlIGNhc2VzLCBpZiBpbiB0aGUgd2FybmluZyBtZXNzYWdlCgkgIGhhbmRsaW5nIGZvciB0aGUgYnVzLCB0aGUgR1NUX0RFQlVHX0JJTl9UT19ET1RfRklMRSogY2F0ZWdvcnkgb2YgZnVuY3Rpb25zIGFyZSB1c2VkLAoJICB0aGUgc3JjIGxvb2t1cCBjYXVzZXMgYSBuZXcgd2FybmluZyB0byBiZSBwb3N0ZWQgb24gdGhlIGJ1cywgY2F1c2luZyBhIGxvb3AuCgkgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgd2FybmluZyBmb3IgdGhlc2UgY29udHJvbHMgc28gdGhleSBhcmUgbm90IHBvc3RlZCBvbiB0aGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NzAzCgoyMDE2LTA0LTE1IDEwOjQ0OjAyIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGl0bXV4c2luazogQXZvaWQgY3JlYXRpbmcgc21hbGwgZmlsZSBhdCBFT1MKCSAgV2hlbiBFT1MgaXMgcmVhY2hlZCwgdGhlIGN1cnJlbnQgZmlsZSBnZXQgY2xvc2VkIGFuZCB0aGUgbGFzdAoJICBHT1AgaW4gdGhlIG1xIHdhcyB3cml0dGVuIGluIGEgbmV3IGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwNzIKCjIwMTYtMDQtMTUgMTk6NTk6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IFMxNiB1c2VzIFMzMiB0ZW1wb3JhcnkgYnVmZmVycywgZmxvYXQvZG91YmxlIHRoZWlyIG93biB0eXBlCgkgIE1ha2Ugc3VyZSB0byBhbGxvY2F0ZSBub3Qgb25seSBhIFMxNiBidWZmZXIgZm9yIFMxNiBidXQgYSB0d2ljZSBhcyBiaWcgb25lIHRvCgkgIGhvbGQgUzMyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MTE2CgoyMDE2LTA0LTE2IDAyOjE3OjI2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJwdWxzZXNpbms6IHVuY29yayBpZiBuZWVkZWQgdXBvbiBjb21taXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGRkNDZhY2NmNmQyODJmZjA3MDY1ODUyYmQ5MWM4NWM3OGFmMzM5NC4KCSAgV2l0aCBzb21lIGF1ZGlvc2lua3MsIHN0YXJ0aW5nIHRoZSByaW5nYnVmZmVyIG9uIHRoZSBmaXJzdCBjb21taXQKCSAgY2F1c2VzIGF1ZGlvIGdsaXRjaGVzIGF0IHN0YXJ0dXAgYnkgc3RhcnRpbmcgdG8gb3V0cHV0IHNlZ21lbnRzCgkgIGZyb20gdGhlIHJpbmdidWZmZXIgYmVmb3JlIGl0IGhhcyBiZWVuIGZpbGxlZCAvIGZ1bGx5IHByZXJvbGxlZC4gVGhpcwoJICBkb2Vzbid0IHVzdWFsbHkgaGFwcGVuIHdpdGggcHVsc2VzaW5rIGJlY2F1c2Ugd2UgbWFwIHRoZSBwdWxzZWF1ZGlvCgkgIHJpbmdidWZmZXIgZGlyZWN0bHksIGJ1dCB3ZSBzaG91bGQga2VlcCB0aGluZ3MgY29uc2lzdGVudCB3aXRoCgkgIG90aGVyIHNpbmtzIHdpdGggcmVnYXJkcyB0byBzdGFydHVwIGxhdGVuY3ksIHBsdXMgaXQgZ2l2ZXMgbW9yZQoJICBoZWFkd2F5IHRvIGF2b2lkIGdsaXRjaGluZywgc2hvdWxkIHRoZSBpbml0aWFsIDJuZCBzZWdtZW50IHRha2UKCSAgbW9yZSB0aGFuIDEwbXMgdG8gZ2VuZXJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwNzYKCjIwMTYtMDQtMTUgMDA6NDY6NTYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBzcnRwIHJvbGxvdmVyIGNvdW50ZXJzIGZyb20gbWlrZXkgY3J5cHRvIHNlc3Npb25zCgkgIFRoZSBzZXJ2ZXIgY2FuIHNlbmQgbXVsdGlwbGUgY3J5cHRvIHNlc3Npb25zLCBvbmUgZm9yIGVhY2ggU1NSQyB3aXRoIGl0cwoJICBvd24gcm9sbG92ZXIgY291bnRlci4gV2UgcGFyc2UgdGhpcyBpbmZvcm1hdGlvbiBhbmQgcGFzcyBpdCB0byB0aGUgU1JUUAoJICBkZWNvZGVyIHZpYSB0aGUgInJlcXVlc3Qta2V5IiBzaWduYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NDAKCjIwMTYtMDQtMTUgMTQ6MzU6MDcgKzAwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGRlYnVnIG91dHB1dCB3aGVuIHJlc3luY2luZwoJICBEb24ndCBvdXRwdXQgdGhlIHBvaW50ZXIgdmFsdWUgb2YgdGhlIHRpbWUoKSBmdW5jdGlvbiBhcyBhIHRpbWVzdGFtcAoJICBieSB1c2luZyB0aGUgY29ycmVjdCB2YXJpYWJsZS4KCSAgRml4ZXMgYnVpbGQgb24gUmFzcGJlcnJ5IFBpIDMuCgoyMDE2LTA0LTE1IDExOjM2OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSWYgbm8gcHJveHkgaXMgc2V0IGJ5IHByb3BlcnRpZXMsIHVzZSB0aGUgZGVmYXVsdCBsaWJzb3VwIHByb3h5IHJlc29sdmVyCgkgIFRoYXQgaXMsIHVzZSB3aGF0ZXZlciBzeXN0ZW0gc2V0dGluZ3MgdGhlcmUgbWlnaHQgZXhpc3QuIFRoaXMgaXMgdGhlIHNhbWUKCSAgYmVoYXZpb3VyIHdlIHVzZSBpbiB0aGUgSFRUUCBzb3VyY2UuCgoyMDE2LTA0LTE0IDEwOjAxOjI4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZjJkMjA5IHRvIGFjMmY2NDcKCjIwMTYtMDQtMTMgMTg6NDU6MDcgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogQWRkIG1heF9maWxlc19udW1iZXIgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxMgoKMjAxNi0wNC0xMyAxMDo1NzowMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZHJvcCByZWZlcmVuY2UgdG8gdmlkZW9taXhlciAyCgkgIEZpeCBhIHNtYWxsIGdyYW1tYXIgbWlzdGFrZSBvbiAib3ZlcmxheWVkIiB3aGlsZSBhdCBpdC4KCjIwMTYtMDQtMTMgMDk6NTc6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlOiBJbml0aWFsaXplIGFsbCBmaWVsZHMgaW4gdGhlIG1ldGEgZXhwbGljaXRseQoJICBUaGUgbWV0YSBpcyBub3QgYWxsb2NhdGVkIHdpdGggYWxsIGZpZWxkcyBpbml0aWFsaXplZCB0byB6ZXJvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5MDIKCjIwMTYtMDQtMTIgMDk6NDE6MDAgKzAwMDAgIFBhb2xvIFBldHRpbmF0byA8cHBldHRpbmFAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzIG9uIGJ1ZmZlciBsaXN0cyB0b28sIG5vdCBvbmx5IG9uIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDkzMwoKMjAxNi0wNC0xMiAxNTowMToyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRHJhaW4gdGhlIGZpZWxkIGhpc3RvcnkgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHVzZSBmaWVsZHMgZnJvbSB0aGUgb2xkIGNhcHMgd2l0aCBldmVyeXRoaW5nIHNldCB1cCBmb3IgdGhlCgkgIG5ldyBjYXBzLCBjYXVzaW5nIGNyYXNoZXMgYW5kIHdvcnNlLgoJICBBbHNvIGRvbid0IGRvIGFueXRoaW5nIGlmIHRoZSBzYW1lIGNhcHMgYXJlIHNldCB0d2ljZS4KCjIwMTYtMDQtMTIgMTU6MDA6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEluc3RlYWQgb2YgY29uZnVzaW5nIGNyYXNoZXMgbGF0ZXIsIGp1c3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5IGlmIG1hcHBpbmcgYSB2aWRlbyBmcmFtZSBmYWlscwoJICBUaGlzIHByb2JhYmx5IHN0aWxsIGNyYXNoZXMgYnV0IGF0IGxlYXN0IHdlIGdldCBzb21lIGhpbnQgYWJvdXQgd2hhdCBnb2VzCgkgIHdyb25nIGluc3RlYWQgb2YgcmFuZG9tIGJlaGF2aW91ciBsYXRlci4KCjIwMTYtMDQtMTIgMTE6Mzg6NTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgc3RyZWFtIGlzIGF2YWlsYWJsZSBpbiBQSUZGIHBhcnNlcgoJICBxdGRlbXV4LT5zdHJlYW1zIGlzIGFuIGFycmF5LCBpdCB3aWxsIG5ldmVyIGV2YWx1YXRlIHRvIHRydWUgd2hlbiBjb21wYXJpbmcKCSAgdG8gTlVMTC4gSW5zdGVhZCB3ZSB3YW50IHRvIGNoZWNrIHRoZSBudW1iZXIgb2Ygc3RyZWFtcyB0byBtYWtlIHN1cmUgdGhlCgkgIHN0cmVhbSBpcyBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTQKCSAgQ0lEIDEzNTgzODkKCjIwMTYtMDQtMTIgMTE6Mzc6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiByZWR1bmRhbnQgY2hlY2sgaW4gUElGRiBwYXJzZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDFlMTA1MjRmM2JhYmRkOTJhYWM4YzhjOWQ1YjljZGYxODRjMmQ0ZS4KCjIwMTYtMDQtMTIgMTE6MDU6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVkdW5kYW50IGNoZWNrIGluIFBJRkYgcGFyc2VyCgkgIHF0ZGVtdXgtPnN0cmVhbXMgaXMgYW4gYXJyYXkgb2Ygc2l6ZSBHU1RfUVRERU1VWF9NQVhfU1RSRUFNUywgaXQgd2lsbCBuZXZlcgoJICBldmFsdWF0ZSB0byB0cnVlIHdoZW4gY29tcGFyaW5nIHRvIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTQKCSAgQ0lEIDEzNTgzODkKCjIwMTYtMDQtMTIgMTE6NTY6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhdm9pZCBsZWFraW5nIEdWYWx1ZXMKCSAgdW5zZXQgdGhlIEdWYWx1ZSBpZiB3ZSBkb24ndCB1c2UgaXQgYW55IG1vcmUgdG8gYXZvaWQgbGVha3MuCgoyMDE2LTA0LTEyIDEwOjE1OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKCkgZmlsbCBsZXZlbCBjYWxjdWxhdGlvbgoJICBUaGUgaGVhZCBvZiB0aGUgcXVldWUgaXMgdGhlIG9sZGVzdCBwYWNrZXQgKGFzIGluIGxvd2VzdCBzZXFudW0pLCB0aGUgdGFpbCBpcwoJICB0aGUgbmV3ZXN0IHBhY2tldC4gVG8gY2FsY3VsYXRlIHRoZSBmaWxsIGxldmVsLCB3ZSBzaG91bGQgY2FsY3VsYXRlIHRhaWwtaGVhZAoJICB3aGlsZSBjb25zaWRlcmluZyB3cmFwYXJvdW5kcy4gTm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLgoJICBPdGhlciBjb2RlIGlzIGFscmVhZHkgZG9pbmcgdGhpcyBpbiB0aGUgY29ycmVjdCBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDg4OQoKMjAxNi0wNC0xMSAxMDo0NDo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBydHBtYW5hZ2VyOiBJdCdzIEdTVF9MSUJTLCBub3QgR1NUX0xJQlNfTElCUwoKMjAxNi0wNC0xMSAwODozMzoxNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHBhcnNpbmcgc2VnbWVudCBkdXJhdGlvbiBvZiBlbXB0eSBlZGl0IGxpc3QgYm94CgkgIEZvciBlbXB0eSBlZGl0IGxpc3QsIHNlZ21lbnQtZHVyYXRpb24gaW4gZWRpdCBsaXN0IGJveCBzaG91bGQgbm90IGJlCgkgIHVzZWQgZm9yIHNlZ21lbnQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ4NzAKCjIwMTYtMDQtMDggMTM6MDU6NTcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSB0aW1lY29kZXNjYWxlIGNvbmZpZ3VyYWJsZQoJICBJbiBzb21lIHVzZSBjYXNlcyB0aGUgZGVmYXVsdCB0aW1lY29kZXNjYWxlIHdpbGwgcHJvZHVjZSBibG9ja3Mgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDc2OQoKMjAxNi0wNC0wNyAxMzowMTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXRlcmJ1ZmZlcjogTW92ZSBhc3NlcnRpb24gdG8gdGhlIHJpZ2h0IGxvY2F0aW9uCgkgIFdlIHNob3VsZG4ndCBoYXZlICJsYXRlIiBsb3N0IHRpbWVycyBhdCB0aGF0IHBvaW50CgoyMDE2LTAzLTAyIDE0OjI1OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogU3BlZWQgdXAgbG9zdCB0aW1lb3V0IGhhbmRsaW5nCgkgIFdoZW4gZG93bnN0cmVhbSBibG9ja3MsICJsb3N0IiB0aW1lcnMgYXJlIGNyZWF0ZWQgdG8gbm90aWZ5IHRoZQoJICBvdXRnb2luZyB0aHJlYWQgdGhhdCBwYWNrZXRzIGFyZSBsb3N0LgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGZvciBoaWdoIHBhY2tldC1yYXRlIHN0cmVhbXMsIHdlIG1pZ2h0IGVuZCB1cCB3aXRoCgkgIGEgYmlnIGxpc3Qgb2YgbG9zdCB0aW1lb3V0cyAoaGFkIGEgdXNlLWNhc2Ugd2l0aCB+MTAwMC4uLikuCgkgIFRoZSBwcm9ibGVtIGlzbid0IHNvIG11Y2ggdGhlIGFtb3VudCBvZiBsb3N0IHRpbWVvdXRzIHRvIGhhbmRsZSwgYnV0CgkgIHJhdGhlciB0aGUgd2F5IHRoZXkgd2VyZSBoYW5kbGVkLiBBbGwgdGltZXJzIHdvdWxkIGZpcnN0IGJlIGl0ZXJhdGVkLAoJICB0aGVuIHRoZSBvbmUgc2VsZWN0ZWQgd291bGQgYmUgaGFuZGxlZCAuLi4gdG8gcmUtaXRlcmF0ZSB0aGUgbGlzdCBhZ2Fpbi4KCSAgQWxsIG9mIHRoaXMgaXMgYmVpbmcgZG9uZSB3aGlsZSB0aGUgamJ1ZiBsb2NrIGlzIHRha2VuLCB3aGljaCBpbiBzb21lIHVzZS1jYXNlcwoJICB3b3VsZCByZXR1cm4gaW4gaG9sZGluZyB0aGF0IGxvY2sgZm9yIDEwcy4uLiBibG9ja2luZyBhbnkgYnVmZmVycyBmcm9tCgkgIGJlaW5nIGFjY2VwdGVkIGluIGlucHV0Li4uIHdoaWNoIHdvdWxkIHRoZW4gYXJyaXZlIGxhdGUgLi4uIHdoaWNoIHdvdWxkCgkgIGNyZWF0ZSBwbGVudHkgb2YgbG9zdCB0aW1lcnMgLi4uIHdoaWNoIHdvdWxkIGNhdXNlIHRoZSBzYW1lIGlzc3VlLgoJICBJbiBvcmRlciB0byBhdm9pZCB0aGF0IHNpdHVhdGlvbiwgaGFuZGxlIHRoZSBsb3N0IHRpbWVycyBpbW1lZGlhdGVseSB3aGVuCgkgIGl0ZXJhdGluZyB0aGUgbGlzdCBvZiBwZW5kaW5nIHRpbWVycy4gVGhpcyBtb2RpZmllcyB0aGUgY29tcGxleGl0eSBmcm9tCgkgIGEgcXVhZHJhdGljIHRvIGEgbGluZWFyIGNvbXBsZXhpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5ODgKCjIwMTYtMDMtMDIgMTQ6MjM6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBEb24ndCBjcmVhdGUgbG9zdCBldmVudHMgaWYgd2UgZG9uJ3QgbmVlZCB0aGVtCgkgIFdoZW4gImRvLWxvc3QiIGlzIHNldCB0byBGQUxTRSB3ZSBkb24ndCB1c2Uvc2VuZCB0aGUgbG9zdCBldmVudHMuCgkgIEluIHRoYXQgY2FzZSwgZG9uJ3QgY3JlYXRlIHRoZW0gdG8gc3RhcnQgd2l0aCA6KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTg4CgoyMDE2LTAzLTAyIDEzOjU3OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogQWRkIHRyYWNpbmcgb2YgbG9jayB1c2FnZQoJICBIZWxwcyB3aXRoIGRlYnVnZ2luZyBsb2NrIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5ODgKCjIwMTYtMDItMTAgMTk6NTY6NTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBEb24ndCBsZWFrIHY0bDIgb2JqZWN0cyBhbmQgcHJvcHMgb24gcHJvYmUgZXJyb3JzCgoyMDE2LTA0LTA0IDE3OjQyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGpwZWcgZGVwYXlsb2FkZXIgcGFja2V0IGxvc3MgaGFuZGxpbmcKCSAgTWFrZSBzdXJlIGl0IGFsd2F5cyBvdXRwdXRzIHNvbWV0aGluZyB0aGF0IGxvb2tzIGxpa2UgYSB2YWxpZAoJICBKUEVHIGZyYW1lLCBpZS4gc3RhcnRzIHdpdGggYW4gU09JIG1hcmtlciBhbmQgZW5kcyB3aXRoIGFuIEVPSQoJICBtYXJrZXIuCgoyMDE2LTAzLTE1IDAzOjI1OjI2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IERvbid0IHNlbmQgaW52YWxpZCBmcmFtZXMgZG93bnN0cmVhbSBhZnRlciBwYWNrZXQgbG9zcyBvciBhIERJU0NPTlQKCSAgQWZ0ZXIgY2xlYXJpbmcgdGhlIGFkYXB0ZXIgZHVlIHRvIGEgRElTQ09OVCwgYXMgbWlnaHQgaGFwcGVuIHdoZW4gc29tZSBwYWNrZXQocykKCSAgaGF2ZSBiZWVuIGxvc3QsIHRoZSBkZXBheWxvYWRlciB3YXMgcHVzaGluZyBkYXRhIGludG8gdGhlIGFkYXB0ZXIgKHdoaWNoIGhhZCBubwoJICBoZWFkZXIgZHVlIHRvIHRoZSBjbGVhciksIGNyZWF0aW5nIGEgaGVhZGVybGVzcyBmcmFtZSBvdXQgb2YgaXQsIGFuZCBzZW5kaW5nIGl0CgkgIGRvd25zdHJlYW0uIFRoZSBkb3duc3RyZWFtIGRlY29kZXIgd291bGQgdGhlbiB1c3VhbGx5IGlnbm9yZSBpdDsgdW5sZXNzIHRoZXJlCgkgIHdlcmUgbG90cyBvZiBESVNDT05UcyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgaW4gd2hpY2ggY2FzZSB0aGUgZGVjb2RlciB3b3VsZCByZWFjaAoJICBpdHMgbWF4X2Vycm9ycyBsaW1pdCBhbmQgdGhyb3cgYW4gZWxlbWVudCBlcnJvci4gTm93IHdlIGp1c3QgZGlzY2FyZCB0aGF0IGRhdGEuCgkgIEl0IGlzIHByb2JhYnkgbm90IHdvcnRoIHRyeWluZyB0byBzYWx2YWdlIHRoaXMgZGF0YSBiZWNhdXNlIG5vbi1wcm9ncmVzc2l2ZQoJICBqcGVnIGRvZXMgbm90IGRlZ3JhZGUgZ3JhY2VmdWxseSBhbmQgbWFrZXMgdGhlIHZpZGVvIHVud2F0Y2hhYmxlIGV2ZW4gd2l0aAoJICBsb3cgcGFja2V0IGxvc3Mgc3VjaCBhcyAzLTUlLgoKMjAxNi0wMS0wNSAxNjoxNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIFJGQzcyNzMgbWVkaWEgY2xvY2sgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjI1OQoKMjAxNS0wNy0xMCAwOTo0NDoxNSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQSUZGIGJveCBkZXRlY3Rpb24gYW5kIHBhcnNpbmcgc3VwcG9ydAoJICBUaGUgUElGRiBkYXRhIGlzIHN0b3JlZCBpbiBhIGN1c3RvbSBVVUlEIGJveCB3aGljaCBpcyBwYXJzZWQgYW5kIHRoZQoJICBjcnlwdG9faW5mbyBvZiB0aGUgZWxlbWVudCBpcyB1cGRhdGVkIGFjY29yZGluZ2x5LiBUaGlzIGFsbG93cwoJICBkb3duc3RyZWFtIGRlY3J5cHRvcnMgdG8gcHJvY2VzcyBhbmQgZGVjcnlwdCB0aGUgcHJvdGVjdGVkIGNvbnRlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTQKCjIwMTYtMDQtMDEgMTI6MTU6MDUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiByZW1vdmUgZGVhZCBjb2RlCgkgIHBheWxvYWRfYnVmZmVyIGhhc24ndCBiZWVuIGFzc2lnbmVkIGEgdmFsdWUgYmVmb3JlIHRoZSBqdW1wcyB0bwoJICBzd2l0Y2hfZmFpbGVkIG9yIHBhY2tldF9zaG9ydC4gU28gdGhlIHZhbHVlIG11c3QgYmUgTlVMTC4gTm8gbmVlZAoJICB0byB1bm1hcCBhbmQgdW5yZWYuCgkgIENJRCAjMTMxNjQ3NgoKMjAxNi0wMy0zMSAxNDo1NzoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggbGVhawoJICBGcmVlIG1lbW9yeSBvZiBjdXJyZW50IG1hY3JvYmxvY2sgb25jZSBpdCBpc24ndCBuZWVkZWQgc28gaXQgaXNuJ3QgbGVha2VkCgkgIGJ5IHRoZSBjYWxsIG9mIHRoZSBnc3RfcnRwX2gyNjNfcGF5X0JfbWJmaW5kZXIgZnVuY3Rpb24uCgkgIGlmICghKG1hYyA9IGdzdF9ydHBfaDI2M19wYXlfQl9tYmZpbmRlciAoY29udGV4dCwgZ29iLCBtYWMsIG1iKSkpIHsKCSAgQ0lEIDEyMTIxNTYKCjIwMTYtMDMtMzEgMDI6MTU6MDQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IEhhbmRsZSBhIGhhbmcgZHJhaW5pbmcgb3V0IGF0IEVPUwoJICBNYWtlIHN1cmUgdGhhdCBhbGwgZGF0YSBpcyBkcmFpbmVkIG91dCB3aGVuIHRoZSByZWZlcmVuY2UgcGFkCgkgIGdvZXMgRU9TLiBGaXhlcyBhIHByb2JsZW0gd2hlcmUgZGF0YSB0aGF0IGFycml2ZXMgb24gb3RoZXIKCSAgcGFkcyBhZnRlciB0aGUgcmVmZXJlbmNlIHBhZCBmaW5pc2hlcyBjYW4gc3RhbGwgZm9yZXZlciBhbmQKCSAgbmV2ZXIgcGFzcyBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3MTEKCjIwMTYtMDMtMTggMTU6NDU6MDEgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRml4IG9jY2FzaW9uYWwgZGVhZGxvY2sgd2hlbiBlbmRpbmcgZmlsZSB3aXRoIHN1YnRpdGxlCgkgIERlYWRsb2NrIG9jY3VycyB3aGVuIHNwbGl0dGluZyBmaWxlcyBpZiBvbmUgc3RyZWFtIHJlY2VpdmVkIG5vIGJ1ZmZlciBkdXJpbmcKCSAgdGhlIGZpcnN0IEdPUCBvZiB0aGUgbmV4dCBmaWxlLiBUaGF0IGNhbiBoYXBwZW4gaW4gdGhhdCBzY2VuYXJpbyBmb3IgZXhhbXBsZToKCSAgMSkgVGhlIGZpcnN0IEdPUCBvZiB2aWRlbyBpcyBjb2xsZWN0ZWQsIGl0IGhhcyBhIGR1cmF0aW9uIG9mIDEwcy4KCSAgbWF4X2luX3J1bm5pbmdfdGltZSBpcyBzZXQgdG8gMTBzLgoJICAyKSBPdGhlciBzdHJlYW1zIGNhdGNodXAgYW5kIHdlIHJlY2VpdmUgdGhlIGZpcnN0IHN1YnRpdGxlIGJ1ZmZlciBhdCB0cz0wIGFuZAoJICBoYXMgYSBkdXJhdGlvbiBvZiAxbWluLgoJICAzKSBXZSByZWNlaXZlIHRoZSAybmQgc3VidGl0bGUgYnVmZmVyIHdpdGggYSB0cz0xbWluLiBpbl9ydW5uaW5nX3RpbWUgaXMgc2V0IHRvCgkgIDFtaW4uIFRoYXQgYnVmZmVyIGlzIGJsb2NrZWQgaW4gaGFuZGxlX21xX2lucHV0KCkgYmVjYXVzZQoJICBtYXhfaW5fcnVubmluZ190aW1lIGlzIHN0aWxsIDEwcy4KCSAgNCkgU2luY2UgYWxsIGluX3J1bm5pbmdfdGltZSBhcmUgbm93ID4gMTBzLCBtYXhfb3V0X3J1bm5pbmdfdGltZSBpcyBub3cgc2V0IHRvCgkgIDEwcy4gVGhhdCBmaXJzdCBHT1AgZ2V0cyByZWNvcmRlZCBpbnRvIHRoZSBmaWxlLiBUaGUgbXV4ZXIgcG9wIGJ1ZmZlcnMgb3V0CgkgIG9mIHRoZSBtcSwgd2hlbiBpdCB0cmllcyB0byBwb3AgYSAybmQgc3VidGl0bGUgYnVmZmVyIGl0IGJsb2NrcyBiZWNhdXNlIHRoZQoJICBHc3REYXRhUXVldWUgaXMgZW1wdHkuCgkgIDUpIEEgMm5kIEdPUCBvZiB2aWRlbyBpcyBjb2xsZWN0ZWQgYW5kIGhhcyBhIGR1cmF0aW9uIG9mIDEwcyBhcyB3ZWxsLgoJICBtYXhfaW5fcnVubmluZ190aW1lIGlzIG5vdyAyMHMuIFNpbmNlIHN1YnRpdGxlJ3MgaW5fcnVubmluZ190aW1lIGlzIGFscmVhZHkKCSAgMW1pbiwgdGhhdCBHT1AgaXMgYWxyZWFkeSBjb21wbGV0ZS4KCSAgNikgQnV0IGxldCdzIHNheSB3ZSBvdmVycmFuIHRoZSBtYXggZmlsZSBzaXplLCB3ZSB0aHVzIHNldCBzdGF0ZSB0bwoJICBTUExJVE1VWF9TVEFURV9FTkRJTkdfRklMRSBub3cuIEFzIHNvb24gYXMgYSBidWZmZXIgd2l0aCB0cyA+IDEwcyAoZW5kIG9mCgkgIHByZXZpb3VzIEdPUCkgYXJyaXZlcyBpbiBoYW5kbGVfbXFfb3V0cHV0KCksIEVPUyBldmVudCBpcyBzZW50IGRvd25zdHJlYW0KCSAgaW5zdGVhZC4gQnV0IHNpbmNlIHRoZSBzdWJ0aXRsZSBxdWV1ZSBpcyBlbXB0eSwgdGhhdCdzIG5ldmVyIGdvaW5nIHRvCgkgIGhhcHBlbi4gUGlwZWxpbmUgaXMgbm93IGRlYWRsb2NrZWQuCgkgIFRvIGZpeCB0aGlzIHNpdHVhdGlvbiB3ZSBoYXZlIHRvOgoJICAtIFNlbmQgYSBkdW1teSBldmVudCB0aHJvdWdoIHRoZSBxdWV1ZSB0byB3YWtldXAgb3V0cHV0IHRocmVhZC4KCSAgLSBVcGRhdGUgb3V0X3J1bm5pbmdfdGltZSB0byBhdCBsZWFzdCBtYXhfb3V0X3J1bm5pbmdfdGltZSBzbyBpdCBzZW5kcyBFT1MuCgkgIC0gUmVzcGVjdCB0aW1lIG9yZGVyLCBzbyB3ZSBzZXQgb3V0X3J1bm5pbmdfdGltPW1heF9pbl9ydW5uaW5nX3RpbWUgYmVjYXVzZQoJICB0aGF0J3MgYmlnZ2VyIHRoYW4gcHJldmlvdXMgYnVmZmVyIGFuZCBzbWFsbGVyIHRoYW4gbmV4dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzcxMQoKMjAxNS0xMS0xNyAxODoxNzozNSArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgbmV3IHNpZ25hbCAnb24tYXBwLXJ0Y3AnCgkgIFNpbWlsYXIgdG8gdGhlICdvbi1mZWVkYmFjay1ydGNwJyBzaWduYWwsIGJ1dCBlbWl0dGVkIGZvciBSVENQIEFQUAoJICBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE3CgoyMDE2LTAzLTI0IDE1OjU3OjExICswOTAwICBNaW5qYWUgS2ltIDxuYXRlLmtpbUBsZ2UuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogU2V0IHRvIGluaXRpYWwgdmFsdWUgZm9yICdudHBucycgaW4gZ2V0X2N1cnJlbnRfdGltZXMoKQoJICBJbml0aWFsaXplICJudHBucyIgdmFyaWFibGUgdG8gLTEgYXMgdGhlIE9FIGNvbXBpbGVyIGZvciBzb21lIHJlYXNvbiBkb2Vzbid0CgkgIHJlYWxpemUgdGhhdCB0aGUgdmFyaWFibGUgaXMgc2V0IGluIGFsbCBjb2RlIHBhdGhzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MTE5CgoyMDE2LTAxLTMxIDExOjA4OjM4ICsxMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEFsbG93IGRpZmZlcmVudCBxdWFudGl6YXRpb24gdGFibGVzIGZvciBjb21wb25lbnRzIDIgYW5kIDMKCSAgUkZDIDI0MzUgbWVudGlvbnMgaW4gc2VjdGlvbiA0LjEgdGhhdCBVL1YgdXNlIHRhYmxlIG51bWJlciAxLCBidXQgdGhpcyBzZWVtcwoJICBqdXN0IGxpa2UgYW4gZXhhbXBsZS4gU29tZSBlbmNvZGVycyBhcmUgbm90IGZvbGxvd2luZyB0aGF0IGFuZCB0aGVyZSBzZWVtcyB0bwoJICBiZSBubyByZWFzb24gdG8gcmVqZWN0IHRoZWlyIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEzNDUKCjIwMTYtMDMtMjQgMTk6MjM6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogVXNlIHRocmVhZHMgb24gbXVsdGktY29yZSBzeXN0ZW1zCgkgIFRoaXMgaXMgYSByZWRvIG9mIGNvbW1pdCBiODQ4YzFiNmZmZDFlNTA4MjI4ODIwYTAxM2Y5NGZiNDQ1ZTQ3NzdmLiBUaGUKCSAgY29kZSB3YXMgbG9zdCB3aGVuIHRoZSBlbGVtZW50cyB3aGVyZSBwb3J0ZWQgdG8gdXNlIGEgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MTY5CgoyMDE2LTAyLTI5IDIzOjQwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eHNpbms6IG9ubHkgdHJ5IHRvIGNyZWF0ZSBpbnRlcm5hbCBzaW5rIGlmIGl0IGRvZXNuJ3QgZXhpc3QKCSAgVGhpcyBhbGxvd3Mgc3BsaXRtdXhzaW5rIHRvIGJlIHJldXNlZCBhZnRlciBiZWluZyBwdXQgdG8gTlVMTC4KCSAgVGVzdCBpbmNsdWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODkzCgoyMDE1LTEwLTAxIDEzOjQxOjIzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBwcm9iZSBhbGwgY29sb3JzcGFjZSBzdXBwb3J0ZWQgYnkgZGV2aWNlCgkgIEEgZGV2aWNlIGNhbiBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgY29sb3JzcGFjZSBmb3IgYSBnaXZlbiBpbWFnZQoJICBkaW1lbnNpb24gYW5kIHBpeGVsIGZvcm1hdC4gU28gd2UgaGF2ZSB0byBwcm9iZSBhbGwgdGhlIHN1cHBvcnRlZAoJICBjb2xvcnNwYWNlIGFuZCBub3Qgb25seSByZWx5IG9uIHRoZSBkZWZhdWx0IG9uZS4gT3RoZXJ3aXNlIHdlIGNvdWxkIGVuZAoJICB1cCB3aXRoIG5lZ290aWF0aW9uIGZhaWx1cmUgaWYgdGhlIGNhcHMgY29sb3JpbWV0cnkgZmllbGQgZG9uJ3QgbWF0Y2gKCSAgdGhlIHY0bDIgZGV2aWNlIGRlZmF1bHQgb25lIGV2ZW4gaWYgdGhlIHY0bDIgY291bGQgc3VwcG9ydCBzdWNoCgkgIGNvbG9yaW1ldHJ5LgoJICBUaGlzIHBhdGNoIGVuYWJsZSBwcm9iaW5nIGlmIGNvbG9yc3BhY2UgZm9yIGJvdGggY2FwdHVyZSBhbmQgb3V0cHV0CgkgIGRldmljZS4gSXQgcmVhbGx5IG1ha2VzIHNlbnNlIGZvciBvdXRwdXQgZGV2aWNlIHNpbmNlIHRoZSBjb2xvcnNwYWNlCgkgIHNoYWxsIGJlIHNldCBieSB0aGUgYXBwbGljYXRpb24gYW5kIGEgbGl0dGxlIGxlc3MgZm9yIGNhcHR1cmUgZGV2aWNlCgkgIHdoaWNoLCBhdCB0aGUgbW9tZW50LCBzaGFsbCBwcm92aWRlIHRoZSBjb2xvcnNwYWNlOyBpZTogdGhlIHY0bDIKCSAgc3BlY2lmaWNhdGlvbiBzZWVtcyB0byBub3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIGZhY3QgdGhhdCBhIGNhcHR1cmUKCSAgZGV2aWNlIGNvdWxkIGRvIGNvbG9yc3BhY2UgY29udmVyc2lvbi4KCSAgQXMgYSBzaWRlIGVmZmV0LCBwcm9iaW5nIHRha2VzIHNvbWUgdGltZXMgYW5kIHNvIHNsaWd0aGx5IGRlbGF5IHY0bDIKCSAgaW5pdGlhbGl6YXRpb24uIE5vdGUgdGhhdCB0aGlzIHBhdGNoIG9ubHkgcHJvYmUgY29sb3JzcGFjZSBhbmQgbm90IGFsbAoJICBjb2xvcnNwYWNlLCBtYXRyaXgsIHRyYW5zZmVyIGFuZCByYW5nZSBjb21iaW5hdGlvbiB0byBhdm9pZCB0YWtpbmcgdG9vCgkgIG11Y2ggdGltZSwgZXNwZWNpYWxseSB3aXRoIGxvdy1zcGVlZCBkZXZpY2VzIGFzIGZ1bGwgcHJvYmluZyBkbyAxNzgyCgkgIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTM3CgoyMDE2LTAzLTI0IDE2OjIxOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgY2hlY2s6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMy0yNCAxNjoyMDozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIHRlc3RzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNi0wMy0xNiAyMDoyNjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IFJldHVybiB0aGUgY3VycmVudCBjYXBzIG9uIHRoZSBzcmNwYWRzIG9uIGNhcHMgcXVlcmllcwoJICBJdCdzIG5vdCBsaWtlIHdlIGNvdWxkIGFjY2VwdCBhbnkgb3RoZXIgY2FwcyBoZXJlLiBUaGUgY2FwcyBhcmUgZGVjaWRlZCBieSB0aGUKCSAgdXBzdHJlYW0gY2FwcyBldmVudC4KCSAgQWxzbyBrZWVwIHRoZSBmaWx0ZXIgb3JkZXIgaW50YWN0IHdoZW4gZmlsdGVyaW5nIHRoZSByZXN1bHRzIGFnYWluc3QgdGhlCgkgIGZpbHRlciBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzI2CgoyMDE2LTAzLTI0IDE1OjE0OjIzICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHF0ZGVtdXggbWVtb3J5IGxlYWsgaW4gc3JjX2NvbnZlcnQgZnVuY3Rpb24KCSAgSWYgd2UgZG9uJ3QgZmluZCB0aGUgaW5kZXggb2YgdGhlIHNhbXBsZSBjb3JyZWN0bHkgaW4gc3JjX2NvbnZlcnQgZnVuY3Rpb24sCgkgIHdlIGhhdmUgdG8gdW5yZWYgYWJvdXQgdGhlIHF0ZGVtdXggYmVmb3JlIHJldHVybmluZyB2YWx1ZS4KCSAgU28sIEkgaGF2ZSBtb2RpZnkgaXQgYWJvdXQgaW5zdGVhZCBwYXNzIHF0ZGVtdXggYXMgYSBwYXJhbWV0ZXIgaW50bwoJICBzcmNfY29udmVydCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzk3MwoKMjAxNi0wMy0yMiAxMzoxNToyMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBjaGVjayBjb25kaXRpb24gZm9yIGZhaWwgY2FzZSBpbiBnZXRfZHVyYXRpb24gZnVuY3Rpb24KCSAgQ3VycmVudGx5LCBnZXRfZHVyYXRpb24gZnVuY3Rpb24gYWx3YXlzIHJldHVybiB0aGUgVFJVRSBldmVuIHRob3VnaAoJICBpdCBjYW4ndCBiZSBzZXQgZHVyYXRpb24gY29ycmVjdGx5LiBTbywgd2UgbmVlZCB0byBhZGQgdGhlIGVsc2UgY29uZGl0aW9uCgkgIGFib3V0IHRoZSBmYWlsIGNhc2UuIEFsc28sIHdlIGFscmVhZHkgc2V0IHRoZSBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIGluIHRoaXMgZnVuY3Rpb24uIFNvIEkgaGF2ZSBtb2RpZnkgaXQgd2hpY2ggaXMgcmVsYXRlZCBjb2RlIGluIHNvbWUKCSAgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NjgKCjIwMTYtMDMtMjEgMTA6MTE6MjMgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb2RpZnkgZGF0YSB0eXBlIG9mIGR1cmF0aW9uIGluIGhhbmRsZV9zcmNfcXVlcnkgZnVuY3Rpb24KCSAgRGF0YSB0eXBlIG9mIGR1cmF0aW9uIG5lZWQgdG8gbW9kaWZ5IGZyb20gZ3VpbnQ2NCB0byBHc3RDbG9ja1RpbWUKCSAgZm9yIGNvbnNpc3RlbmN5IGluIGhhbmRsZV9zcmNfcXVlcnkgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NjUKCjIwMTYtMDMtMTggMTQ6NDA6NTggKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZGVkIHVuaXQgdGVzdHMgZm9yIGZpZWxkPWF1dG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzg2OQoKMjAxNi0wMy0xNyAyMToyMTowMiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGRlZCAiYXV0byIgZmllbGRzIG1vZGUKCSAgVGhlICJhdXRvIiBmaWVsZHMgbW9kZSB3aWxsIGRldGVjdCB0aGUgdXBzdHJlYW0gYW5kIGRvd25zdHJlYW0gZnJhbWVyYXRlcyBhbmQKCSAgd2lsbCBkZWNpZGUgdG8gZGVpbnRlcmxhY2UgYWxsIG9yIG9ubHkgdG9wIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzg2OQoKMjAxNi0wMy0xNiAyMDoxNzo1NSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJICBmbHZkZW11eDogZG9uJ3QgZW1pdCBwYWQtYWRkZWQgdW50aWwgY2FwcyBhcmUgcmVhZHkKCSAgSW4gb3RoZXIgd29yZHMsIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyBzaG91bGQgbmV2ZXIgcmV0dXJuIE5VTEwKCSAgaW4gYSBwYWQtYWRkZWQgY2FsbGJhY2sgZnJvbSB0aGUgZGVtdXhlci4KCSAgQWRkZWQgdGVzdHMgZm9yIHRoZSB0d28gc3BlY2lhbCBjYXNlcyB3aXRoIEFBQyBhbmQgSC4yNjQgd2hlcmUgdGhpcwoJICB3b3VsZCBoYXBwZW4gZXZlcnkgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzc4MAoKMjAxNi0wMy0wNCAxMDozMDoxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgZ29vZDogdXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19hZGRfc3RhdGljX3BhZF90ZW1wbGF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNzYKCjIwMTYtMDMtMDQgMDk6NDI6NDQgKzAxMDAgIERhdmlkIEJ1Y2htYW5uIDxkYXZpZC5idWNobWFubkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBUZXN0IHRvIHZlcmlmeSBmbHZtdXggaGFuZGxlcyBEVFMgd2l0aCBHU1RfQ0xPQ0tfVElNRSBOT05FCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDcKCjIwMTUtMTEtMDQgMTQ6NTE6MTkgKzA5MDAgIEppaGFlIFlpIDxqaWhhZS55aUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgcG90ZW50aWFsbHkgb3ZlcmZsb3dpbmcgZXhwcmVzc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NTY5CgoyMDE2LTAzLTIyIDEwOjQzOjQ1ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHRoZSBmdW5jdGlvbiB0byBnZXQgY2hhbm5lbHMgYW5kIHNhbXBsZSByYXRlIGZvciBBQUMKCSAgQWRkIGFhY19nZXRfY2hhbm5lbHMgYW5kIHNhbXBsZV9yYXRlIGZ1bmN0aW9uIHRvIGdldCB0aGVzZSB2YWx1ZSBmb3IKCSAgQUFDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTEwCgoyMDE2LTAzLTI0IDEzOjMzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjguMCA9PT0KCjIwMTYtMDMtMjQgMTI6Mjc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjguMAoKMjAxNi0wMy0yNCAxMjowMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0xNiAyMDoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IFVzZSBHc3RJdGVyYXRvciBmb3IgaXRlcmF0aW5nIGFsbCBwYWRzIGluc3RlYWQgb2YgbWFudWFsbHkgaXRlcmF0aW5nIHRoZW0gd2hpbGUgaG9sZGluZyB0aGUgb2JqZWN0IGxvY2sgYWxsIHRoZSB0aW1lCgkgIERvaW5nIHF1ZXJpZXMgd2hpbGUgaG9sZGluZyB0aGUgb2JqZWN0IGxvY2sgaXMgYSBiaXQgZGFuZ2Vyb3VzLCBhbmQgaW4gdGhpcwoJICBjYXNlIGNhdXNlcyBkZWFkbG9ja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMjYKCjIwMTYtMDMtMTcgMjA6NTM6MjcgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdHlwbyB0byBub3QgY2hhbmdlIHRoZSBpbnB1dCBjYXBzIGJ1dCBvdXIgZmlsdGVyZWQgY2FwcwoJICBDaGFuZ2luZyB0aGUgaW5wdXQgY2FwcyBhbmQgbm90IHVzaW5nIHRoZW0gYW55bW9yZSBhZnRlcndhcmRzIGlzIHVzZWxlc3MsIGFuZAoJICBpdCBicmVha3MgbmVnb3RpYXRpb24gaW4gcGlwZWxpbmVzIGxpa2U6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhICJ2aWRlby94LXJhdyxmcmFtZXJhdGU9MjUvMSxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgIQoJICBkZWludGVybGFjZSBmaWVsZHM9YWxsICEgInZpZGVvL3gtcmF3LGZyYW1lcmF0ZT01MC8xLGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlIiAhCgkgIGZha2VzaW5rCgo9PT0gcmVsZWFzZSAxLjcuOTEgPT09CgoyMDE2LTAzLTE1IDEyOjA0OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjkxCgoyMDE2LTAzLTE1IDExOjUzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0xNSAxMTo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2h1LnBvOgoJKiBwby9zci5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDMtMTUgMDM6MjY6MTQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogU29tZSBjb21tZW50IGFuZCBkb2N1bWVudGF0aW9uIGNsYXJpZmljYXRpb25zL2ZpeGVzCgoyMDE2LTAzLTEzIDEwOjMzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IHB1c2ggdGFncyBpbiBwcmVfcHVzaF9mcmFtZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0MDY1ZmNiODBhNDk5MjRiNzBmMGM4ZmMxNTlkZWMwZmY0Nzk0M2ExLgoJICBmbGFjcGFyc2Ugc2hvdWxkIG5vdCBwdXNoIHRhZ3MgYnkgaXRzZWxmLCB0aGUgYmFzZSBjbGFzcyBpcyBnb2luZyB0byBkbyB0aGF0CgkgIHdoaWxlIHByb3Blcmx5IG1lcmdpbmcgaW4gdXBzdHJlYW0gdGFncy4gSXQganVzdCBkaWRuJ3QgYmVjYXVzZSBvZiBhIGJ1ZyBpbgoJICB0aGUgYmFzZSBjbGFzcywgd2hpY2ggd2FzIGhpZGRlbiBieSB0aGlzIGNvbW1pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzU1MwoKMjAxNi0wMi0yNSAwNToxNzo1MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgd2luMzI6IERvbid0IHVzZSBfX2F0dHJpYnV0ZV9fIG9uIE1TVkMKCSAgVXNlIE1TVkMtZXF1aXZhbGVudHMgZm9yIGFsaWdubWVudCBhbmQgcGFja2luZyBjb21waWxlciBkaXJlY3RpdmVzIHdoZW4gYnVpbGRpbmcKCSAgb24gTVNWQwoKMjAxNi0wMi0yNSAwNToxNjo0MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICB3aW4zMjogRG9uJ3QgdHJ5IHRvIGluY2x1ZGUgeG1hdGguaCBvbiBuZXdlciBWaXN1YWwgU3R1ZGlvCgoyMDE2LTAyLTI1IDA1OjE2OjA5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgZ3N0IEZhY3RvciBvdXQgZW5kaWFuLW9yZGVyIFJHQiBmb3JtYXRzCgkgIE1TVkMgc2VlbXMgdG8gaWdub3JlIHByZXByb2Nlc3NvciBjb25kaXRpb25hbHMgaW5zaWRlIHN0YXRpYyBwYWQKCSAgdGVtcGxhdGUgbWFjcm9zLgoKMjAxNi0wMy0wOCAxNzozNzoxNyArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJjdHNvdW5kc2luazogU2V0dGluZyB2b2x1bWUgc2hvdWxkIG5vdCB1bm11dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNi0wMy0wOCAxMzo1NzoyNCArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJjdHNvdW5kc2luazogRml4IHZvbHVtZSByZXNldCBvbiB1bm11dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNi0wMy0wOCAxMzowMzo1NSArMDEwMCAgQWxiYW4gQmVkZWwgPGFsYmFuLmJlZGVsQGF2aW9uaWMtZGVzaWduLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggY2FwdHVyZSB3aXRoIGJheWVyIGZvcm1hdHMgb3RoZXIgdGhhbiBiZ2dyCgkgIGdzdF92NGwyX29iamVjdF9nZXRfY2Fwc19pbmZvKCkgYWx3YXlzIHJldHVybiBWNEwyX1BJWF9GTVRfU0JHR1I4CgkgIGZvciBhbGwgYmF5ZXIgZm9ybWF0cy4gVGhpcyBpcyBvYnZpb3VzbHkgYnJva2VuIGlmIHRoZSBkZXZpY2UgdXNlCgkgIGFub3RoZXIgb3JkZXJpbmcuIEZpeCB0aGlzIGJ5IHByb3Blcmx5IHJlYWRpbmcgdGhlIGZvcm1hdCBwYXJhbWV0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMTgKCjIwMTYtMDMtMDcgMTA6Mjg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNldCBwZW5kaW5nIHNlZ21lbnQgaWYgd2UgYXJlIGFscmVhZHkgcHVzaGluZyBvbmUKCSAgV2hlbiB1cHN0cmVhbSBpcyBydW5uaW5nIGluIGJ5dGVzIGluIHB1c2gtbW9kZSwgcXRkZW11eCB3aWxsCgkgIGNvbnZlcnQgc2Vla3MgZnJvbSB0aW1lIHRvIGJ5dGVzIGFuZCBzZW5kIGl0IHVwc3RyZWFtLiBVcHN0cmVhbQoJICBlbGVtZW50IHdpbGwgcGVyZm9ybSBhIGJ5dGUgc2VlayBhbmQgc2VuZCBhIGJ5dGUgc2VnbWVudCB0byBxdGRlbXV4CgkgIHRoYXQgd2lsbCBjb252ZXJ0IGl0IHRvIHRpbWUgYW5kIHB1c2ggaXQgZG93bnN0cmVhbS4KCSAgVGhlcmUgaXMsIGhvd2V2ZXIsIHRoZSBwZW5kaW5nX3NlZ21lbnQgdmFyaWFibGUgdGhhdCBzdG9yZXMgYSBuZXcKCSAgc2VnbWVudCBldmVudCB0byBiZSBwdXNoZWQgYmVmb3JlIHRoZSBuZXh0IGRhdGEuIFdoZW4gaGFuZGxpbmcgc2Vla3MKCSAgYXMgbWVudGlvbmVkIGFib3ZlIHRoaXMgdmFyaWFibGUgd2FzIGJlaW5nIGlnbm9yZWQgYW5kLCBpZiBpdCBjb250YWluZWQKCSAgc29tZSBzZWdtZW50IGV2ZW50LCBpdCB3b3VsZCBvdmVycmlkZSB0aGUgb25lIHJlc3VsdGluZyBmcm9tIHRoZSBzZWVrLgoJICBUaGlzIHdvdWxkIHJlc3RvcmUgYSBwcmV2aW91cyBzZWdtZW50IGFuZCB3b3VsZCBjYXVzZSB0aGUgc2VlayBzZWdtZW50CgkgIHRvIGJlIGRpc2NhcmRlZCBkb3duc3RyZWFtLgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgaXNzdWUgYnkgdW5yZWZpbmcgYW55IHBlbmRpbmcgc2VnbWVudCBhcyB0aGUKCSAgc2VlayBmcm9tIHVwc3RyZWFtIHNob3VsZCBjb250YWluIHRoZSBsYXRlc3Qgb25lIHRoYXQgc2hvdWxkIGJlCgkgIHVzZWQsIGFzIHJlcXVlc3RlZCBieSB0aGUgYXBwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMxNjUKCjIwMTYtMDMtMDcgMTA6Mjc6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBydW4gZ3N0LWluZGVudAoJICBPdGhlcndpc2UgY29tbWl0cyB3aWxsIGZhaWwgd2l0aCBvdXIgaW5kZW50IGNoZWNrIGhvb2sKCjIwMTYtMDMtMDQgMTU6MDk6NDUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvbG9yaW1ldHJ5IGZvciBOVjEyCgkgIFJlcGxpY2F0ZSBWNEwyX01BUF9RVUFOVElaQVRJT05fREVGQVVMVCBtYWNybyBiZWhhdmlvci4KCSAgQXQgI3Y0bCBpdCB3YXMgZGVzY3JpYmVkIHRoYXQgZG9jdW1lbnRhdGlvbiBtaWdodCBiZSB3cm9uZyBhbmQgdGhhdAoJICB3ZSBzaG91bGQgdHJ1c3QgdGhpcyBtYWNybyBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTI5CgoyMDE2LTAzLTA0IDE0OjA3OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggbXVsdGljYXN0IGdyb3VwIGpvaW5pbmcgd2l0aCBwcm92aWRlZCBzb2NrZXRzIG9uIFdpbmRvd3MKCSAgT24gV2luZG93cyB0aGUgc29ja2V0IHdpbGwgYmUgYm91bmQgdG8gQU5ZIGluc3RlYWQgb2YgdGhlIG11bHRpY2FzdCBncm91cCwKCSAgYXMgYmluZGluZyB0byBhIG11bHRpY2FzdCBncm91cCBkb2VzIG5vdCB3b3JrLiBXaGljaCB3b3VsZCBtZWFuIHRoYXQgd2UKCSAgb3ZlcnJpZGUgc3JjLT5hZGRyIHRvIGJlY29tZSBBTlkgYW5kIHdvbid0IGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdAoJICBncm91cCBhbnltb3JlIG9uIFdpbmRvd3MuCgkgIE9uIExpbnV4IHdlIHdvdWxkIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCwga2VlcCBpdCBjb25zaXN0ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDkzCgoyMDE2LTAzLTAyIDEzOjEzOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAicnRwaml0dGVyYnVmZmVyOiBkb24ndCBmb3JnZXQgdG8gdW5sb2NrIG11dGV4IGluIGVycm9yIGNvZGUgcGF0aCBpbiB0d28gY2FzZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTdmYjdiNTM1OTJkODdmNzk4MzU0NGRlYmI3NGQzNjRmYzMyNTdhZC4KCSAgVGhlIG11dGV4IGlzIHRha2VuIGJ5IHRoZSBjYWxsZXIsIHdlIHNob3VsZCBrZWVwIGl0IGxvY2tlZCB3aGVuIHJldHVybmluZyBzbwoJICB0aGUgY2FsbGVyIGNhbiB1bmxvY2sgaXQgYWdhaW4uCgoyMDE2LTAzLTAxIDE1OjAxOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwdXNoIHRhZ3MgaW4gcHJlX3B1c2hfZnJhbWUKCSAgUHVzaCBhIHRhZyBldmVudCBiZWZvcmUgcHJlLXJvbGwgaWYgd2UgaGF2ZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjYwCgo9PT0gcmVsZWFzZSAxLjcuOTAgPT09CgoyMDE2LTAzLTAxIDE4OjE1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MAoKMjAxNi0wMy0wMSAxNzowMzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY2EucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vb3IucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3RyLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMDEgMTY6NTM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9mci5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAzLTAxIDE0OjE0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtdXRleCBpbiBlcnJvciBjb2RlIHBhdGggaW4gdHdvIGNhc2VzCgoyMDE2LTAyLTI5IDEwOjEwOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgaW1wb3NzaWJsZSBjb25kaXRpb24KCSAgSXQgaXMgaW1wb3NzaWJsZSBmb3IgYSBndWludCB0byBoYXZlIGEgbmVnYXRpdmUgdmFsdWUsIG5vIG5lZWQgdG8gY2hlY2sgZm9yCgkgIHRoaXMuIEludHJvZHVjZWQgaW4gY29tbWl0IDY4NjFkMTFjNDllYTBmMzBkMjQzMmNmNGViZjYxMDhiYzg5ODk3ZjEKCSAgQ0lEIDEzNTQ1MDkKCjIwMTYtMDItMjggMTA6MTI6MzYgKzAxMDAgIFBldHIgVmlrdG9yaW4gPGVuY3Vrb3VAZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBGaXggc2FtcGxlIHBpcGVsaW5lCgkgIFVzZSB0aGUgem9yZGVyIHBhZCBwcm9wZXJ0eSB0byBtYWtlIHN1cmUgdGhlIHNlbWl0cmFuc3BhcmVudAoJICB2aWRlbyBpcyBvbiB0b3Agb2YgdGhlIGJhY2tncm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4MDkKCjIwMTYtMDItMjggMTM6NDI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogbWFrZSB0YWcgbGlzdCB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nIGl0CgkgIE1ha2luZyB0aGUgZXZlbnQgaXRzZWxmIHdyaXRhYmxlIGlzIG5vdCBlbm91Z2gsIGl0IHdvbid0IG1ha2UKCSAgdGhlIGFjdHVhbCB0YWdsaXN0IGluIHRoZSBldmVudCB3cml0YWJsZSBhcyB3ZWxsLiBJbnN0ZWFkLCBqdXN0CgkgIG1ha2UgYSBjb3B5IG9mIHRoZSB0YWdsaXN0IGFuZCB0aGVuIGNyZWF0ZSBhIG5ldyB0YWcgZXZlbnQgZnJvbQoJICB0aGF0IGlmIHJlcXVpcmVkLCByZXBsYWNpbmcgdGhlIG9sZCBvbmUuIEJlZm9yZSB3ZSB3b3VsZAoJICBpbmFkdmVydGVudGx5IG1vZGlmeSB0YWdsaXN0cyB1cHN0cmVhbSBlbGVtZW50cyBtaWdodCBzdGlsbAoJICBiZSBob2xkaW5nIG9uIHRvLiBBZGQgdW5pdCB0ZXN0IGZvciB0aGlzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3OTMKCjIwMTYtMDItMjggMTM6MDE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFByb3Blcmx5IGVycm9yIG91dCBpZiBiaW5kaW5nIHRoZSBVRFAgc29ja2V0cyBmYWlscwoJICB1ZHBzcmMgaXMgbm90IHJldHVybmluZyB1cyBhIHNvY2tldCBpbiB0aGF0IGNhc2UuCgoyMDE2LTAyLTI3IDIwOjMzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBVc2UgZ29vbV9zZXRfcmVzb2x1dGlvbigpIGluc3RlYWQgb2YgcmVjcmVhdGluZyB0aGUgZ29vbSBpbnN0YW5jZSB3aGVuIHRoZSByZXNvbHV0aW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc2NQoKMjAxNi0wMi0yNyAyMDozMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgUmV2ZXJ0ICJnb29tOiBJbml0aWFsaXplIHRoZSBnb29tIHN0cnVjdCBvbmx5IG9uY2Ugd2Uga25vdyB3aWR0aC9oZWlnaHQgYW5kIHJlY3JlYXRlIGl0IGlmIHRob3NlIGNoYW5nZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjYzZlMTAyNjQzYzFiYWU5MjgzMTZkY2E5ZjM0ZGIwMjhmYjlhNjdlLgoKMjAxNi0wMi0yNyAyMDozMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogSW5pdGlhbGl6ZSB0aGUgZ29vbSBzdHJ1Y3Qgb25seSBvbmNlIHdlIGtub3cgd2lkdGgvaGVpZ2h0IGFuZCByZWNyZWF0ZSBpdCBpZiB0aG9zZSBjaGFuZ2UKCSAgRml4ZXMgY3Jhc2ggd2hlbiB0aGUgd2lkdGggYW5kL29yIGhlaWdodCBpcyBjaGFuZ2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc2NQoKMjAxNi0wMi0yNiAxMjo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjY0ZjAzZiB0byA2ZjJkMjA5CgoyMDE2LTAyLTI1IDIyOjU0OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBydHBvcHVzZGVwYXkgYW5kIHJ0cG9wdXNwYXkgdG8gZG9jdW1lbnRhdGlvbgoKMjAxNi0wMi0xNyAxNToxNToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgcnRwOiBvcHVzOiBtb3ZlIE9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMi0xNyAxNToxMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAncGx1Z2luLW1vdmUtcnRwLW9wdXMnCgkgIE1vdmUgT3B1cyBSVFAgZGVwYXlsb2FkZXIvcGF5bG9hZGVyIGZyb20gLWJhZCB0byAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMi0yNSAxMTozMzoxMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjZW5jIGF1eCBpbmZvIHBhcnNpbmcgZnJvbSBtZGF0IHN1cHBvcnQgaW4gUFVMTCBtb2RlCgkgIFRoaXMgaXMgYWxyZWFkeSBzdXBwb3J0ZWQgZm9yIFBVU0ggbW9kZSBidXQgd2FzIGZhaWxpbmcgaW4gUFVMTCBtb2RlLgoJICBUaGUgYXV4IGluZm8gaXMgc29tZXRpbWVzIHN0b3JlZCBpbiB0aGUgbWRhdCBiZWZvcmUgdGhlIGZpcnN0IHNhbXBsZSwKCSAgc28gdGhlIGxvb3AgdGFzayBuZWVkcyB0byBwdWxsIGRhdGEgc3RvcmVkIGF0IHRoYXQgbG9jYXRpb24gYW5kCgkgIHBlcmZvcm0gdGhlIGF1eCBpbmZvIGNlbmMgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTcwMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTE2CgoyMDE2LTAyLTI0IDExOjI4OjA5ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXZlbnQgYnVmZmVyIGZsb3cgaWYgYW55IHN0cmVhbSBmYWlsZWQgdG8gYmUgZXhwb3NlZAoJICBJbiBzb21lIGNhc2VzIHRoZSBzdHJlYW0gY29uZmlndXJhdGlvbiBjYW4gZmFpbCwgZm9yIGluc3RhbmNlIGlmIHRoZQoJICBzdHJlYW0gaXMgcHJvdGVjdGVkIGFuZCBubyBkZWNyeXB0b3Igd2FzIGZvdW5kLiBGb3IgdGhvc2Ugc2l0dWF0aW9ucwoJICB0aGUgZGVtdXhlciBzaG91bGRuJ3QgZW1pdCBhbnkgZGF0YSBvbiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgcGFkIG9mCgkgIHRoZSBzdHJlYW0gYW5kIGJhaWwgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTE2CgoyMDE2LTAyLTI0IDA5OjEyOjAzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHB1c2ggZW5jcnlwdGVkIGJ1ZmZlciB3aXRob3V0IGNlbmMgbWV0YWRhdGEKCSAgV2hlbiB0aGUgY2VuYyBtZXRhZGF0YSBpcyBzdG9yZWQgb3V0c2lkZSBvZiB0aGUgbW9vZiBib3ggYW5kIHRoZQoJICBzdHJlYW0gaXMgZXhwb3NlZCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBjZW5jIG1ldGFkYXRhIGhhc24ndCBiZWVuCgkgIHByb2Nlc3NlZCB5ZXQgd2hpbGUgdGhlIGZpcnN0IGJ1ZmZlciBpcyBiZWluZyBwdXNoZWQuIFdoZW4gdGhpcwoJICBoYXBwZW5zIHRoZSBidWZmZXIgY2FuJ3QgcG9zc2libHkgYmUgZGVjcnlwdGVkIGRvd25zdHJlYW0gc28gZG9uJ3QKCSAgcHVzaCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNS0xMC0yMSAxNjoyMTo0NSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWFkIHNhaW8gYXV4X2luZm9fdHlwZSBhcyBhIEZPVVJDQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODk3CgoyMDE2LTAyLTIzIDE4OjI3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIGdzdDogSGFuZGxlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybmluZyBOVUxMIGdyYWNlZnVsbHkKCjIwMTYtMDItMjMgMTg6MTI6NTQgKzAyMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNS0xMi0xNiAxMjo0MDozOSArMDAwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgZ3N0OiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE1LTEyLTE2IDEwOjU0OjE3ICswMDAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBIYW5kbGUgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgcmV0dXJuaW5nIE5VTEwgZ3JhY2VmdWxseQoJICBUaGlzIGNhbiBoYXBwZW4gd2hlbiB0aGUgcGlwZWxpbmUgaXMgY3VycmVudGx5IHNodXR0aW5nIGRvd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTYtMDItMjMgMTU6NTc6MTggKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBEb24ndCBoYW5kbGUgc2VlayB1bnRpbCByZWFkeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTQyCgoyMDE2LTAyLTIzIDE1OjU1OjEzICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogVW5yZWYgc2VlayBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTQyCgoyMDE2LTAyLTIyIDExOjAxOjQwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGNsb3NlIGZpbGUgb24gd3JpdGUgZXJyb3Igd2l0aCBuZXh0LWZpbGUgbW9kZSBpcyBzZXQgdG8gYnVmZmVyCgkgIElmIHdlIGhhdmUgYW4gZXJyb3IgZHVyaW5nIGZ3cml0ZSBjYWxsLCBmaWxlIHN0YXlzIG9wZW4gYW5kIHRodXMgbmV4dAoJICBpbmNvbWluZyBidWZmZXIgd2lsbCB0cmlnZ2VyIGFuIGFzc2VydCB3aGVuIHRyeWluZyB0byBvcGVuaW5nIGEgbmV3CgkgIGZpbGUuCgkgIFRoaXMgaGFwcGVucyBpZiB3ZSBkbyBub3QgcmVzdGFydCBlbGVtZW50LCBmaWxlIGlzIGNsb3NlZCBhdCBzdG9wLCBhbmQKCSAgaWYgYXBwbGljYXRpb24gaGFuZGxlcyB0aGUgcmV0dXJuZWQgR1NUX0ZMT1dfRVJST1IgdG8ga2VlcCBiaW4gYWxpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI0MzQKCjIwMTYtMDItMTkgMjM6NDQ6NDIgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBvdXRwdXQgZW1wdHkgdGFncy90YWcgZWxlbWVudHMKCSAgU3VjaCBmaWxlcyB3aWxsIG5vdCBwbGF5IG9uIEFuZHJvaWQsIGJlY2F1c2Ugb2YgYnVnIGluIGxpYndlYm0gbWF0cm9za2EgcGFyc2luZywgd2hpY2ggaXMgc3RpbGwgcHJlc2VudCBpbiA2LjAuMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMzQ5CgoyMDE2LTAyLTA0IDE1OjU5OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogbWFrZSB1cCBhbiBPcHVzSGVhZCBibG9jayBpZiBwb3NzaWJsZSB3aGVuIG1pc3NpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ4OQoKMjAxNi0wMi0wNCAxMDo0MzoxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogbWFrZSB1cCBhbiBPcHVzSGVhZCBibG9jayBpZiBwb3NzaWJsZSB3aGVuIG1pc3NpbmcKCSAgVGhpcyBibG9jayBpcyBuZWVkZWQgaW4gdGhlIE1hdHJvc2thIGZpbGUsIGJ1dCBkYXRhIGNvbWluZyBmcm9tCgkgIFJUUCBtYXkgbm90IGhhdmUgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDg5CgoyMDE2LTAyLTIyIDEzOjUzOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFrZSBzdHJlYW0taWQgbW9yZSByZWFkYWJsZSBhbmQgb3JkZXItZnJpZW5kbHkKCSAgLi4uIGFzIHN0cmVhbXMgYXJlIHNvIG9yZGVyZWQgYnkgaWQgYnkgZS5nLiBkZWNvZGViaW4KCSAgKGFuZCBhcyB0eXBpY2FsbHkgYWxyZWFkeSBob25vdXJlZCBieSBvdGhlciBkZW11eGVycykuCgoyMDE2LTAyLTIyIDEzOjI1OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBjb25mdXNpbmcgZHVwbGljYXRlIHRyYWNrIHVpZCBmaWVsZAoKMjAxNi0wMi0yMiAxNDowMzowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5LmM6CgkgIHJ0cHZwOXBheTogYWRkIG1pc3NpbmcgYnJlYWsKCSAgVlA5X1BBWV9QSUNUVVJFX0lEXzdCSVRTIGFuZCBWUDlfUEFZX1BJQ1RVUkVfSURfMTVCSVRTIGFyZSBtdXR1YWxseQoJICBleGNsdXNpdmUgb3B0aW9ucyBvZiB0aGUgcGljdHVyZS1pZC1tb2RlLiBXZSBjYW4gYnJlYWsgYWZ0ZXIgdGhlCgkgIGZpcnN0IGNhc2UuCgkgIDEgb3IgMiBieXRlcyBuZWVkIHRvIGJlIGFkZGVkIHRvIHRoZSBoZWFkZXIgbGVuZ3RoIGRlcGVuZGluZyBvbiB0aGUKCSAgUGljdHVyZUlEIHNpemUuCgkgIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC11YmVydGktcGF5bG9hZC12cDktMDAjc2VjdGlvbi00LjIKCSAgQ0lEIDEzNTM0NzkKCjIwMTYtMDItMjIgMDk6MDk6MDEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIGJ1ZmZlciBiZWluZyBtYXBwZWQgaXMgbm90IGJlaW5nIHVubWFwcGVkIGluIHNvbWUgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQyMAoKMjAxNS0xMS0wNCAxMDoxOTowMyArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogRG9uJ3Qgd2FybiBmb3IgZHVwbGljYXRlL3Jlb3JkZXJlZCBwYWNrZXRzCgkgIFRoaXMgaXMgYSBub3JtYWwgc2NlbmFyaW8gYW5kIHNob3VsZCBub3QgYmUgYSB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA4CgoyMDE2LTAyLTIxIDA5OjQ3OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FscGhhL2FscGhhLnZjcHJvajoKCSogZ3N0L2F1cGFyc2UvYXVwYXJzZS52Y3Byb2o6CgkqIGdzdC9hdmkvYXZpLnZjcHJvajoKCSogZ3N0L2N1dHRlci9jdXR0ZXIudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Zy52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL25hdmlnYXRpb250ZXN0LnZjcHJvajoKCSogZ3N0L2VmZmVjdHYvZWZmZWN0di52Y3Byb2o6CgkqIGdzdC9mbHgvZmx4ZGVjLnZjcHJvajoKCSogZ3N0L2dvb20vZ29vbS52Y3Byb2o6CgkqIGdzdC9nb29tMmsxL2dvb20udmNwcm9qOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLnZjcHJvajoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L2xhdy9hbGF3LnZjcHJvajoKCSogZ3N0L2xhdy9tdWxhdy52Y3Byb2o6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS52Y3Byb2o6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LnZjcHJvajoKCSogZ3N0L3J0cC9ydHAudmNwcm9qOgoJKiBnc3Qvc21wdGUvc21wdGUudmNwcm9qOgoJKiBnc3Qvc3BlY3RydW0vc3BlY3RydW0udmNwcm9qOgoJKiBnc3QvdWRwL3VkcC52Y3Byb2o6CgkqIGdzdC92aWRlb2JveC92aWRlb2JveC52Y3Byb2o6CgkqIGdzdC92aWRlb2Nyb3AvdmlkZW9jcm9wLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dhbW1hLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL3ZpZGVvYmFsYW5jZS52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci92aWRlb2ZpbHRlci52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci92aWRlb2ZsaXAudmNwcm9qOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLnZjcHJvajoKCSogZ3N0L3dhdmVuYy93YXZlbmMudmNwcm9qOgoJKiBnc3Qvd2F2cGFyc2Uvd2F2cGFyc2UudmNwcm9qOgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIHdpbjMyOiByZW1vdmUgb3V0ZGF0ZWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGZvciBnZW5lcmF0aW9ucywgZG9lc24ndCB3b3JrLAoJICBhbmQgaXMganVzdCBjYXVzaW5nIGNvbmZ1c2lvbi4gV2UgYWxzbyBkb24ndCB3YW50IHRvCgkgIG1haW50YWluIHRoZXNlIGZpbGVzIG1hbnVhbGx5LgoKMjAxNi0wMi0yMCAxMTo1MTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGRvbid0IHVzZSB1bmRlY2xhcmVkIGNvcmUgZGVidWcgY2F0ZWdvcnkgc3ltYm9scwoKMjAxNi0wMi0wNiAxNDozOTowNSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB3b3JrYXJvdW5kIGZvciBmaWxlcyB3aXRoIHdyb25nIGNvbG9yX3RhYmxlX2lkIHZhbHVlCgkgIEluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LCBqdXN0IHVzZSB0aGUgZGVmYXVsdCBjb2xvciB0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYzNwoKMjAxNi0wMi0xOSAxNTowMjowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSAgZmx2bXV4LCBydHB2cDlkZXBheTogZml4IGluZGVudGF0aW9uCgoyMDE2LTAyLTE5IDE1OjAzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnNyYzogZml4IGluZGVudGF0aW9uCgoyMDE1LTEyLTA0IDAwOjQ2OjM0ICsxMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHBsdWcgbGVhayhzKSBpbiBlcnJvci1zY2VuYXJpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjEwCgoyMDE1LTEyLTA0IDAwOjQ2OjEyICsxMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZW9zIGV2ZW50IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwOQoKMjAxNi0wMi0xOSAxNDo0MTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGluZGVudGF0aW9uCgoyMDE2LTAyLTE4IDE2OjA5OjI5ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogcG9ydCB0ZXN0aGFybmVzcyB0byBHc3RIYXJuZXNzIGFuZCBjbGVhbnVwL2ltcHJvdmUKCSAgUHJvYmFibHkgZm91bmQgYSBidWcgYXMgd2VsbCwgaW4gdGhhdCB0aGVyZSBhcmUgc29tZSB0aW1lc3RhbXBzIGluCgkgIHRoZXJlIHRoYXQgYXJlIGxvb2tpbmcgdmVyeSB3cm9uZy4gKG1hcmtlZCB3aXRoIEZJWE1FKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjY3CgoyMDE2LTAyLTE4IDEwOjI3OjE5ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogdGVzdCBjbGVhbnVwcy9pbXByb3ZlbWVudHMKCSAgVXNlIGZhaWxfdW5sZXNzIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgZ19hc3NlcnQKCSAgRmFjdG9yIHNlcS1udW0gY2hlY2tpbmcgb3V0IHRvIHNlcGFyYXRlIGZ1bmN0aW9uCgkgIENoZWNrIG1vcmUgcmV0dXJuLXZhbHVlcyBmcm9tIHB1c2ggYW5kIGNyYW5rIGFuZCBvdGhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjI1NAoKMjAxNS0xMi0wMyAxMTowNzowNSArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxlYWtzIGluIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE0CgoyMDE2LTAyLTE5IDEyOjM4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMiA9PT0KCjIwMTYtMDItMTkgMTE6NDk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjIKCjIwMTYtMDItMTkgMTA6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAyLTE4IDE4OjMzOjEzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBsdWcgbGVha3MgaW4gY2VuYyBhdXggaW5mbyBwYXJzaW5nCgoyMDE2LTAyLTE4IDEzOjQzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggc3B1cmlvdXMgc291cGh0dHBzcmMgdGVzdCB0aW1vdXRzCgkgIFNldCBHU0VUVElOR1NfQkFDS0VORD1tZW1vcnksIGFwcGFyZW50bHkgdGhlcmUncyBzb21ldGhpbmcKCSAgYWJvdXQgZm9yaygpIGFuZCB0aGUgZGNvbmYgYmFja2VuZCAob3Igd2hhdGV2ZXIgZWxzZSB0aGF0CgkgIGRyYWdzIGluIG9yIGFjdGl2YXRlcykgdGhhdCBtZXNzZXMgdXAgbG9ja2luZyBhbmQgY2F1c2VzCgkgIHRpbWVvdXRzIGR1ZSB0byBkZWFkbG9ja3MgaW4gZ19tdXRleF9sb2NrKCksIHNpbmNlCgkgIGV2ZXJ5dGhpbmcgd29ya3MgZmluZSB3aXRoIENLX0ZPUks9bm8gYXMgd2VsbC4KCjIwMTYtMDItMTggMTE6MTA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5tYXAgd2F2cGFjayBoZWFkZXIgYnVmZmVyIGFmdGVyIGNyZWF0aW5nIGl0CgkgIE90aGVyd2lzZSBpdCB3aWxsIGJlIG1hcHBlZCB3cml0YWJsZSBhbGwgdGhlIHRpbWUgYW5kIHdlIGNhbid0IHJlYWQgZnJvbSBpdAoJICBhbnl3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIzOQoKMjAxNS0xMi0wOCAxODo0OTo0MCArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgdGVzdCBmb3IgYmlnIHNlcW51bSBnYXAgaGFuZGxpbmcKCSAgTWFrZSBzdXJlIHRoYXQgdGhlIHBhY2tldHMgcXVldWVkIHdoZW4gZGV0ZWN0aW5nIGEgYmlnIGdhcCBhcmUgcHVzaGVkCgkgIGFmdGVyIHJlc2V0ICg1IGNvbnNlY3RpdmUgc2VxbnVtcykgYW5kIG5vdCBkcm9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjExCgoyMDE2LTAyLTE3IDE1OjAzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5oOgoJICBydHA6IHNwcmlua2xlIHNvbWUgR19HTlVDX0lOVEVSTkFMIGZvciBpbnRlcm5hbCB1dGlscyBmdW5jdGlvbnMKCjIwMTYtMDItMDkgMTM6MTc6MDAgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHRyYW5zZm9ybSBwcm90ZWN0ZWQgY2FwcyBvbmNlCgkgIENvbW1pdCA3ODczYmVkZTMxMzRiMTVlNTA2NmU4ZDE0ZTU0ZDFmNTA1NGQyMDYzCgkgIChodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzc0KSBjaGFuZ2VkIHRoZQoJICBiZWhhdmlvdXIgb2YgcXRkZW11eCB0byBjYWxsIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKSBmb3IKCSAgZXZlcnkgbmV3IG1vb2YuCgkgIFdoZW4gcGxheWluZyBhIHByb3RlY3RlZCBzdHJlYW0sIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKQoJICBjYWxscyBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKS4gVGhlCgkgIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGZ1bmN0aW9uIHRha2VzIHRoZSBvcmlnaW5hbAoJICBtZWRpYSBmb3JtYXQsIHB1dHMgdGhpcyBpbiBhIGZpZWxkIGNhbGxlZCAib3JpZ2luYWwtbWVkaWEtdHlwZSIKCSAgYW5kIHRoZW4gY2hhbmdlcyB0aGUgY2FwcyB0byAiYXBwbGljYXRpb24veC1jZW5jIi4KCSAgVGhlIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGRpZCBub3QgaGFuZGxlIHRoZSBjYXNlCgkgIG9mIGJlaW5nIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgY2F1c2luZyBpdCB0byBpbmNvcnJlY3RseSBzZXQgdGhlCgkgIGNhcHMuIFRoZSBzZWNvbmQgY2FsbCB3YXMgY2F1c2luZyB0aGUgY2FwcyB0byBiZSBzZXQgdG86CgkgIGFwcGxpY2F0aW9uL3gtY2VuYywgb3JpZ2luYWwtbWVkaWEtdHlwZSJhcHBsaWNhdGlvbi94LWNlbmMiCgkgIFRoaXMgY29tbWl0IG1ha2VzIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGNoZWNrIHRoYXQKCSAgdGhlIGNhcHMgaGF2ZSBhbHJlYWR5IGJlZW4gdHJhbnNmb3JtZWQsIHNvIHRoYXQgaXQgb25seSBnZXRzCgkgIGNoYW5nZWQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2OQoKMjAxNS0xMS0wMyAxNDo1MDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIG11bHRpY2hhbm5lbCBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTA2LTMwIDEzOjUxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IENvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0IHRhZ3Mgb3IKCSAgd2l0aCBvbmx5IHRoZSBhdWRpbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDUtMDQgMTE6MjM6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJICBvcHVzZGVwYXk6IFNldCBtdWx0aXN0cmVhbT1GQUxTRSBvbiB0aGUgT3B1cyBjYXBzCgkgIFRoZSBSVFAgT3B1cyBtYXBwaW5nIG9ubHkgYWxsb3dzIG1vbm8vc3RlcmVvLCBhbmQgbm90IG11bHRpc3RyZWFtIE9wdXMKCSAgc3RyZWFtcy4KCjIwMTUtMDMtMjQgMTM6NTc6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogRm9yd2FyZCBzdGVyZW8gcHJlZmVyZW5jZXMgZnJvbSBjYXBzIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjQgMTM6NTY6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogU2V0IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgdG8gMiBhcyBwZXIgUkZDIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjMgMTI6MjQ6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogSGFuZGxlIHNwcm9wLXN0ZXJlbyBhbmQgc3Byb3AtbWF4Y2FwdHVyZXJhdGUgUlRQIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDItMTkgMTQ6MzA6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IGRlZmF1bHQgZW5jb2RpbmcgbmFtZSB0byBPUFVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDU6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMDUgMTA6Mjc6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG5lZ290aWF0ZSB0aGUgZW5jb2RpbmcgbmFtZQoJICBDaHJvbWUgdXNlcyBhIGRpZmZlcmVudCBlbmNvZGluZyBuYW1lIHRoYXQgZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE0LTExLTAxIDEwOjEwOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzOiBVc2UgT1BVUyBlbmNvZGluZyBuYW1lCgkgIEJvdGggRmlyZWZveCBhbmQgQ2hyb21lIHVzZXMgT1BVUyBhcyB0aGUgZW5jb2RpbmcgaW4gdGhlaXIgU0RQLgoJICBBZGRpbmcgdGhpcyBub3cgZGVmYWN0byBzdGFuZGFyZCBuYW1lIHJlbW92ZSB0aGUgbmVlZCBmb3Igc3BlY2lhbAoJICBjYXNlIGluIFNEUCBwYXJzaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTMtMDEtMzEgMTI6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogZml4IHRpbWVzdGFtcHMKCSAgQ29weSB0aW1lc3RhbXBzIHRvIHBheWxvYWRlZCBidWZmZXIuCgkgIEF2b2lkIGlucHV0IGJ1ZmZlciBtZW1vcnkgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkyOQoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTAtMjIgMTI6MDg6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogcmVtb3ZlIHBvaW50bGVzcyBjYXBzIHNlcmlhbGl6YXRpb24KCSAgUmVtb3ZlIHRoZSBjYXBzIHNlcmlhbGl6YXRpb24gaW4gdGhlIHJ0cCBjYXBzLiB0aGUgc3BlYyBub3IgdGhlIHJlY2VpdmVyCgkgIGRvZXMgYW55dGhpbmcgd2l0aCBpdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU0NwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMjAgMTg6NDE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogQWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIgY29ycmVjdGx5CgkgIFVzZSB0aGUgcmlnaHQgZnVuY3Rpb25zIHRvIGFsbG9jYXRlIHRoZSBydHAgYnVmZmVyCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wMy0wNyAxNzoxNDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogcG9ydCB0byB1cGRhdGVkIDAuMTEKCjIwMTEtMTItMzAgMTE6NDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEtcHJlbWVyZ2UKCSAgQ29uZmxpY3RzOgoJICBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCSAgZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbQoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QvYXNmbXV4L2dzdGFzZm11eC5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYwoJICBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmMKCSAgZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jCgkgIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgkgIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTItMDkgMTc6MjU6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNlbmM6IGFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IgbXVsdGlzdHJlYW0gYWJpbGl0eQoJICBUaGlzIHdpbGwgaGVscCBlbGVtZW50cyB0aGF0IGNhbm5vdCBkZWFsIHdpdGggbXVsdGlzdHJlYW0sCgkgIHN1Y2ggYXMgdGhlIFJUUCBwYXlsb2FkZXIuCgkgIFRoZSBjYXBzIG5vdyBkbyBub3QgaW5jbHVkZSBhICJzdHJlYW1zIiBmaWVsZCBhbnltb3JlLCBidXQKCSAgYSAibXVsdGlzdHJlYW0iIGJvb2xlYW4sIHNpbmNlIHdlIGhhdmUgbm8gcmVhbCB1c2UgZm9yIGtub3dpbmcKCSAgdGhlIGV4YWN0IGFtb3VudCBvZiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDE1OjEzOjExIC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIEFkZGluZyBvcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZWxlbWVudAoJICBBZGRpbmcgT1BVUyBSVFAgbW9kdWxlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGRyYWZ0OgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaWQvZHJhZnQtc3BpdHRrYS1wYXlsb2FkLXJ0cC1vcHVzLTAwLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0ODE3CgoyMDE2LTAyLTE3IDEzOjI2OjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkgIHJ0cDogaDI2NC9oMjY1OiBhdm9pZCBkdXBsaWNhdGlvbiBvZiByZWFkX2dvbG9tYigpCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gaGF2ZSB0d28gaWRlbnRpY2FsIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgcmVhZF9nb2xvbWIKCSAgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMTcgMTQ6Mzc6NDQgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIFRSSUNLTU9ERV9LRVlfVU5JVFMKCSAgV2hlbiB0aGUgdHJpY2ttb2RlIGtleS11bml0cyBmbGFnIGlzIHNldCBvbiB0aGUgc2VnbWVudCwgc2ltcGx5IHNraXAKCSAgYW55IHNhbXBsZSBvbiBhIHZpZGVvIHN0cmVhbSB0aGF0IGlzbid0IGEga2V5ZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE4NQoKMjAxNS0wOC0yMSAxNDoxNToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogc2VuZCBHQVAgZXZlbnRzIGZvciBsYWdnaW5nIGF1ZGlvIGFuZCB2aWRlbyBzdHJlYW1zIHRvbwoJICBTZW5kIEdBUCBldmVudHMgZm9yIG5vbi1zdWJ0aXRsZSBzdHJlYW1zIHRvbyBpZiB0aGV5IGxhZyB0b28gbXVjaAoJICBiZWhpbmQsIGJ1dCB1c2UgYSBoaWdoZXIgdGhyZXNob2xkIHRoYW4gZm9yIHN1YnRpdGxlcy4KCSAgVGhpcyBoZWxwcyB3aXRoIGZpeGluZyBwcmVyb2xsaW5nIHdpdGggYSBmaWxlIHdoZXJlIG9uZSBvZiB0aGUKCSAgYXVkaW8gc3RyZWFtcyBvbmx5IGhhcyBkYXRhIHN0YXJ0aW5nIGZyb20gMTlzIG9ud2FyZHMuIEl0J3Mgbm90CgkgIGEgY29tcGxldGUgZml4IHlldCwgaXQgYWxzbyByZXF1aXJlcyBjaGFuZ2VzIGVsc2V3aGVyZSwgc3VjaCBhcwoJICBpbiBiYXNlcGFyc2UsIHRvIG1ha2Ugc3VyZSBjYXBzIGFyZSBwcm9wYWdhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NDYwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4OTkKCjIwMTUtMTItMjMgMTk6NTQ6MTMgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5Lmg6CgkgIHJ0cHZwOXBheTogcnRwdnA5ZGVwYXk6IEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgZHJhZnQgMDEKCSAgUXVpY2sgYW5kIGRpcnR5IGltcGxlbWVudGF0aW9uIG9mIGFuIFJUUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyCgkgIGZvciBWUDkuIEluIHBhcnRpY2FsdXIgaXQgYXNzdW1lcyBubyBzcGF0aWFsIG9yIHRlbXBvcmFsIGxheWVyaW5nLAoJICBub24tZmxleGlibGUgbW9kZSwgYW5kIHNvbWUgb3RoZXIgYml0cyBhbmQgcGllY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzczCgoyMDE2LTAyLTE2IDA5OjAyOjMwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHN0cmluZyBtZW1vcnkgbGVhawoJICBjb2RlY19uYW1lIGlzIG5vdCBiZWluZyBmcmVlZCBpbiBhbGwgY29uZGl0aW9ucyBsZWFkaW5nIHRvIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxMTcKCjIwMTUtMTItMTAgMTI6MTU6NTIgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCAiZ2V0LXNlc3Npb24iIHNpZ25hbAoJICBUaGlzIGdldHMgdGhlIEdzdFJUUFNlc3Npb24gZWxlbWVudCwgYXMgY29tcGFyZWQgdG8gdGhlIFJUUFNlc3Npb24gb2JqZWN0CgkgIHRoYXQgaXMgcmV0dXJuZWQgYnkgZ2V0LWludGVybmFsLXNlc3Npb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkyOTMKCjIwMTYtMDItMTYgMDA6MTk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBydHA6IGgyNjU6IGhvb2sgdXAgbW92ZSBSVFAgSC4yNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIHRvIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMTYgMDA6MTQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiBoMjY1OiB1c2UgY29tbW9uIG1ldGEgdXRpbGl0eSBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0wNSAxODoxODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjV0eXBlcy5oOgoJICBydHA6IGgyNjU6IHJlbW92ZSBjb2RlY3BhcnNlciBkZXBlbmRlbmN5IGZyb20gaDI2NSBwYXlsb2FkZXIvZGVwYXlsb2FkZXIKCSAgTG9va3MgbGlrZSBpdCBqdXN0IHVzZXMgdGhlIE5BTCBlbnVtcyBhbmQgbm90aGluZyBlbHNlIGZyb20KCSAgdGhlIGNvZGVjcGFyc2VycywgYW5kIHRoYXQncyB0aGUgb25seSByZWFzb24gaXQgaGFkIHRvIGJlCgkgIG1vdmVkIGZyb20gLWdvb2QgdG8gLWJhZCB3aGVuIGl0IHdhcyBvcmlnaW5hbGx5IGFkZGVkLiBXZQoJICBjYW4gcHJvYmFibHkga2VlcCB0aG9zZSBOQUwgZW51bXMgdXAgdG8gZGF0ZSBlbm91Z2gsIHNvIGxldCdzCgkgIHJlbW92ZSB0aGUgY29kZWNwYXJzZXIgZGVwZW5kZW5jeSBzbyBpdCBjYW4gYmUgbW92ZWQgYmFjayBpbnRvCgkgIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE2IDAwOjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdwbHVnaW4tbW92ZS1ydHAtaDI2NScKCSAgTW92ZSBSVFAgSC4yNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGZyb20gLWJhZCB0byAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0wNSAxNTozNDo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIGdzdHJ0cGgyNjVkZXBheToga2VlcCBjb25zaXN0ZW5jeSB3aXRoIHJ0cGgyNjRkZXBheQoJICBVc2UgZ3N0X3J0cF9kcm9wX21ldGEoKSBhbmQgdGhlIHNhbWUgZnVuY3Rpb24gcHJvdG90eXBlIGZvcgoJICBnc3RfcnRwX2NvcHlfbWV0YSgpIHRvIGtlZXAgY29uc2lzdGVuY3kgd2l0aCB0aGUgUlRQIGVsZW1lbnRzIGluCgkgIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTYtMDItMDUgMTM6NTY6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB0ZXJtaW5hdGlvbiBvZiBhY2Nlc3MgdW5pdAoJICBPbmx5IGNvbnNpZGVyIHRoZSBhY2Nlc3MgdW5pdCBjb21wbGV0ZSB3aGVuIHRoZSBuZXh0LW9jY3VycmluZyBWQ0wgTkFMIHVuaXQKCSAgaGFzIHRoZSBmaXJzdCBiaXQgYWZ0ZXIgaXRzIE5BTCB1bml0IGhlYWRlciBlcXVhbCB0byAxLgoKMjAxNi0wMS0xNSAxNjoxMDowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHVubmVlZGVkIHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4gdGhyb3cgaXQKCSAgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlciBkaXJlY3RseS4KCjIwMTYtMDEtMTUgMTU6NTY6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogYWRkICJzZW5kIFZQUy9TUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgVlBTL1NQUy9QUFMgaW5mb3JtYXRpb24KCSAgc2VudCBpbiBSVFAgcGFja2V0cy4gVGhlcmUgYXJlIHNvbWUgc2NlbmFyaW9zIHdoZW4ga2V5IGZyYW1lcyBtYXkgYXBwZWFyCgkgIG1vcmUgZnJlcXVlbnRseSB0aGFuIG9uY2UgYSBzZWNvbmQsIGluIHdoaWNoIGNhc2UgdGhlIG1pbmltdW0gdGltZW91dAoJICBmb3IgImNvbmZpZy1pbnRlcnZhbCIgb2YgMSBzZWNvbmQgZm9yIHNlbmRpbmcgVlBTL1NQUy9QUFMgaXNuJ3QgZW5vdWdoLgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgVlBTL1NQUy9QUFMgaXMKCSAgYXZhaWxhYmxlIHdpdGggZXZlcnkga2V5ZnJhbWUgKHBhY2tldCBsb3NzIGFzaWRlKSwgc28gcmVjZWl2ZXJzIGNhbgoJICBhY3R1YWxseSBwaWNrIHVwIGRlY29kaW5nIGltbWVkaWF0ZWx5IGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGlmCgkgIFZQUy9TUFMvUFBTIGlzIG5vdCBzaWduYWxlZCBvdXQgb2YgYmFuZC4KCSAgVGhpcyBjb21taXQgYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZS4KCSAgVGhpcyBtb2RlIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdG8gLTEuIEluCgkgIHRoaXMgY2FzZSB0aGUgcGF5bG9hZGVyIHdpbGwgYWRkIFZQUywgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKQoJICBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNi0wMS0xNSAxNToxOTo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwaDI2NXBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTUtMDgtMTUgMTY6MjI6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzIHN1cmUKCSAgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE1LTA4LTE1IDE0OjQ1OjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IENvcHkgbWV0YWRhdGEgaW4gdGhlIHBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xNSAxMTo0MTo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBVc2UgR1NUX1dBUk5JTkdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfV0FSTklORygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTUgMTE6MzA6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZml4IHBvdGVudGlhbCBjcmFzaCB3aGVuIHNodXR0aW5nIGRvd24KCSAgQSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIG1heSBjYXVzZSBidWZmZXJzIHRvIGJlCgkgIHVucmVmZmVkIHdoaWxlIHRoZXkgYXJlIHN0aWxsIHVzZWQgYnkgdGhlIHN0cmVhbWluZyB0aHJlYWQgaW4KCSAgZ3N0X3J0cF9oMjY1X3BheV9zZW5kX3Zwc19zcHNfcHBzKCkgcmVzdWx0aW5nIGluIGEgY3Jhc2guIENoYWluIHVwIHRvIHRoZQoJICBwYXJlbnQgY2xhc3MgZmlyc3QgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0byBtYWtlIHN1cmUgc3RyZWFtaW5nCgkgIGhhcyBzdG9wcGVkIGFuZCBvbmx5IHRoZW4gZnJlZSB0aG9zZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzgxCgoyMDE1LTA4LTE0IDE1OjA4OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBidWZmZXIgbGVhayB3aGVuIHVzaW5nIFNQUy9QUFMKCSAgRml4ZXMgYSBidWZmZXIgbGVhayB0aGF0IHdvdWxkIG9jY3VyIGlmIHRoZSBwaXBlbGluZSB3YXMgc2h1dGRvd24gd2hpbGUgYQoJICBTUFMvUFBTIGhlYWRlciB3YXMgYmVpbmcgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3MQoKMjAxNS0wOC0xNCAxMTo0OTo1MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIHJ0cGgyNjVkZXBheTogY29weSBtZXRhZGF0YSBpbiB0aGUgZGVwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTIgMTc6NTQ6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGNoZWNraW5nIGlmIGRlcGF5IGhhcyBzcHMvcHBzIG5hbHMgYmVmb3JlIGluc2VydGlvbgoJICBSZWxhdGVkIHRvOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDMwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTc6MjI6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG9ubHkgdXBkYXRlIHRoZSBzcmNwYWQgY2FwcyBpZiBzb21ldGhpbmcgZWxzZSB0aGFuIHRoZSBjb2RlY19kYXRhIGNoYW5nZWQKCSAgaDI2NHBhcnNlIGFuZCBnc3RydHBoMjY0ZGVwYXkgZG8gdGhlIHNhbWUsIGxldCdzIGtlZXAgdGhlIGJlaGF2aW91cgoJICBjb25zaXN0ZW50LiBBcyB3ZSBub3cgaW5jbHVkZSB0aGUgY29kZWNfZGF0YSBpbnNpZGUgdGhlIHN0cmVhbSwgdGhpcyBjYXVzZXMKCSAgbGVzcyBjYXBzIHJlbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTY6NDM6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IFBQUyByZXBsYWNlcyBvbGQgUFBTIGlmIGl0IGhhcyB0aGUgc2FtZSBpZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjExOjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBJbnNlcnQgU1BTL1BQUyBOQUxzIGludG8gdGhlIHN0cmVhbQoJICBydHBoMjY0ZGVwYXkgZG9lcyB0aGUgc2FtZSBhbmQgdGhpcyBmaXhlcyBkZWNvZGluZyBvZiBzb21lIHN0cmVhbXMgd2l0aCAzMgoJICBTUFMgKG9yIDI1NiBQUFMpLiBJdCBpcyBhbGxvd2VkIHRvIGhhdmUgU1BTIElEIDAgdG8gMzEgKG9yIFBQUyBJRCAwIHRvIDI1NSksCgkgIGJ1dCB0aGUgZmllbGQgaW4gdGhlIGNvZGVjX2RhdGEgZm9yIHRoZSBudW1iZXIgb2YgU1BTIG9yIFBQUyBpcyBvbmx5IDUKCSAgKG9yIDgpIGJpdC4gQXMgc3VjaCwgMzIgU1BTIChvciAyNTYgUFBTKSBhcmUgaW50ZXJwcmV0ZWQgYXMgMCBldmVyeXdoZXJlLgoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIGluIHRoZSBwYXJ0IG9mIHRoZSBzcGVjdCBhYm91dCB0aGUgY29kZWNfZGF0YS4KCjIwMTUtMDgtMTIgMTU6NDk6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QgbmVlZCB0byBtYXAgdGhlCgkgIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlIHRoZSBtYXBwaW5nIHRoZSBiYXNlIGNsYXNzIGhhcwoJICBhbHJlYWR5IGRvbmUuCgkgIEJhc2VkIG9uOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTU6MTQ6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IFVzZSBHU1RfQlVGRkVSX1BUUygpIGluc3RlYWQgb2YgR1NUX0JVRkZFUl9USU1FU1RBTVAoKQoJICBTd2l0Y2hpbmcgdG8gR1NUX0JVRkZFUl9USU1FU1RBTVAoKSB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgcnRwIGNvZGUuCgoyMDE1LTA4LTEyIDE0OjU5OjUzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBwcmV2ZW50IHRyeWluZyB0byBnZXQgMCBieXRlcyBmcm9tIGFkYXB0ZXIKCSAgVGhpcyBjYXVzZXMgYW4gYXNzZXJ0aW9uIGFuZCB3b3VsZCBsZWFkIHRvIGdldHRpbmcgYSBOVUxMIGluc3RlYWQKCSAgb2YgYSBidWZmZXIuIFdpdGhvdXQgcHJvcGVyIGNoZWNraW5nIHRoaXMgd291bGQgZWFzaWx5IGxlYWQgdG8gYQoJICBzZWdmYXVsdC4KCSAgUmVsYXRlZCB0byBycHRoMjY0ZGVwYXk6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxOTkKCjIwMTUtMDctMjkgMTc6Mjk6MjggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIFZhbHVlIHNldCB0byByZXQgd2lsbCBiZSBvdmVyd3JpdHRlbiBhdCBsZWFzdCBvbmNlIGF0IHRoZSBlbmQgb2YgdGhlIHdoaWxlCgkgIGxvb3AsIHJlbW92aW5nIGFzc2lnbm1lbnQuCgoyMDE1LTA0LTI0IDE2OjQ4OjIzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJlbW92ZSB1bnVzZWQgZW51bSBpdGVtcyBQUk9QX0xBU1QKCSAgVGhpcyB3ZXJlIHByb2JhYmx5IGFkZGVkIHRvIHRoZSBlbnVtcyBkdWUgdG8gY2FyZ28gY3VsdCBwcm9ncmFtbWluZyBhbmQgYXJlCgkgIHVudXNlZC4KCjIwMTUtMDMtMDYgMTQ6NTQ6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGRvbmxfcHJlc2VudCB2YXJpYWJsZSB1bnVzZWQKCSAgZG9ubF9wcmVzZW50IGlzIG5vdCBpbXBsZW1lbnRlZCwgeWV0IHRoZSB2YWx1ZSBpcyBzZXQgYW5kIGNoZWNrZWQgYSBmZXcgdGltZXMuCgkgIENsZWFuaW5nIHRoaXMuCgkgIENJRCAjMTI0OTY4NwoKMjAxNS0wMS0wOCAxNTozNjowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHZhbHVlIHRydW5jYXRlZCB0b28gc2hvcnQgY3JlYXRlcyBkZWFkIGNvZGUKCSAgdHlwZSBpcyB0cnVuY2F0ZWQgdG8gMC0zMSB3aXRoICImIDB4MWYiLCBidXQgcmlnaHQgYWZ0ZXIgdGhhdCBpdCBpcyBjaGVja3MgaWYKCSAgdGhlIHZhbHVlIGlzIGVxdWl2YWxlbnQgdG8gR1NUX0gyNjVfTkFMX1ZQUywgR1NUX0gyNjVfTkFMX1NQUywgYW5kCgkgIEdTVF9IMjY1X05BTF9QUFMgKHdoaWNoIGFyZSAzMiwgMzMsIGFuZCAzNCByZXNwZWN0aXZlbHkpLiBPYnZpb3VzbHksIHRoaXMgd2lsbAoJICBuZXZlciBiZSBUcnVlIGlmIHRoZSB2YWx1ZSBpcyBtYXhpbXVtIDMxIGFmdGVyIHRoZSB0cnVuY2F0aW9uLgoJICBUaGUgaW50ZW50aW9uIG9mIHRoZSBjb2RlIHdhcyB0byB0cnVuY2F0ZSB0byAwLTYzLgoKMjAxNS0wMS0wOCAxNToyNzo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IG5hbCB1bml0IHR5cGUgY2hlY2sKCSAgQWZ0ZXIgZnVydGhlciBpbnZlc3RpZ2F0aW9uIHRoZSBwcmV2aW91cyBjb21taXQgaXMgd3JvbmcuIFRoZSBjb2RlIGludGVuZGVkIHRvCgkgIGNoZWNrIGlmIHRoZSB0eXBlIGlzIDM5IG9yIHRoZSByYW5nZXMgNDEtNDQgYW5kIDQ4LTU1LiBKdXN0IGxpa2UgZ3N0aDI2NXBhcnNlLmMKCSAgZG9lcy4gVHlwZSA0MCB3b3VsZCBub3QgYmUgY29tcGxldGUuCgoyMDE1LTAxLTA4IDEzOjQ3OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggZGVhZCBjb2RlIGFuZCBjaGVjayBmb3IgaW1wb3NzaWJsZSB2YWx1ZXMKCSAgbmFsX3R5cGUgaXMgdGhlIGluZGV4IGZvciBhIEdzdEgyNjVOYWxVbml0VHlwZSBlbnVtLiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGRlYWQKCSAgY29kZSBoZXJlOgoJICBGaXJzdCwgYWZ0ZXIgY2hlY2tpbmcgaWYgbmFsX3R5cGUgaXMgPj0gMzkgdGhlcmUgYXJlIHR3byBPUiBjb25kaXRpb25hbHMgdGhhdAoJICBjaGVjayBpZiB0aGUgdmFsdWUgaXMgaW4gcmFuZ2VzIGhpZ2hlciB0aGFuIHRoYXQgbnVtYmVyLCBzbyBpZiBuYWxfdHlwZSA+PSAzOQoJICBmYWxscyBpbiB0aGUgVHJ1ZSBicmFuY2ggdGhvc2Ugb3RoZXIgY29uZGl0aW9ucyBhcmVuJ3QgY2hlY2tlZCBhbmQgaWYgaXQgZmFsbHMKCSAgaW4gdGhlIEZhbHNlIGJyYW5jaCBhbmQgdGhleSBhcmUgY2hlY2tlZCwgdGhleSB3aWxsIGFsd2F5cyBhbHNvIGJlIEZhbHNlLiBUaGV5CgkgIGFyZSByZWR1bmRhbnQuCgkgIFNlY29uZCwgdGhlIGVudW0gaGFzIGEgcmFuZ2Ugb2YgMCB0byA0MC4gU28gdGhlIGNoZWNrcyBmb3IgcmFuZ2VzIGhpZ2hlciB0aGFuIDQxCgkgIHNob3VsZCBuZXZlciBiZSBUcnVlLgoJICBSZW1vdmluZyB0aGlzIHJlZHVuZGFudCBjaGVja3MuCgkgIENJRCAxMjQ5Njg0CgoyMDE0LTEwLTE2IDEwOjM0OjAxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlcgoKMjAxNi0wMi0xNSAxMTo1MTo0NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogcnRwbXV4OiBGaXggZWxlbWVudCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDU3CgoyMDE2LTAyLTEyIDIwOjU3OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiByZXdvcmsgdGhlIHNjYWxpbmcgY29kZQoJICBUaGUgcnVubmluZyBhdmVyYWdlIHdhcyB3cm9uZyBhbmQgdGhlIHJlc3VsdGluZyBzY2FsaW5nIGZhY3RvciB3YXMgb25seSBoZWxkIGluCgkgIHBsYWNlIHVzaW5nIHRoZSBDTEFNUC4gSW4gYWRkdGlvbiB3ZSBhcmUgbm93IGNvbnZlcmluZyBxdWlja2x5IHRvIHZvbHVtZQoJICBjaGFuZ2VzLgoJICBGSW5hbGx5IG5vdyB3aXRoIHRoaXMgY2hhbmdlLCB3ZSBjYW4gY2hhbmdlIHRoZSByZXNvbHV0aW9uIGRlZmluZXMgYW5kCgkgIGV2ZXJ5dGhpZ24gYWRqdXN0cy4KCjIwMTYtMDEtMjggMTc6MDA6NTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmg6CgkgIG1vbm9zY29wZTogdXNlIGNvbnN0YW50cyBpbiB0aGUgZHJhd2luZyBjb2RlCgkgIE1ha2UgYWxsIHRoZSBkcmF3aW5nIG9wcyBiZSBiYXNlZCBvbiB0aGUgY29uc3RhbnRzLiBUaGlzIHdheSB3ZSBjYW4gY2hhbmdlCgkgIHRoZSBmaXhlZCBzaXplIGF0IGxlYXN0IGF0IGNvbXBpbGUgdGltZS4KCjIwMTYtMDEtMjggMDk6NTE6MTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IHJlcGxhY2UgaGFyZGNvZGVkIHZhbHVlcyBieSBjb25zdGFudHMKCSAgVGhpcyBhdCBsZWFzdCBlc3RhYmxpc2hlcyB0aGUgcmVsYXRpb25zaGlwLgoKMjAxNi0wMS0yOCAwOTo0MzoxMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5oOgoJICBtb25vc2NwZTogbWFrZSB0aGUgY29udm9sdmVyIHVzZSBkeW5hbWljIG1lbW9yeQoJICBSZXBsYWNlIGFsbCAjZGVmaW5lcyB3aXRoIG1lbWJlcnMgYW5kIGluaXRpYWxpemUgdGhlIGNvbnZvbHZlciB3aXRoIGEgcGFyYW1ldGVyLgoKMjAxNi0wMS0yOCAwODo1Njo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvUkVBRE1FOgoJICBtb25vc2NvcGU6IHVwZGF0ZSBSRUFETUUKCSAgV2UgY2FuIGFscmVhZHkgY3JlYXRlIG11bHRpcGxlIGluc3RhbmNlcy4KCjIwMTYtMDEtMjggMDg6NTM6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogY29kZSBjbGVhbnVwCgkgIFVzZSBjb25zdGFudHMgbW9yZSBvZnRlbi4gQ2xlYW51cCBjb21tZW50cyBhbmQgYWRkIG1vcmUgdG8gZXhwbGFpbiBob3cgdGhpbmdzCgkgIHdvcmsuCgoyMDE2LTAyLTA4IDIzOjQxOjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgY2hlY2sgZm9yIGltcG9zc2libGUgY29uZGl0aW9uCgkgIENvbW1pdCBiZDI3YTFmMzBiNDQ1OGYyZWRlZTUzYzc2ZGQwN2ZiMzU5MDRiNjFkIGFkZGVkIGEgZmV3IGVycm9yIGhhbmRsaW5nCgkgIG1lbW9yeSBtYW5hZ2VtZW50IGNoZWNrcy4gVGhlc2UgY2hlY2sgc3JjY2FwcyB0byBzZWUgaWYgaXQgbmVlZHMgdG8gYmUKCSAgdW5yZWZlcmVuY2VkIGJlZm9yZSByZXR1cm5pbmcsIGluIHRoZSBjYXNlIG9mIGludmFsaWRfY2FwcyB0aGlzIGdvdG8ganVtcAoJICBhbHdheXMgaGFwcGVucyBiZWZvcmUgc3JjY2FwcyBpcyBzZXQsIHNvIGl0IHdpbGwgYWx3YXlzIGJlIE5VTEwgaW4gdGhpcwoJICBlcnJvciBsYWJlbC4KCSAgQ0lEICMxMzUyMDM1CgoyMDE2LTAyLTA4IDEyOjQ4OjQ2ICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDUKCjIwMTYtMDItMDggMTU6MzE6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBzcGVsbGluZyBvZiByZWVucXVldWVpbmcKCSAgVG8gbWF0Y2ggY29tbWl0IDdkNzA3NGNlZjAyNzJjZDUxNTUwOThiZmMyYmRhNjg0OWRkODkyNjcuIEkgbG92ZSB0aGUgaWRlYQoJICBvZiBhaW1pbmcgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25zZWN1dGl2ZSB2b3dlbHMuCgoyMDE2LTAyLTA4IDEwOjE3OjQ5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBzcGVsbGluZyBvZiBxdWV1ZWluZwoJICBEaWRuJ3Qga25vdyB3aGljaCBvbmUgdG8gY2hvb3NlIGJldHdlZW4gcXVldWluZyBhbmQgcXVldWVpbmcsIHNvIEkgcGlja2VkCgkgIHRoZSBvbmUgd2l0aCB0aGUgYmlnZ2VzdCBhbW91bnQgb2Ygdm93ZWxzIGluIGEgcm93IDstUCAoYm90aCBhcmUKCSAgYWNjZXB0YWJsZSBhcHBhcmVudGx5KQoKMjAxNi0wMi0wNyAxNTowMjozNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBEb24ndCBwYXNzIHRoZSBzYW1lIGRhdGEgb3ZlciBhbmQgb3ZlcgoJICBXZSBhbHJlYWR5IHBhc3MgdGhlIGVudGlyZSBmcmFtZSB0byB0aGUgZGVjb2Rlci4gSWYgdGhlIGRlY29kZXIgYXNrIGZvcgoJICBtb3JlIGRhdGEsIGRvbid0IHBhc3MgdGhlIHNhbWUgZGF0YSBhZ2FpbiBhcyB0aGlzIGxlYWRzIHRvIGluZmluaXQgbG9vcC4KCSAgSW5zdGVhZCwgc2ltcGx5IGZhaWwgdGhlIGZpbGwgZnVuY3Rpb24gdG8gc2lnbmFsIHRoZSBwcm9ibGVtIHdpdGggdGhhdAoJICBmcmFtZS4gSXQgd2lsbCB0aGVuIGJlIHNraXBwZWQgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2NzAKCjIwMTYtMDItMDggMDA6MTA6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIG1hdHJvc2thOiBnZXQgcmlkIG9mIF9zdGRpbnQuaCBpbmNsdWRlCgoyMDE2LTAyLTA1IDIwOjAwOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGV4dGVuZCB0aGUgQU1fVEVTVFNfRU5WSVJPTk1FTlQgZnJvbSBjaGVjay5tYWsKCSAgVG8gZ2V0IHRoZSBDS19ERUZBVUxUX1RJTUVPVVQgZGVmaW5lZCBmb3IgYWxsIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NzIKCjIwMTYtMDItMDUgMTg6MDQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODZlNDY2MyB0byBiNjRmMDNmCgoyMDE2LTAxLTMwIDE4OjQzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IFNraXAgQVBQIGFuZCBKUEcgbWFya2VycyBhbmQgcHJpbnQgd2FybmluZ3MgZm9yIHVua25vd24gbWFya2VycwoJICBGb3IgQVBQL0pQRyBtYXJrZXJzIHRoZSBzaXplIGlzIGZvbGxvd2luZyBhbmQgd2UgaGF2ZSB0byBza2lwIHRoYXQuIFRoaXMgaXMKCSAgbm90IHJlYWxseSBhIHByb2JsZW0gdW5sZXNzIHRoZSBtYXJrZXIgY29udGFpbnMgZS5nLiBhIHByZXZpZXcgSlBFRyBvcgoJICBzb21ldGhpbmcgZWxzZSB0aGF0IHdlIG1pZ2h0IGludGVycHJldGUgYXMgYW5vdGhlciBtYXJrZXIuCgoyMDE2LTAxLTI2IDIyOjM3OjMwICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uIGZvciBmcmFnbWVudGVkIGZvcm1hdAoJICBxdGRlbXV4IGNhbGN1bGF0ZXMgZnJhbWVyYXRlIHVzaW5nIGR1cmF0aW9uIGFuZCB0aGUgbnVtYmVyIG9mIHNhbXBsZS4KCSAgSW4gY2FzZSBvZiBmcmFnbWVudGVkIG1wNCBmb3JtYXQsIGhvd2V2ZXIsIHRoZSBudW1iZXIgb2Ygc2FtcGxlIGNhbgoJICBiZSBmaWd1cmUgb3V0IGFmdGVyIHBhcnNpbmcgZXZlcnkgbW9vZiBib3guIEJlY2F1c2UgcXRkZW11eCBkb2VzIG5vdAoJICBwYXJzZSBldmVyeSBtb29mIGluIFFUREVNVVhfU1RBVEVfSEVBREVSIHN0YXRlLCBpdCB3aWxsIGNhdXNlIGluY29ycmVjdAoJICBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgkgIFRoaXMgcGF0Y2ggd2lsbCB0cmlnZXIgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSgpIGZvciBldmVyeSBuZXcgbW9vZi4KCSAgVGhlbiwgZnJhbWVyYXRlIHdpbGwgYmUgY2FsY3VsYXRlZCBieSB1c2luZyBkdXJhdGlvbiBhbmQgbl9zYW1wbGVzIG9mIHRoZSBtb29mLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzc0CgoyMDE2LTAxLTI4IDIyOjM2OjIzICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGluZyB6ZXJvIHNlZ21lbnQtZHVyYXRpb24gZWRpdCBsaXN0CgkgIEJhc2VkIG9uIGRvY3VtZW50IElTT19JRUNfMTQ0OTYtMTIsIGVkaXQgbGlzdCBib3ggY2FuIGhhdmUKCSAgc2VnbWVudCBkdXJhdGlvbiBhcyB6ZXJvLiBJdCBkb2VzIG5vdCBpbXBseSB0aGF0IG1lZGlhX3N0YXJ0IGVxdWFscyB0bwoJICBtZWRpYV9zdG9wLiBCdXQsIGl0IGp1c3QgaW5kaWNhdGVzIGEgc2FtcGxlIHdoaWNoIHNob3VsZCBiZSBwcmVzZW50ZWQKCSAgYXQgdGhlIGZpcnN0LiBUaGlzIHBhdGNoIGRlcml2ZXMgc2VnbWVudCBkdXJhdGlvbiB1c2luZyBtZWRpYV90aW1lCgkgIGFuZCBkdXJhdGlvbiBvZiBmaWxlLiBBbmQgc2V0IGRlcml2ZWQgZHVyYXRpb24gdG8gc2VnbWVudC1kdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc4MQoKMjAxNi0wMS0yOCAyMTozNjo1NCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGV4cG9zZSBzdHJlYW1zIHdpdGggZmlyc3QgbW9vZiBmb3IgZnJhZ21lbnRlZCBmb3JtYXQKCSAgSW4gY2FzZSBvZiBwdXNoIG1vZGUsIHF0ZGVtdXggZXhwb3NlIHN0cmVhbXMgYWZ0ZXIgZ290IG1vb3YgYm94LgoJICBXZSBjYW4gbm90IGd1YXJhbnRlZSB0aGF0IGEgbW9vdiBib3ggaGFzIHNhbXBsZSBkYXRhIHN1Y2ggYXMgc2FtcGxlIGR1cmF0aW9uCgkgIGFuZCB0aGUgbnVtYmVyIG9mIHNhbXBsZSBpbiBzdGJsIGJveCBmb3IgZnJhZ21lbnRlZCBmb3JtYXQgY2FzZS4KCSAgU28sIGlmIGEgbW9vdiBoYXMgbm8gc2FtcGxlIGRhdGEsIHN0cmVhbXMgd2lsbCBub3QgYmUgZXhwb3NlZCB1bnRpbCBnZXQgdGhlIGZpcnN0IG1vb2YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3NzkKCjIwMTYtMDEtMjcgMTg6NDg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENoZWNrIGZvciBzdWJzZXQgaW5zdGVhZCBvZiBub24tZW1wdHkgaW50ZXJzZWN0aW9uIGZvciBBQ0NFUFRfQ0FQUwoKMjAxNi0wMS0yNyAxODo0NDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogVW5zZXQgUkVDT05GSUdVUkUgZmxhZyBvbiBzcmNwYWQgd2hlbmV2ZXIgd2UgY29uZmlndXJlIG5ldyBjYXBzCgkgIFByZXZlbnRzIGRvdWJsZS1uZWdvdGlhdGlvbiBkdXJpbmcgc3RhcnR1cCBhbmQgaW4gc29tZSBvdGhlciBjYXNlcy4KCjIwMTYtMDEtMjcgMTY6NDM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkIG5lZ290aWF0aW9uIHVuaXQgdGVzdHMgZm9yIGFsbCA0IG1vZGVzCgkgIFRoZXNlIG5vdyBjaGVjayB0aGUgb3V0cHV0IGNhcHMgYmFzZWQgb24gdGhlIGlucHV0IGNhcHMgYW5kIGEgZm9sbG93aW5nCgkgIGNhcHNmaWx0ZXIgYW5kIG1ha2Ugc3VyZSB0aGUgY2FwcyBhcmUgZXhhY3RseSBhcyBleHBlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk5NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgoyMDE2LTAxLTI2IDE3OjM5OjIwICswMTAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG8gcGFzc3Rocm91Z2ggaW4gYXV0byBtb2RlIGlmIGRvd25zdHJlYW0gb25seSBzdXBwb3J0cyBpbnRlcmxhY2VkCgkgIElmIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgoJICAxKSB1cHN0cmVhbSBhbmQgZG93bnN0cmVhbSBjYXBzIGFyZSBjb21wYXRpYmxlCgkgIDIpIHVwc3RyZWFtIGlzIGludGVybGFjZWQKCSAgMykgZG93bnN0cmVhbSBkb2Vzbid0IHN1cHBvcnQgcHJvZ3Jlc3NpdmUgbW9kZQoJICB0aGVuIGRlaW50ZXJsYWNlIHdpbGwganVzdCBkbyBwYXNzdGhyb3VnaCBpbnN0ZWFkIG9mIGZhaWxpbmcgdG8gbGluay4KCSAgVGhpcyBpcyBkb25lIHdpdGggdGhlIGZvbGxvd2luZyBzY2VuYXJpbyBpbiBtaW5kOgoJICB2aWRlb3Rlc3RzcmMgISAidmlkZW8veC1yYXcsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEgZGVpbnRlcmxhY2UKCSAgbmFtZT1kZWluX3NyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9maWxlICEgZmlsZXNpbmsgdC4gIQoJICBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9kZXNrdG9wICEgYXV0b3ZpZGVvc2luawoJICBJbiB0aGlzIGNhc2UsIGRlaW5fc3JjIHdpbGwgZG8gdGhlIGRlaW50ZXJsYWNpbmcuIEhvd2V2ZXIsCgkgIHZpZGVvdGVzdHNyYyAhICJ2aWRlby94LXJhdyxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgISBkZWludGVybGFjZQoJICBuYW1lPWRlaW5fc3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZGVpbnRlcmxhY2UgbmFtZT1kZWluX2ZpbGUgISBmaWxlc2luayB0LiAhCgkgIHF1ZXVlICEgZGVpbnRlcmxhY2UgbmFtZT1kZWluX2Rlc2t0b3AgISBhdXRvdmlkZW9zaW5rIHQuICEgcXVldWUgIQoJICAidmlkZW8veC1yYXcsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEgZmFrZXNpbmsKCSAgSW4gdGhpcyBjYXNlLCBjYXBzIGF1dG8tbmVnb3RpYXRpb24gd2lsbCBtYWtlIGRlaW5fZmlsZSBhbmQgZGVpbl9kZXNrdG9wIGRvCgkgIHRoZSBkZWludGVybGFjaW5nLCB3aGlsZSBkZWluX3NyYyB3aWxsIGJlIHBhc3N0aHJvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTk1CgoyMDE2LTAxLTI2IDE4OjA1OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQWRkIG1vZGU9YXV0by1zdHJpY3QKCSAgSW4gdGhpcyBtb2RlIHdlIHdpbGwgcGFzc3Rocm91Z2ggYWxsIHByb2dyZXNzaXZlIGNhcHMgYnV0IGludGVybGFjZWQgY2FwcyBtdXN0IGJlCgkgIGNhcHMgd2hlcmUgd2UgYWN0dWFsbHkgc3VwcG9ydCBkZWludGVybGFjaW5nLgoJICBUaGlzIGlzIHRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBhdXRvIGFuZCBhdXRvLXN0cmljdCwgYXV0byB3b3VsZAoJICBwYXNzdGhyb3VnaCBhbGwgdW5zdXBwb3J0ZWQgaW50ZXJsYWNlZCBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgoyMDE2LTAxLTI2IDE3OjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgcmVjb25maWd1cmF0aW9uIGEgYml0IGJldHRlcgoJICBBbmQgZS5nLiBjb25zaWRlciByZWNvbmZpZ3VyYXRpb24gY2F1c2VkIGJ5IFJFQ09ORklHVVJFIGV2ZW50cyB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCjIwMTYtMDEtMjYgMTE6NTc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJld3JpdGUgY2FwcyBuZWdvdGlhdGlvbgoJICBQcmV2aW91c2x5IHRoZSByZXN1bHQgb2YgdGhlIENBUFMgcXVlcnkgYW5kIEFDQ0VQVF9DQVBTIGRlcGVuZGVkIG9uIHdoYXQga2luZAoJICBvZiBjYXBzIHdlcmUgbGFzdCBzZXQsIGFuZCBlLmcuIGlmIHdlIGxhc3QgaGFkIGludGVybGFjZWQgY2FwcyBvciBub3QuIFRoYXQncwoJICBqdXN0IGJyb2tlbi4KCSAgQWxzbyBwcmV2aW91c2x5IHRoZSBoYW5kbGluZyBvZiBub24tc3lzbWVtIGNhcHMgZmVhdHVyZXMgd2FzIHJhdGhlciByYW5kb20gYW5kCgkgIHVudXN1YWJsZS4KCSAgTm93IHRoZSBiZWhhdmlvdXIgaXMgdGhlIGZvbGxvd2luZywgZGVwZW5kaW5nIG9uIHRoZSBtb2RlIHByb3BlcnR5OgoJICAxKSBtb2RlPWRpc2FibGVkCgkgIENvbXBsZXRlbHkgZG8gcGFzc3Rocm91Z2ggb2YgZXZlcnl0aGluZwoJICAyKSBtb2RlPWludGVybGFjZWQKCSAgT25seSBhY2NlcHQgZm9ybWF0cyB3ZSBjYW4gYWN0dWFsbHkgZGVpbnRlcmxhY2UsIGFuZCBhY2NlcHQgaW50ZXJsYWNlZAoJICBhbmQgcHJvZ3Jlc3NpdmUgY29udGVudCBhbmQgYWx3YXlzIHJ1biB0aGUgZGVpbnRlcmxhY2VyIGFuZCBvdXRwdXQKCSAgcHJvZ3Jlc3NpdmUgY29udGVudAoJICAzKSBtb2RlPWF1dG8gKGkuZS4gcGxheWJpbikKCSAgQWNjZXB0IGFsbCBwcm9ncmVzc2l2ZSBmb3JtYXRzIGFzIHBhc3N0aHJvdWdoLCBhY2NlcHQgYWxsIGZvcm1hdHMgdGhhdCB3ZQoJICBjYW4gZGVpbnRlcmxhY2Ugb3Vyc2VsdmVzICh3aGljaCB3ZSBkbyB0aGVuKSwgYnV0IGFsc28gYWNjZXB0IGV2ZXJ5dGhpbmcKCSAgZWxzZSBmb3Igd2hpY2ggd2UgdGhlbiBqdXN0IHBhc3N0aHJvdWdoLiBJbiBhdXRvIG1vZGUsIGRlaW50ZXJsYWNpbmcgaXMgYmVzdAoJICBlZmZvcnQ6IElmIHdlIGNhbiwgd2UgZGVpbnRlcmxhY2UsIGlmIHdlIGNhbid0IHdlIGp1c3Qgb3V0cHV0IGludGVybGFjZWQKCSAgY29udGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTUzCgoyMDE2LTAxLTI2IDExOjM0OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgdW51c2VkLCBvYnNvbGV0ZSBidWZmZXJhbGxvYyBjb2RlCgoyMDE2LTAxLTI2IDE4OjUwOjM4ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIEFfQUFDIGluc3RlYWQgb2YgQV9BQUMvTVBFR3gveQoJICBTb21lIEdvb2dsZUNhc3QgY29tcGF0aWJsZSBkZXZpY2VzIGlnbm9yZSBBX0FBQy9NUEVHeC95IHRyYWNrczsgQWxzbyBhY2NvcmRpbmcgdG8gaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9TWF0cm9za2EgQV9BQUMvTVBFR3gveSBpcyBvYnNvbGV0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMTQ0CgoyMDE2LTAxLTI1IDE3OjIxOjI0ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgZ3N0OiBGaXggdW5pbnRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmdzCgkgIFdoaWxlIGNyb3NzLWNvbXBpbGluZyB3aXRoIExpbmFybyBHQ0MgNS4xLTIwMTUuMDgsIGl0IGNvbXBsYWluZWQKCSAgYWJvdXQgYSBjb3VwbGUgdW5pdGlhbGl6ZWQgdmFyaWFibGVzLgoJICBUaGlzIHBhdGNoIGluaXRpYWxpemVzIHRoZW0gdG8gemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA5NAoKMjAxNi0wMS0yNSAxNTowMzoyMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4c3JjOiBwcmludCBwb3RlbnRpYWxseSBuZWdhdGl2ZSBvZmZzZXQgd2l0aCBhIHNpZ24KCjIwMTYtMDEtMjEgMTc6NDE6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogUmUtYWRkIGNvbG9yaW1ldHJ5IGZpZWxkIGZvciBSR0IgZm9ybWF0cwoJICBUaGlzIHRpbWUsIGNoZWNrIGlmIGl0J3MgYW4gUkdCIGZvcm1hdCBhbmQgc2V0cyB0aGUgdHJhbnNmb3JtYXRpb24KCSAgbWF0cml4IHRvIGlkZW50aXR5LiBUaGUgcmVzdCBvZiB0aGUgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24gaXMKCSAgbWVhbmluZ2Z1bGwgYW5kIHNoYWxsIGJlIGtlcHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MjQKCjIwMTYtMDEtMjIgMTA6MDM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggc1JHQiBjb2xvcnNwYWNlIGRlZmluaXRpb24KCSAgVjRsMiBjYW4gYWxzbyB1c2UgdGhlIHNSR0IgY29sb3JzcGFjZSBmb3IgWVVWIGZvcm1hdHMgYW5kIHRodXMgbmVlZHMgYQoJICBkZWZhdWx0IG1hdHJpeC4KCjIwMTYtMDEtMjEgMTU6Mjk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBmaXggc2FtcGxlIHBpcGVsaW5lIGluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTU3MQoKMjAxNi0wMS0yMSAxMDo0OTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBhZG9iZSBjb2xvcnNwYWNlIHN1cHBvcnQKCSAgVXNlIHRoZSBuZXcgcHJpbWFyaWVzIGFuZCB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgQWRvYmUgUkdCLgoJICBFeHBsaWNpdGx5IGxpc3QgdGhlIGNvbG9yaW1ldHJ5IGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgR1N0cmVhbWVyCgkgIG9uZXMuIFRoZSBkZWZhdWx0cyBmb3IgQlQyMDIwLCBmb3IgZXhhbXBsZSwgZG8gbm90IG1hdGNoLgoJICBFeHBsaWNpdGx5IHNldCB0aGUgbWF0cml4IG9mIFNSR0IgdG8gUkdCLgoKMjAxNi0wMS0yMCAxMzo0MTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRW5zdXJlIHRoYXQgd2UgYWx3YXlzIGhhdmUgdmFsaWQgZnJhbWUgdXNlciBkYXRhIGJlZm9yZSB1c2luZyBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVycy4KCjIwMTYtMDEtMjAgMTA6MDI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHhkZWM6IFVucmVmIGZyYW1lIGluIGFsbCBjb2RlIHBhdGhzIG9mIGhhbmRsZV9mcmFtZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2NjYKCjIwMTYtMDEtMTkgMjI6NDk6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkgIHZweGVuYzogVW5yZWYgZnJhbWUgb24gRVJST1IKCSAgQWxsIGNvZGUgcGF0aHMgZm9yIGhhbmRsZV9mcmFtZSgpIG11c3Qgc29tZWhvdyB0YWtlIG93bmVyc2hpcCBvZiB0aGUgZnJhbWUsIGJlCgkgIGl0IGJ5IGFjdHVhbGx5IHVucmVmZmluZywgZm9yd2FyZGluZyB0aGUgZnJhbWUgZWxzZXdoZXJlIG9yIHN0b3JpbmcgaXQgZm9yCgkgIGxhdGVyLgoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2NjYKCjIwMTYtMDEtMjAgMTg6MjA6NDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IERvbid0IGZyZWUgcHJvcHMgc3RydWN0dXJlIHR3aWNlLgoJICBnc3RfdjRsMl9kZXZpY2VfcHJvdmlkZXJfcHJvYmVfZGV2aWNlKCkgZnJlZXMgdGhlIHBhc3NlZCBwcm9wcwoJICBzdHJ1Y3R1cmUsIGRvbid0IGZyZWUgaXQgYWdhaW4gaW4gdGhlIGNhbGxlci4KCjIwMTYtMDEtMTkgMTU6MTU6MzUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQ2xlYW51cCB1bmVlZGVkIHJldHVybiBzdGF0ZW1lbnQKCjIwMTYtMDEtMTkgMTU6MTQ6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgc2V0IGNvbG9yaW1ldHJ5IGZvciBub24gWVVWIGZvcm1hdHMKCSAgU2V0dGluZyBjb2xvcm1ldHJ5IGluIGNhcHMgZm9yIFJHQiBoYXZlIG5vIG1lYW5pbmcsIGJ1dCB3b3JzdCBpdAoJICBjb25mdXNlcyB0aGUgY29udmVydGVycyBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjI0CgoyMDE2LTAxLTE5IDEzOjAxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIHJ0cDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjLTYKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdHJ0cEwxNmRlcGF5Lmg6Mjc6MCwKCSAgZnJvbSBnc3RydHAuYzo3MzoKCSAgZ3N0cnRwY2hhbm5lbHMuaDoxNTQ6MzM6IGVycm9yOiAnY2hhbm5lbF9vcmRlcnMnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1jb25zdC12YXJpYWJsZV0KCSAgc3RhdGljIGNvbnN0IEdzdFJUUENoYW5uZWxPcmRlciBjaGFubmVsX29yZGVyc1tdID0KCjIwMTYtMDEtMTkgMTQ6NTc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHBsYXkgYW55dGhpbmcgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgZGF0YSBjaHVuayBldmVuIHdoZW4gc2Vla2luZwoJICBFc3BlY2lhbGx5IGluIHB1c2ggbW9kZSB3ZSB3b3VsZCBjb21wbGV0ZWx5IGlnbm9yZSB0aGUgc2l6ZSBvZiB0aGUgZGF0YSBjaHVuawoJICB3aGVuIG5vdCBzdG9wIHBvc2l0aW9uIGlzIGdpdmVuIGZvciB0aGUgc2Vlay4gSW5zdGVhZCBtYWtlIHN1cmUgdGhhdCB0aGUgZW5kCgkgIG9mZnNldCBpcyBhdCBtb3N0IHRoZSBlbmQgb2YgdGhlIGRhdGEgY2h1bmsgaWYga25vd24uCgkgIFdpdGhvdXQgdGhpcyB3ZSB3b3VsZCBvdXRwdXQgYW55dGhpbmcgYWZ0ZXIgdGhlIGRhdGEgY2h1bmssIHBvc3NpYmx5IGNhdXNpbmcKCSAgbG91ZCBub2lzZXMgaWYgdGhlIG1lZGlhIGZpbGUgaXMgZm9sbG93ZWQgYnkgYW4gSU5GTyBjaHVuayBvciBhbiBJRDMgdGFnLgoKMjAxNi0wMS0xOSAxNDo1NTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgZG8gY2FsY3VsYXRpb25zIHdpdGggLTEgb2Zmc2V0cyB3aGVuIGhhbmRsaW5nIFNFR01FTlQgZXZlbnRzCgkgIFdlIHVzZSB0aGF0IHRvIHNpZ25hbCAiaW5maW5pdHkiLCB0YWtpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGF0IGFuZCBzb21lCgkgIG90aGVyIHZhbHVlIGlzIG5vdCBnb2luZyB0byBnaXZlIHVzIGFueSB1c2VmdWwgcmVzdWx0IGZvciB0aGUgZW5kIG9mZnNldHMgb2YKCSAgc2VnbWVudHMuCgoyMDE2LTAxLTE4IDExOjMwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmV2ZXJ0ICJXSVA6IHJ0cGppdHRlcmJ1ZmZlcjogQWRkIFJGQzcyNzMgbWVkaWEgY2xvY2sgaGFuZGxpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjcxNTAxZjY1NzZkZTRkMTQxZTdjMmY2MThlMjhiOWUzYjFlNWIzOC4KCSAgSXQgd2Fzbid0IG1lYW50IHRvIGJlIHB1c2hlZCB5ZXQgYXMgdGhlIGNvbW1pdCBtZXNzYWdlIGluZGljYXRlcy4KCjIwMTYtMDEtMTIgMTQ6MDE6MjEgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhY29uY2hpbGxvQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHJ0Y3Avc3J0Y3AgY2FwcyBwcm9wZXJseSB3aGVuIHVzaW5nIGludGVybGVhdmVkIGRhdGEKCSAgV2UgY2hlY2sgdGhlIHN0cmVhbSBwcm9maWxlIGFuZCB1c2UgdGhlIHByb3BlciBSVENQIGNhcHM6CgkgIGFwcGxpY2F0aW9uL3gtc3J0Y3AgaWYgd2UgYXJlIHVzaW5nIGEgc2VjdXJlIHByb2ZpbGUgYW5kCgkgIGFwcGxpY2F0aW9uL3gtcnRjcCBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTYKCjIwMTYtMDEtMDUgMTY6MTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBXSVA6IHJ0cGppdHRlcmJ1ZmZlcjogQWRkIFJGQzcyNzMgbWVkaWEgY2xvY2sgaGFuZGxpbmcKCjIwMTYtMDEtMTUgMTE6MzY6MzUgKzAwMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkgIHZwOGVuYzogUmV0dXJuIEZMT1dfRVJST1Igd2hlbiBhbiBlcnJvciBhY2N1cmVzCgkgIEZBTFNFIHdvdWxkIG1lYW4gRkxPV19PSwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjY2CgoyMDE2LTAxLTE1IDAzOjU3OjQ1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBicmVhayBhcyBzb29uIGFzIHRoZSBkZXZpY2UgaXMgZm91bmQKCSAgTm8gbmVlZCB0byBsb29wIGZ1cnRoZXIgaWYgdGhlcmUncyBubyBzaWRlLWVmZmVjdHMgZm9yIGl0CgoyMDE2LTAxLTE1IDAzOjU2OjQ5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IEZpeCBlcnJvciBoYW5kbGluZyB3aGVuIHNlbGVjdGluZy9vcGVuaW5nIGRldmljZXMKCSAgUG9zdCBhbiBlbGVtZW50IGVycm9yIHdoZW4gdGhlIENvcmVBdWRpbyBkZXZpY2UgY2Fubm90IGJlIHNlbGVjdGVkIG9yIG9wZW5lZC4KCSAgQWxzbyBlbnN1cmUgdGhhdCB3ZSBwb3N0IGEgR1NUX0VSUk9SIHdpdGggbW9yZSBkZXRhaWwuCgoyMDE2LTAxLTEzIDIzOjQwOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBXaGVuIGZsdXNoaW5nIG9uIEVPUywgZG9uJ3QgcHJvY2VzcyBtb3JlIGRhdGEgdGhhbiB0aGUgImRhdGEiIHNpemUKCSAgRXZlbiBpZiB3ZSBoYXZlIG1vcmUgZGF0YSBxdWV1ZWQgdXAgd2hlbiBmbHVzaGluZyB0aGFuIHRoZSBzaXplIG9mIHRoZSBkYXRhCgkgIGNodW5rLCBkb24ndCBwcm9jZXNzIGFuZCBvdXRwdXQgaXQuIElmIHRoZSBkYXRhIHNpemUgaXMga25vd24sIHRoaXMgbGlrZWx5CgkgIGNvbnRhaW5zIGFub3RoZXIgY2h1bmsgKGUuZy4gYW4gSU5GTyBjaHVuaykgb3IgdGhpbmdzIGxpa2UgSUQzIHRhZ3MuIEp1c3QKCSAgb3V0cHV0dGluZyB0aGVtIGFzIGlmIHRoZXkgd2VyZSBkYXRhIGlzIGdvaW5nIHRvIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3VyCgkgIGFuZCB1bnBsZWFzYW50IGF1ZGlvIG5vaXNlcy4KCjIwMTQtMDgtMjkgMTU6NDA6MjMgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IGEgdGhpbmtvIGluIHRoZSB3YXZlbmMgZXhhbXBsZQoJICBUaGUgY29kZSBpcyBzdXBwb3NlZCB0byBmb2xsb3cgc29tZWhvdyB3aGF0IHRoZSBjb21tZW50IGFib3ZlIHNheXMsIHRoYXQKCSAgaXMgdG8gaGF2ZSBvbmUgY2hhbm5lbCB3aXRoIGEgd2F2ZSBvZiBmcmVxIDQ0MCBhbmQgdGhlIG90aGVyIGNoYW5uZWwKCSAgd2l0aCBhIHdhdmUgb2YgZnJlcSA4ODAsIGJ1dCBhbiBvZmYgYnkgb25lIGVycm9yIHJlc3VsdHMgaW4gZnJlcXVlbmNpZXMKCSAgb2YgMCBhbmQgNDQwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjczCgoyMDE0LTA4LTI5IDE1OjA3OjU4ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IHRoZSBleGFtcGxlIGJ5IHNldHRpbmcgY2hhbm5lbC1tYXNrcyBpbiB0aGUgc2luayBwYWRzCgkgIFRoZSBjdXJyZW50IGV4YW1wbGUgZG9lcyBub3Qgd29yaywgaXQgZmFpbHMgd2l0aDoKCSAgRVJST1I6IGZyb20gZWxlbWVudCAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdERlY29kZUJpbjpkZWNvZGViaW4wL0dzdFdhdlBhcnNlOndhdnBhcnNlMDogSW50ZXJuYWwgZGF0YSBmbG93IGVycm9yLgoJICBnc3R3YXZwYXJzZS5jKDIxNzgpOiBnc3Rfd2F2cGFyc2VfbG9vcCAoKTogL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC9Hc3REZWNvZGVCaW46ZGVjb2RlYmluMC9Hc3RXYXZQYXJzZTp3YXZwYXJzZTA6CgkgIHN0cmVhbWluZyB0YXNrIHBhdXNlZCwgcmVhc29uIG5vdC1uZWdvdGlhdGVkICgtNCkKCSAgVGhpcyBpcyBiZWNhdXNlIG5lZ290aWF0aW9uIHdpdGggd2F2ZW5jIGdldHMgbWVzc2VkIHVwIGJ5IHRoZSBtaXNzaW5nCgkgIGNoYW5uZWwgcG9zaXRpb25zIGNvbmZpZ3VyYXRpb24uCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGRlZmluZSB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiB1c2luZyB0aGUgaW50ZXJsZWF2ZQoJICBlbGVtZW50IGluIGNvZGUgd291bGQgYmUgdG8gc2V0IHRoZSBjaGFubmVsLXBvc2l0aW9ucyBwcm9wZXJ0eSwgYnV0CgkgIGdzdC1sYXVuY2gtMS4wIGRvZXMgbm90IGtub3cgaG93IHRvIGRlYWwgd2l0aCBhcnJheXM7IHNvIHRoZSBleGFtcGxlCgkgIHBpcGVsaW5lIHdvcmtzIGFyb3VuZCB0aGUgaXNzdWUgYnkgc2V0dGluZyB0aGUgY2hhbm5lbC1tYXNrcyBpbiB0aGUgc2luawoJICBwYWRzLgoJICBBbHNvIGZpeCBhIHJlcGV0aXRpb24gaW4gdGhlIGRlaW50ZXJsZWF2ZSBleGFtcGxlIGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NzMKCjIwMTYtMDEtMTEgMTY6Mjk6NTUgKzAwMDAgIFRpbSBTaGVyaWRhbiA8dGltLnNoZXJpZGFuQGltZ3RlYy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIHNiY3BhcnNlOiBGaXggZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uCgkgIFNCQyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gd2Fzbid0IGJlaW5nIHJvdW5kZWQgdXAgdG8gdGhlIG5lYXJlc3QgYnl0ZQoJICAoYXMgc3BlY2lmaWVkIGluIHRoZSBBMkRQIDEuMCBzcGVjaWZpY2F0aW9uLCBzZWN0aW9uIDEyLjkpLiBUaGlzIGNvdWxkCgkgIGNhdXNlICdzdGVyZW8nIGFuZCAnam9pbnQgc3RlcmVvJyBtb2RlIFNCQyBzdHJlYW1zIHRvIGhhdmUgaW5jb3JyZWN0bHkKCSAgY2FsY3VsYXRlZCBmcmFtZSBsZW5ndGhzLgoJICBJbmNvcnJlY3QgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIGNhdXNlcyBmcmFtZSBjb2FsZXNjaW5nIHRvIGZhaWwsIGFzCgkgIHN1YnNlcXVlbnQgZnJhbWVzIGluIHRoZSBzdHJlYW0gYXJlbid0IGZvdW5kIGluIHRoZSBleHBlY3RlZCBsb2NhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI0NDYKCjIwMTYtMDEtMTAgMjI6NTQ6MTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZGVtb3RlIHdhcm5pbmcgb24gd3JvbmcgcmVzZXJ2ZWQgdmFsdWUgdG8gZml4bWUKCSAgV2UgYXJlIGxpa2VseSBqdXN0IHBhcnNpbmcgYSBiYWNrd2FyZC1jb21wYXRpYmxlIHN0cmVhbSB3ZQoJICBkb24ndCBmdWxseSBzdXBwb3J0LgoKMjAxNi0wMS0wOCAxNjoyNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBzaW1wbGlmeSBjYXBzIHNlbGVjdGlvbgoJICBUaGUgZG93bnN0cmVhbSBjYXBzIHF1ZXJ5IHdpdGggYSBmaWx0ZXIgYWxyYWVkeSBnaXZlcyB1cyB0aGUgcG9zc2libGUKCSAgaW50ZXJzZWN0aW9uIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgaXQgYWdhaW4gd2l0aCBkb3duc3RyZWFtCgkgIGlmIGl0IGlzIHN1cHBvcnRlZC4gSnVzdCB0cnkgdG8gc2V0IGl0IGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDo0Mjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IHVubmVjZXNzYXJ5IHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4KCSAgdGhyb3cgaXQgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlcgoJICBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6Mzg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSAgcnRwZHZkZXBheTogZml4IHVubmVjZXNzYXJ5IHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4KCSAgdGhyb3cgaXQgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlcgoJICBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6MzQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiBmaXggdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbgoJICB0aHJvdyBpdCBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyCgkgIGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDoyNzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZml4IG1ham9yIG1lbW9yeSBsZWFrIGFuZCBwZXJmb3JtYW5jZSBpc3N1ZQoJICBXZSBjYWxsIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkKCkgd2hpY2ggY3JlYXRlcyBhIHN1Yi1idWZmZXIKCSAgb2YgZWFjaCBpbnB1dCBidWZmZXIsIGp1c3QgdG8gY29weSBvdmVyIG1ldGFzLCBhbmQgdGhlbiBsZWFrIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjg5CgoyMDE2LTAxLTA4IDE1OjMyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBGaXggY29tcGlsZXIgd2FybmluZ3MgaW4gdGhlIHVuaXQgdGVzdAoJICBlbGVtZW50cy9yZ2FuYWx5c2lzLmM6OTE5OjY2OiBlcnJvcjogc2hpZnRpbmcgYSBuZWdhdGl2ZSBzaWduZWQgdmFsdWUgaXMgdW5kZWZpbmVkCgkgIFstV2Vycm9yLC1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdCgkgIHB1c2hfYnVmZmVyICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8gKDgwMDAsIDE2LCA1MTIsIC0xIDw8IDE0LCAwKSk7CgkgIH5+IF4KCSAgZWxlbWVudHMvcmdhbmFseXNpcy5jOjkyOTo2OTogZXJyb3I6IHNoaWZ0aW5nIGEgbmVnYXRpdmUgc2lnbmVkIHZhbHVlIGlzIHVuZGVmaW5lZAoJICBbLVdlcnJvciwtV3NoaWZ0LW5lZ2F0aXZlLXZhbHVlXQoJICBwdXNoX2J1ZmZlciAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvICg4MDAwLCAxNiwgNTEyLCAwLCAtMSA8PCAxNCkpOwoJICB+fiBeCgkgIGVsZW1lbnRzL3JnYW5hbHlzaXMuYzo5Mzk6NjQ6IGVycm9yOiBzaGlmdGluZyBhIG5lZ2F0aXZlIHNpZ25lZCB2YWx1ZSBpcyB1bmRlZmluZWQKCSAgWy1XZXJyb3IsLVdzaGlmdC1uZWdhdGl2ZS12YWx1ZV0KCSAgcHVzaF9idWZmZXIgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8gKDgwMDAsIDE2LCA1MTIsIC0xIDw8IDE0KSk7CgkgIH5+IF4KCjIwMTYtMDEtMDUgMTg6MTM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRvbid0IG1hcCBidWZmZXIgbXVsdGlwbGUgdGltZXMgd2hlbiBwYXJzaW5nCgoyMDE2LTAxLTA3IDE4OjIwOjMwICswMjAwICBTdGV2ZW4gSG92aW5nIDxzaEBiaWdicm90aGVyLm5sPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBTdG9yZSBzdWJ0aXRsZSBzdHJlYW0gY291bnQgaW4gdGhlIGNvcnJlY3QgdmFyaWFibGUKCSAgQW5kIGRvbid0IG92ZXJyaWRlIHRoZSB2aWRlbyBzdHJlYW0gY291bnQgaW5zdGVhZC4KCjIwMTYtMDEtMDUgMTg6NTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IFRoZSBjaGlsZC1wcm94eSBBUEkgaXMgR09iamVjdCBiYXNlZCBpbiAxLngKCSAgTm90IEdzdE9iamVjdCBhbnltb3JlLgoKMjAxNS0wNS0yMSAxNzo0MToxMiArMDIwMCAgUGFibG8gQW50b24gPHBhYmxvLmFudG9uQHZvZGFseXMtbGFicy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDItKjogQ29uZmlndXJpbmcgb3V0cHV0IHBvb2wgY29ycmVjdGx5IGZvciB1c2luZyBkcml2ZXJzIG1pbl9idWZmZXIgaWYgcHJlc2VudC4KCSAgU2lnbmVkLW9mZi1ieTogUGFibG8gQW50b24gPHBhYmxvLmFudG9uQHZvZGFseXMtbGFicy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MzYKCjIwMTUtMTItMzEgMTU6NDY6MzEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYWRkIGRlYnVnIG1zZyBvbiBDUkMgbWlzbWF0Y2ggd2hpbGUgdmFsaWRhdGluZyBmcmFtZSBoZWFkZXIKCjIwMTUtMTItMzEgMTY6MDA6NDkgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCB1bm5lZWRlZCBicmFjZXMgYXQgX3BhcnNlX2ZyYW1lKCkgZXhpdAoJICBBZGRpdGlvbmFsbHksIGRyb3AgcmVkdW5kYW50IGNvbW1lbnQgJiBsaW5lIGJyZWFrCgoyMDE1LTEyLTMxIDE1OjU1OjE4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIGdyYW1tYXIgY29ycmVjdGlvbgoKMjAxNS0xMi0zMSAxNTozNDo1NyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgVVJMcyBvbiBwb2ludGVycyB0byBvbmxpbmUgc3BlYwoKMjAxNS0xMi0zMSAxNDo0MDoxNSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtYWtlIGJ1ZmZlciBEVFMgc2V0dGluZyBleHBsaWNpdGx5IHVuY29uZGl0aW9uYWwKCSAgV2UgYXJlIHNldHRpbmcgaXQgdG8gUFRTIHJlZ2FyZGxlc3Mgb2YgYmxvY2tfc3RyYXRlZ3kKCjIwMTUtMTItMzEgMTQ6MjE6NDAgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYWRkIGFjdHVhbCBpbnZhbGlkIGJsb2NrIHR5cGUgdG8gd2FybmluZwoJICBGb3Igc29tZW9uZSB0aGF0IHJlYWQgdGhlIHNwZWMgaXMgY2xlYXIgdGhlIG9ubHkgKmludmFsaWQqCgkgIGRhdGEgYmxvY2sgdHlwZSBpcyAxMjcuIEZvciB0aGUgcmVzdCwgaXRzIHVzZWZ1bCBpbmZvcm1hdGlvbi4KCSAgQWRkaXRpb25hbGx5LiB2YWx1ZXMgNy0xMjYgYXJlIGN1cnJlbnRseSByZXNlcnZlZCBieSB0aGUKCSAgc3BlYyBzbyB0aGUgc2l0dWF0aW9uIG1pZ2h0IGNoYW5nZSBpbiB0aGUgZnV0dXJlLgoKMjAxNS0xMi0zMSAxNDoxMjozNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1c2Ugc2hpZnQgaW5zdGVhZCBvZiBtYXNrICYgY29tcAoJICBXZSBhcmUgb25seSBpbnRlcmVzdGVkIG9uIHRoZSBmaXJzdCBiaXQgb2YgdGhlIGZpcnN0CgkgIGJ5dGUgb2YgdGhlIG1ldGFkYXRhIGJsb2NrIGhlYWRlciB0byBmaWd1cmUgb3V0IHdoZXRoZXIKCSAgaXMgbWFya2VkIGFzIHRoZSBsYXN0IG9uZS4gVGhlIHNoaWZ0IG1ha2VzIGl0IHF1aXRlCgkgIGNsZWFyZXIuCgoyMDE1LTEyLTMxIDEyOjUyOjEzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHdhcm4gb24gd2lzaGZ1bCBwYXJzaW5nIG9mIHdlaXJkIGhlYWRlcnMKCSAgSWYgd2UgZ2V0IGFueXRoaW5nIGZyb20gNyB0byAxMjYgYXMgdHlwZSB3aGVuIHBhcnNpbmcKCSAgYSBtZXRhZGF0YSBibG9jayBoZWFkZXIsIHdlIGFyZSBsaWtlbHkgZGVhbGluZyB3aXRoIGEKCSAgRkxBQyBzdHJlYW0gdmVyc2lvbiB3ZSBkb24ndCBmdWxseSB1bmRlcnN0YW5kLiBJc3N1ZQoJICBhIHdhcm5pbmcgaWYgc28uCgkgIERvY3VtZW50IGZ1bmN0aW9uIGFzc3VtcHRpb25zIHJlZ2FyZGluZyB0aGUgcGFzc2VkLW9uCgkgIHR5cGUgd2hpbGUgYXQgdGhpcy4KCjIwMTUtMTItMzEgMTE6MzM6NDUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2hvdyBtZWFuaW5nZnVsIGluZm8gb24gZnJhbWUgQ1JDIGNoZWNrCgkgIEFzIENSQ3MgYXJlIGNhbGN1bGF0ZWQgZm9yIHRoZSBjb21wYXJpdGlvbiBhbHJlYWR5LCB3ZQoJICBtaWdodCBhcyB3ZWxsIChjaGVhcGx5KSBpbmZvcm0gdGhlIHVzZXIgaG93IHRoZSBudW1iZXJzCgkgIGRpZmZlciBpZiBhIG1pc3NtYXRjaGVkIHBhaXIgaXMgZm91bmQuCgkgIFdoaWxlIGF0IGl0OgoJICBSZXBocmFzZSBjYW5kaWRhdGUtZnJhbWUgbWVzc2FnZSB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTUtMTItMzEgMDI6NDA6NDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCByZW1haW5pbmcgdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAxNS0xMi0zMSAwMjoxNTowNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHN1cGVyZmxvdXMgZWxzZSBjbGF1c2VzCgoyMDE1LTEyLTMxIDAxOjA5OjUxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZhY3RvciBvdXQgYnVmZmVyIHRpbWUgYW5kIG9mZnNldCByZXNldHRpbmcKCSAgQXZvaWRzIG11bHRpcGxlIG9jY3VycmVuY2VzIG9mIHRoZSBzYW1lIHJlc2V0dGluZyBwYXR0ZXJuCgoyMDE1LTEyLTMxIDAwOjU0OjQ4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1vdmUgYmxvY2sgaGFuZGxpbmcgYnkgdHlwZSBvdXQgb2YgX3BhcnNlX2ZyYW1lKCkKCjIwMTUtMTAtMDcgMTg6NTE6MjUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXBsYWNlIGR1cGxpY2F0ZWQgY29kZXMgdG8gY2FsbCBuZXcgYmFzZSBzZHAgYXBpcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODgwCgoyMDE1LTEyLTMwIDEyOjE2OjU2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3AgcmVkdW5kYW50IHJldHVybiBzdGF0ZW1lbnQgb24gX2hlYWRlcl9pc192YWxpZCgpCgkgIEZpeCB0aGUgcmF0aGVyIHZhZ3VlIGVycm9yIG1lc3NhZ2Ugd2hpbGUgYXQgaXQuCgoyMDE1LTEyLTMwIDAxOjU2OjI2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHJld29yayBnc3RfZmxhY19wYXJzZV9mcmFtZV9pc192YWxpZCgpCgkgIGRyb3AgdW5uZWNlc3NhcnkgbmVzdGluZyBsb29raW5nIGZvciBlbmQgb2YgZnJhbWUKCjIwMTUtMTItMzAgMDA6Mzc6MDQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZmFjdG9yIG91dCBjb250ZXh0IGNsZWFyaW5nIHJvdXRpbmUKCjIwMTUtMTItMjkgMTg6MDU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogR3VhcmQgYWdhaW5zdCBubyBjb2RlYyBkYXRhIGluIHByb3JlcyBjYXBzIGNyZWF0aW9uCgkgIENJRCAxMzQ2NTMyCgoyMDE1LTEyLTI5IDE3OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBJbml0aWFsaXplIGJ1ZmZlciB2YXJpYWJsZSB0byBOVUxMCgkgIEZhbHNlIHBvc2l0aXZlIGJ1dCB0cml2aWFsIHRvIGZpeCBhbmQgcG9zc2libHkgY2F1c2luZyBjb21waWxlciB3YXJuaW5ncyBhdAoJICBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUgdG9vLgoJICBDSUQgMTM0NjUzNQoKMjAxNS0wNy0yNyAxNTo1MzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMmRldmljZXByb3ZpZGVyOiBhZGQgcHJvcGVydGllcyB0byB0aGUgZGV2aWNlCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBkZXZpY2Ugd2l0aCBleGFjdGx5IHRoZSBzYW1lIGtleXMgYW5kIHNlbWF0aWNzCgkgIGFzIHdoYXQgcHVsc2VhdWRpbyB1c2VzIGFzIHByb3BlcnR5IGtleXMuCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIHdoZW4gYSBkZXZpY2UgaXMgcHJvYmVkIG1hbnVhbGx5IGFuZCBub3QgdGhyb3VnaCBndWRldi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NTk3ODAKCjIwMTUtMTItMjUgMTE6NDE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZyZWUgdGhlIHZhcmlvdXMgYnVmZmVycyBpbiBHc3RCYXNlVHJhbnNmb3JtOjpzdG9wKCkKCSAgUHJldmlvdXNseSB3ZSBsZWFrZWQgdGhlbSBjb21wbGV0ZWx5LCBidXQgYXMgdGhleSdyZSBzcGVjaWZpYyB0byB0aGUgY2FwcwoJICBmcmVlaW5nIHRoZW0gaW4gc3RvcCgpIGluc3RlYWQgb2YgZmluYWxpemUoKSBtYWtlcyBtb3N0IHNlbnNlLgoKMjAxNS0xMi0yNCAxNToyODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjEgPT09CgoyMDE1LTEyLTI0IDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjEKCjIwMTUtMTItMjQgMTM6MTk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMTItMjQgMTI6MjI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMTItMjEgMDk6NTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZHJvcCBmbHVzaGVzIGZyb20gb3VyIG93biBvZmZzZXQgc2VlawoJICBQcmV2ZW50cyBkb3duc3RyZWFtIGZyb20gcmVjZWl2aW5nIGZsdXNoZXMgZm9yIGEgc2VlayBvbmx5IGluCgkgIHVwc3RyZWFtLiBUaG9zZSBzZWVrcyBhcmUgb25seSB0byBzdGFydCByZWFkaW5nIGZyb20gdGhlIHJpZ2h0CgkgIG9mZnNldCB3aGVuIHNraXBwaW5nIG9yIHJldHVybmluZyB0byBxdCBhdG9tcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkyOAoKMjAxNS0xMS0xMSAxNjo1MzoxOSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgbWFzayBmb3IgUENNIHN0cmVhbXMKCSAgSnVzdCB1c2UgdGhlIGdzdF9hdWRpb19jaGFubmVsX2dldF9mYWxsYmFja19tYXNrIGZ1bmN0aW9uIGZvciBub3cgYXMKCSAgdGhlIHNwZWNpZmljYXRpb24gaXMgdG9vIGNvbXBsaWNhdGVkIGFuZCBub2JvZHkgaW1wbGVtZW50cyBpdC4KCjIwMTUtMTItMjEgMTE6Mzc6MjYgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggc2xlZXAgZm9yIGJ1ZmZlci10aW1lIGxvd2VyIHRoYW4gMjAwMDAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2ODAKCjIwMTUtMTItMjEgMTI6MzE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1Cc3ltYm9saWMtZnVuY3Rpb25zIGlmIGF2YWlsYWJsZQoJICBXaGlsZSB0aGlzIGlzIG1vcmUgdXNlZnVsIGZvciBsaWJyYXJpZXMsIHNvbWUgb2Ygb3VyIHBsdWdpbnMgd2l0aCBtdWx0aXBsZQoJICBmaWxlcyBhbmQgc29tZSBpbnRlcm5hbCBBUEkgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHRoaXMuCgoyMDE1LTEyLTE4IDE1OjM0OjUyICswMDAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIHByb2dyZXNzcmVwb3J0OiBhZGQgc3VwcG9ydCBmb3IgdXNpbmcgZm9ybWF0PWJ1ZmZlcnMgd2l0aCBkby1xdWVyeT1mYWxzZQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgaW52ZXN0aWdhdGluZyBhbmQgZGVidWdnaW5nIHBpcGVsaW5lcyB3aGljaCBhcmUKCSAgcHJvZHVjaW5nIGJ1ZmZlcnMgYXQgYSBzbG93ZXIvZmFzdGVyIHJhdGUgdGhhbiB5b3Ugd291bGQgZXhwZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjM1CgoyMDE1LTEyLTE4IDE1OjQ5OjQzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVwZGF0ZSBmb3JtYXRzIHRhYmxlCgkgIFRoaXMgY2hhbmdlIGFkZCBhbGwgdGhlIG5ldyBSR0IgYmFzZWQgZm9ybWF0LiBUaG9zZSBmb3JtYXQgcmVtb3ZlcyB0aGUKCSAgYW1iaWd1aXR5IHdpdGggdGhlIEFMUEhBIGNoYW5uZWwuIFNvbWUgb3RoZXIgbWlzc2luZyBtdWx0aXBsYW5hciBmb3JtYXQKCSAgaGFzIGJlZW4gYWRkZWQgd2l0aCBzb21lIGFkZGl0aW9uYWwgY2xlYW51cC4KCjIwMTUtMTItMTggMDU6MTc6MTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3Qgd3JpdGUgaW52YWxpZCBlZGl0IGxpc3Qgc3RhcnQgdGltZS4KCSAgQXZvaWQgd3JpdGluZyBhIG5lZ2F0aXZlIG51bWJlciBhcyBhIGxhcmdlIHBvc2l0aXZlCgkgIGludGVnZXIgaW4gYW4gZWRpdCBsaXN0IHdoZW4gdGhlIGZpcnN0X3RzIGlzIHNtYWxsZXIKCSAgdGhhbiB0aGUgZmlyc3RfZHRzIC0gd2hpY2ggY2FuIGhhcHBlbiB3aGVuIHRoZSBmaXJzdAoJICBwYWNrZXQgcmVjZWl2ZWQgaGFzIGEgUFRTIGJ1dCBubyBEVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MTUKCjIwMTUtMTItMDQgMjM6MTY6NDUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBPbmx5IHVwZGF0ZSBydW5uaW5nIHRpbWUgd2hlbiBpdCBpbmNyZWFzZXMuCgkgIERvbid0IGluY3JlbWVudCBydW5uaW5nIHRpbWUgZnJvbSBldmVyeSBidWZmZXIuIFRoZSBjb3JyZWN0CgkgIGxvZ2ljIHRvIG9ubHkgaW5jcmVtZW50IHdoZW4gcnVubmluZyB0aW1lIGFkdmFuY2VzIGlzIGEKCSAgbGl0dGxlIGZ1cnRoZXIgZG93biwgc28gZGVsZXRlIHRoaXMgbGVmdC1vdmVyIGxpbmUuCgoyMDE1LTExLTE4IDExOjAxOjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogSW1wbGVtZW50IHByb3JlcyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyNTgKCjIwMTUtMTEtMTggMTY6MjA6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2EtZGVtdXg6IFBsYXkgUHJvUmVzIHZpZGVvIHN0cmVhbXMKCSAgR2VuZXJhdGUgdmlkZW8veC1wcm9yZXMgY2FwcyBmb3IgUHJvUmVzIHZpZGVvIHN0cmVhbXMuCgkgIEV2ZXJ5IGZyYW1lIG5lZWRzIGFuIDggYnl0ZSBoZWFkZXIgcHJlcGVuZGVkLCBhcyBkZXNjcmliZWQgaW4KCSAgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9QXBwbGVfUHJvUmVzI0ZyYW1lX2xheW91dAoJICBzbyBkbyB0aGF0IGluIGEgcG9zdC1wcm9jZXNzaW5nIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjU4CgoyMDE1LTEyLTE4IDEwOjE4OjA5ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogUmVtb3ZlIHVudXNlZCBmaWVsZHMKCSAgUmVtb3ZlIHVudXNlZCBmaWVsZHMgZnJhbWVfbGVuIGFuZCBzcGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjE0CgoyMDE1LTEyLTE3IDE2OjAzOjA0ICswMTAwICBWaW5jZW50IERlaG9ycyA8dmluY2VudC5kZWhvcnNAb3BlbndpZGUuZnI+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkgIHJ0cGoya2RlcGF5OiBQdXNoIG9uZSBKUEVHMjAwMCBmcmFtZSBwZXIgYnVmZmVyLCBub3QgYSBidWZmZXIgbGlzdCB3aXRoIG11bHRpcGxlIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk0MwoKMjAxNS0xMi0xNiAxMTo0Mzo1OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGR2MTM5NDogbG9nIGVycm9yIGlmIGZhaWxlZCB0byBzZXQgc29ja2V0IHN0YXR1cyBmbGFnCgkgIExvZyBhbiBlcnJvciBtZXNzYWdlIGlmIGZhaWxlZCB0byBzZXQgd3JpdGUgb3IgcmVhZCBzb2NrZXQgYXMKCSAgbm9uLWJsb2NraW5nLgoJICBDSUQgMTEzOTYwOAoJICBDSUQgMTEzOTYwOQoKMjAxNS0xMi0xNSAxNzoxMDowMCArMDAwMCAgRGF2ZSBDcmFpZyA8ZGF2ZWNyYWlnQHVuYmFsYW5jZWRhdWRpby5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IENoZWNrIGZvciBOVUxMIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTAzCgoyMDE1LTEyLTE2IDA5OjM1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgdG8gZ2l0CgoyMDE1LTEyLTE1IDE0OjI3OjIyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJICB2cHg6IEFkZCBtaXNzaW5nIGhlYWRlcnMgaW4gTWFrZWZpbGUuYW0KCSAgVGhpcyBmaXhlcyBkaXN0Y2hlY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1MTAKCjIwMTUtMDktMjQgMTI6NTc6MDAgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJKiBleHQvdnB4L2dzdHZweGVuYy5oOgoJICB2cHg6IGNyZWF0ZWQgY29tbW9uIGJhc2VjbGFzcyBHc3RWUFhFbmMKCSAgR3N0VlA4RW5jIGFuZCBHc3RWUDlFbmMgaGFzIGFsbW9zdCA4MCUgY29kZSBpbiBjb21tb24uCgkgIGNyZWF0ZWQgY29tbW9uIGJhc2VjbGFzcyBHc3RWUFhFbmMgZm9yIEdzdFZQOEVuYyBhbmQgR3N0VlA5RW5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1MTAKCjIwMTUtMTItMTUgMTI6NTc6NTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmg6CgkgIHZweGRlYzogUmVtb3ZlIHVubmVlZGVkIGFkZCB2aWRlb19tZXRhCgkgIFRoaXMgYWxzbyByZW1vdmUgY29waWVzIGZvciBWUDgsIHdoaWNoIHdhcyBub3QgY29ycmVjdGx5IGluIHBsYWNlCgkgIGluIHByZXZpb3VzIHJlbGF0ZWQgcGF0Y2guCgoyMDE1LTEyLTE1IDA5OjQ5OjI0ICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cHhkZWMuaDoKCSAgdnB4OiBjcmVhdGVkIGNvbW1vbiBiYXNlIGNsYXNzIEdzdFZQWGRlYyBmb3IgdnB4IGRlY29kZXJzCgkgIEJhc2UgY2xhc3MgZm9yIHRoZSB2cDhkZWMgYW5kIHZwOWRlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTUxMAoKMjAxNS0wNi0xMCAwOToxNzowOCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIEdUbHNJbnRlcmFjdGlvbiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzA5CgoyMDE1LTEyLTE0IDA5OjA1OjA2IC0wNTAwICBFdmFuIENhbGxhd2F5IDxldmFuLmNhbGxhd2F5QGlwY29uZmlndXJlLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmV0cnkgY29ubmVjdGlvbiBpZiB0dW5uZWxpbmcgbmVlZHMgYXV0aGVudGljYXRpb24KCSAgTGV2ZXJhZ2UgcmVzcG9uc2UgZnJvbSBnc3RfcnRzcF9jb25uZWN0aW9uX2Nvbm5lY3Rfd2l0aF9yZXNwb25zZSB0bwoJICBkZXRlcm1pbmUgaWYgdGhlIGNvbm5lY3Rpb24gc2hvdWxkIGJlIHJldHJpZWQgdXNpbmcgYXV0aGVudGljYXRpb24uICBJZgoJICBzbywgYWRkIHRoZSBhcHByb3ByaWF0ZSBhdXRoZW50aWNhdGlvbiBoZWFkZXJzIGJhc2VkIHVwb24gdGhlIHJlc3BvbnNlCgkgIGFuZCByZXRyeSB0aGUgY29ubmVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU5NgoKMjAxNS0xMi0xNCAxNDoxOTowNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2hlY2sgcG9ydC1yYW5nZSBmb3JtYXQKCSAgVGhlIHN0cmluZyBjb3VsZCBleGlzdCBidXQgd2l0aCBhIHdyb25nIGZvcm1hdCwgaW4gdGhhdCBjYXNlIHdlIHN0aWxsIHdhbnQKCSAgdG8gcmVzZXQgdGhlIHZhbHVlcyBvZiBjbGllbnRfcG9ydF9yYW5nZS5taW4gYW5kIG1heCBsaWtlIHdlIGRvIGlmIHRoZXJlIGlzCgkgIG5vIHN0cmluZy4KCSAgQ0lEIDExMzk1OTMKCjIwMTUtMTItMTQgMTQ6NTU6MTIgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBDaGVjayBkZXZpY2UgcHJvcGVydHkgYW5kIGZhaWwgaWYgZGV2aWNlIGNhbid0IGJlIGZvdW5kCgkgIERvbid0IHVzZSBkZWZhdWx0IGlmIGEgc3BlY2lmaWMgZGV2aWNlIGlzIHNldCBidXQgaXQgY2FuJ3QgYmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0NTIKCjIwMTUtMTItMTQgMTQ6MTU6MDAgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggaGFuZGxpbmcgb2YgdGhlIG11dGUgcHJvcGVydHkKCSAgLSBzZXQgbXV0ZSB2YWx1ZSBhdCBzdGFydHVwCgkgIC0gY29ycmVjdCBzZXQgYW5kIGdldCBtdXRlIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTA2CgoyMDE1LTEyLTExIDExOjIzOjEzICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2hlY2sgdGhlIHJldHVybiB2YWx1ZSBvZiBHZXRTdGF0dXMoKSB0b28gdG8gZGVjaWRlIGlmIHRoZXJlIHdhcyBhbiBlcnJvcgoJICBJZiBHZXRTdGF0dXMoKSBmYWlscywgdGhlIHN0YXR1cyBpdHNlbGYgd29uJ3QgYmUgdmVyeSBtZWFuaW5nZnVsIGJ1dCB3ZSBhbHNvCgkgIGhhdmUgdG8gbG9vayBhdCBpdHMgcmV0dXJuIHZhbHVlLiBUaGlzIGZpeGVzIGJsb2NraW5nIHBpcGVsaW5lcyB3aGVuIHJlbW92aW5nCgkgIHNvdW5kIGRldmljZXMgb3IgZHVyaW5nIG90aGVyIGVycm9ycywgd2hlcmUgd2Ugd291bGRuJ3Qgbm90aWNlIHRoZSBlcnJvciBhbmQKCSAgdGhlbiB3YWl0IGZvcmV2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwOTgKCjIwMTUtMTItMTAgMTc6NDE6NDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IHJlbW92ZSB1bnVzZWQgcGFyYW1ldGVycyBpbiBidWlsZF8qX2V4dGVuc2lvbgoJICBBdG9tVFJBSyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgYnkgYnVpbGRfbW92X2FsYWNfZXh0ZW5zaW9uKCksCgkgIGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKCksIG9yIGJ1aWxkX21vdl9hbGFjX2V4dGVuc2lvbigpICBhbmQgY2FuIGJlCgkgIHJlbW92ZWQuCgoyMDE1LTEyLTEwIDE1OjExOjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IHJlcGxhY2UgdmFyaWFibGUgb25seSB1c2VkIG9uY2UKCSAgUmVwbGFjZSBoYXNfc2hpZnQgdmFyaWFibGUgd2l0aCB2YWx1ZSBzaW5jZSBpdCBpcyBvbmx5IHVzZSBvbmNlLgoKMjAxNS0xMi0wOSAxMjoyNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBwYWNrZXQgZHJvcHBpbmcgYWZ0ZXIgYSBiaWcgZGlzY29udAoJICBXZSB3b3VsZCBxdWV1ZSA1IGNvbnNlY3RpdmUgcGFja2V0cyBiZWZvcmUgY29uc2lkZXJpbmcgYSByZXNldCBhbmQgYSBwcm9wZXIKCSAgZGlzY29udCBoZXJlLiBJbnN0ZWFkIG9mIGV4cGVjdGluZyB0aGUgbmV4dCBvdXRwdXQgcGFja2V0IHRvIGhhdmUgdGhlIGN1cnJlbnQKCSAgc2VxbnVtIChpLmUuIHRoZSBmaWZ0aCksIGV4cGVjdCBpdCB0byBoYXZlIHRoZSBmaXJzdCBzZXFudW0uIE90aGVyd2lzZSB3ZSdyZQoJICBnb2luZyB0byBkcm9wIGFsbCBxdWV1ZWQgdXAgcGFja2V0cy4KCjIwMTUtMTItMDkgMTE6NDk6MDIgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBSZW1vdmUgdW5zZWQgZmllbGQKCSAgUmVtb3ZlIHVudXNlZCBmaWVsZCBjb2xsZWN0X2V2ZW50IGluIGludGVybGVhdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkyMjYKCjIwMTUtMTItMDcgMTY6MzM6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU3RvcCBwdXNoaW5nIGRhdGEgYXMgc29vbiBhcyBwb3NzaWJsZSBpbiBwdXNoLW1vZGUKCSAgV2hlbiB3b3JraW5nIGluIHB1c2gtbW9kZSwgd2UgYXR0ZW1wdCB0byBwdXNoIG91dCBldmVyeXRoaW5nIGN1cnJlbnRseQoJICBidWZmZXJlZCBpbiB0aGUgYWRhcHRlci4KCSAgVGhpcyBoYXMgdHdvIHBpdGZhbGxzOgoJICAqIFdlIGNvdWxkIHN0b3AgZWFybGllciAodGhlIG1vbWVudCB3ZSBnZXQgYSBub24tb2sgb3Igbm9uLW5vdC1saW5rZWQpCgkgICogV2UgcmV0dXJuIHRoZSBsYXN0IGNvbWJpbmVkIGZsb3cgcmV0dXJuLCB3aGljaCBtaWdodCBiZSBjb21wbGV0ZWx5CgkgIGRpZmZlcmVudCBmcm9tIHRoZSBwcmV2aW91cyBjb21iaW5lZCBmbG93IHJldHVybgoKMjAxNS0xMi0wNyAwOTowODowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzMTk5MDkgdG8gODZlNDY2MwoKMjAxNS0xMi0wNyAxNDo0MTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIGEgd2FybmluZyBpZiBhbiBlbXB0eSBSVENQIHBhY2tldCBpcyB0cmllZCB0byBiZSBzZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxMTkKCjIwMTUtMTEtMzAgMTk6MjA6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSAgdnB4ZGVjOiBVc2UgR3N0TWVtb3J5IHRvIGF2b2lkIGNvcGllcwoJICBXaXRoIHRoZSBWUFggZGVjb2RlcnMgaXQncyBub3Qgc2ltcGxlIHRvIHVzZSBkb3duc3RyZWFtIGJ1ZmZlciBwb29sLAoJICBiZWNhdXNlIHdlIGRvbid0IGtub3cgdGhlIGltYWdlIHNpemUgYW5kIGFsaWdubWVudCB3aGVuIGJ1ZmZlcnMgZ2V0CgkgIGFsbG9jYXRlZC4gV2UgY2FuIHRob3VnaCB1c2UgR3N0QWxsb2NhdG9yIChmb3IgZG93bnN0cmVhbSwgb3IgdGhlIHN5c3RlbQoJICBhbGxvY2F0b3IpIHRvIGF2b2lkIGEgY29weSBiZWZvcmUgcHVzaGluZyBpZiBkb3duc3RyZWFtIHN1cHBvcnRzCgkgIEdzdFZpZGVvTWV0YS4gVGhpcyB3b3VsZCBzdGlsbCBjYXVzZSBhIGNvcHkgZm9yIHNpbmsgdGhhdCByZXF1aXJlcwoJICBzcGVjaWFsaXplZCBtZW1vcnkgYW5kIGRvZXMgbm90IGhhdmUgYSBHc3RBbGxvY2F0b3IgZm9yIHRoYXQsIHRob3VnaAoJICBpdCB3aWxsIGdyZWF0bHkgaW1wcm92ZSBwZXJmb3JtYW5jZSBmb3Igc2luayBsaWtlIGdsaW1hZ2VzaW5rIGFuZAoJICBjbHV0dGVyc2luay4gVG8gYXZvaWQgYWxsb2NhdGluZyBmb3IgZXZlcnkgYnVmZmVyLCB3ZSBhbHNvIHVzZSBhCgkgIGludGVybmFsIGJ1ZmZlciBwb29sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MzcyCgoyMDE1LTExLTMwIDA4OjQyOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQXZvaWQgb3Zlci1za2lwcGluZyB3aGVuIGNoZWNraW5nIExPQVMgY29uZmlnCgkgIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIExPQVMgY29uZmlnIGluIGEgcm93IGluIGEgZnVsbCBmcmFtZS4gVGhlIGZpcnN0CgkgIG9uZSBtaWdodCBiZSBhIG11bHRpLWxheWVyIGNvbmZpZyAod2hpY2ggd2UgY2FuJ3QgcHJvcGVybHkgcGFyc2UgeWV0KS4uLgoJICBidXQgdGhlbiBmb2xsb3dlZCBieSBhIHZhbGlkIChzaW5nbGUtbGF5ZXIpIG9uZS4KCSAgVGhlIGNvZGUgd2FzIHByZXZpb3VzbHkgc2tpcHBpbmcgd2hvbGUgZnJhbWVzIChpbnN0ZWFkIG9mIGp1c3QgdGhlIExPQVMKCSAgY29uZmlnIHdlIGZhaWxlZCB0byByZWFkKSByZXN1bHRpbmcgaW4gbXVsdGlwbGUgZnJhbWVzIChzZWVuIHVwIHRvIDZzIGluCgkgIHNvbWUgc2l0dWF0aW9uKSBiZWluZyBkcm9wcGVkIGJlZm9yZSBmaW5hbGx5IGdldHRpbmcgdGhlIGNvbmZpZ3VyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg4MjYKCjIwMTUtMTEtMjUgMTc6MDg6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQcm9wZXJseSBzZXQgU1BBUlNFIHN0cmVhbSBmbGFncyBmb3Igc3VicGljdHVyZS9zdWJ0aXRsZQoJICBBbmQgd2hpbGUgd2UncmUgYXQgaXQsIGFsc28gZGV0ZWN0ICdEWFNBJyBhcyBiZWluZyBhIHZhcmlhbnQgZm91cmNjCgkgIG9mICdEWFNCJyBmb3IgWFNVQgoKMjAxNS0xMS0zMCAyMToyMzo1MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBncmFtbWFyIGZpeAoKMjAxNS0xMS0zMCAyMTowMToxNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBzd2l0Y2ggc2hvdXRjYXN0IHN0cmVhbSBwcm92aWRlcgoJICBGaXhlcyBmYWlsaW5nIElDWSB0ZXN0LiBQcmV2aW91cyBwcm92aWRlciBoYXMKCSAgc3RyZWFtaW5nIGRpc2FibGVkIG91dHNpZGUgVUsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxMTQKCjIwMTUtMTEtMTggMTY6MTA6MTEgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBkb24ndCBjcmFzaCBpZiB3ZSBuZXZlciBnb3QgYXVkaW8gY2FwcyBiZWZvcmUgc3RvcHBpbmcKCSAgYXVkcy5ibG9ja2FsaWduIGlzIHNldCBvbmNlIHRoZSBmaXJzdCBjYXBzIGFycml2ZS4gSWYKCSAgZ3N0X2F2aV9tdXhfc3RvcF9maWxlKCkgaXMgY2FsbGVkIGJlZm9yZSB0aGlzIGhhcHBlbnMgdGhlbiBhdWRzLmJsb2NrYWxpZ24KCSAgaXMgemVybyBhbmQgZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfZmllbGRzKCkgY2F1c2UgYSBjcmFzaDoKCSAgWy4uLl0KCSAgYXZpcGFkLT5wYXJlbnQuaGRyLnJhdGUgPSBhdmlwYWQtPmF1ZHMuYXZfYnBzIC8gYXZpcGFkLT5hdWRzLmJsb2NrYWxpZ247CgkgIFsuLi5dCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5MTIKCjIwMTUtMTItMDEgMTg6MjA6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRvbid0IGJsb2NrIHdoZW4gcmVzdXJlY3RpbmcgYSBidWZmZXIKCSAgV2hlbiB3ZSBhcmUgcmVzdXJlY3RpbmcgYSBidWZmZXIsIGRvbid0IGJsb2NrLiBpbnN0ZWFkIGxldCB1cyBjb3B5IGEKCSAgYnVmZmVyLgoKMjAxNS0xMi0wMSAwMDozMDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZW1vdmUgZXh0cmEgdmFyaWFibGUgdG8gaW1wcm92ZSByZWFkYWJpbGl0eQoJICBNYWtlcyBpdCBlYXNpZXIgdG8gc2VlIHRoYXQgdGhlIGV2ZW50IGlzIGJlaW5nIHJlcGxhY2VkL3VucmVmZWQKCjIwMTUtMTItMDEgMDA6MjI6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVzcGVjdCBzZXFudW0gaW4gc2VlayBldmVudHMKCSAgUHJvcGFnYXRlIHRoZSBvcmlnaW5hbCBzZWVrIHNlcW51bSB0byBldmVudHMgb3JpZ2luYXRlZCBmcm9tCgkgIHNlZWtpbmcgdG8gbWFrZSBzdXJlIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZQoKMjAxNS0xMi0wMSAwMDowMzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmbHVzaCB1cHN0cmVhbSB3aGVuIHNlZWtpbmcgaW4gcHVsbCBtb2RlCgkgIE1ha2VzIHN1cmUgdXBzdHJlYW0gd2lsbCB1bmJsb2NrIGFuZCByZXR1cm4gdGhlIHRocmVhZCBzbyB0aGF0CgkgIHNlZWtpbmcgY2FuIGNvbnRpbnVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg4NjEKCjIwMTUtMTEtMjcgMDk6Mjc6MjkgKzAxMDAgIEFudG9uIEJvbmRhcmVua28gPGFudG9uYm9AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYWRkICJzZW5kIFNQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUiIG1vZGUKCSAgSXQncyBub3QgZW5vdWdoIHRvIGhhdmUgdGltZW91dCBvciBldmVudCBiYXNlZCBTUFMvUFBTIGluZm9ybWF0aW9uIHNlbnQKCSAgaW4gUlRQIHBhY2tldHMuIFRoZXJlIGFyZSBzb21lIHNjZW5hcmlvcyB3aGVuIGtleSBmcmFtZXMgbWF5IGFwcGVhcgoJICBtb3JlIGZyZXF1ZW50bHkgdGhhbiBvbmNlIGEgc2Vjb25kLCBpbiB3aGljaCBjYXNlIHRoZSBtaW5pbXVtIHRpbWVvdXQKCSAgZm9yICJjb25maWctaW50ZXJ2YWwiIG9mIDEgc2Vjb25kIGZvciBzZW5kaW5nIFNQUy9QUFMgaXMgbm90IHN1ZmZpY2llbnQuCgkgIEl0IG1pZ2h0IGFsc28gYmUgZGVzaXJhYmxlIGluIGdlbmVyYWwgdG8gbWFrZSBzdXJlIHRoZSBTUFMvUFBTIGlzCgkgIGF2YWlsYWJsZSB3aXRoIGV2ZXJ5IGtleWZyYW1lIChwYWNrZXQgbG9zcyBhc2lkZSksIHNvIHJlY2VpdmVycyBjYW4KCSAgYWN0dWFsbHkgcGljayB1cCBkZWNvZGluZyBpbW1lZGlhdGVseSBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBpZgoJICBTUFMvUFBTIGlzIG5vdCBzaWduYWxlZCBvdXQgb2YgYmFuZC4KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBwb3NzaWJpbGl0eSB0byBzZW5kIFNQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUuIFRoaXMKCSAgbW9kZSBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHRvIC0xLiBJbiB0aGlzCgkgIGNhc2UgdGhlIHBheWxvYWRlciB3aWxsIGFkZCBTUFMgYW5kIFBQUyBiZWZvcmUgZXZlcnkga2V5IChJRFIpIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE1LTExLTI3IDA5OjAzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBjaGFuZ2UgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHR5cGUgZnJvbSB1aW50IHRvIGludAoJICBUaGlzIHdheSB3ZSBjYW4gdXNlIC0xIGFzIHNwZWNpYWwgdmFsdWUsIHdoaWNoIGlzIG5pY2VyIHRoYW4gTUFYVUlOVC4KCSAgVGhpcyBpcyBiYWNrd2FyZHMgY29tcGF0aWJsZSBldmVuIHdpdGggdGhlIEdWYWx1ZSBBUEksIGFzIHNob3duIGJ5CgkgIGEgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE1LTExLTI2IDIxOjQ2OjExICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBPcHVzCgkgIEFkZCBzdXBwb3J0IGZvciBkZW11eGluZyBPcHVzIGVuY2Fwc3VsYXRlZCBpbiBNUDQgZmlsZXMsIGJhc2VkIG9uIHRoZQoJICBmb2xsb3dpbmcgc3BlYzogaHR0cHM6Ly93d3cub3B1cy1jb2RlYy5vcmcvZG9jcy9vcHVzX2luX2lzb2JtZmYuaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjQzCgoyMDE1LTExLTI1IDIyOjQ4OjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBtYWNybyBmb3IgY29kZWNfbmFtZQoJICBVc2UgX2NvZGVjKCkgbWFjcm8gaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAxNS0wMy0yNSAxNjozMjo1NSArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiB2aWRlb2RlYzogY2hvb3NlIGZvcm1hdCBmcm9tIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzgyNwoKMjAxNS0wMy0yNyAxNTowMjozMyArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBhZGQgZ3N0X3Y0bDJfb2JqZWN0X3Byb2JlX2NhcHMKCSAgQWRkIGEgdmFyaWFudCBvZiBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHMgdGhhdCBieXBhc3NlcyB0aGUgcHJvYmVkX2NhcHMgY2FjaGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MjcKCjIwMTUtMTEtMTkgMTc6MjA6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMi1wcm9iZTogU2tpcCBkZXZpY2VzIHdpdGhvdXQgc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTUtMTEtMTMgMTI6MzU6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBUcmFjayAvZGV2L3ZpZGVvKiB0byB0cmlnZ2VyZWQgcmVxdWlyZWQgcHJvYmUKCSAgSWYgc29tZXRoaW5nIGluIC9kZXYvdmlkZW8qIGdldCBhZGRlZCwgcmVtb3ZlZCBvciByZXBsYWNlZCwgd2UgbmVlZCB0bwoJICBwcm9iZSB0aGUgZGV2aWNlcyBhZ2FpbiBpbiBvcmRlciB0byBlbnN1cmUgdGhlIGR5bmFtaWMgZGV2aWNlcyBhcmUgdXAgdG8KCSAgZGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODA4NQoKMjAxNS0xMS0yNSAxNDo1MTo0MCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IHJ0cHNlc3Npb246IGRvbid0IHNlbmQgZW1wdHkgUlRDUCBwYWNrZXRzCgkgIGdlbmVyYXRlX3J0Y3AgY2FuIHByb2R1Y2UgZW1wdHkgcGFja2V0cyB3aGVuIHJlZHVjZWQgc2l6ZSBSVENQIGlzIHR1cm5lZCBvbi4KCSAgU2tpcCB0aGVtIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwdXNoIHRoZW0gYW5kIHRoZXkgY2F1c2UgZXJyb3JzIHdpdGgKCSAgZWxlbWVudHMgdGhhdCBleHBlY3QgUlRDUCBwYWNrZXRzIHRvIGNvbnRhaW4gZGF0YSAobGlrZSBzcnRwZW5jKS4KCjIwMTUtMTEtMjQgMTA6NTc6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXN0b3JlIHRoZSBzZWdtZW50IG9uIGNhc2Ugb2Ygc29mdCByZXNldAoJICBXaGVuIHNlZWtpbmcgYmFjayB0byByZXN0b3JlIHRoZSBtZGF0IHBvc2l0aW9uIGEgZmx1c2ggaXMgcHVzaGVkCgkgIHRocm91Z2ggYW5kIGl0IHJlc2V0cyBkb3duc3RyZWFtIHNlZ21lbnQgaW5mb3JtYXRpb24uIE1ha2Ugc3VyZQoJICB0aGF0IGFmdGVyIHRoZSBmbHVzaCAodGhhdCBkb2VzIGEgc29mdCByZXNldCkgYSBzZWdtZW50IHdpbGwKCSAgYmUgcHVzaGVkIGFnYWluCgkgIEZpeGVzIHJlZ3Jlc3Npb25zIHNwb3R0ZWQgYXQKCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLXZhbGlkYXRlLzIxMDAvCgoyMDE1LTExLTIwIDEyOjQ0OjIyICswMDAwICBHcmFoYW0gTGVnZ2V0dCA8bWluZnJpbkBzaGFycC5mbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBmaXggc3BlbGxpbmcgb2YgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODM5MAoKMjAxNS0xMS0yMCAxMTowNTo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1bml0ZSBkdXBsaWNhdGUgRm91ckNDCgkgIFVuaXRlIGluIGZvdXJjYy5oIHRoZSBGb3VyQ0NzIHRoYXQgYXJlIHVzZWQgdHdpY2Ugb3IgbW9yZSBpbiBxdGRlbXV4CgoyMDE1LTExLTE5IDE1OjMzOjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBGaXggY2FwdHVyZS9vdXRwdXQtaW8tbW9kZSBwcm9wZXJ0aWVzCgkgIFRoZXJlIHdhcyBzb21lIG1pc3MtbWF0Y2ggaW4gdGhlIGltcGxlbWVudGF0aW9uLiBUaGlzIG1ha2VzIGl0CgkgIGNvbmNpc3RlbnQsIHRob3VnaCBmdW5jdGlvbmFsbHkgaXQgd29ya2VkLCBleGNlcHQgdGhlIHZpZGVvIGRlY29kZXIKCSAgb3V0cHV0LWlvLW1vZGUgZ2V0dGVyLgoKMjAxNS0xMS0xOSAxOTo0ODowNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6IHJlbW92ZSB1bnVzZWQgYXJndW1lbnQgb2YgYnVpbGRfbW92X3dhdmVfZXh0ZW5zaW9uKCkKCSAgQXRvbVRyYWsgKiB0cmFrIGFyZ3VtZW50IG9mIGJ1aWxkX21vdmVfd2F2ZV9leHRlbnNpb24oKSBpc24ndCB1c2VkLgoJICBSZW1vdmluZyBpdC4KCjIwMTUtMTEtMTkgMTk6Mjg6MjAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGR1cGxpY2F0ZSBGb3VyQ0MKCSAgVXNlIHRoZSBhdmFpbGFibGUgRm91ckNDcyBpbiBmb3VyY2MuaCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRoZW0uCgoyMDE1LTExLTE5IDE4OjM2OjM5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogY2VudHJhbGl6ZSBhbGwgRm91ckNDCgkgIDEwIEZvdXJDQ3MgZ2VuZXJhdGVkIHdpdGggR1NUX01BS0VfRk9VUkNDKCkgaW4gZ3N0cXRtdXguYyBhbmQgYXRvbXMuYwoJICBhbHJlYWR5IGV4aXN0IGluIGZvdXJjYy5oLiBEb24ndCBkdXBsaWNhdGUgdGhlc2UgYW5kIHVzZSB0aGVtIGRpcmVjdGx5LgoJICBQbHVzIG1vdmluZyA2IHRvIGZvdXJjYy5oLCB0byBjZW50cmFsaXplIHRoZW0gYWxsLgoKMjAxNS0xMS0xOSAxNzozMjoxMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYS93ZWJtbXV4OiBmaXggb3V0ZGF0ZWQgZXhhbXBsZSBsYXVuY2ggbGluZXMKCSAgVXBkYXRlIGdzdC1sYXVuY2gtMC4xMCBsaW5lcyB0byBnc3QtbGF1bmNoLTEuMAoKMjAxNS0xMS0xNiAxMzoyNjo1MCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgaXNvbXA0OiBhZGQgc3VwcG9ydCBmb3IgT3B1cyBpbiBtcDRtcHV4CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVA0IGZpbGVzIGNvbnRhaW5pbmcgT3B1cy4gQmFzZWQgb24gdGhlIHNwZWMKCSAgZGV0YWlsZWQgaGVyZToKCSAgaHR0cHM6Ly93d3cub3B1cy1jb2RlYy5vcmcvZG9jcy9vcHVzX2luX2lzb2JtZmYuaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjQzCgoyMDE1LTExLTE4IDE5OjEwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlcGxhY2UgdGFicyB3aXRoIHNwYWNlcwoKMjAxNS0xMS0xOCAxOTowNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDYXN0IHRvIHNpZ25lZCBpbnRlZ2VycyB0byBwcmV2ZW50IHVuc2lnbmVkIGNvbXBhcmUgYmV0d2VlbiBuZWdhdGl2ZSBhbmQgcG9zaXRpdmUgbnVtYmVycwoJICBUaGlzIGZpeGVzIHNlZWtpbmcgaWYgdGhlIGZpcnN0IGVudHJpZXMgaW4gdGhlIHNhbXBsZXMgdGFibGUgYXJlIG5lZ2F0aXZlLiBUaGUKCSAgYmluYXJ5IHNlYXJjaCB3b3VsZCBhbHdheXMgZmFpbCBvbiB0aGlzIGFzIHRoZSBhcnJheSB3b3VsZCBub3QgYmUgc29ydGVkIGlmCgkgIGludGVycHJldGluZyB0aGUgbmVnYXRpdmUgbnVtYmVycyBhcyBodWdlIHBvc2l0aXZlIG51bWJlcnMuIFRoaXMgY2F1c2VkIHVzIHRvCgkgIGFsd2F5cyBvdXRwdXQgYnVmZmVycyBmcm9tIHRoZSBiZWdpbm5pbmcgYWZ0ZXIgYSBzZWVrIGluc3RlYWQgb2YgY2xvc2UgdG8gdGhlCgkgIHNlZWsgcG9zaXRpb24uCgkgIEFsc28gYWRkIGEgY2FzZSB0byB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgZXF1YWxpdHkuCgoyMDE1LTExLTE4IDE2OjAxOjQ4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIGR1cGxpY2F0ZSBjaGVjawoJICBXZSB3YW50IDEgb3IgMiBzdHJlYW1oZWFkZXJzLCB0aGUgY2hlY2sgIGlmIChidWZhcnItPmxlbiAhPSAxICYmCgkgIGJ1ZmFyci0+bGVuICE9IDIpIGlzIGVub3VnaC4gTm90IG5lZWQgdG8gY2hlY2sgaWYgYnVmYXJyLT5sZW4gaXMgPD0gMCBvcgoJICA+IDI1NS4KCjIwMTUtMTEtMTggMTQ6NDg6MzYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggZXJyb3IgbGVhayBhbmQgaGFuZGxlIGVycm9yCgkgIGdfdGhyZWFkX3RyeV9uZXcgYWxsb3dzIGZvciBwb3NzaWJsaXR5IG9mIGZhaWx1cmVzLiBJbiBjYXNlIGl0IGZhaWxzLAoJICBlcnJvciBpcyBub3QgaGFuZGxlZCBhbmQgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjYwCgoyMDE1LTExLTE1IDE3OjE2OjI5IC0wODAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBQcm9wZXJseSBoYW5kbGUgYmFja3dhcmQgY29tcGF0IGZvciBldmVudCBkZXNlcmlhbGl6YXRpb24KCSAgQWN0dWFsIGNvZGUgaXMgY2hlY2tpbmcgZm9yIGEgTlVMTCB0ZXJtaW5hdG9yIGFuZCBhICc7JyB0ZXJtaW5hdG9yLAoJICBmb3IgYmFja3dhcmQgY29tcGF0LCBpbiBhIGNoYWluZWQgd2F5IHRoYXQgY2F1c2UgYWxsIGV2ZW50cyBiZWluZyByZWplY3RlZC4KCSAgVGhlIHByb3BlciBjb25kaXRpb24gaXMgdG8gcmVqZWN0IHRoZSBldmVudHMgd2hlbiB0ZXJtaW5hdG9yIGlzbid0CgkgIGluIFsnXDAnLCAnOyddIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE1MQoKMjAxNS0xMS0xNSAxNzoxMTowMiAtMDgwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBUZXN0IGZvciBoYW5kbGluZyBvZiBjdXN0b20gZXZlbnRzIGluIHJ0cGdzdAoJICBBZGQgYSBzaW1wbGUgdGVzdCB0aGF0IGNoZWNrcyBwcm9wZXIgc2VyaWFsaXphdGlvbi9kZXNlcmlhbGl6YXRpb24KCSAgb2YgY3VzdG9tIGV2ZW50cyB3aXRoIHJ0cGdzdHBheSBhbmQgcnRwZ3N0ZGVwYXkuCgoyMDE1LTExLTE2IDE2OjIzOjQzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHhkZWM6IFVzZSB0aHJlYWRzIG9uIG11bHRpLWNvcmUgc3lzdGVtcwoJICBUaGlzIGFkZHMgYW4gYXV0b21hdGljIG1vZGUgdG8gdGhlIHRocmVhZHMgcHJvcGVydHkgb2YgdnB4ZGVjIGluIG9yZGVyIHRvCgkgIHVzZSBhcyBtYW55IHRocmVhZHMgYXMgdGhlcmUgaXMgQ1BVIG9uIHRoZSBwbGF0Zm9ybS4gVGhpcyBicmluZ3MgYmFjawoJICBHU3RyZWFtZXIgVlBYIGRlY29kaW5nIHBlcmZvcm1hbmNlIGNsb3NlciB0byB3aGF0IGlzIGFjaGlldmVkIGJ5IG90aGVyCgkgIHBsYXllcnMsIGluY2x1ZGluZyBDaHJvbWl1bS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE5NQoKMjAxNS0xMS0xNiAxMDo1ODozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgc2VuZCBpbml0aWFsIGdhcHMgZm9yIG5vbi1mcmFnbWVudGVkIHN0cmVhbXMKCSAgSXQgd291bGQgYmUgdW51c3VhbCB0byBoYXZlIHRoZSBoZWFkZXIgc2VnbWVudCB3aXRoIGFuICdlZHRzJyBhdG9tCgkgIGluZGljYXRpbmcgZ2FwcyBhdCB0aGUgYmVnaW5uaW5nIHdoZW4gaGFuZGxpbmcgZnJhZ21lbnRlZCBzdHJlYW1zLgoJICBUaGUgaGVhZGVyIHVzdWFsbHkgZG9lc24ndCBjb250YWluIGFueSB0aW1lc3RhbXBpbmcgaW5mb3JtYXRpb24sIHRoaXMKCSAgc2hvdWxkIGNvbWUgZnJvbSB0aGUgcGxheWxpc3QvbWFuaWZlc3QgYW5kIHRoZSBzZWdtZW50cyB3aXRoIG1lZGlhCgkgIGluIHRob3NlIHNjZW5hcmlvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE3MQoKMjAxNS0xMS0xNyAwOTo0MTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkODQyZmYyODhhOWQwMTIxNGEwNDZiZWNiZmQ5Y2JmZjNhNGFjZWEwLgoJICBUaGlzIHdhcyByZXZlcnRlZCBieSBhY2NpZGVudAoKMjAxNS0xMS0xNyAxMjozOTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogQWRkICJsb29wIiBwcm9wZXJ0eSBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIG11bHRpY2FzdCBsb29wYmFjawoJICBPbiBQT1NJWCwgSVBfTVVMVElDQVNUX0xPT1AgaXMgYSBzZXR0aW5nIGZvciB0aGUgc2VuZGVyIHNvY2tldC4gT24gV2luZG93cyBpdAoJICBpcyBhIHNldHRpbmcgZm9yIHRoZSByZWNlaXZlciBzb2NrZXQuIEFzIHN1Y2ggd2Ugd2lsbCBuZWVkIGl0IG9uIHVkcHNyYyB0b28gdG8KCSAgYWxsb3cgZmlsdGVyaW5nIG91dCBvdXIgb3duIG11bHRpY2FzdCBwYWNrZXRzLgoKMjAxNS0xMS0xNiAxMzo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IHJlc3BlY3QgcXQgc2VnbWVudHMgaW4gcHVzaC1tb2RlIGZvciBlbXB0eSBzdGFydHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTQyZDhlMmQyM2U1NjAyZTczODI5NzdhZjEwNDNkNjIxNjI1ZjhjOC4KCjIwMTUtMTEtMTYgMTY6NTY6MDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHN0cmluZyBtZW1vcnkgbGVhawoJICBUaGUgc3RyaW5nIGdvdCB1c2luZyBnX3N0cmR1cF9wcmludGYgd2lsbCBiZSBhbGxvY2F0ZWQgbWVtb3J5CgkgIGFuZCBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTYxCgoyMDE1LTExLTE0IDIxOjUxOjExIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDIvb2JqZWN0OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6NDU6MjkgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIG9zc3NyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjQzOjI0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgc3VuYXVkaW9zcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MzY6MzAgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTozMTowOCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMToyNjoyMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thL3JlYWQtY29tbW9uOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjQzOjEwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNC9hdG9tczogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDozNTo1NCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwL3RoZW9yYXBheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDozMzo1NCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwL3ZvcmJpc3BheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDozMTozNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cC9qcGVncGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjI3OjA0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MjI6MDkgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDoxNDoyNSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDk6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkgIGVmZmVjdHYvb3B0djogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDowNTowMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R2L3NoYWdhZGVsaWN0djogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDowMTo0MyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIGVmZmVjdHYvcmlwcGxlOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE5OjU2OjU3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkgIGVmZmVjdHYvcmFkaW9hYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxOTo1MjoxMiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkgIGVmZmVjdHYvc3RyZWFrOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTc6MDQ6NTUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNjo1NzoxMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTY6NTQ6NDIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE2OjIwOjMzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xMyAxMzozNDowMiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogYWRkIHN1cHBvcnQgb2YgTlYxNiwgTlY2MSBhbmQgTlYyNCBmb3JtYXRzCgkgIE1hcHBlZCByZXNwZWN0aXZlbHkgdG8gVjRMMl9QSVhfRk1UX05WMTYvVjRMMl9QSVhfRk1UX05WMTZNLAoJICBWNEwyX1BJWF9GTVRfTlY2MSxWNEwyX1BJWF9GTVRfTlY2MU0gYW5kIFY0TDJfUElYX0ZNVF9OVjI0IHY0bDIgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODA1OAoKMjAxNS0xMS0xMSAxNDoxMDo1MyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4cGFydHJlYWRlcjogRml4IEdDb25kIGxlYWsKCSAgaW5hY3RpdmVfY29uZCBpcyBub3QgYmVpbmcgY2xlYXJlZCByZXN1bHRpbmcgaW4gbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MjQKCjIwMTUtMDgtMDYgMTI6NDQ6MjAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBvdXRwdXQgc3RhdGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBqcGVnX2ZpbmlzaF9kZWNvbXByZXNzIGlzIGNhbGxlZCwgb3V0cHV0IHN0YXRlIHJlZmVyZW5jZSBpcyBiZWluZyBjcmVhdGVkLgoJICBCdXQgaWYgdGhlcmUgaXMgYW55IGZhaWx1cmVzIGluIGZpbmlzaGluZyBkZWNvbXByZXNzLCBpdCBqdW1wcyB0byBzZXRqbXAsCgkgIGFuZCBhdCB0aGF0IHBvaW50IHN0YXRlIHdhcyBub3QgcmVmZXJlbmNlZC4gUmVzdWx0aW5nIGluIGxlYWsgb2Ygb3V0cHV0IHN0YXRlLgoJICBIZW5jZSBhZGRpbmcgYW5vdGhlciBzZXRqbXAgYWZ0ZXIgb3V0cHV0IHN0YXRlIGlzIHJlZmVyZW5jZWQuCgkgIFNpbWlsYXJseSBhZGRpbmcgYW5vdGhlciBzZXRqbXAgdG8gdW5tYXAgdGhlIGZyYW1lIGluIGNhc2UgZXJyb3IgaGFwcGVucyBiZWZvcmUKCSAgZmluaXNoX2RlY29tcHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA4NwoKMjAxNS0wOC0xMCAxMToyMzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc3BlY3QgcXQgc2VnbWVudHMgaW4gcHVzaC1tb2RlIGZvciBlbXB0eSBzdGFydHMKCSAgSW4gcHVzaC1tb2RlIGl0IGlzIGhhcmQgdG8gc3VwcG9ydCBxdCBzZWdtZW50cyBvdmVyYWxsIGJ1dCBpdCBpcwoJICBwb3NzaWJsZSB0byBzdXBwb3J0IHdoZW4gdGhlIGZpbGUgaXNuJ3QgaGVhdmlseSBlZGl0ZWQgYnV0IGp1c3QgY29udGFpbgoJICBhIHNlZ21lbnQgdG8gaW5kaWNhdGUgYSBnYXAgYXQgdGhlIGJlZ2lubmluZy4gVGhpcyBhbHNvIGFsbG93cyBwcm9wZXJseQoJICB0aW1lc3RhbXBpbmcgZGF0YSB0aGF0IGhhcyBuZWdhdGl2ZSBEVFMgaW4gcHVzaC1tb2RlLgoJICBJdCBpcyByZWxldmFudCB0byBzdXBwb3J0IHRob3NlIGZvciAyIHNjZW5hcmlvczoKCSAgMSkgZnJhZ21lbnRlZCBzdHJlYW1pbmcKCSAgMikgSFRUUCBwbGF5YmFjayBvZiAncmVndWxhcicgbXA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0ODQKCjIwMTUtMTEtMDUgMTg6Mzk6MzMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkgIHB1bHNlOiBEb24ndCBsZWFrIGNhcHMgYW5kIHN0cnVjdHVyZXMgaW4gdGhlIGRldmljZSBwcm92aWRlcgoKMjAxNS0xMS0wNCAxOTowMToyMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IERvY3VtZW50IHByb3BlcnRpZXMgdGhhdCBhcmUgZXhwcmVzc2VkIGluIGJpdHMgcGVyIHNlY29uZAoJICBUaGlzIGNoYW5nZWQgaW4gOTI4Y2QxMTBiY2VhNWQxNDNjYWIzZWE3NDc5OTE4NTFkNTJlY2JhZCBhbmQKCSAgNzNjMGMyOTIwZjlhY2E5Njk4MmE0ZGUwYzIwYjM0MTdhYTE0OGI4MSBidXQgd2FzIG5vdCBkb2N1bWVudGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTExLTA0IDE4OjUxOjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBUcml2aWFsIGdzdC1pbmRlbnQgZml4ZXMKCjIwMTUtMDgtMTIgMTM6MzU6NDAgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgZm9yIGNlbmMgYXV4aWxpYXJ5IGluZm8gcGFyc2luZyBvdXRzaWRlIG9mIG1vb2YgYm94CgkgIFdoZW4gdGhlIGNlbmMgYXV4IGluZm8gaW5kZXggaXMgb3V0IG9mIG1vb2YgYm91bmRhcmllcywga2VlcCB0cmFjayBvZgoJICBpdCBhbmQgcGFyc2UgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWRhdCBib3gsIGJlZm9yZSB0aGUgZmlyc3Qgc2FtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjE0CgoyMDE1LTExLTAzIDIwOjMzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBjb2RlY3V0aWxzIGhlbHBlcnMgZm9yIGNyZWF0aW5nIE9wdXMgY2FwcwoJICBBbHNvIGZpeCB1cCBjb2RlYyBkYXRhIHdpdGggdmFsdWVzIGZyb20gdGhlIGNvbnRhaW5lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxNDo1MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBUaGVyZSBpcyBubyBtdWx0aXN0cmVhbSBmaWVsZCBmb3IgT3B1cyBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTI6NDI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYS93ZWJtbXV4OiBTdXBwb3J0IE9wdXMgaW4gd2VibW11eCBhbmQgVlA5IGluIG1hdHJvc2thbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk5NTAKCjIwMTUtMTEtMDMgMTI6NDA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUGFyc2UgYW5kIGhhbmRsZSBDb2RlY0RlbGF5LCBTZWVrUHJlcm9sbCBhbmQgRGlzY2FyZFBhZGRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAxMjoxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogV3JpdGUgQ29kZWNEZWxheSwgRGlzY2FyZFBhZGRpbmcgYW5kIFNlZWtQcmVyb2xsIGZvciBPcHVzCgkgIEFuZCBhbHNvIGFkanVzdCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgYWNjb3JkaW5nIHRvIHRoZSBjb2RlYyBkZWxheSwgYm90aAoJICBzaG91bGQgaW5jbHVkZSBpdCBmb3Igd2hhdGV2ZXIgcmVhc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE1LTExLTAzIDExOjQ5OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT3B1cyBoZWFkZXJzIGFyZSBub3QgaW4tYmFuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE1LTExLTAzIDIyOjAxOjA3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogU2V0IE9fQ0xPRVhFQyBvbiB0aGUgZGV2aWNlIGZkCgkgIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGF0IGNoaWxkIHByb2Nlc3NlcyBkb24ndCBpbmhlcml0IHRoZSB2aWRlbwoJICBkZXZpY2UgZmQgd2hpY2ggY2FuIGNhdXNlIHByb2JsZW1zIHdpdGggc29tZSBkcml2ZXJzLgoKMjAxNS0xMS0wMyAxNDo0NjozMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBzd2l0Y2ggR19HSU5UNjRfRk9STUFUIGZvciBHU1RfU1RJTUVfQVJHUwoJICBObyBuZWVkIHRvIHVzZSBHX0dJTlQ2NF9GT1JNQVQgZm9yIHBvdGVudGlhbGx5IG5lZ2F0aXZlIHZhbHVlcyBvZgoJICBHc3RDbG9ja1RpbWVEaWZmLiBTaW5jZSAxLjYgdGhlc2UgY2FuIGJlIGhhbmRsZWQgd2l0aCBHU1RfU1RJTUVfQVJHUy4KCSAgUGx1cyBpdCBjcmVhdGVzIG1vcmUgcmVhZGFibGUgdmFsdWVzIGluIHRoZSBsb2dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NDgwCgoyMDE1LTExLTAzIDE0OjI2OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDE2OjUzOjE1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBkaWZmLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDIgMTY6NDM6NDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgaXMKCSAgYXZhaWxhYmxlIGZvciB0aGlzLgoKMjAxNS0xMC0zMCAxMDowNTozNyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgIGF1ZGlvY2hlYmJhbmQ6IEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmUKCSAgRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM0MAoKMjAxNS0xMC0yOCAyMzo0NzozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IGZpeCBkb3VibGUtdW5yZWYgaW4gdGhlIHY0bDIgZGV2aWNlIHByb3ZpZGVyCgoyMDE1LTEwLTI3IDEwOjQ4OjAwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGRyb3AgSlBFRyBmcmFtZXMgdGhhdCBvbmx5IGhhdmUgUFRTIGJ1dCBubyBEVFMgc2V0CgkgIEZvciB0aGUgTVMvVmZXIGNvZGVjIGlkcywgd2Ugd2FudCB0byB3cml0ZSBEVFMgdGltZXN0YW1wcyBpbnN0ZWFkCgkgIG9mIFBUUyBiZWNhdXNlIHRoYXQncyB3aGF0IGV2ZXJ5b25lIGVsc2Ugc2VlbXMgdG8gZG8gKGFuZCBpdCdzIGFsc28KCSAgaG93IGl0IGlzIGluIEFWSSkuIFNvIGZvciB0aG9zZSBpbnB1dCBmb3JtYXRzIHdlIHVzZSB0aGUgYnVmZmVyIERUUwoJICBpbnN0ZWFkIG9mIHRoZSBQVFMuIEhvd2V2ZXIsIGlmIHRoZXJlJ3Mgbm8gRFRTIHNldCBidXQgb25seSB0aGUgUFRTCgkgIHRoZW4ganVzdCB0YWtlIHRoZSBQVFMgaW5zdGVhZCBvZiBkcm9wcGluZyB0aGUgaW5wdXQgYnVmZmVyLiBUaGlzCgkgIGlzIHVzZWZ1bCBlc3BlY2lhbGx5IGZvciBJLWZyYW1lIG9ubHkgY29kZWNzIGxpa2UgSlBFRyBhbmQgaHVmZnl1diwKCSAgYnV0IHNob3VsZCBhbHNvIGJlIGZpbmUgYXMgZmFsbGJhY2sgaW4gZ2VuZXJhbC4KCSAgRml4ZXMgcmVncmVzc2lvbiB3aXRoIGlucHV0IEpQRUcgZnJhbWVzIHRoYXQgb25seSBoYXZlIFBUUyBzZXQgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk2NwoKMjAxNS0xMC0yNCAyMzo1NzozOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzL2NoZWNrL3NwbGl0bXV4OiB0ZXN0IHRoYXQgdGhlIHJlbGVhc2VfcGFkIHZmdW5jIG9mIHNwbGl0bXV4c2luayBhY3R1YWxseSByZWxlYXNlcyBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjIKCjIwMTUtMTAtMjQgMjM6NTc6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGRvIG5vdCBkZXN0cm95IHRoZSBtdWx0aXF1ZXVlICYgbXV4ZXIgd2hlbiBnb2luZyB0byBOVUxMCgkgIEluc3RlYWQsIGRlbGF5IGl0IHVudGlsIGFsbCByZXF1ZXN0IHBhZHMgaGF2ZSBiZWVuIHJlbGVhc2VkLiBUaGlzIGlzCgkgIGJlY2F1c2UgdGhlIHJlbGVhc2VfcGFkKCkgdmZ1bmMgcmVxdWlyZXMgdGhlIG11bHRpcXVldWUgYW5kIG11eGVyIHRvCgkgIGJlIHRoZXJlIGluIG9yZGVyIHRvIHJlbGVhc2UgdGhlaXIgcmVxdWVzdCBwYWRzIGFzIHdlbGwuIElmIHRob3NlCgkgIGVsZW1lbnRzIGFyZSBkZXN0cm95ZWQgZWFybGllciwgcmVsZWFzZV9wYWQoKSBkb2VzIG5vdCB3b3JrLCBubwoJICBwYWRzIGFyZSByZWxlYXNlZCBhbmQgc29tZSByZXNvdXJjZXMgYXJlIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMgoKMjAxNS0xMC0yMCAxNToyODoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZWFkIGJ1ZmZlciB0aW1lc3RhbXAgKmFmdGVyKiBhY3R1YWxseSBzZXR0aW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4MDkKCjIwMTUtMTAtMjQgMTc6MTQ6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogRml4IGhhbmRsaW5nIG9mIHJhdGUgPCAwCgkgIFdlIGhhdmUgdG8gcmV2ZXJzZSBhbGwgc2FtcGxlcyBpbiBhIGJ1ZmZlciBiZWZvcmUgcHJvY2Vzc2luZyB0aGVtIHRvIHByb3Blcmx5CgkgIGhhdmUgY29udGludW91cyBkYXRhIGZyb20gb25lIGJ1ZmZlciB0byBhbm90aGVyLiBBcyBhIHJlc3VsdCB3ZSB3aWxsIGhhdmUgYQoJICBuZWdhdGl2ZSBhcHBsaWVkIHJhdGUgYW5kIGEgcmF0ZSBvZiAxLjAuCgkgIEFsc28gbWFrZSBzdXJlIHRoYXQgaW5wdXQgYnVmZmVycyBhcmUgY29ycmVjdGx5IGNsaXBwZWQgdG8gdGhlIHNlZ21lbnQsCgkgIG90aGVyd2lzZSBvdXIgY2FsY3VsYXRpb25zIGFyZSBnb2luZyB0byBnbyB3cm9uZy4KCSAgQWxzbyBjb3B5IG92ZXIgdGhlIHNlZ21lbnQgZXZlbnQncyBzZXF1ZW5jZSBudW1iZXIgdG8gdGhlIG91dHB1dCBzZWdtZW50IHdoaWxlCgkgIHdlJ3JlIGF0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDMzCgoyMDE1LTEwLTE5IDE4OjA0OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGJyZWFrIGFzIHNvb24gYXMgbm9uLWludGVybGFjZWQgaWYgZm91bmQKCSAgSXQgbG9va3MgZm9yIGEgbm9uLWludGVybGFjZWQgZW50cnkgb24gdGhlIGZpbHRlciBjYXBzLCBicmVhawoJICBhcyBzb29uIGFzIG9uZSBpcyBmb3VuZCB0byBhdm9pZCB3YXN0aW5nIGNwdQoKMjAxNS0xMC0xOSAxNzo1MDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXBsZW1lbnQgYWNjZXB0LWNhcHMKCSAgSW1wbGVtZW50IGFjY2VwdC1jYXBzIGhhbmRsZXIgdG8gYXZvaWQgZG9pbmcgYSBmdWxsIGNhcHMgcXVlcnkKCSAgZG93bnN0cmVhbSB0byBoYW5kbGUgaXQuCgkgIFRoaXMgY29tbWl0IGltcGxlbWVudHMgYWNjZXB0LWNhcHMgYXMgYSBzaW1wbGlmaWNhdGlvbiBvZiB0aGUgX2dldGNhcHMKCSAgZnVuY3Rpb24sIHNvIGl0IGV4cG9zZXMgdGhlIHNhbWUgbGltaXRhdGlvbnMgdGhhdCBnZXRjYXBzIHdvdWxkLgoJICBGb3IgZXhhbXBsZSwgbm90IGFjY2VwdGluZyByZW5lZ290aWF0aW9uIHRvIGNhcHMgd2l0aCBjYXBzZmVhdHVyZXMgd2hlbgoJICBpdCB3YXMgbGFzdCBjb25maWd1cmVkIHRvIGEgY2FwcyB0aGF0IGl0IGhhcyB0byBkZWludGVybGFjZS4KCjIwMTUtMTAtMTkgMTc6MDY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkZWludGVybGFjZTogZml4IHNtYWxsIHR5cG8gaW4gY29tbWVudAoKMjAxNS0xMC0yNiAwMDo0MToyOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERpc3Qgc3BsaXR2aWRlbzBbMDEyXS5vZ2cgdGVzdCBmaWxlcy4KCjIwMTUtMTAtMjMgMjA6MTY6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogQWRkIHN1cHBvcnQgZm9yIEY2NAoKMjAxNS0xMC0yMiAxNzo0MDozOCAtMDcwMCAgTWlzY2hhIFNwaWVnZWxtb2NrIDxtc3BpZWdlbG1vY2tAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogTWlub3IgZml4ZXMgaW4gdmFyaW91cyBwbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk5NgoKMjAxNS0xMC0yMSAxNzo0MzozMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IHJlbW92ZSBjb21waWxlciB0cmljawoJICBBZnRlciBjb21taXQgMmNiNmNmZWQyMjE2NmIyNjJhZTUwY2I1OGYzZmYxMWRkOGJhOTFmOSB0aGVyZSBpcyBubyBuZWVkIHRvCgkgIHRyaWNrIHRoZSBjb21waWxlciBhbnltb3JlIGFib3V0IHRoZSB1c2FnZSBvZiB2YXJpYWJsZSBjcHVGbGF2b3VyLgoKMjAxNS0xMC0yMSAxNDozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjk5ODAwYSB0byBiMzE5OTA5CgoyMDE1LTEwLTIxIDE3OjQxOjM4ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIGF1ZGlvZng6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHVuc3VlZCB2YXJpYWJsZSBoYXZlX2NvZWZmcyBpbiBhdWRpb2Z4YmFzZWlpcmZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2OTA1CgoyMDE1LTEwLTIwIDE3OjI5OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVc2UgbmV3IEdTVF9FTkFCTEVfRVhUUkFfQ0hFQ0tTICNkZWZpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg3MAoKMjAxNS0xMC0yMSAxNDoyNTo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5YWVkMWQ3IHRvIGI5OTgwMGEKCjIwMTUtMTAtMjEgMTE6NTM6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZWxheCBjcmVhdGlvbiB0aW1lIHBhcnNpbmcKCSAgUGFyc2Ugd3JvbmcgdGltZXN0YW1wcyBsaWtlIHdlIHVzZWQgdG8gd3JpdGUgYXMgd2VsbCwKCSAgZS5nLiAxMDo5OjQyLCBhbmQgdGhlIGhvdXIgbWlnaHQgYmUgd2l0aG91dCBhIGxlYWRpbmcKCSAgemVybyBpbiBhbnkgY2FzZS4KCjIwMTUtMTAtMjEgMTE6NDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggaW5kZW50YXRpb24KCjIwMTUtMTAtMjEgMTE6NDQ6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBleHRyYWN0IGJvdGggY3JlYXRpb24gZGF0ZSBhbmQgdGltZQoJICBCZWZvcmUgd2Ugb25seSBleHRyYWN0ZWQgdGhlIGRhdGUgcGFydC4KCjIwMTUtMTAtMjEgMTE6MTY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCB3cml0aW5nIG9mIGNyZWF0aW9uIHRpbWUKCSAgRG9uJ3Qgd3JpdGUgdGltZSBhcyBlLmcuIDExOjk6NDIKCjIwMTUtMTAtMTMgMTI6NDI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogdXBkYXRlIGZyYWdtZW50IG9mZnNldAoJICBJdCB3YXMgYWx3YXlzIGJlaW5nIHNldCB0byAwLCBtYWtpbmcgdGhlIHJlc3VsdGluZyBzdHJlYW0gYnJva2VuCgkgIGZvciB0aGUgcmVjZWl2ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjQyMgoKMjAxNS0xMC0xOSAxNTozNjozNyArMDMwMCAgUnlhbiBIZW5kcmlja3NvbiA8cnlhbi5oZW5kcmlja3NvbkBhbHVtLm1pdC5lZHU+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1bmNvbmRpdGlvbmFsbHkgdXNlIHN0cm5sZW4oKQoJICBJdCdzIG5vdCBhdmFpbGFibGUgb24gb2xkZXIgT1NYIGFuZCB3ZSBjYW4gYXMgd2VsbCB1c2UgbWVtY2hyKCkgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE1NAoKMjAxNS0xMC0xOSAxNzozODozMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogRml4IGV2ZW50IG1lbW9yeSBsZWFrCgkgIEZyZWUgdGhlIGV2ZW50IGFmdGVyIGJlaW5nIGhhbmRsZWQgdG8gcHJldmVudCBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njc5OQoKMjAxNS0xMC0xOSAwOToxNDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHVuaWZ5IHJhdyBhdWRpbyBjYXBzIGludG8gYSBzaW5nbGUgY2FwcyBzdHJ1Y3R1cmUKCjIwMTUtMTAtMTQgMTU6NDI6NTAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgRkZWMSBjb2RlZCBzdHJlYW1zIGluIG1vdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDk1CgoyMDE1LTEwLTE0IDE1OjUzOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEVPUyBpbW1lZGlhdGVseSBpZiB3ZSBoYXZlIGFuIGVtcHR5IHNlZWsgc2VnbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2CgoyMDE1LTEwLTE0IDEwOjQzOjE5ICswMzAwICBTdGF2cm9zIFZhZ2lvbml0aXMgPHN0YXZyb3N2QGRpZ2lzb2Z0LnR2PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE1ha2Ugbm9uLWluY2x1c2l2ZSBzZWdtZW50IGJvdW5kYXJpZXMgaW5jbHVzaXZlCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGZpbGVzcmMgYW5kIHNvdXBodHRwc3JjIGFyZSBiZWhhdmluZwoJICBkaWZmZXJlbnRseSByZWdhcmRpbmcgdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBzZWdtZW50IGJvdW5kYXJpZXMuIFRoZQoJICBmaWxlc3JjIGlzIHVzaW5nIGEgbm9uLWluY2x1c2l2ZSBib3VuZGFyaWVzLCB3aGlsZSB0aGUgc291cGh0dHBzcmMKCSAgdXNlcyBpbmNsdXNpdmUuIEN1cnJlbnRseSB0aGUgaGxzZGVtdXggY2FsY3VsYXRlcyB0aGUgYm91bmRhcmllcyBhcwoJICBpbmNsdXNpdmUsIHNvIGZvciB0aGlzIHJlYXNvbiB0aGVyZSBpcyBubyBwcm9ibGVtIHdpdGggdGhlIHNvdXBodHRwc3JjLAoJICBidXQgdGhlcmUgaXMgYW4gaXNzdWUgaW4gdGhlIGZpbGVzcmMuCgkgIFRoZSBHc3RTZWdtZW50IGlzIG5vbi1pbmNsdXNpdmUsIHNvIHRoZSBwcm9wb3NlZCBzb2x1dGlvbiBpcyB0byB1c2UKCSAgbm9uLWluY2x1c2l2ZSBib3VuZGFyaWVzIGluIHRoZSBobHNkZW11eCBpbiBvcmRlciB0byBiZSBjb25zaXN0ZW50LgoJICBNYWtlIHRoZSBjaGFuZ2UgaW4gdGhlIGhsc2RlbXV4LCB3aWxsIGJyZWFrIHRoZSBzb3VwaHR0cHNyYywgd2hpY2gKCSAgd2lsbCBleHBlY3QgaW5jbHVzaXZlIGJvdW5kYXJpZXMsIGJ1dCB0aGUgaGxzZGVtdXggd2lsbCBvZmZlcgoJICBub24taW5jbHVzaXZlLiBUaGlzIGNoYW5nZSBtYWtlcyBzdXJlIHRoYXQgdGhlIG5vbi1pbmNsdXNpdmUKCSAgYm91bmRhcmllcyBhcmUgY29udmVydGVkIHRvIGluY2x1c2l2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xMSAyMjowNzo1NCArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkgIHNvdXBodHRwY2xpZW50c2luazogQWRkIHRoZSByZXRyeSBhbmQgcmV0cnktZGVsYXkgcHJvcGVydGllcwoJICBUaGVzZSBhbGxvdyBhIGZhaWxlZCByZXF1ZXN0IHRvIGJlIHJldHJpZWQgYWZ0ZXIgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzCgkgIGluc3RlYWQgb2YgZmFpbGluZyB0aGUgcGlwZWxpbmUuIFRha2UgYWNjb3VudCBvZiB0aGUgUmV0cnktQWZ0ZXIgaGVhZGVyIGlmCgkgIHByZXNlbnQuIEFkZCByZXRyaWVzIHBhcmFtZXRlciB0aGF0IGNvbnRyb2xzIHRoZSBudW1iZXIgb2YgdGltZXMgYW4gSFRUUAoJICByZXF1ZXN0IHdpbGwgYmUgcmV0cmllZCBiZWZvcmUgZmFpbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMxOAoKMjAxNS0xMC0xNCAxMjowMzoxNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNhcHMgbGVhawoJICBJZiB0aGUgUXREZW11eFN0cmVhbSBhcmUgcmUtdXNlZCB0aGV5IG1heSBhbHJlYWR5IGhhdmUgY2FwcyB3aGljaCB1c2VkCgkgIHRvIGJlIGxlYWtlZC4KCSAgUmVwcm9kdWNlZCB1c2luZyB0aGUKCSAgdmFsaWRhdGUuZGFzaC5wbGF5YmFjay5zZWVrX2ZvcndhcmQuZGFzaF9leE1QRF9CSVBfVEMxIHZhbGlkYXRlCgkgIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYxCgoyMDE1LTEwLTE0IDA5OjI5OjUwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB0YWdsaXN0IG1lbW9yeSBsZWFrCgkgIEZyZWUgdGhlIHN0cmVhbSBhbmQgaXRzIHN1YiBpdGVtcyBpbnN0ZWFkIG9mIGp1c3QgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTQ0CgoyMDE1LTEwLTExIDEyOjA2OjI2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFsbG93IG5lZ290aWF0aW5nIHRvIFM4IGFzIGEgcmF3IGZvcm1hdCBidXQgc3RvcCBtYWtpbmcgaXQgYmVzdCBjaG9pY2UKCSAgTmVnb3RpYXRpb24gdG8gYXVkaW8veC1yYXcsZm9ybWF0PVM4IHdhcyBub3QgcG9zc2libGUgYmVjYXVzZSBTOCBkb2VzCgkgIG5vdCBoYXZlIGEgYml0IG9yZGVyIHNvIHdlIGVuZGVkIHVwIGRvaW5nIGBpZiAoIWVudHJ5LmZvdXJjYykgZ290byByZWZ1c2VfY2FwcztgCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzODcKCjIwMTUtMTAtMTEgMDk6MTg6NDAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIHByb3JlcyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzODgKCjIwMTUtMTAtMTIgMTg6NTY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBHU1RfUExVR0lOU19CQVNFX0xJQlMgZm9yIGZsdmRlbXV4IGNoZWNrCgkgIFNvIGl0IHB1bGxzIGluIHRoZSByaWdodCBsaWJnc3R0YWctMS4wLgoKMjAxNS0xMC0xMSAyMjoyNzo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbS9nb29tMmsxOiByZW1vdmUgb2Jzb2xldGUgbGVmdCBvdmVyIGZpbGVzCgkgIFRoZXkgbm93IHVzZSB0aGUgbmV3IEdzdEF1ZGlvVmlzdWFsaXplciBiYXNlIGNsYXNzCgkgIGZyb20gZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscwoJICBBbHNvIGZpeGVkIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gZ3N0X2F1ZGlvX3Zpc3VhbGl6ZXJfZ2V0X3R5cGUKCSAgQWRkZWQgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIHRvIE1ha2VmaWxlLmFtIGFuZCByZS1vcmRlciBMSUJBREQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMTAtMTIgMTA6NDg6MjMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrIGR1cmluZyBmYWlsdXJlcwoJICBtYXBwZWQgYnVmZmVyIGlzIG5vdCBiZWluZyB1bm1hcHBlZCBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzMQoKMjAxNS0xMC0xMiAxMToxODo1MSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IENoZWNrIGlmIHNvdXAgbWVzc2FnZSBpcyBjcmVhdGVkCgkgIElmIHNvdXAgbWVzc2FnZSBpcyBub3QgY3JlYXRlZCB0aGVuIHRoZSBzYW1lIHNob3VsZCBub3QgYmUgcGFzc2VkCgkgIG9uLCB3aGljaCBpcyByZXN1bHRpbmcgaW4gc2VnZmF1bHQuIEhlbmNlIHRocm93aW5nIGEgd2FybmluZyBtZXNzYWdlCgkgIGFuZCByZXR1cm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMiAxMToxNToxNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IENoZWNrIGlmIGxvY2F0aW9uIGJlaW5nIHNldCBpcyB2YWxpZAoJICBBZGRpbmcgYSBjaGVjayBpbiBzZXRfcHJvcGVydHkgdG8gZmluZCBpZiB0aGUgbG9jYXRpb24gdXJpIGlzIHZhbGlkCgkgIGFuZCBwcmludGluZyB3YXJuaW5nIGlmIG5vdCB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMiAxMTowOTozMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZpeCBtZW1vcnkgbGVha3MgZHVyaW5nIGZhaWx1cmVzCgkgIGZyZWVpbmcgc3RyZWFtaGVhZGVyX2J1ZmZlcnMgYW5kIHNlbnRfYnVmZmVycyBkdXJpbmcgZmFpbHVyZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMiAxMTowMzoxNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IFJlcGxhY2UgcmVkdW5kYW50IGZyZWVfYnVmZmVyX2xpc3QgZnVuY3Rpb24KCSAgUmVtb3ZpbmcgZnJlZV9idWZmZXJfbGlzdCBhbmQgcmVwbGFjaW5nIGl0IHdpdGggYWxyZWFkeSBhdmFpbGFibGUgZnVuY3Rpb24KCSAgZ19saXN0X2ZyZWVfZnVsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzI2CgoyMDE1LTEwLTExIDE2OjQwOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEb24ndCBmb3JnZXQgYmFzZSBDRkxBR1MgZm9yIGZsdmRlbXV4IGNoZWNrCgkgIGVsZW1lbnRzL2ZsdmRlbXV4LmM6MjU6MjU6IGZhdGFsIGVycm9yOiBnc3QvdGFnL3RhZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgoyMDE1LTEwLTExIDExOjM3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBDcmVhdGUgYSBUSU1FIHNlZ21lbnQgd2hlbiBjcmVhdGluZyBzdHJlYW1hYmxlIG91dHB1dAoJICBSZWxhdGVkIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MzUgd2hpY2gKCSAgZG9lcyB0aGUgc2FtZSBmb3IgZmx2bXV4LgoKMjAxNS0wOS0yMyAxMzo1MDo1MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG91dHB1dCBzcGVleCB2b3JiaXNjb21tZW50IGFzIGEgR3N0VGFnTGlzdAoJICBUaGlzIGlzIHdoYXQgc3BlZXhkZWMgZXhwZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3OAoKMjAxNS0wOS0yMiAyMjo1OToxNiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogR1NUX0JVRkZFUl9PRkZTRVRzIHNob3VsZCBiZSBHU1RfQlVGRkVSX09GRlNFVF9OT05FCgkgIE9yIGVsc2UgZmx2ZGVtdXggZG9uJ3QgdW5kZXJzdGFuZCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1CgoyMDE1LTA5LTAyIDEwOjQ0OjU5ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgdGltZSBzZWdtZW50IGFuZCBjb3B5IHRpbWVzdGFtcHMgd2hlbiBzdHJlYW1hYmxlCgkgIEFkZCBhIGJhc2ljIHRlc3QgdXNpbmcgc3BlZXggZGF0YSB0byB2ZXJpZnkgdGltZXN0YW1waW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1CgoyMDE1LTA5LTIzIDEzOjE0OjAzICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzcGVleCBpcyBhbHNvIGFsd2F5cyAxNktIegoJICBUaGlzIGlzIGp1c3QgYSBjb3NtZXRpYyBjaGFuZ2UgZm9yIHRoZSBsb2dzLCBzaW5jZSB0aGUgcmlnaHQgY2FwcwoJICBmb3IgU3BlZXggaXMgYmVpbmcgc2V0IGVsc2V3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3OQoKMjAxNS0wNy0xNCAxNToxOTo0NCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogQWRkICdzb3VyY2Utc3RhdHMnIHRvIHN0YXRzIGFuZCBub3RpZnkKCSAgQWRkIHN0YXRpdGljcyBmcm9tIGVhY2ggcnRwIHNvdXJjZSB0byB0aGUgcnRwIHNlc3Npb24gcHJvcGVydHkuCgkgICdzb3VyY2Utc3RhdHMnIGlzIGEgR1ZhbHVlQXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGEgR3N0U3RydWN0dXJlIG9mCgkgIHN0YXRzIGZvciBvbmUgcnRwIHNvdXJjZS4KCSAgVGhlIGF2YWlsYWJpbGl0eSBvZiBuZXcgc3RhdHMgaXMgc2lnbmFsZWQgdmlhIGdfb2JqZWN0X25vdGlmeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY2OQoKMjAxNS0wNi0wNSAxNzoyMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBJbXBsZW1lbnQgc2VuZGluZyBvZiByZWR1Y2VkIHNpemUgUlRDUCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0NTYKCjIwMTUtMTAtMDggMTU6MDE6MTMgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgIGF1ZGlvZng6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAnZGVncmVlJyBpbiBhdWRpb2R5bmFtaWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzNAoKMjAxNS0xMC0wOCAxNDo0NDowNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggbWVtb3J5IGxlYWsgZm9yIGNvcnJ1cHRlZCBmaWxlCgkgIEZyZWUgYnJhbmRzIGJlZm9yZSBvdmVycmlkaW5nIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMjYKCjIwMTUtMTAtMDggMTE6NDQ6MDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmZGVjOiBGaXggcGl4YnVmX2xvYWRlciBsZWFrIGR1cmluZyBmYWlsdXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjE5CgoyMDE1LTEwLTA3IDIzOjIzOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogQWRkIG1pc3NpbmcgYnJlYWsKCjIwMTUtMTAtMDcgMTM6MDM6MDIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogVGFrZSBpbnRvIGFjY291bnQgcGFja2V0IHJhdGUgZm9yIG1heC1kcm9wb3V0IGFuZCBtYXgtbWlzb3JkZXIgY2FsY3VsYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTUtMTAtMDcgMTM6MDI6MTIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBtYW5hZ2VyOiBhZGQgIm1heC1kcm9wb3V0LXRpbWUiIGFuZCAibWF4LW1pc29yZGVyLXRpbWUiIHByb3BzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTUtMTAtMDcgMTc6MTQ6NTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGF0ZSBtZW1vcnkgbGVhawoJICBXaGVuIGdldHRpbmcgZGF0ZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgc2hvdWxkIGJlIGZyZWVkIGFmdGVyCgkgIHVzaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MTcxCgoyMDE1LTEwLTA1IDExOjAzOjM4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHNhbXBsZSBtZW1vcnkgbGVhawoJICBXaGVuIGdldHRpbmcgc2FtcGxlIGZyb20gdGFnbGlzdCwgdGhlIG1lbW9yeSBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIKCSAgdXNpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwNjgKCjIwMTUtMTAtMDUgMTM6MTA6NTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IEZpeCBidWZmZXIgbGVhawoJICBCdWZmZXIgaXMgYWRkZWQgdG8gdGhlIGludGVybmFsIGNhY2hlLCBhbmQgcHVzaGVkIG9ubHkgd2hlbiBhY2N1bXVsYXRlZAoJICBidWZmZXIgZHVyYXRpb24gY3Jvc3NlcyAyMDAgbXMuIFNvIHdoZW4gdGhlIGNoYWluIGVuZHMsIHRoZSBidWZmZXIgYWNjdW11bGF0ZWQKCSAgaXMgbm90IGZyZWVkLiBGcmVlaW5nIHRoZSBjYWNoZSB3aGVuIHRoZSBzdGF0ZSBjaGFuZ2VzIGZyb20gUEFVU0VEIHRvIFJFQURZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjEyCgoyMDE1LTA4LTMxIDIxOjEwOjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIGRlZmF1bHQgdXBzdHJlYW0gZXZlbnQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY5NAoKMjAxNS0wOC0zMSAyMTowNTowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBcyAweEZGRkZGRkZGIGlzIGEgdmFsaWQgc3NyYywgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMDctMjIgMDk6NDc6MjIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIGdzdHJ0cG11eDogYWxsb3cgdGhlIHNzcmMtcHJvcGVydHkgdG8gZGVjaWRlIHNzcmMgb24gb3V0Z29pbmcgYnVmZmVycwoJICBCeSBub3QgZG9pbmcgdGhpcywgdGhlIG11eGVyIGlzIG5vdCBlZmZlY3RpdmVseSBhIHJ0cG11eGVyLCByYXRoZXIgYQoJICBmdW5uZWwsIHNpbmNlIGl0IHNob3VsZCBiZSBhIHNpbmdsZSBzdHJlYW0gdGhhdCBleGlzdHMgdGhlIG11eGVyLgoJICBJZiBub3Qgc3BlY2lmaWVkLCB0YWtlIHRoZSBmaXJzdCBzc3JjIHNlZW4gb24gYSBzaW5rcGFkLCBhbGxvd2luZyB1cHN0cmVhbQoJICB0byBkZWNpZGUgc3NyYyBpbiAicGFzc3Rocm91Z2giIHdpdGggb25seSBvbmUgc2lua3BhZC4KCSAgQWxzbywgbGV0IGRvd25zdHJlYW0gc3NyYyBvdmVycnVsZSBpbnRlcm5hbCBjb25maWd1cmVkIG9uZQoJICBXZSBoZW5jZSBoYXMgdGhlIGZvbGxvd2luZyBvcmRlciBmb3IgZGV0ZXJtaW5pbmcgdGhlIHNzcmMgdXNlZCBieQoJICBydHBtdXg6CgkgIDAuIFN1Z2dlc3Rpb24gZnJvbSBHc3RSVFBDb2xsaXNpb24gZXZlbnQKCSAgMS4gRG93bnN0cmVhbSBjYXBzCgkgIDIuIHNzcmMtUHJvcGVydHkKCSAgMy4gKEZpcnN0KSB1cHN0cmVhbSBjYXBzIGNvbnRhaW5pbmcgc3NyYwoJICA0LiBSYW5kb21seSBnZW5lcmF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY5NAoKMjAxNS0xMC0wMiAyMjo0MjoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4dXAgbGFzdCBjb21taXQKCjIwMTUtMTAtMDIgMjI6MjE6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFVwZGF0ZSBHTGliIGRlcGVuZGVuY3kgdG8gMi40MC4wCgoyMDE1LTA2LTMwIDE2OjU2OjE5ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBhZGQgdXRpbGl0eSBmb3IgY2FsY3VsYXRpbmcgUlRQIHBhY2tldCByYXRlCgoyMDE1LTA4LTEwIDE4OjE0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGVtcHR5IHNlZ21lbnRzIGluIHNlZWtpbmcgYWRqdXN0CgkgIElmIHNlZWtpbmcgdGFyZ2V0cyBhbiBlbXB0eSBzZWdtZW50IHNraXAgaXQgYXMgdGhlcmUgaXMgbm8gbWVkaWEKCSAgb2Zmc2V0IHRvIGdldCBmcm9tIGl0LiBJbnN0ZWFkIGxvb2sgZm9yIHRoZSBuZXh0IG9uZS4KCSAgVGhpcyBkb2Vzbid0IG1ha2Ugc2Vla2luZyBpbiBwdXNoLW1vZGUgd29yayBpZiB5b3Ugc2VlayB0byBhbgoJICBlbXB0eSBzZWdtZW50IGJ1dCBhdCBsZWFzdCB3b24ndCBnZXQgeW91IHRvIHdyb25nIG9mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0ODQKCjIwMTUtMDQtMTcgMTQ6MjU6NDMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IHBvc3QgbWVzc2FnZXMgd2hlbiBmcmFnbWVudHMgYXJlIGJlaW5nIG9wZW5lZCBhbmQgY2xvc2VkCgkgIFRoaXMgY2FuIGJlIHVzZWZ1bCBmb3IgYXBwbGljYXRpb25zIHRoYXQgbmVlZCB0byB0cmFjayB0aGUgY3JlYXRlZCBmcmFnbWVudHMKCSAgKHRvIGxvZyB0aGVtIGluIGEgcmVjb3JkaW5nIGRhdGFiYXNlLCBmb3IgZXhhbXBsZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwOAoKMjAxNS0wNC0yOSAxODoyMzoyOCArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBhbGxvdyBub24tdmlkZW8gc3RyZWFtcyB0byBzZXJ2ZSBhcyByZWZlcmVuY2UKCSAgSW4gdGhlIGFic2VuY2Ugb2YgYSB2aWRlbyBzdHJlYW0sIHRoZSBmaXJzdCBzdHJlYW0gd2lsbCBiZSB1c2VkIGFzCgkgIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNwoKMjAxNS0wNy0yMiAxNzo0NToxMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogaW5pdGlhbGl6ZSBtdXhfc3RhcnRfdGltZSBwcm9wZXJseQoJICBtdXhfc3RhcnRfdGltZSByZWZlcnMgdG8gdGhlIHJ1bm5pbmdfdGltZSBvZiB0aGUgYnVmZmVyCgkgIHRoYXQgZ29lcyBmaXJzdCBpbiB0aGUgb3V0cHV0IGZpbGUuIE5vcm1hbGx5IHRoaXMgdGltZSBpcwoJICAwLCBzbyB0aGlzIHZhcmlhYmxlIGlzIGluaXRpYWxpemVkIHRvIDAgZHVyaW5nIHRoZSBzdGF0ZQoJICBjaGFuZ2UgdG8gUEFVU0VELgoJICBIb3dldmVyLCB3aGVuIGRlYWxpbmcgd2l0aCBkeW5hbWljIHBpcGVsaW5lcyBhbmQgc3RhcnRpbmcKCSAgYSByZWNvcmRpbmcgd2hpbGUgdGhlIHBpcGVsaW5lIGhhcyBhbHJlYWR5IHJ1biBmb3IgYSB3aGlsZSwKCSAgdGhlIHJ1bm5pbmdfdGltZSBvZiB0aGUgZmlyc3QgYnVmZmVyIGlzID4gMCBhbmQgdGhpcyBjYXVzZXMKCSAgYSBwcm9ibGVtIHdpdGggZGV0ZWN0aW5nIHRoZSBlbmQgb2YgdGhlIGZpcnN0IGZpbGUocykgd2hlbgoJICBzcGxpdHRpbmcgYnkgZHVyYXRpb24sIGJlY2F1c2UgdGhlIGNvZGUgd2lsbCBsYXRlciBjb21wYXJlCgkgIHRoZSB0aHJlc2hvbGRfdGltZSB3aXRoIChsYXN0IGJ1ZmZlciBydW5uaW5nX3RpbWUgLSBtdXhfc3RhcnRfdGltZSkKCSAgYW5kIHdpbGwgZ2V0IGl0IHdyb25nIHVudGlsIG11eF9zdGFydF90aW1lIGFkdmFuY2VzIGVub3VnaAoJICB0byBtYWtlIHRoaXMgZGlmZmVyZW5jZSA8IHRocmVzaG9sZF90aW1lLCBjcmVhdGluZyBlbXB0eSBmaWxlcwoJICBpbiB0aGUgbWVhbnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjQKCjIwMTUtMDktMTYgMTY6MDM6MDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmV2ZXJzZSBwbGF5YmFjayBkb2VzIG5vdCBjb25zaWRlciBzZWdtZW50LnN0YXJ0CgkgIER1cmluZyByZXZlcnNlIHBsYXliYWNrLCB0aGUgbWVkaWEgc2hvdWxkIHN0b3AgcGxheWluZyBhdCBzZWdtZW50LnN0YXJ0CgkgIFRoaXMgZG9lcyBub3QgaGFwcGVuLCBhbmQgYXZpZGVtdXggY29udGludWVzIHRvIHByb2Nlc3MgZGF0YSBldmVuIHdoZW4KCSAgY3VycmVudCB0aW1lc3RhbXAgaXMgbGVzcyB0aGF0IHNlZ21lbnQuc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwOTQKCjIwMTUtMDktMjMgMTI6Mzk6MzUgKzA5MDAgIE1hbmFzYSBBdGhyZXlhIDxtYW5hc2EuYXRocmV5YUBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIG11bHRpIHRyZXggdG8gZmluZCB0cmFjayBpZCBpbiBtcDQgbXBlZy1kYXNoIHN0cmVhbQoJICBJZiBzdHJlYW0gaGFzIG1vcmUgdGhhbiBvbmUgdHJleCBib3ggd2hpY2ggaXMgbm90IG1hdGNoZWQgdG8gYWN0dWFsCgkgIHRyYWNrIGlkLCBpdCBtYWtlcyBxdGRlbXV4IGNyYXNoZWQuCgkgIEF1dGhvciA6IE1hbmFzYSBBdGhyZXlhIChtYW5hc2EuYXRocmV5YUBsZ2UuY29tKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODY0CgoyMDE1LTA5LTA0IDE0OjI0OjQ1ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZ2V0IHNpemUsIHN0cmlkZSBpbmZvIHVzaW5nIFZpZGVvSW5mbwoJICBVc2UgVmlkZW9JbmZvIGRhdGEgdG8gZ2V0IHNpemUgc3RyaWRlIGFuZAoJICBvZmZzZXQsIGluc3RlYWQgb2YgaGFyZCBjb2RlZCBtYWNyb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NTgKCjIwMTUtMDktMDQgMTQ6MTg6NTAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmcmVlIG1hc2sKCSAgRnJlZSB0aGUgbWVtb3J5IGFsbG9jYXRlZCB0byAnbWFzaycgdG8gYXZvaWQKCSAgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NTUKCjIwMTUtMDgtMjAgMTE6MDI6NTggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBnc3RyZWFtZXI6IGdvb2Q6IHRlc3RzOiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gY29udGV4dCBwYXJzZSBmYWlscy4KCSAgV2hlbiBnX29wdGlvbl9jb250ZXh0X3BhcnNlIGZhaWxzLCBjb250ZXh0IGFuZCBlcnJvciB2YXJpYWJsZXMgYXJlIG5vdCBnZXR0aW5nIGZyZWUnZAoJICB3aGljaCByZXN1bHRzIGluIG1lbW9yeSBsZWFrcy4gRnJlZSdpbmcgdGhlIHNhbWUuCgkgIEFuZCByZXBsYWNpbmcgZ19lcnJvcl9mcmVlIHdpdGggZ19jbGVhcl9lcnJvciwgd2hpY2ggY2hlY2tzIGlmIHRoZSBlcnJvciBiZWluZyBwYXNzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg1MwoKMjAxNS0xMC0wMiAxNjoxODoxNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBkb2Vzbid0IGhhbmRsZSBwcm9iYXRpb24gYW5kIHJ0cCBnYXAgaW4gY2FzZSBvZiBzZW5kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDU0OAoKMjAxNS0xMC0wMiAxNjoxNjozMiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBtYW5hZ2VyOiBhZGQgbmV3IG9uLW5ldy1zZW5kZXItc3NyYywgb24tc2VuZGVyLXNzcmMtYWN0aXZlIHNpZ25hbHMKCSAgQWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZ2V0IGludGVybmFsIHNvdXJjZSdzIFJUUCBzdGF0aXN0aWNzLgoJICAoZWcuIHNlbmRlciBzb3VyY2VzIGZvciBhIHNlcnZlci9jbGllbnQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NDcKCjIwMTUtMTAtMDIgMTQ6MTc6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBHYXRoZXIgYW5kIGNvYWxlc2NlIGFsbCBkYW1hZ2VkIGFyZWFzIGJlZm9yZSByZXRyaWV2aW5nLgoJICBUaGVzZSBkYXlzIHRoZSB4c2VydmVyIHNlZW1zIHRvIGdpdmUgdXMgdGhlIHNhbWUgZGFtYWdlIHJlZ2lvbnMKCSAgb3ZlciBhbmQgb3ZlciBmb3IgZW50aXJlIHdpbmRvd3MsIGFuZCB3ZSByZXRyaWV2ZSB0aGVtIG11bHRpcGxlCgkgIHRpbWVzLCB3aGljaCBnaXZlcyB0aW1lIGZvciBtb3JlIGRhbWFnZSB0byBhcHBlYXIuIEluc3RlYWQsIGp1c3QKCSAgcXVpY2tseSBnYXRoZXIgYWxsIGRhbWFnZWQgYXJlYXMgaW50byBhIHJlZ2lvbiBsaXN0IGFuZCBjb3B5CgkgIG91dCBvbmNlLgoKMjAxNS0xMC0wMSAxNjoyNDozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHVzZSB0aGUgbmV3IGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzCgkgIFJlYmFzZSB0byBoYXZlIGdvb20gdXNpbmcgdGhlIEdzdEF1ZGlvVmlzdWFsaXplciBiYXNlIGNsYXNzIGluCgkgIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0xMC0wMSAxNjoxNjowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHVzZSB0aGUgbmV3IGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzCgkgIFJlYmFzZSB0byBoYXZlIGdvb20gdXNpbmcgdGhlIEdzdEF1ZGlvVmlzdWFsaXplciBiYXNlIGNsYXNzIGluCgkgIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wOS0zMCAxNzozNTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGltcGxlbWVudCBhY2NlcHQtY2FwcwoJICBBdm9pZCB1c2luZyBkZWZhdWx0IGFjY2VwdC1jYXBzIGhhbmRsZXIgdGhhdCB3aWxsIHF1ZXJ5IGRvd25zdHJlYW0KCSAgYW5kIGlzIG1vcmUgZXhwZW5zaXZlLiBKdXN0IGNoZWNrIGlmIHRoZSBjYXBzIGlzIGNvbXBhdGlibGUgd2l0aAoJICB0aGUgdGVtcGxhdGUgYW5kIGNoZWNrIGlmIHRoZSBjaGFubmVscyBhcmUgdGhlIHNhbWUuCgoyMDE1LTA5LTMwIDA5OjM1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGRlaW50ZXJsZWF2ZTogYWxzbyBjaGVjayBmb3IgY2FwcyBxdWVyeSByZXN1bHRzCgoyMDE1LTA5LTMwIDEyOjMwOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiB1c2UgdGhlIGNhcHMgcXVlcnkgZmlsdGVyCgkgIEl0IHdhcyBiZWluZyBpZ25vcmVkIGFuZCB3b3VsZCBsZWFkIHRvIHdyb25nIHJlc3VsdHMgaWYgdGhlCgkgIGVsZW1lbnQgZG9pbmcgdGhlIHF1ZXJ5IHdvdWxkIHJlbHkgb24gdGhlIGludGVyc2VjdGlvbiBiZWluZyBtYWRlLgoKMjAxNS0wOS0zMCAxMDowMDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogaW1wbGVtZW50IGEgY2FwcyBxdWVyeSBoYW5kbGVyIGZvciB0aGUgc2lua3BhZAoJICBJdCB3YXMgbWlzc2luZyBhbmQgYXBwYXJlbnRseSBjb2RlIHJlbGllZCBvbiBoYXZpbmcgaXQgdGhlcmUKCSAgZm9yIG5vdCBhbGxvd2luZyBhIGNoYW5nZSBpbiB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgoyMDE1LTA5LTMwIDA5OjA1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBmaXggY2FwcyBsZWFrCgkgIENhcHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlIGFyZSBiZWluZyBsZWFrZWQuIEluIGFueSBjYXNlIGl0IGlzCgkgIGZyb20gYSBzdGF0aWMgcGFkIHRlbXBsYXRlIGFuZCB3aWxsICdsZWFrJyBpbiB0aGUgZW5kLCBqdXN0IGRvaW5nCgkgIHRoZSBjbGVhbnVwIGZvciB0aGUgZ29vZCBwcmFjdGljZS4KCjIwMTUtMDktMjkgMTE6MTU6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmb3ZlcmxheS5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheTogYWRkIG1pbmltYWwgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NzMKCjIwMTUtMDktMjkgMTE6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1ZnNpbms6IGRvbid0IGxlYWsgb2xkIHBpeGVsIGJ1ZmZlciB3aGVuIHNldHRpbmcgYSBuZXcgb3ZlcmxheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzczCgoyMDE1LTA5LTI4IDIwOjI1OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhdm9pZCBwb3RlbnRpYWwgc3RyaW5nIG92ZXJmbG93CgkgIFdlIGRvbid0IG5lY2Vzc2FyaWx5IGhhdmUgZnVsbCBjb250cm9sIG92ZXIgdGhlIGlucHV0IHRhZ3MsIHNvCgkgIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgSVNSQyB0YWcgY29udGFpbnMgYSBsb25nZXIgc3RyaW5nIHRoYW4KCSAgZXhwZWN0ZWQsIGluIHdoaWNoIGNhc2Ugd2UnZCB3cml0ZSBvdmVyIHRoZSBlbmQgb2YgdGhlIHN0YXRpYy1zaXplCgkgIDEzIGJ5dGUgYnVmZmVyIHRoYXQgaXMgRkxBQ19fU3RyZWFtTWV0YWRhdGFfQ3VlU2hlZXRfVHJhY2s6OmlzcmMuCgkgIE1ha2Ugc3VyZSB0byBvbmx5IGNvcHkgdGhlIElTUkMgaWYgaXQncyBub3QgdG9vIGxvbmcsIGFuZCBtYWtlCgkgIHN1cmUgdGhlIGJ1ZmZlciB3ZSB3cml0ZSB0byBpcyBhbHdheXMgTlVMLXRlcm1pbmF0ZWQgYnkgdXNpbmcKCSAgZ19zdHJsY3B5KCkuCgkgIENJRCAxMzI0OTMxLgoKMjAxNS0wOS0yOCAxODowMzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgbGVmdG92ZXIgYXNzZXJ0aW9uIGZyb20gMC4xMAoJICBXZSBub3cgYWxsb2NhdGUgbWVtb3J5IHZpYSBHc3RBbGxvY2F0b3IgYW5kIGFzIHN1Y2ggY2FuIGhhbmRsZSBhcmJpdHJhcnkKCSAgYWxpZ25tZW50cywgbm90IG9ubHkgPD0gR19NRU1fQUxJR04uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MDgKCjIwMTUtMDktMjUgMTA6MDE6MzcgKzAyMDAgIEd1aWxsYXVtZSBNYXJxdWViaWVsbGUgPGd1aWxsYXVtZS5tYXJxdWViaWVsbGVAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBMT0FTIGNvbmZpZyByZWFkaW5nCgkgIE9uIHJlYWRpbmcgTE9BUyBjb25maWcsIGZsYWcgdj0xIGFuZCB2QT0xIGNvbWJpbmF0aW9uIGNhbiBvY2N1ciwgbGVhZGluZyB0byB3YXJuaW5nCgkgICJTcGVjIHNheXMgIlRCRCIuLi4iLiBSZXR1cm5pbmcgVFJVRSBvbiB0aGlzIGNhc2Ugd2hpbGUgcGFyYW1ldGVycyAnc2FtcGxlX3JhdGUnIGFuZAoJICAnY2hhbm5lbHMnIGFyZSBwb2ludGluZyB0byB1bmluaXRpYWxpemVkIHZhbHVlcyBjYW4gZW5kIG9uIHNldHRpbmcgcmFuZG9tIHZhbHVlcyBhcwoJICByYXRlIGFuZCBjaGFubmVscyBvbiBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxMQoKMjAxNS0wOS0xOCAwMDo1ODoyMyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoJICBUb3VjaGVzIHJ0cG1hbmFnZXIgYW5kIGdka3BpeGJ1ZnNpbmsKCjIwMTUtMDgtMTggMTQ6MzA6NTcgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogc3VwcG9ydCB0aW1lZC10ZXh0IHN1YnRpdGxlIHRyYWNrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjgxOAoKMjAxNS0wOS0yNiAwMDoxMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ3N0X3NlZ21lbnRfdG9fcG9zaXRpb24oKQoKMjAxNS0wOS0yMSAxMzo0NzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHBiaW4vcnRwaml0dGVyYnVmZmVyL3J0c3BzcmM6IEFkZCBwcm9wZXJ0eSB0byBzZXQgbWF4aW11bSBtcyBiZXR3ZWVuIFJUQ1AgU1IgUlRQIHRpbWUgYW5kIGxhc3Qgb2JzZXJ2ZWQgUlRQIHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEyNQoKMjAxNS0wOS0xNiAxOToyODoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW4vc2Vzc2lvbjogQWxsb3cgUlRDUCBzeW5jIHRvIGhhcHBlbiBiYXNlZCBvbiBjYXB0dXJlIHRpbWUgb3Igc2VuZCB0aW1lCgkgIFNlbmQgdGltZSBpcyB0aGUgcHJldmlvdXMgYmVoYXZpb3VyIGFuZCB0aGUgZGVmYXVsdCwgYnV0IHRoZXJlIGFyZSB1c2UgY2FzZXMKCSAgd2hlcmUgeW91IHdhbnQgdG8gc3luY2hyb25pemUgYmFzZWQgb24gdGhlIGNhcHR1cmUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEyNQoKMjAxNS0wOS0yNSAyMzo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS42LjAgPT09CgoyMDE1LTA5LTI1IDIzOjE1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS42LjAKCjIwMTUtMDktMjUgMjI6NTc6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMjUgMTQ6MDg6MDkgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IERvIG5vdCBzZXQgd2lkdGgvaGVpZ2h0IGJlZm9yZSBjb21wYXJpbmcgd2l0aCBvbGQgdmFsdWVzCgkgIE90aGVyd2lzZSB3ZSBlbmQgdXAgY29uc2lkZXJpbmcgdGhlIHZhbHVlcyBkaWQgbm90IGNoYW5nZSBhbmQgd2Ugd3JvbmdseQoJICB3b3JrIHdpdGggdGhlIG9sZCB2aWRlbyBmb3JtYXQgKHdoaWNoIHdpbGwgbGVhZCB0byB3cm9uZwoJICBiZWhhdmlvdXIvc2VnZmF1bHRzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYyMQoKMjAxNS0wOS0yMyAyMDo1OTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBY2N1bXVsYXRlIHNlZ21lbnRzIGZvciBlZGl0IGxpc3RzIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXh0IHNlZ21lbnQKCSAgZWNlYjJjY2M3MzkwOTJkOTY0ZDc4OTQ1ZTE5YzJlY2VkYmQyMTRlMiBicm9rZSBzZWdtZW50IHNlZWtzIGJ5IGFsd2F5cwoJICBhY2N1bXVsYXRpbmcgc2VnbWVudHMgbWFudWFsbHkgd2hlbiBhY3RpdmF0aW5nIGEgc2VnbWVudC4gVGhpcyBpcyBvbmx5CgkgIG5lZWRlZCB3aGVuIGhhbmRsaW5nIGVkaXQgbGlzdHMsIG5vdCB3aGVuIGFjdGl2YXRpbmcgYSBzZWdtZW50IGJlY2F1c2Ugb2YgYQoJICBzZWVrLiBEbyB0aGUgYWNjdW11bGF0aW9uIHdoZW4gc3dpdGNoaW5nIGVkaXQgbGlzdCBzZWdtZW50cyBpbnN0ZWFkLgoJICBUaGlzIGZpeGVzIHNlZ21lbnQgc2Vla3MgYWdhaW4sIHdoaWxlIGtlZXBpbmcgZWRpdCBsaXN0cyBwbGF5YmFjayB3b3JraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDcxCgoyMDE1LTA5LTIzIDE3OjQzOjUxICswNTMwICBWaWtyYW0gRnVncm8gPHZpa3JhbS5mdWdyb0BnbWFpbC5jb20+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHNlbmQgcGhhc2UgdmFsdWVzIGluIHRoZSBHc3RNZXNzYWdlIGZvciBQaGFzZSBpbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NjMKCjIwMTUtMDktMjIgMDA6NDY6MDEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IERvbid0IG91dHB1dCBhIHdhcm5pbmcgb24gTU9OTyBtdWx0aXZpZXcgbW9kZS4KCjIwMTUtMDktMTkgMTc6MDI6MTggKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IEZpeCBtZW1vcnkgbGVha3MKCSAgVGhlIHNhbWUgbWVtb3J5IGxlYWtzIHdlcmUgZml4ZWQgaW4gaWRlbnRpY2FsIGZhc2hpb24gZm9yCgkgIHZvcmJpc2RlcGF5IGluIDA2ZWZlZmY1ZDk3OTU3NmEyNTJlNWRhZTU3ZjQ2ZDY0NDViMWRmMTIgaW4gMjAwOS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI3NwoKMjAxNS0wOS0xOSAxNzowNDowNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB7dm9yYmlzLHRoZW9yYX17cGF5LGRlcGF5fTogQ29zbWV0aWMgY2xlYW51cAoJICAqIHVzZSBnX2xpc3RfZnJlZV9mdWxsKCksIGRvbid0IGl0ZXJhdGUgZWxlbWVudHMgbWF1YWxseSB3aGVuIGZyZWVpbmcKCSAgKiBjYWxsIGdzdF9ydHBfKl9wYXlfY2xlYXJfcGFja2V0KCksIGRvbid0IGR1cGxpY2F0ZSBpdHMgY29kZQoJICAqIHVzZSBnc3RfYnVmZmVyX3VucmVmKCkgdG8gY2xhcmlmeSB0aGF0IGl0IGlzIGJ1ZmZlcnMgYmVpbmcgcmVsZWFzZWQsCgkgIGluc3RlYWQgb2YgcmVmZXJpbmcgZGlyZWN0bHkgdG8gZ3N0X21pbmlfb2JqZWN0X3VucmVmKCkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI3NwoKMjAxNS0wOS0xOSAxODo0NDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHt2b3JiaXMsdGhlb3JhfXBheTogU3RvcmUgaGVhZGVycyBpbiB0aGUgcGFja2V0IGJ1ZmZlcnMgbGlzdHMsIG5vdCBhIE5VTEwgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNjUKCj09PSByZWxlYXNlIDEuNS45MSA9PT0KCjIwMTUtMDktMTggMTk6MzM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS45MQoKMjAxNS0wOS0xOCAxOToyMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0xOCAxMTo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOS0xNyAxMDo1MDowMSArMDkwMCAgRXVuaGFlIENob2kgPGV1bmhhZTEuY2hvaUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCB0YWdsaXN0IGxlYWsKCSAgZ3N0X3RhZ19saXN0X2luc2VydCgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBpbnNlcnRlZCB0YWdsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTM4CgoyMDE1LTA5LTE2IDA3OjA1OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFNraXAgTE9BUyBBQUMgdW50aWwgYSB2YWxpZCBjb25maWcgaXMgc2Vlbi4KCSAgSXQncyBub3JtYWwgd2hlbiBkcm9wcGluZyBpbnRvIHRoZSBtaWRkbGUgb2YgYSBzdHJlYW0gdG8KCSAgbm90IGFsd2F5cyBoYXZlIHRoZSBjb25maWcgYXZhaWxhYmxlIGltbWVkaWF0ZWx5LCBzbyBza2lwIExPQVMKCSAgdW50aWwgYSB2YWxpZCBjb25maWcgaXMgc2VlbiB3aXRob3V0IGVpdGhlciBzZXR0aW5nIGludmFsaWQKCSAgY2FwcyBvciBlcnJvcmluZyBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzODYKCjIwMTUtMDktMTMgMTU6NDE6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlc2V0IGp1c3QgYSBiaXQgbW9yZSB1cG9uIGZsdXNoX3N0b3AKCjIwMTUtMDktMTMgMTU6NDA6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlbW92ZSBkZWFkIHN0cnVjdCBtZW1iZXIKCjIwMTUtMDktMTEgMTc6MDk6MjggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBHRXJyb3IgbWVtb3J5IGxlYWsgd2hlbiBob3N0bmFtZSByZXNvbHV0aW9uIGZhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4NjkKCjIwMTUtMDktMTAgMTU6MjY6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBkcm9wIEhFQURFUiBmbGFnIGZyb20gb3V0cHV0IGJ1ZmZlcnMKCSAgRHJvcCBIRUFERVIgZmxhZyBmcm9tIG91dHB1dCBidWZmZXJzIGlmIHRoZXkgYXJlIG5vdCBpbmRlZWQKCSAgaGVhZGVycy4KCSAgRml4ZXMgcmVzZW5kaW5nIG9mIGhlYWRlcnMgaW4gdGNwIGNvbm5lY3Rpb24gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc2OAoKMjAxNS0wOS0xMCAxNjowMDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBmaXggbWF0cm9za2FtdXggISBtYXRyb3NrYWRlbXV4CgkgIERvbid0IGNhcnJ5IG92ZXIgRElTQ09OVCBmbGFncyBmcm9tIHRoZSBpbnB1dCBidWZmZXJzIHRvIHRoZQoJICBvdXRwdXQgYnVmZmVyLCBvciB0aGUgZGVtdXhlciBtaWdodCByZXNldCBpdHMgc3RhdGUgd2hlbiBpdAoJICByZWNlaXZlcyB0aGUgZmlyc3QgZGF0YSBidWZmZXIganVzdCBhZnRlciBwYXJzaW5nIHRoZSBzaW1wbGUKCSAgYmxvY2sgaGVhZGVyLCBhbmQgdGhlbiBleHBlY3Qgc2FuZSBkYXRhIHRvIGZvbGxvdy4KCSAgRml4ZXMgbWF0cm9za2FtdXggISBkZW11eCBlcnJvcmluZyBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NjgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzgwNQoKMjAxNS0wOS0wOSAxMjo1MTo0MCAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBnc3QvcnRzcC9SRUFETUU6CgkgIHJ0c3A6IGZpeCBzbWFsbCBSRUFETUUgdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODA3CgoyMDE1LTA5LTA0IDE5OjQ1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBzZXQgYm90aCBwdHMgYW5kIGR0cyBzbyBiYXNlcGFyc2UgZG9lc24ndCBtYWtlIHVwIHdyb25nIGR0cyBhZnRlciBzZWVrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTA2CgoyMDE1LTA5LTA0IDE5OjM0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzZXQgYm90aCBwdHMgYW5kIGR0cyBzbyBiYXNlcGFyc2UgZG9lc24ndCBtYWtlIHVwIHdyb25nIGR0cyBhZnRlciBhIHNlZWsKCSAgZmxhYyBjb250YWlucyB0aGUgc2FtcGxlIG9mZnNldCBpbiB0aGUgZnJhbWUgaGVhZGVyLCBzbyBhZnRlciBhIHNlZWsKCSAgd2l0aG91dCBpbmRleCBmbGFjcGFyc2Ugd2lsbCBrbm93IHRoZSBleGFjdCBwb3NpdGlvbiB3ZSBsYW5kZWQgb24gYW5kCgkgIHRpbWVzdGFtcCBidWZmZXJzIGFjY29yZGluZ2x5LiBJdCBvbmx5IHNldCB0aGUgcHRzIHRob3VnaCwgd2hpY2ggbWVhbnMKCSAgdGhlIGJhc2VwYXJzZS1zZXQgZHRzIHdoaWNoIHdhcyBzZXQgdG8gdGhlIHNlZWsgcG9zaXRpb24gcHJldmFpbHMsIGFuZAoJICBzaW5jZSB0aGUgc2VlayB3YXMgYmFzZWQgb24gYW4gZXN0aW1hdGUsIHRoZXJlJ3MgbGlrZWx5IGEgZGlzY3JlcGFuY3kKCSAgYmV0d2VlbiB3aGVyZSB3ZSB3YW50ZWQgdG8gbGFuZCBhbmQgd2hlcmUgd2UgZGlkIGxhbmQsIHNvIGZyb20gaGVyZSBvbgoJICB0aGF0IGR0cy9wdHMgZGlmZmVyZW5jZSB3aWxsIGJlIG1haW50YWluZWQsIHdpdGggZHRzIHBvc3NpYmx5IG11bHRpcGxlCgkgIHNlY29uZHMgYWhlYWQgb2YgcHRzLCB3aGljaCBpcyBqdXN0IHdyb25nLiBUaGUgZWFzaWVzdCB3YXkgdG8gZml4IHRoaXMKCSAgaXMgdG8ganVzdCBzZXQgYm90aCBwdHMgYW5kIGR0cyBiYXNlZCBvbiB0aGUgc2FtcGxlIG9mZnNldCwgYnV0IHBlcmhhcHMKCSAgcGFyc2VkIGF1ZGlvIHNob3VsZCBqdXN0IG5vdCBoYXZlIGR0cyBzZXQgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTA2CgoyMDE1LTA5LTA2IDE2OjMzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGRvY3M6IHJlbW92ZSBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NDMKCjIwMTMtMTAtMTEgMTU6MTM6MDAgKzAwMDAgIEdlb3JnZSBDaHJpc3MgPGdzY2hyaXNzQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogTWFrZSB0aGUgZWxlbWVudCBjb3VudCBpbiBhcnJheXMgbm90IGluY2x1ZGUgZW5kCgkgIE9uZS1saW5lIHJlbW92YWwgb2YgdGFnc193cml0dGVuKysKCSAgVGhpcyBzaG91bGQgZml4IHJ0bXAgb3V0cHV0IHRvIGNydG1wc2VydmVyLCBhbmQgaG9wZWZ1bGx5CgkgIG5vb25lIGlzIGV4cGVjdGluZyB0aGF0IHRoZSBlbGVtZW50IGNvdW50IGluY2x1ZGVzIHRoZSBlbmQKCSAgZWxlbWVudCwgYXMgZGlmZmVyZW50IGJpdHMgb2YgZG9jdW1lbnRhdGlvbiBzYXkgZGlmZmVyZW50CgkgIHRoaW5ncyBhYm91dCB3aGV0aGVyIGl0IHNob3VsZCBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MjQKCjIwMTUtMDctMzAgMDA6NTk6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBTdG9yZSBpbmNvbWluZyBiaXRyYXRlIHRhZ3MgYW5kIHNlbmQgaW4gdGhlIG1ldGFkYXRhCgkgIEFwcGFyZW50bHkgdGhlIE1pY3Jvc29mdCBBenVyZSBSVE1QIHNlcnZlciByZXF1aXJlcyB0aGF0IHRoZQoJICB2aWRlb2RhdGFyYXRlIGFuZCBhdWRpb2RhdGFyYXRlIG1ldGFkYXRhIGJlIHByb3ZpZGVkLCBzbwoJICBzZXQgdGhvc2UsIGV2ZW4gaWYgaXQncyB0byAwLiBVc2UgdGhlIGFjdHVhbCBpbnB1dCBiaXRyYXRlCgkgIHRhZ3MgaWYgYXZhaWxhYmxlLgoKMjAxNS0wOS0wNCAwMDowNjoyOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHBhcnNlIGtleSBkYXRhIG1vcmUgdGhhbiBuZWVkZWQuCgkgIFdoZW4gYW4gYXV4aWxsaWFyeSBzdHJlYW1zIGFyZSBwcmVzZW50IGluIHRoZSBTRFAgbWVkaWEsCgkgIHRoZXJlJ3Mgbm8gbmVlZCB0byByZS1wYXJzZSB0aGUgU0RQIGF0dHJpYnV0ZXMgbXVsdGlwbGUKCSAgdGltZXMuCgoyMDE1LTA5LTAzIDIwOjU2OjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IFNSVFAgKyBSVFgsIGF1dGggYWNjZXNzLCBhIGxlYWssIGFuZCBhbiBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MuCgkgIEluIHBhcnNlX2tleW1nbXQoKSwgZG9uJ3QgbXV0YXRlIHRoZSBpbnB1dCBzdHJpbmcgdGhhdCdzIGJlZW4gcGFzc2VkCgkgIGFzIGNvbnN0LCBlc3BlY2lhbGx5IHNpbmNlIHdlIG1pZ2h0IG5lZWQgdGhlIG9yaWdpbmFsIHZhbHVlIGFnYWluIGlmCgkgIHRoZSBzYW1lIGtleSBpbmZvIGFwcGxpZXMgdG8gbXVsdGlwbGUgc3RyZWFtcyAoUlRYLCBmb3IgZXhhbXBsZSkuCgkgIFdoZW4gYSByZXNvdXJjZSBpcyA0MDQsIGFuZCB3ZSBoYXZlIGF1dGggaW5mbyAtIHJldHJ5IHdpdGggdGhlIGF1dGgKCSAgaW5mbyB0aGUgc2FtZSBhcyBpZiB3ZSBoYWQgcmVjZWl2ZSB1bmF1dGhvcmlzZWQsIGluIGNhc2UgdGhlIHJlc291cmNlCgkgIGlzbid0IGV2ZW4gdmlzaWJsZSB1bnRpbCBjcmVkZW50aWFscyBhcmUgc3VwcGxpZWQuCgkgIEZpeCBhIG1lbW9yeSBsZWFrIGhhbmRsaW5nIE1pa2V5IGRhdGEuCgkgIFdoZW4gZ2VuZXJhdGluZyBhIHJhbmRvbSBrZXlzdHJpbmcsIGRvbid0IG92ZXJydW4gdGhlIDMwIGJ5dGUKCSAgYnVmZmVyIGJ5IGdlbmVyYXRpbmcgMzIgYnl0ZXMgaW50byBpdC4KCjIwMTUtMDktMDQgMTU6MTg6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBidWlsZCB3aXRoIEdMaWIgPCAyLjQ0CgkgIEdfSU9fRVJST1JfQ09OTkVDVElPTl9DTE9TRUQgd2FzIGFkZGVkIGluIDIuNDQuCgoyMDE1LTA5LTA0IDEyOjAxOjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBJZ25vcmUgR19JT19FUlJPUl9DT05ORUNUSU9OX0NMT1NFRCB3aGVuIHJlY2VpdmluZyBkYXRhCgkgIFRoaXMgaGFwcGVucyBvbiBXaW5kb3dzIGlmIHdlIHVzZSB0aGUgc2FtZSBzb2NrZXQgZm9yIHNlbmRpbmcgcGFja2V0cywKCSAgYW5kIHRoZSByZW1vdGUgc2VuZHMgSUNNUCBwb3J0L2hvc3QgdW5yZWFjaGFibGUgbWVzc2FnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1MzQKCjIwMTUtMDktMDIgMjE6MTI6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzL3RoZW9yYWRlcGF5OiBGaXggaGFuZGxpbmcgb2YgZnJhZ21lbnRlZCBwYWNrZXRzCgkgIFRoaXMgd2FzIGJyb2tlbiBpbiBiMTA4OWZiNTIwIGJ5IG5vdCBjb25zaWRlcmluZyB0aGUgZnVsbCBwYWNrZXQgbGVuZ3RoIG9mIGEKCSAgZnJhZ21lbnRlZCBwYWNrZXQgYnV0IG9ubHkgdGhlIGxlbmd0aCBvZiB0aGUgZmlyc3Qgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDE3CgoyMDE1LTA5LTAxIDE1OjM5OjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlcGx5IHRvIGxhdGVuY3kgcXVlcnkKCjIwMTUtMDgtMzEgMTY6NDI6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHRlc3RzOiBGaXggcnRwc2Vzc2lvbiB0ZXN0IGZhaWx1cmUKCSAgVGhlIHRpbWUgb2YgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IGlzIHNlbWktcmFuZG9tLCBzbwoJICBzb21ldGltZXMgaXQgd2FzIHByb2R1Y2VkIGJlZm9yZSBlbm91Z2ggcGFja2V0cyBmcm9tCgkgIHRoZSBzZWNvbmQgU1NSQyB3ZXJlIHJlY2VpdmVkLiBGaXJzdCBkcm9wIHF1ZXVlZCBSVENQCgkgIHBhY2tldHMsIHRoZW4gYWR2YW5jZSB0aGUgY2xvY2sgZW5vdWdoIHRvIGVuc3VyZQoJICB0aGF0IGF0IGxlYXN0IG9uZSBuZXcgUlRDUCBwYWNrZXQgaXMgcHJvZHVjZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3MzEKCjIwMTUtMDgtMzEgMTM6NTY6MDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogaW1wcm92ZSB0aGUgdGVzdCBmb3IgbXVsdGktY2hhbm5lbCBtb2RlCgkgIENoYW5nZSB0aGUgdGVzdCB0byB2ZXJpZnkgdGhlIHJlYWQtaW5kZXggZm9yIG11bHRpcGxlIG1lc3NhZ2VzIHBlciBidWZmZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ0CgoyMDE1LTA4LTMxIDEyOjQ2OjUyICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFsaWduIHJhdyB2aWRlbyBmcmFtZXMgdG8gMzIgYnl0ZXMKCSAgT3V0cHV0dGluZyB1bmFsaWduZWQgdmlkZW8gZnJhbWVzIGNhdXNlcyB2aWRlb3NjYWxlIGV0IGFsIHRvCgkgIGNyYXNoIHdoZW4gYXR0ZW1wdGluZyBTSU1ELWFjY2VsZXJhdGVkIGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NjUKCjIwMTUtMDgtMjYgMjM6MTY6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBsZXZlbCBjYWxjdWxhdGlvbnMgZm9yIG11dGxpcGxlIGNoYW5uZWxzCgkgIFRoaXMgd2FzIGJyb2tlbiB3aXRoIDdiOTBiZjMyMTUwODk3YTE0MWEyOWExMmVjYWI1NTVkOGM1YjdmYWIuCgoyMDE1LTA4LTI3IDEwOjI4OjU1ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogRml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9zbXB0ZV9jb2xsZWN0ZWQoKSwgY2hlY2sgdXBmcm9udCBpZiBpbnB1dCBmb3JtYXRzIGFyZSBzYW1lCgkgIG9yIG5vdC4gVGhpcyBhdm9pZHMgYWxsb2NhdGlvbiBvZiBpbjEgYW5kIGluMiBidWZmZXJzIGFuZAoJICBzdWJzZXF1ZW50IG1lbW9yeSBsZWFrIHdoZW4gaW5wdXQgZm9ybWF0cyBkbyBub3QgbWF0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNTMKCjIwMTUtMDgtMjEgMTE6NTI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGRvbid0IHRyeSB0byBjb25uZWN0IHRvIGRlYWQgcmFkaW8gc2VydmVyCgoyMDE1LTA4LTIxIDE2OjI5OjE2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBUcml2aWFsIGZpeCB0byBjaGVjayBjb3JyZWN0IGNvbmRpdGlvbgoJICBXaGVuIGNoZWNraW5nIGZvciBkZXNjcmliZSBtZXRob2QsIGJlY2F1c2Ugb2YgbWlzc2luZyBwYXJlbnRoZXNlcywgd3JvbmcKCSAgY29uZGl0aW9uIGlzIGJlaW5nIGNoZWNrZWQsIHdoaWNoIHdpbGwgcmVzdWx0IGluIHdyb25nIGJlaGF2aW9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTEyCgoyMDE1LTA4LTIxIDEzOjE5OjAyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiByZWFkOiBmaXggdGFnIGxpc3QgbWVtb3J5IGxlYWsKCSAgZ3N0X3RvY19lbnRyeV9tZXJnZV90YWdzIG1ha2VzIGEgbmV3IHJlZiBvZiB0aGUgdGFnbGlzdCwgc28gaXQgc2hvdWxkCgkgIGJlIHVucmVmJ2VkIGFzIHNvb24gYXMgdGhlIHRhZ3MgYXJlIG1lcmdlZCB0byB0aGUgdG9jZW50cnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkwNAoKMjAxNS0wOC0yMSAxMjoyMDo1OSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogZml4IHRhZ2xpc3QgbWVtb3J5IGxlYWsKCSAgV2hlbiBwYXNzaW5nIHRoZSB0YWdsaXN0IHRvIGdzdF9hdWRpb19kZWNvZGVyX21lcmdlX3RhZ3MsIHRoZSByZWZlcmVuY2UgaXMgaW5jcmVhc2VkCgkgIGJ5IGF1ZGlvZGVjb2RlciBhbmQgdGhlIGNhbGxlciBzaG91bGQgZnJlZSB0aGUgdGFnbGlzdCBiZWluZyBwYXNzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MDMKCjIwMTUtMDgtMjAgMTQ6NDU6MzMgKzAyMDAgIEplYW4tTWljaGVsIEhhdXRib2lzIDxqZWFuLW1pY2hlbC5oYXV0Ym9pc0B2ZW8tbGFicy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGZpeCBwYWQgY2xvc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBKZWFuLU1pY2hlbCBIYXV0Ym9pcyA8amVhbi1taWNoZWwuaGF1dGJvaXNAdmVvLWxhYnMuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODc1Cgo9PT0gcmVsZWFzZSAxLjUuOTAgPT09CgoyMDE1LTA4LTE5IDEzOjI5OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTAKCjIwMTUtMDgtMTkgMTI6NDc6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDgtMTkgMTE6Mjk6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA4LTEzIDE3OjI5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggcmVncmVzc2lvbiB3aXRoIHN0YXJ0aW5nIGZyb20gaW5kZXggc2V0IHZpYSBpbmRleCBwcm9wZXJ0eQoJICBXaGVuIHdlIGhhdmVuJ3Qgc3RhcnRlZCB5ZXQsIHNldCB0aGUgc3RhcnRfaW5kZXggd2hlbiB3ZSBzZXQgdGhlIGluZGV4IHByb3BlcnR5LAoJICBzbyB0aGF0IHdlIHN0YXJ0IGF0IHRoZSByaWdodCBpbmRleCBwb3NpdGlvbiBhZnRlciB0aGUgaW5pdGlhbCBzZWVrLiBUaGUgaW5kZXgKCSAgcHJvcGVydHkgd2FzIG5ldmVyIHJlYWxseSBtZWFudCB0byBiZSBmb3Igd3JpdGluZywgYnV0IGl0IHVzZWQgdG8gd29yaywgc28gbGV0J3MKCSAgc3VwcG9ydCBpdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzIKCjIwMTUtMDgtMTggMTA6NTI6MTEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggb2Zmc2V0IGNhbGN1bGF0aW9uIHdoZW4gcGFyc2luZyBDRU5DIGF1eCBpbmZvCgkgIENvbW1pdCA3ZDdlNTRjZTY4NjNmZjUzZTE4OGQwMjc2ZDI2NTFiNjUwODJmZmRiIGFkZGVkIHN1cHBvcnQgZm9yCgkgIERBU0ggY29tbW9uIGVuY3J5cHRpb24sIGhvd2V2ZXIgY29tbWl0CgkgIGJiMzM2ODQwYzBiMGIwMmZhMThkYzQ0MzdjZTBkZWQzZDkxNDI4MDEgdGhhdCB3ZW50IG9udG8gbWFzdGVyCgkgIHNob3J0bHkgYmVmb3JlIHRoZSBDRU5DIGNvbW1pdCBjYXVzZWQgdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBDRU5DCgkgIGF1eCBpbmZvIG9mZnNldCB0byBiZSBpbmNvcnJlY3QuCgkgIFRoZSBiYXNlX29mZnNldCB3YXMgYmVpbmcgYWRkZWQgaWYgcHJlc2VudCwgYnV0IGlmIHRoZSBiYXNlX29mZnNldAoJICBpcyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIG1vb2YsIHRoZSBvZmZzZXQgd2FzIGJlaW5nIGFkZGVkIHR3aWNlLgoJICBUaGUgY29ycmVjdCBhcHByb2FjaCBpcyB0byBjYWxjdWxhdGUgdGhlIG9mZnNldCBmcm9tIHRoZSBzdGFydCBvZiB0aGUKCSAgbW9vZiBhbmQgdXNlIHRoYXQgb2Zmc2V0IHdoZW4gcGFyc2luZyB0aGUgQ0VOQyBhdXggaW5mby4KCjIwMTUtMDgtMTcgMTQ6Mjg6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWN0dWFsbHkgcmV0dXJuIHRydWUgZm9yIGFjY2VwdC1jYXBzIHF1ZXJ5IGhhbmRsaW5nCgoyMDE1LTA4LTE3IDE0OjA3OjEwICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5jOgoJICBydHA6IGNvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXJzIHdoaWNoIGlzIG1pc3NlZCBiZWZvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzcwNgoKMjAxNS0wOC0xNiAxNToyMTo1MSAtMDQwMCAgRHVzdGluIFNwaWN1enphIDxkdXN0aW5AdmlydHVhbHJvYWRzaWRlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogYWxsb3cgc3BlY2lmeWluZyBhdWRpbyBwbGF5YmFjayBkZXZpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzY3MAoKMjAxNS0wOC0xNiAxMzo1MTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgc2luZ2xlIGVudHJ5IGlmIGZyb20gbG9vcAoJICBJdGVyYXRlIGZyb20gdGhlIDJuZCBjaGFubmVsIG9uIGFuZCBjcmVhdGUgdGhlIDEgY2hhbm5lbCBzdHJ1Y3QKCSAgb3V0c2lkZSB0byBtYWtlIGxvb3Agc3RydWN0dXJlIHNpbXBsZXIgYW5kIG9ubHkgc2xpZ2h0bHkgZmFzdGVyLgoKMjAxNS0wOC0xNiAxMzoyMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBpbXBsZW1lbnQgcHJvcGVyIGFjY2VwdC1jYXBzCgkgIFNob3VsZCBqdXN0IGNvbXBhcmUgd2l0aCB3aGF0IGNhbiBiZSBpbW1lZGlhdGVsbHkgYWNjZXB0ZWQgYnkKCSAgdGhlIGVsZW1lbnQuIGZsYWNlbmMgY2FuJ3QgcmVuZWdvdGlhdGUgc28gaWYgaXQgaGFzIGEgY2FwcyBhbHJlYWR5CgkgIGl0IHNob3VsZCBvbmx5IGFjY2VwdCBpZiBpdCBpcyB0aGF0IGNhcHMgb3RoZXJ3aXNlIGp1c3QgdXNlIHRoZQoJICB0ZW1wbGF0ZSBjYXBzCgoyMDE1LTA4LTE2IDEzOjAzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGltcHJvdmUgc2luayBwYWQgdGVtcGxhdGUgY2FwcwoJICBSZW1vdmVzIHRoZSBuZWVkIGZvciBjdXN0b20gY2FwcyBxdWVyeSBoYW5kbGluZyBhbmQgbWFrZXMgaXQgbW9yZQoJICBjb3JyZWN0IGZyb20gdGhlIGJlZ2lubmluZyBvbiB0aGUgdGVtcGxhdGUuIEl0IGlzIGEgYml0IHVnbGllcgoJICB0byByZWFkIGJlY2F1c2UgdGhlcmUgaXMgMSBlbnRyeSBwZXIgY2hhbm5lbCBidXQgbWFrZXMgY29kZSBlYXNpZXIKCSAgdG8gbWFpbnRhaW4uCgoyMDE1LTA4LTE2IDEyOjQxOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmNvZGU6IGZpeCBnc3QtbGF1bmNoIHZlcnNpb24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wOC0xNSAyMjozMjoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBhdWRpb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBzcGVleGVuYywgd2F2cGFja2VuYywgbXVsYXdlbmMsIGFsYXdlbmMKCjIwMTUtMDgtMTUgMjI6Mjk6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgdmlkZW9lbmNvZGVyczogdXNlIHRlbXBsYXRlIHN1YnNldCBjaGVjayBmb3IgYWNjZXB0LWNhcHMKCSAgSXQgaXMgZmFzdGVyIHRoYW4gZG9pbmcgYSBxdWVyeSB0aGF0IHByb3BhZ2F0ZXMgZG93bnN0cmVhbSBhbmQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBFbGVtZW50czoganBlZ2VuYywgcG5nZW5jLCB2cDhlbmMsIHZwOWVuYywgeTRtZW5jCgoyMDE1LTA4LTE2IDE3OjIxOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogdXNlIG5ldyBiYXNlcGFyc2UgQVBJIHRvIGZpeCB0YWcgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wMy0xNyAxNzo1MDozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVzZSBuZXcgYmFzZSBwYXJzZSBBUEkgdG8gZml4IHRhZyBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzY4CgoyMDE1LTA4LTE2IDE0OjM3OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1c2UgbmV3IGJhc2VwYXJzZSBBUEkgYW5kIGZpeCB0YWcgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wOC0xNiAxMzowNDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2Ugc2lnbmVkIGludGVnZXIgdHlwZSB0byBiZSBhYmxlIHRvIGNoZWNrIGZvciBuZWdhdGl2ZSBzdWJ0cmFjdGlvbiByZXN1bHRzCgkgIENJRCAxMzE1ODI5CgoyMDE1LTA4LTE2IDExOjUwOjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogcmVtb3ZlIGRlYWQgY29kZQoJICBwYXlsb2FkX2J1ZmZlciBtdXN0IGJlIE5VTEwgaW4gaWdub3JlX3Jlc2VydmVkLiBDaGVjayB3aWxsIGFsd2F5cyBiZSBmYWxzZS4KCSAgSW50cm9kdWNlZCBieSBiMTA4OWZiNTIwNzY5N2JhMjZlZGI0ZmY2NmVkMGY0NjVjNmRmM2NmCgkgIENJRCAjMTMxNjQ3NgoKMjAxNS0wOC0xNSAyMjo0NTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgIGFsYXdlbmM6IHBvcnQgdG8gQXVkaW9FbmNvZGVyIGJhc2UgY2xhc3MKCjIwMTUtMDgtMTUgMDk6MTY6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBhdWRpb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGZsYWNkZWMsIHNwZWV4ZGVjLCB3YXZwYWNrZGVjLCBtdWxhd2RlYywgYWxhd2RlYwoKMjAxNS0wOC0xNSAwODo0OTo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2aWRlb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGpwZWdkZWMsIHBuZ2RlYywgdnA4ZGVjLCB2cDlkZWMKCjIwMTUtMDgtMTUgMTE6MzE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYzogbWFrZSBlcnJvciBoYW5kbGluZyBhIGJpdCBuaWNlcgoJICBQcmludCB0aGUgZWxlbWVudCBhbG9uZyB3aXRoIHRoZSBkZWJ1ZyB0byBtYWtlIGl0IGVhc2llciB0byB0cmFjZQoJICB0aGUgZmFpbHVyZXMKCjIwMTUtMDgtMTUgMTE6MDQ6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICBhbGF3ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlciBiYXNlIGNsYXNzCgkgIG11bGF3ZGVjIHdhcyBhbHJlYWR5IHBvcnRlZCwgYWxhd2RlYyB3YXMgbGVmdCBiZWhpbmQuCgoyMDE1LTA4LTE1IDEwOjM0OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBsb29rIGZvciBtb3JlIHNhbXBsZXMgaW4gbW9vZnMgaW4gcHVsbC1tb2RlCgkgIEZvciBwbGF5YmFjayBvZiBzb21lIGZyYWdtZW50ZWQgZm9ybWF0cyB3aXRoIHF0ZGVtdXggaXQgd2lsbAoJICB0cnkgdG8gbG9vayBmb3IgdGhlIG5leHQgbW9vZiBhZnRlciBmaW5pc2hpbmcgb25lIGJ1dCBpdCBpcyBvbmx5CgkgIHBvc3NpYmxlIGZvciBwdWxsLW1vZGUuIEZvciBwbGF5YmFjayBvZiBzdHJlYW1pbmcgZnJhZ21lbnRlZCBmb3JtYXRzCgkgIHN1Y2ggYXMgREFTSCBpdCBzaG91bGQganVzdCBub3QgdHJ5IHRvIGxvb2sgZm9yIGFub3RoZXIgbW9vZiBidXQKCSAgaW5zdGVhZCB3YWl0IGZvciBtb3JlIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMwoKMjAxNS0wOC0xNSAxMjo1ODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IERvbid0IGxvb2sgZm9yIGEgc2Vjb25kIHN5bmN3b3JkCgkgIFRoZXJlIGFyZSBzdHJlYW1zIG91dCB0aGVyZSB0aGF0IGNvbnNpc3RlbnRseSBjb250YWluIGdhcmJhZ2UgYmV0d2VlbgoJICBldmVyeSBmcmFtZSBzbyB3ZSBuZXZlciBldmVyIGZpbmQgYSBzZWNvbmQgY29uc2VjdXRpdmUgc3luY3dvcmQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjM3CgoyMDE1LTA4LTE1IDExOjEyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA4ZW5jLCB2cDllbmM6IHJlc2V0IG11bHRpcGFzcyBmaWxlIGluZGV4IHdoZW4gc3RvcHBpbmcgZW5jb2RlcgoJICBGaXhlcyBtdWx0aXBhc3MgZW5jb2Rpbmcgd2hlbiByZS11c2luZyB0aGUgc2FtZSBlbGVtZW50L3BpcGVsaW5lCgkgIGZvciBzdWJzZXF1ZW50IGVuY29kaW5nIHJ1bnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjgKCjIwMTUtMDgtMTUgMTE6MDk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cDllbmM6IHByb3ZpZGUgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcGFzcyBjYWNoZSBmaWxlcwoJICBTb21lIGZpbGVzIG1heSBwcm92aWRlIGRpZmZlcmVudCBjYXBzIGluc2lnaHQgb2Ygb25lIHN0cmVhbS4gU2luY2UKCSAgdnA5ZW5jIHN1cHBvcnQgY2FwcyByZWluaXQsIHdlIHNob3VsZCBzdXBwb3J0IGNhY2hlIHJlaW5pdCB0b28uCgkgIElmIG1vcmUgdGhlbiBmaWxlIGNhY2hlIGZpbGUgd2lsbCBiZSBjcmVhdGVkLCB0aGUgbmFtaW5nIHdpbGwgYmU6CgkgIGNhY2hlIGNhY2hlLjEgY2FjaGUuMiAuLi4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9sZWtzaWogUmVtcGVsIDxsaW51eEByZW1wZWwtcHJpdmF0LmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzI4CgoyMDE1LTA4LTE0IDExOjQxOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICB0ZXN0czogYWFjcGFyc2U6IHVzZSBjYXBzIHF1ZXJ5IGluc3RlYWQgb2YgYWNjZXB0LWNhcHMKCSAgVGhlIGFjY2VwdC1jYXBzIHF1ZXJ5IGp1c3QgZG9lcyBhIHNoYWxsb3cgY2hlY2sgYXQgdGhlIGN1cnJlbnQKCSAgZWxlbWVudCB3aGlsZSBhdCB0aGlzIHRlc3Qgd2Ugd2FudCBpdCB0byBhbHNvIGxvb2sgYXQgZG93bnN0cmVhbS4KCSAgU28gdXNlIGNhcHMgcXVlcnkgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTE6NDA6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZW5hYmxlIGFjY2VwdC10ZW1wbGF0ZSBmbGFnCgkgIERvIGEgcXVpY2sgY2hlY2sgd2l0aCB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgaXQgaXMgZW5vdWdoLiBVc2VycwoJICBzaG91bGQgaGF2ZSBmaWd1cmVkIHRoZSBhcHByb3ByaWF0ZSBmdWxsIGNhcHMgb24gYSBwcmV2aW91cyBjYXBzIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTU6NDY6NTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VuZCB0aGUgVXNlci1BZ2VudCBoZWFkZXIKCSAgU29tZXRpbWVzIGl0IGlzIHVzZWZ1bCB0byBrbm93IHRoaXMgaW5mb3JtYXRpb24gb24gdGhlCgkgIHNlcnZlciBzaWRlLiBPdGhlciBwb3B1bGFyIGltcGxlbWVudGF0aW9ucyAodmxjLCBmZm1wZWcsIC4uLikKCSAgYWxzbyBzZW5kIHRoaXMgaGVhZGVyIG9uIGV2ZXJ5IG1lc3NhZ2UuCgkgIFRoaXMgaW5jbHVkZXMgYSBuZXcgInVzZXItYWdlbnQiIHByb3BlcnR5IHRoYXQgdGhlIHVzZXIKCSAgY2FuIHNldCB0byB1c2UgYSBjdXN0b20gVXNlci1BZ2VudCBzdHJpbmcuIFRoZSBkZWZhdWx0CgkgIGlzICJHU3RyZWFtZXIvPHZlcnNpb24+IgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTAxCgoyMDE1LTA4LTE0IDE1OjQyOjQyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB3cmFwIGdzdF9ydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0IGluIGEgbG9jYWwgZnVuY3Rpb24KCSAgVGhpcyB3aWxsIGFsbG93IGFkZGluZyBjb21tb24gcmVxdWVzdCBpbml0aWFsaXphdGlvbiwgbGlrZSB0aGUKCSAgdXNlciBhZ2VudCBzdHJpbmcsIGluIGp1c3Qgb25lIHBsYWNlLgoKMjAxNS0wOC0xNCAwOTozNjowOSArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IG1ha2Ugc3VyZSBidWZmZXIgZ2V0cyByZWFsbG9jYXRlZCBpZiBtYXhfZGVsYXkgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDkwCgoyMDE1LTA3LTA5IDA5OjUxOjI2ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8bGludXhAcmVtcGVsLXByaXZhdC5kZT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogcHJvdmlkZSBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXNzIGNhY2hlIGZpbGVzCgkgIFNvbWUgZmlsZXMgbWF5IHByb3ZpZGUgZGlmZmVyZW50IGNhcHMgaW5zaWdodCBvZiBvbmUgc3RyZWFtLiBTaW5jZSB2cDhlbmMKCSAgc3VwcG9ydCBjYXBzIHJlaW5pdCwgd2Ugc2hvdWxkIHN1cHBvcnQgY2FjaGUgcmVpbml0IHRvby4KCSAgSWYgbW9yZSB0aGVuIGZpbGUgY2FjaGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQsIHRoZSBuYW1pbmcgd2lsbCBiZToKCSAgY2FjaGUKCSAgY2FjaGUuMQoJICBjYWNoZS4yCgkgIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzI4CgoyMDE1LTA0LTE1IDIyOjUxOjUxICswMjAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGZpeCB0aW1lc3RhbXBzIGZvciBSVFAgcGFja2V0cyB3aXRoIG11bHRpcGxlIEFVcwoJICBVc2UgY29uc3RhbnREdXJhdGlvbiB0byBjYWxjdWxhdGUgdGhlIHRpbWVzdGFtcCBvZiBub24tZmlyc3QgQVUgaW4gdGhlCgkgIFJUUCBwYWNrZXQuCgkgIElmIGNvbnN0YW50RHVyYXRpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIE1JTUUgcGFyYW1ldGVycywgaXRzIHZhbHVlCgkgIG11c3QgYmUgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdGltaW5nIGluZm9ybWF0aW9uIGZyb20gdHdvIGNvbnNlY3V0aXZlCgkgIFJUUCBwYWNrZXRzIHdpdGggQVUtSW5kZXggZXF1YWwgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg4MQoKMjAxNS0wOC0xNCAwNjo0MzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBpZiwgZ19mcmVlIGlzIG51bGwgc2FmZQoKMjAxNS0wOC0xNCAwODozMzo1NiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBwcm9wZXJ0eSB0byBzZXQgSFRUUCBtZXRob2QKCSAgVG8gYWxsb3cgc291cGh0dHBzcmMgdG8gYmUgdXNlIEhUVFAgbWV0aG9kcyBvdGhlciB0aGFuIEdFVAoJICAoZS5nLiBIRUFEKSwgYWRkIGEgIm1ldGhvZCIgcHJvcGVydHkgdGhhdCBpcyBhIHN0cmluZy4gSWYgdGhpcwoJICBwcm9wZXJ0eSBpcyBub3Qgc2V0LCBHRVQgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wOC0xNCAxMToxMzowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIGNoZWNrOiBSZW5hbWUgc3RhdGVzIHVuaXQgdGVzdAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIG90aGVyIG1vZHVsZXMgc3RhdGVzIHVuaXQgdGVzdAoKMjAxNS0wOC0xNCAwOToyMToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBnb29tOiBSZW5hbWUgZ2V0X3R5cGUoKSBmdW5jdGlvbiBvZiBiYXNlIGNsYXNzIHRvIHByZXZlbnQgc3ltYm9sIGNvbmZsaWN0cwoJICBUaGlzIGlzIGEgcHJvYmxlbSB3aGVuIHN0YXRpY2FsbHkgbGlua2luZy4KCjIwMTUtMDgtMTMgMTY6MzI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBLZWVwIHRoZSBEVFMgZXN0aW1hdGUgaWYgd2UgZ290IG5vIERUUyBhZnRlciBhIGppdHRlcmJ1ZmZlciByZXNldAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IG91dHB1dCBidWZmZXJzIHdpdGhvdXQgdGltZXN0YW1wcyBhZnRlciBhIHJlc2V0IGlmIG5vCgkgIHRpbWVzdGFtcHMgYXJlIHByb3ZpZGVkIGJ5IHVwc3RyZWFtLCBlLmcuIHdoZW4gdXNpbmcgUlRTUCBvdmVyIFRDUC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wOC0xMiAxNzoxNjowMSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkgIG1hdHJvc2thOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1NTYKCjIwMTUtMDgtMDQgMjA6NTk6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogQ29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xMCAxODoyMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzbWFsbCB0eXBvIGluIGNvbW1lbnQKCjIwMTUtMDgtMTAgMTY6MTk6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMS9kb2M6IEZpeHVwIHByZXZpb3VzIGNvbW1pdAoKMjAxNS0wOC0xMCAxNTo1NToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxL2RvYzogVXNlIEdzdEdvb20yazEgbmFtZXNwYWNlCgkgIFRoZSBkb2MgZ2VuZXJhdG9yIGlzbid0IGhhcHB5IHdoZW4gd2UgaGF2ZSBjbGFzcyBuYW1lIGNsYXNoLiBTaW1wbHkKCSAgdXNlIGl0J3Mgb3duIG5hbWVzcGFjZS4KCjIwMTUtMDgtMTAgMTc6MTA6NDIgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiByZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBpbiBzZXRfcHJvcGVydHkKCSAgdW51c2VkIGxvY2FsIHZhcmlhYmxlICdkZWxheScgaXMgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ1MAoKMjAxNS0wOC0xMCAxMjo0NToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc3Vib3B0aW1hbCBxdWV1ZSBpdGVyYXRpb24gY29kZQoKMjAxNS0wOC0wOSAxNzoyNTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgZ2xpYiAyLjQ0LW9ubHkgQVBJCgoyMDE1LTA3LTI5IDE0OjE0OjUwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgSVNPQk1GRiBDb21tb24gRW5jcnlwdGlvbgoJICBUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgZm9yIElTT0JNRkYgQ29tbW9uIEVuY3J5cHRpb24gKGNlbmMpLCBhcwoJICBkZWZpbmVkIGluIElTTy9JRUMgMjMwMDEtNy4gSXQgdXNlcyBhIEdzdFByb3RlY3Rpb24gZXZlbnQgdG8KCSAgcGFzcyB0aGUgY29udGVudHMgb2YgUFNTSCBib3hlcyB0byBkb3duc3RyZWFtIGRlY3J5cHRvciBlbGVtZW50cwoJICBhbmQgYXR0YWNoZWQgR3N0UHJvdGVjdGlvbk1ldGEgdG8gZWFjaCBzYW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTEKCjIwMTUtMDgtMTAgMTQ6MTM6NTAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoKMjAxNS0wOC0wOCAxNjo0NDo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBvdXRkYXRlZCBjb21tZW50CgkgIFRoZSBkZWZhdWx0IGJlaGF2aW91ciB3YXMgY2hhbmdlZCBpbiB0aGUgMC4xMCAtPiAxLngKCSAgdHJhbnNpdGlvbiwgYnV0IHRoZSBjb21tZW50IHdhcyBub3QgdXBkYXRlZC4KCjIwMTUtMDgtMDggMTc6NDI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IElmIGZsdXNoaW5nIGEgcGFja2V0IGZhaWxlZCwgZ28gb3V0IG9mIHRoZSBsb29wIGltbWVkaWF0ZWx5CgoyMDE1LTA4LTA4IDE3OjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBJZiBmbHVzaGluZyBhIHBhY2tldCBmYWlsZWQsIGdvIG91dCBvZiB0aGUgbG9vcCBpbW1lZGlhdGVseQoKMjAxNS0wOC0wOCAxNzozNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgIHJ0cHRoZW9yYXBheTogRXh0cmFjdCBwaXhlbCBmb3JtYXQgZnJvbSB0aGUgaWRlbnQgaGVhZGVyIHRvIHB1dCBpdCBpbnRvIHRoZSBzYW1wbGluZyBmaWVsZCBvZiB0aGUgY2FwcwoJICBXZSBhbHdheXMgcHV0IDQ6MjowIGludG8gdGhlIGNhcHMgYmVmb3JlLCB3aGljaCBvYnZpb3VzbHkgaXMgd3JvbmcgZm9yIDQ6MjoyCgkgIGFuZCA0OjQ6NCBmb3JtYXRzLgoKMjAxNS0wOC0wNiAxNzo0NjoxMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSAgcnRwa2x2KGRlKXBheTogYWRkICJSVFAiIGluIHRoZSBrbGFzcyBzdHJpbmcKCSAgR3N0UlRTUE1lZGlhIHVzZXMgdGhpcyBjbGFzc2lmaWNhdGlvbiB0byBkZXRlY3QgdGhlIHJlYWwgcGF5bG9hZGVyCgkgIGluc2lkZSBhIGR5bnBheSBiaW4gYW5kIGFzc2VydHMgaWYgaXQgZG9lc24ndCBmaW5kIGl0LCB0aGVyZWZvcmUKCSAgaXQgaXMgcmVxdWlyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzMyNQoKMjAxNS0wOC0wNSAxMToxMzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzOiBydHBhdXg6IHVzZSBhIGR5bmFtaWMgcHQgaW4gdGhlIHRlc3QKCSAgMSkgVGVzdHMgdGhhdCB1c2luZyBkeW5hbWljIFBUIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgb25lcyB3b3JrCgkgIDIpIElmIHdlIGV2ZXIgZGVjaWRlIHRvIGNoYW5nZSB0aGUgY29kZWMgaGVyZSB3ZSBkb24ndCBuZWVkIHRvCgkgIHdvcnJ5IGFib3V0IGNoYW5nZSB0aGUgUFQgZm9yIHRoZSBkZWZhdWx0IG9uZSBvZiB0aGUgbmV3IGNvZGVjCgkgIGluIHRoZSB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDgtMDUgMTA6NTM6MTUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBwcmludCB2YWxpZCB0eXBlIHdoZXJlIGd1aW50MzIgaXMgZXhwZWN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wOC0wNiAxMTozMzozNyArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICBydHBwYXlsb2FkOiBzZXQgc3RhbmRhcmQgcGF5bG9hZCB0eXBlIGFzIGRlZmF1bHQKCSAgSW5pdGlhbGl6ZSB0aGUgUFQgdG8gdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGNvZGVjIGFuZCBjaGVjayBpZgoJICBpdCBpcyBzdGlsbCB0aGUgZGVmYXVsdCBiZWZvcmUgZGVjbGFyaW5nIHRoZSBwdCB0byBiZSBkeW5hbWljIG9yCgkgIG5vdCB3aGVuIHNldHRpbmcgdGhlIGNhcHMuCgkgIEFsc28gdXNlIHRoZSBQVCBjb25zdGFudHMgZnJvbSB0aGUgcnRwIGxpYiB3aGVuIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5NjUKCjIwMTUtMDctMjYgMTI6MDc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdG9yZSB0aGUgbW9vZi1vZmZzZXQgYWxzbyBmb3IgcHVzaCBtb2RlCgkgIEl0IHdpbGwgYmUgdXNlZCBpbiBzb21lIGNhc2VzIGZvciBnZXR0aW5nIHRoZSBjb3JyZWN0IG9mZnNldHMKCSAgZnJvbSB0cnVuIGF0b21zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAzCgoyMDE1LTA3LTI2IDAyOjA5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogaGFuZGxlIGRlZmF1bHQtYmFzZS1pcy1tb29mIGZsYWcKCSAgSGFuZGxlIHRoZSBmbGFnIGZyb20gdGhlIHRmaGQgdGhhdCBzaWduYWxzIHRoZSBiYXNlIG9mZnNldCB0bwoJICBzdGFydCBmcm9tIHRoZSBtb29mIGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMwoKMjAxNS0wNy0yOSAxODo1NDozNSAtMDYwMCAgR2xlbiBEaWVuZXIgPGdyZEBsb2dhbm1pbGwubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FkZW11eDogUHJlc2VydmUgZm9yd2FyZCByZWZlcmVuY2VkIHRyYWNrIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg1MAoKMjAxNS0wOC0wNCAxODowNzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzOiBydHBhdXg6IGZpeCB0ZXN0IGZhaWx1cmUKCSAgVGhlIFJUUCBQVCBmb3IgYWxhdyBpcyA4LgoJICBMZXNzIHRoYW4gNTAgcGFja2V0cyBhcmUgcmVjZWl2ZWQgaW4gdGhlIGxlbmd0aCBvZiB0aGlzIHRlc3Qgc28gaXQKCSAgd291bGQgbmV2ZXIgZHJvcCBhIGJ1ZmZlciBvciB3b3VsZCBkcm9wIG9ubHkgdGhlIGxhc3QgYnVmZmVyIGFuZAoJICBpdCB3b3VsZCBmYWlsIHNvbWV0aW1lcyB3aGVuIHRoZSByZWNlaXZlZCB3b3VsZG4ndCByZWNlaXZlIHRoZQoJICByZXRyYW5zbWlzc2lvbiBwYWNrZXQgaW4gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wOC0wNCAyMDo1OToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSAgcnRwc3RyZWFtZGVwYXk6IE9ubHkgYWxsb3cgYWN0aXZhdGlvbiBpbiBwdXNoIG1vZGUKCSAgV2UgbmVlZCBhIHByb3BlciBjYXBzIGV2ZW50IGZyb20gdXBzdHJlYW0gd2l0aCB0aGUgZnVsbCBSVFAgY2FwcyBhcyB3ZSBjYW4ndAoJICBjcmVhdGUgY2FwcyBvdXJzZWx2ZXMgZnJvbSB0aGluIGFpci4gRml4ZXMgdXNhZ2Ugb2YgcnRwc3RyZWFtZGVwYXkgYWZ0ZXIgZS5nLgoJICBhIGZpbGVzcmMgb3IgYW55IG90aGVyIGVsZW1lbnQgdGhhdCBzdXBwb3J0cyBwdWxsIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwNjYKCjIwMTUtMDgtMDQgMTY6Mjg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggdHlwbyBpbiB0cmFuc2xhdGVkIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjQwCgoyMDE1LTA4LTA0IDEyOjI1OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBQdXQgdGhlIHByb2ZpbGUgYW5kIGxldmVsIGludG8gdGhlIGNhcHMKCjIwMTUtMDgtMDQgMTI6MDk6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IE9ubHkgdXBkYXRlIHRoZSBzcmNwYWQgY2FwcyBpZiBzb21ldGhpbmcgZWxzZSB0aGFuIHRoZSBjb2RlY19kYXRhIGNoYW5nZWQKCSAgaDI2NHBhcnNlIGRvZXMgdGhlIHNhbWUsIGxldCdzIGtlZXAgdGhlIGJlaGF2aW91ciBjb25zaXN0ZW50LiBBcyB3ZSBub3cKCSAgaW5jbHVkZSB0aGUgY29kZWNfZGF0YSBpbnNpZGUgdGhlIHN0cmVhbSB0b28gaGVyZSwgdGhpcyBjYXVzZXMgbGVzcyBjYXBzCgkgIHJlbmVnb3RpYXRpb24uCgoyMDE1LTA4LTA0IDExOjQ4OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBQUFMgcmVwbGFjZXMgYW5kIG9sZCBQUFMgaWYgaXQgaGFzIHRoZSBzYW1lIGlkLCBpbmRlcGVuZGVudCBvZiBTUFMgaWQKCSAgVGhlIHNwZWMgc2F5czoKCSAgV2hlbiBhIHBpY3R1cmUgcGFyYW1ldGVyIHNldCBOQUwgdW5pdCB3aXRoIGEgcGFydGljdWxhciB2YWx1ZSBvZgoJICBwaWNfcGFyYW1ldGVyX3NldF9pZCBpcyByZWNlaXZlZCwgaXRzIGNvbnRlbnQgcmVwbGFjZXMgdGhlIGNvbnRlbnQgb2YgdGhlCgkgIHByZXZpb3VzIHBpY3R1cmUgcGFyYW1ldGVyIHNldCBOQUwgdW5pdCwgaW4gZGVjb2Rpbmcgb3JkZXIsIHdpdGggdGhlIHNhbWUKCSAgdmFsdWUgb2YgcGljX3BhcmFtZXRlcl9zZXRfaWQgKHdoZW4gYSBwcmV2aW91cyBwaWN0dXJlIHBhcmFtZXRlciBzZXQgTkFMIHVuaXQKCSAgd2l0aCB0aGUgc2FtZSB2YWx1ZSBvZiBwaWNfcGFyYW1ldGVyX3NldF9pZCB3YXMgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtKS4KCjIwMTUtMDgtMDMgMTM6NDU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogcmVtb3ZlIGV4dHJhIFxuIGF0IGRlYnVnIG1lc3NhZ2UKCjIwMTUtMDgtMDMgMTM6NDI6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogcHJldmVudCBkZWFkbG9jayB3aGVuIHN0YXRlcyBjaGFuZ2UgdG9vIGZhc3QKCSAgSWYgdGhlIEdPUCBpcyBjb21wbGV0ZWQsIHBhZHMgaGF2ZSB0byBzdGFydCBnYXRoZXJpbmcgZm9yIHRoZQoJICBuZXh0IG9uZSBidXQgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgdGhlIHN0YXRlIG1pZ2h0IGdvIHRvCgkgIENPTExFQ1RJTkdfR09QX1NUQVJUIGFuZCBiYWNrIHRvIFdBSVRJTkdfR09QX0NPTVBMRVRFIGJlZm9yZSB0aGUKCSAgdGhyZWFkIGhhcyBhIGNoYW5jZSB0byB3YWtlIHVwIGFuZCBwcm9jZWVkLCBsZWF2aW5nIGl0IHRyYXBwZWQgaW4KCSAgdGhlIGNoZWNrX2NvbXBsZXRlZF9nb3AgbG9vcCBhbmQgZGVhZGxvY2tpbmcgdGhlIG90aGVyIHRocmVhZHMKCSAgd2FpdGluZyBmb3IgaXQgdG8gYWR2YW5jZS4KCSAgVG8gc29sdmUgaXQsIHRoaXMgcGF0Y2ggYWxzbyBjaGVja3MgdGhhdCB0aGEgaW5wdXQgcnVubmluZyB0aW1lCgkgIGhhc24ndCBjaGFuZ2VkIHRvIHByZXZlbnQgdGhpcyBzY2VuYXJpby4KCjIwMTUtMDgtMDMgMTc6NTU6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IEluc2VydCBTUFMvUFBTIE5BTHMgaW50byB0aGUgc3RyZWFtCgkgIGgyNjRwYXJzZSBkb2VzIHRoZSBzYW1lIGFuZCB0aGlzIGZpeGVzIGRlY29kaW5nIG9mIHNvbWUgc3RyZWFtcyB3aXRoIDMyIFNQUwoJICAob3IgMjU2IFBQUykuIEl0IGlzIGFsbG93ZWQgdG8gaGF2ZSBTUFMgSUQgMCB0byAzMSAob3IgUFBTIElEIDAgdG8gMjU1KSwgYnV0CgkgIHRoZSBmaWVsZCBpbiB0aGUgY29kZWNfZGF0YSBmb3IgdGhlIG51bWJlciBvZiBTUFMgb3IgUFBTIGlzIG9ubHkgNSAob3IgOCkgYml0LgoJICBBcyBzdWNoLCAzMiBTUFMgKG9yIDI1NiBQUFMpIGFyZSBpbnRlcnByZXRlZCBhcyAwIGV2ZXJ5d2hlcmUuCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2UgaW4gdGhlIHBhcnQgb2YgdGhlIHNwZWMgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA3LTMwIDExOjI5OjI3ICswOTAwICBFdW5oYWUgQ2hvaSA8ZXVuaGFlMS5jaG9pQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGhhbmRsZSBlbXB0eSBodHRwIHByb3h5IHN0cmluZwoJICAxKSBJZiB0aGUgc3lzdGVtIGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldAoJICBvciBzZXQgdG8gYW4gZW1wdHkgc3RyaW5nLCB3ZSBtdXN0IG5vdCBzZXQgcHJveHkgdG8gYXZvaWQKCSAgaHR0cCBjb25uZWN0aW9uIGVycm9yLgoJICAyKSBJbiBjYXNlIG9mIHByb3h5IHByb3BlcnR5IHNldHRpbmcsIGlmIHVzZXIgd2FudCB0byBjbGVhcgoJICB0aGUgcHJveHkgc2V0dGluZywgdGhleSBzaG91bGQgYmUgYWJsZSB0byBzZXQgaXQgdG8gTlVMTCBvcgoJICBhbiBlbXB0eSBzdHJpbmcgYWdhaW4sIHNvIHRoaXMgaXMgZml4ZWQgdG9vLgoJICAzKSBDaGVjayBpZiB0aGUgcHJveHkgc3RyaW5nIHdhcyBwYXJzZWQgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODY2CgoyMDE1LTA3LTI5IDE1OjQ2OjIwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAnZnJhbWVjb3VudCcgZnJvbSBkdmRlbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDgKCjIwMTUtMDctMzAgMTU6MzI6MDkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFzc2VydGlvbiBlcnJvciBkdWUgdG8gd3JvbmcgY29uZGl0aW9uIGNoZWNrCgkgIEluIG1lZGlhIHRvIGNhcHMgZnVuY3Rpb24sIHJlc2VydmVkX2tleXMgYXJyYXkgaXMgYmVpbmcgdXNlZCBmb3IgdmFyaWFibGUgaSwKCSAgbGVhZGluZyB0byBHTGliLUNSSVRJQ0FMICoqOiBnX2FzY2lpX3N0cmNhc2VjbXA6IGFzc2VydGlvbiAnczEgIT0gTlVMTCcgZmFpbGVkCgkgIGNoYW5nZWQgaXQgdG8gdmFyaWFibGUgagoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTMwIDE1OjIxOjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwbXA0dmRlcGF5OiBydHBidWZmZXIgaXMgYmVpbmcgdW5yZWYnZWQgdHdpY2UKCSAgcHJvY2Vzc19ydHBfcGFja2V0IGRvZXNuJ3QgdHJhbnNmZXIgdGhlIHJ0cCBidWZmZXIgdG8gbXA0dl9wcm9jZXNzX2RlcGF5CgkgIHRoZSByZWZlcm5jZSBzaG91bGQgbm90IGJlIHJlbW92ZWQgaGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDQyCgoyMDE1LTA3LTI5IDExOjI2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBTdHJpcCBrZXlzIGZyb20gdGhlIGZtdHAgdGhhdCB3ZSB1c2UgaW50ZXJuYWxseSBpbiBvdXIgY2FwcwoJICBTa2lwIGtleXMgZnJvbSB0aGUgZm10cCwgd2hpY2ggd2UgYWxyZWFkeSB1c2Ugb3Vyc2VsdmVzIGZvciB0aGUKCSAgY2Fwcy4gU29tZSBzb2Z0d2FyZSBpcyBhZGRpbmcgcmFuZG9tIHRoaW5ncyBsaWtlIGNsb2NrLXJhdGUgaW50bwoJICB0aGUgZm10cCwgYW5kIHdlIHdvdWxkIG90aGVyd2lzZSBoZXJlIHNldCBhIHN0cmluZy10eXBlZCBjbG9jay1yYXRlCgkgIGluIHRoZSBjYXBzLi4uIGFuZCB0aHVzIGZhaWwgdG8gY3JlYXRlIHZhbGlkIFJUUCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMjkgMTk6Mjg6MzMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBTdXBwb3J0IG1wZWd0c211eCBhcyBhIG11eGVyLgoJICBBcyBhIGZhbGxiYWNrLCBsb29rIGZvciBhIHBhZCB0ZW1wbGF0ZSBzaW5rXyVkIG9uCgkgIHRoZSBtdXhlciB3aGVuIHJlcXVlc3RpbmcgcGFkcywgdG8gc3VwcG9ydCBtcGVndHNtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5OQoKMjAxNS0wNi0yNSAwMTozNToyNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJICBzcGxpdG11eHNyYzogVXNlIGEgc2VwYXJhdGUgbG9jayB0byBkZWxheSB0eXBlZmluZC4KCSAgRG9uJ3QgaG9sZCB0aGUgbWFpbiBzcGxpdG11eCBwYXJ0IGxvY2sgb3ZlcgoJICB0aGUgcGFyZW50IHN0YXRlIGNoYW5nZSBmdW5jdGlvbiwgYXMgaXQgcHJldmVudHMKCSAgcG9zdGluZyBlcnJvciBtZXNzYWdlcyB0aGF0IGhhcHBlbi4gU2luY2UgdGhlIHB1cnBvc2UKCSAgaXMgdG8gcHJldmVudCB0eXBlZmluZGluZyBmcm9tIHByb2NlZWRpbmcsIHVzZSBhCgkgIHNlcGFyYXRlIG11dGV4IGp1c3QgZm9yIHRoYXQuCgoyMDE1LTA3LTI5IDEzOjQzOjUwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggbWVtb3J5IGxlYWsKCSAgQWZ0ZXIgYWRkaW5nIHRvIHRhZyBsaXN0LCBrZXlfdmFsIGlzIG5vdCBiZWluZyBmcmVlJ2QKCSAgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTIKCjIwMTUtMDctMjcgMTM6MzQ6MTQgKzA5MDAgIE1hbmFzYSBBdGhyZXlhIDxtYW5hc2EuYXRocmV5YUBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCAxNi1iaXQgUENNIGF1ZGlvIGFkdmVydGlzZWQgd2l0aCAncmF3ICcgZm91cmNjCgkgICdOT05FJyBhbmQgJ3JhdyAnIGZvdXJjYyBkb24ndCBhbHdheXMgY29udGFpbiBVOCBhdWRpbywgaXQgY2FuCgkgIGJlIG1vcmUgYml0cyBhcyB3ZWxsLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBsaWtlICd0d29zJy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYxMwoKMjAxNS0wNy0yNCAxNToxMDowNSArMDIwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQWxsb3cgZnJhbWVyYXRlIHRvIGJlIGxhcmdlIHRoZW4gMTAwcGZzCgkgIFRoaXMgbGltaXQgd2FzIGFyYml0cmFyeS4gV2Ugc3RpbGwgZml4YXRlIG5lYXIgMTAwcGZzIGZvciBjb21wYXRpYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODI1CgoyMDE1LTA3LTI1IDAzOjI1OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHdpdGhvdXQgcG9zdGluZyBlcnJvciBvbiBmbHVzaGluZwoJICBUaGlzIGNvdWxkIGp1c3QgYmUgYSBub3JtYWwgcGlwZWxpbmUgc2h1dGRvd24uCgoyMDE1LTA3LTIzIDE1OjAwOjA4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBzZXQgR1NUX0JVRkZFUl9DT1BZX0ZMQUdTIHRvIGNvcHkgZmxhZ3MgYWxzbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjE4CgoyMDE1LTA3LTE2IDE4OjA5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thZGVtdXguYzoKCSAgdGVzdHM6IGFkZCBtaW5tYWwgbWF0cm9za2FkZW11eCB0ZXN0IGZvciBzdWJ0aXRsZSBvdXRwdXQKCSAgU29tZSBvZiB0aGUgc3VidGl0bGUgY2h1bmtzIHdpbGwgaGF2ZSBlbWJlZGRlZAoJICBOVUwtdGVybWluYXRvcnMgKGxhc3QgdGhyZWUpLCBzb21lIGRvbid0IChmaXJzdCB0aHJlZSksCgkgIHNvbWUgd2lsbCBoYXZlIG1hcmt1cCwgc29tZSB3b24ndCwgc29tZSB3aWxsIGJlIHZhbGlkCgkgIFVURi04IChhbGwgYnV0IGxhc3QpLCBzb21lIHdvbid0IChsYXN0IHN0YW56YSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjEKCjIwMTUtMDctMTYgMTg6NDk6MjYgKzAzMDAgIERpbWl0cmlvcyBDaHJpc3RpZGlzIDxkY2hyaXN0aWRpc0BteWtvbGFiLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggZm9yIHN1YnRpdGxlIGJ1ZmZlcnMgd2l0aCBOVUwgdGVybWluYXRvcnMKCSAgQ29tbWl0IDQ1ODkyZWM4IGNyZWF0ZWQgYSByZWdyZXNzaW9uIHdoZXJlIGdfdXRmOF92YWxpZGF0ZSgpIHdvdWxkIGZhaWwKCSAgaWYgdGhlIHN1YnRpdGxlIGJ1ZmZlciBoYWQgYSBOVUwgdGVybWluYXRvciBhcyBwYXJ0IG9mIHRoZSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDIxCgoyMDE1LTA3LTIxIDEzOjMxOjA1ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IENoZWNrIGF2YWlsYWJsZSBieXRlcyBiZWZvcmUgY29weQoJICBOZWVkIHRvIGNoZWNrIHRoYXQgdGhlIG51bWJlciBvZiBieXRlcyB3ZSB3YW50IHRvIGNvcHkgZnJvbSB0aGUgYWRhcHRlcgoJICBhY3R1YWxseSBpcyBhdmFpbGFibGUgYW5kIGhhbmRsZSB0aGUgZXJyb3IgY2FzZSBncmFjZWZ1bGx5LiBUaGlzIGVycm9yCgkgIG1heSBoYXBwZW4gaWYgbWFsZm9ybWVkIHBhY2tldHMgYXJlIHJlY2VpdmVkIGFuZCB3ZSBkb24ndCBoYXZlIGEKCSAgY29tcGxldGUgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2NjMKCjIwMTUtMDctMTYgMDk6MzI6MzYgKzA5MDAgIFBhdWwgSHl1bmlsIDxwYXVsLmh5dW5pbEBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFN1cHBvcnQgc3VidGl0bGUgd2hlbiB0cmFjayBzdWJ0eXBlIGlzIGZvdXJjY19zdWJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2NTUKCjIwMTUtMDctMjAgMTY6NTk6NDAgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogU2V0IHRpbWVzdGFtcCB3aGVuIHF1ZXVlIGJ1ZmZlci4KCSAgU2hvdWxkIHNldCB0aW1lc3RhbXAgd2hlbiBxdWV1ZSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MTgKCjIwMTUtMDctMTYgMTU6MTI6MTcgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBoYW5kbGUgZGlmZmVyZW50IHNzcmMncyBvbiBzaW5rcGFkcwoJICBEbyB0aGlzIGJ5IG5vdCBwdXR0aW5nIHRoZSBzc3JjIGZyb20gdGhlIHNyYyBwYWRzIGluIHRoZSBjYXBzIHVzZWQgdG8KCSAgcHJvYmUgb3RoZXIgc2lua3BhZHMsIGFuZCB0aGVuICBpbnRlcnNlY3Rpbmcgd2l0aCBpdCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5MQoKMjAxNS0wNy0xNiAxNzoxOTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgVXBkYXRlIG1haWxpbmcgbGlzdCBhZGRyZXNzIGZyb20gc291cmNlZm9yZ2UgdG8gZnJlZWRlc2t0b3AKCjIwMTUtMDctMTUgMTM6NDQ6NTIgKzAzMDAgIERpbWl0cmlvcyBDaHJpc3RpZGlzIDxkY2hyaXN0aWRpc0BteWtvbGFiLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggdHJhaWxpbmcgJyonIGRpc3BsYXllZCB3aXRoIHNvbWUgdGV4dCBzdWJ0aXRsZXMKCSAgVGhlIHN1YnRpdGxlIGJ1ZmZlciB3ZSBwdXNoIG91dCBzaG91bGQgbm90IGluY2x1ZGUgYSBOVUwgdGVybWluYXRvcgoJICBhcyBwYXJ0IG9mIHRoZSBkYXRhLCB3ZSBqdXN0IGFkZCBzdWNoIGEgdGVybWluYXRvciBmb3Igc2FmZXR5LCBidXQKCSAgaXQgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgYnVmZmVyIHNpemUuCgkgIEEgTlVMIHRlcm1pbmF0b3IgaXMgbm90IHZhbGlkIFVURi04LCBzbyBjaGVja3Mgd2lsbCBmYWlsIGlmIGl0J3MKCSAgaW5jbHVkZWQgaW4gdGhlIHNpemUsIGFuZCB0aGUgTlVMIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIGZhbGxiYWNrCgkgIGNoYXJhY3RlciBzcGVjaWZpZWQgd2hlbiBjb252ZXJ0aW5nLCBpLmUuICcqJy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0xNSAxODoyMzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IGFkZCBwcm9wZXJ0aWVzIHRvIEdzdERldmljZQoJICBBZGQgdGhlIGV4dHJhIHByb3BlcnRpZXMgd2UgZ2V0IGZyb20gcHVsc2UgdG8gdGhlIEdzdERldmljZSB3ZSBleHBvc2UKCSAgd2l0aCB0aGUgZGV2aWNlIG1vbml0b3IKCjIwMTUtMDctMTUgMTc6MjA6MjAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW9meDogRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMKCSAgRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMgb2YgYXVkaW93c2luY2JhbmQgYW5kIGF1ZGlvaW52ZXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDE2CgoyMDE1LTA0LTE1IDE4OjI3OjA0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBhZGQgYSAiZm9ybWF0LWxvY2F0aW9uIiBzaWduYWwgdGhhdCBhbGxvd3MgYmV0dGVyIGNvbnRyb2wgb3ZlciBmaWxlbmFtZXMKCSAgSW4gY2VydGFpbiBhcHBsaWNhdGlvbnMsIHNwbGl0dGluZyBpbnRvIGZpbGVzIG5hbWVkIGFmdGVyIGEgYmFzZQoJICBsb2NhdGlvbiB0ZW1wbGF0ZSBhbmQgYW4gaW5jcmVtZW50YWwgc2VxdWVuY2UgbnVtYmVyIGlzIG5vdCBlbm91Z2guCgkgIFRoaXMgc2lnbmFsIGdpdmVzIG1vcmUgZmluZS1ncmFpbmVkIGNvbnRyb2wgdG8gdGhlIGFwcGxpY2F0aW9uIHRvCgkgIGRlY2lkZSBob3cgdG8gbmFtZSB0aGUgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDYKCjIwMTUtMDQtMTUgMjA6MTM6MjcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvc3JjOiBubyByZXNhbXBsaW5nIG9uIE9TIFgKCSAgVW5saWtlIFJlbW90ZSBJTywgQVVIQUwgZG9lc24ndCBoYXZlIGJ1aWx0LWluIHJlc2FtcGxpbmcKCSAgZm9yIHNvdXJjZXMgLS0gY29uZmlybWVkIGJ5IENvcmUgQXVkaW8gZW5naW5lZXIgRG91ZyBXeWF0dDoKCSAgaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9jb3JlYXVkaW8tYXBpLzIwMDYvU2VwL21zZzAwMDg4Lmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wNC0xNSAxODoyOToxNCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW9zcmM6IGF2b2lkIGdldF9jaGFubmVsX2xheW91dAoJICBUaGlzIG9ubHkgcHJvZHVjZXMgYSB3YXJuaW5nIGFuZCBzZXJ2ZXMgbm8gcHVycG9zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wNC0wNyAxNTo0MDoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBBdm9pZCBtYWtpbmcgYSBkdXBsaWNhdGUgc3RydWN0dXJlIGluIGNhcHMgZm9yIG1vbm8vc3RlcmVvIGNhc2UKCSAgRm9yIDFjaCBvciAyY2ggZGV2aWNlcywgd2UganVzdCBuZWVkIHRvIHNldCB0aGUgY2FwcyB0byBhbGxvdyBib3RoCgkgIG9wdGlvbnMgc2luY2UgQ29yZUF1ZGlvIHdpbGwgdXAvZG93bm1peCBhcHByb3ByaWF0ZWx5LgoJICBBbHNvIGZpeGVzIHRoZSBjb25kaXRpb24gZm9yIHRoZSAyY2ggY2FzZSB0byBiZSBleGFjdCwgcmF0aGVyIHRoYW4gYXQKCSAgbGVhc3QgMiBjaGFubmVscyBzaW5jZSB0aGUgZG93bm1peCB3aWxsIG5vdCB0YWtlIHBsYWNlIGluIHRoZSA+c3RlcmVvCgkgIGNhc2UuCgoyMDE1LTA0LTA2IDE2OjIyOjM0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogRG9uJ3Qgc2V0IHRoZSBmb3JtYXQgb24gYW4gaW5pdGlhbGl6ZWQgQXVkaW9Vbml0CgkgIFdlIG5lZWQgdG8gaW5pdGlhbGl6ZSB0aGUgQXVkaW9Vbml0IGVhcmx5IHRvIGJlIGFibGUgdG8gcHJvYmUgdGhlCgkgIHVuZGVybHlpbmcgZGV2aWNlLCBidXQgYWNjb3JkaW5nIHRvIHRoZSBBdWRpb1VuaXRJbml0aWFsaXplKCkgYW5kCgkgIEF1ZGlvVW5pdFVuaW5pdGlhbGl6ZSgpIGRvY3VtZW50YXRpb24sIGZvcm1hdCBjaGFuZ2VzIHNob3VsZCBiZSBkb25lCgkgIHdoaWxlIHRoZSBBdWRpb1VuaXQgaXMgdW5pbml0aWFsaXplZC4gU28gd2UgZXhwbGljaXRseSB1bmluaXRpYWxpemUgdGhlCgkgIEF1ZGlvVW5pdCBkdXJpbmcgYSBmb3JtYXQgY2hhbmdlIGFuZCByZWluaXRpYWxpemUgaXQgd2hlbiB3ZSdyZSBkb25lLgoKMjAxNS0wNC0wNiAxNTo1NTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogTWlub3Igc3BlbGxpbmcgZml4ICh1bml0aWFsaXplIC0+IHVuaW5pdGlhbGl6ZSkKCjIwMTUtMDMtMjEgMjA6MzQ6MjUgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IEZpeCBsb2NrdXAgaW4gX2F1ZGlvX3VuaXRfcHJvcGVydHlfbGlzdGVuZXIKCSAgX2F1ZGlvX3VuaXRfcHJvcGVydHlfbGlzdGVuZXIgaXMgY2FsbGVkIGVpdGhlciBmcm9tIGEgQ29yZSBBdWRpbyB0aHJlYWQKCSAgb3IgYXMgYSByZXN1bHQgb2YgYSBDb3JlIEF1ZGlvIEFQSSAoZS5nLiBBdWRpb1VuaXRJbml0aWFsaXplKQoJICBmcm9tIG91ciBvd24gdGhyZWFkLiBJbiB0aGUgbGF0dGVyIGNhc2UsIG9zeGJ1ZiBjYW4gYmUgYWxyZWFkeSBsb2NrZWQKCSAgKEdTdHJlYW1lcidzIG11dGV4IGlzIG5vdCByZWN1cnNpdmUpLgoJICBXZSBpbnRyb2R1Y2UgdGhlIGZsYWcgY2FjaGVkX2NhcHNfdmFsaWQgYW5kIHVzZSBpdCBpbnN0ZWFkIG9mIG51bGxpZnlpbmcKCSAgY2FjaGVkX2NhcHMgd2hlbiB3ZSBjYW5ub3QgbG9jayBvbiBvc3hidWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDMtMTIgMTI6MTU6MTIgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBJbnZhbGlkYXRlIGNhY2hlZCBjYXBzIG9uIGZvcm1hdCBjaGFuZ2UKCSAgTGlzdGVuIGZvciBjaGFuZ2VzIGluIGhhcmR3YXJlIHN0cmVhbSBmb3JtYXQgYW5kIGNoYW5uZWwgbGF5b3V0LCBhbmQKCSAgaW52YWxpZGF0ZSBjYWNoZWQgY2FwcyAoc2luY2UgdGhleSBjb250YWluIHRoZSBwcmVmZXJyZWQgY2FwcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDMtMDkgMjM6MzQ6MDYgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IE92ZXJoYXVsIG9mIHByb2JpbmcgY2FwcwoJICAtIFByb2JpbmcgY2FwcyBpcyB1bmlmaWVkIGJldHdlZW4gc291cmNlIGFuZCBzaW5rCgkgIC0gSGFyZHdhcmUgc3RyZWFtIGZvcm1hdCBpcyBub3cgcmVwb3J0ZWQgYXMgcHJlZmVycmVkIGNhcGFiaWxpdGllcwoJICAoZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gY2hhbmdlcykKCSAgLSBHZXQgaGFyZHdhcmUgY2hhbm5lbCBsYXlvdXQgZnJvbSBSZW1vdGUgSU8ganVzdCBsaWtlIGZyb20gSEFMCgkgIC0gTW9yZSBjb21wcmVoZW5zaXZlIG1hcHBpbmcgYmV0d2VlbiBBdWRpb0NoYW5uZWxMYWJlbCBhbmQKCSAgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24KCSAgLSBTdXBwb3J0IGZvciB1bnBvc2l0aW9uZWQgY2hhbm5lbCBsYXlvdXRzCgkgIC0gQW5ub3VuY2Ugc3RlcmVvLW1vbm8gdXBtaXhpbmcvZG93bm1peGluZyBpbiBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDMtMDkgMjM6MTU6NTYgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBBdWRpb1VuaXRJbml0aWFsaXplIG9uIG9wZW4KCSAgQ2FsbCBBdWRpb1VuaXRJbml0aWFsaXplIHVwb24gb3Blbi4gT3RoZXJ3aXNlLCB3ZSBjYW5ub3QgZ2V0CgkgIChoYXJkd2FyZSkgc3RyZWFtIGZvcm1hdCBub3IgY2hhbm5lbCBsYXlvdXQgZnJvbSB0aGUgb3V0ZXIgc2NvcGUuCgoyMDE1LTA3LTEyIDE0OjI3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHA6IGRlcGF5bG9hZGVyczogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndAoJICBuZWVkIHRvIG1hcCB0aGUgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UKCSAgdGhlIG1hcHBpbmcgdGhlIGJhc2UgY2xhc3MgaGFzIGFscmVhZHkgZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoKMjAxNS0wNS0yNyAxOToxOToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndAoJICBuZWVkIHRvIG1hcCB0aGUgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UKCSAgdGhlIG1hcCB0aGUgYmFzZSBjbGFzcyBoYXMgYWxyZWFkeSBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgoyMDE1LTA3LTEwIDAwOjEzOjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGluZGVudGlvbgoKMjAxNS0wNy0wOSAyMzo1OToxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFsd2F5cyBlc3RpbWF0ZSBEVFMgZnJvbSB0aGUgY3VycmVudCBjbG9jayB0aW1lCgkgIEVzdGltYXRpbmcgaXQgZnJvbSB0aGUgUlRQIHRpbWUgd2lsbCBnaXZlIHVzIHRoZSBQVFMsIHNvIGluIGNhc2VzIG9mIFBUUyE9RFRTCgkgIHdlIHdvdWxkIHByb2R1Y2Ugd3JvbmcgRFRTLiBBcyBub3cgdGhlIGVzdGltYXRlZCBEVFMgaXMgYmFzZWQgb24gdGhlIGNsb2NrLAoJICBkb24ndCBzdG9yZSBpdCBpbiB0aGUgaml0dGVyYnVmZmVyIGl0ZW1zIGFzIGl0IHdvdWxkIG90aGVyd2lzZSBiZSB1c2VkIGluIHRoZQoJICBza2V3IGNhbGN1bGF0aW9ucyBhbmQgd291bGQgaW5mbHVlbmNlIHRoZSByZXN1bHRzLiBXZSBvbmx5IHJlYWxseSBuZWVkIHRoZSBEVFMKCSAgZm9yIHRpbWVyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOSAwOToyNjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgcnRwaDI2MyB0ZXN0CgoyMDE1LTA3LTA4IDIzOjQ3OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggYnVpbGQgZXJyb3Igd2l0aCBnY2MgKERlYmlhbiA0LjkuMi0yMSkgNC45LjIKCSAgUmVwbGFjZSBzdGF0aWMgY29uc3RhbnRzIHdpdGggbWFjcm9zIHRvIG1ha2UgZ2NjIGhhcHB5CgkgIENDICAgICAgIGVsZW1lbnRzL2VsZW1lbnRzX3J0cGppdHRlcmJ1ZmZlci1ydHBqaXR0ZXJidWZmZXIubwoJICBlbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzozODc6MTogZXJyb3I6IGluaXRpYWxpemVyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50CgkgIHN0YXRpYyBjb25zdCBHc3RDbG9ja1RpbWUgUENNVV9CVUZfRFVSQVRJT04gPSBQQ01VX0JVRl9NUyAqIEdTVF9NU0VDT05EOwoJICBeCgkgIGVsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOjM4ODoxOiBlcnJvcjogaW5pdGlhbGl6ZXIgZWxlbWVudCBpcyBub3QgY29uc3RhbnQKCSAgc3RhdGljIGNvbnN0IGd1aW50IFBDTVVfQlVGX1NJWkUgPSA2NDAwMCAqIFBDTVVfQlVGX01TIC8gMTAwMDsKCSAgXgoJICBlbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzozOTA6NTogZXJyb3I6IGluaXRpYWxpemVyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50CgkgIFBDTVVfQlVGX0NMT0NLX1JBVEUgKiBQQ01VX0JVRl9NUyAvIDEwMDA7CgoyMDE1LTA3LTA4IDIzOjQwOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBydW4gaW5kZW50IGFuZCBmaXggc29tZSBjb21tZW50cwoJICBGaXggaW5kZW50IG9uIHRoaXMgZmlsZSBhbmQgYnJlYWsgc29tZSBjb21tZW50IGxpbmVzIGludG8gdHdvIHRvIG1ha2UKCSAgaXQgZml0IDgwIGNoYXJzIHBlciBsaW5lCgoyMDE1LTA3LTA4IDE1OjAyOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmV3b3JrIHNlZ21lbnQgZXZlbnQgaGFuZGxpbmcgZm9yIGFkYXB0aXZlIHN0cmVhbWluZwoJICBXaGVuIGEgbmV3IHRpbWUgc2VnbWVudCBpcyByZWNlaXZlZCB1cHN0cmVhbSBpcyBnb2luZyB0byByZXN0YXJ0CgkgIHdpdGggYSBuZXcgYXRvbS4gTWFrZSB0aGUgbmVlZGVkYnl0ZXMgYW5kIHRvZHJvcCB2YXJpYWJsZXMKCSAgcmVmbGVjdCB0aGF0IHRvIGF2b2lkIHdhaXRpbmcgdG9vIG11Y2ggb3IgZHJvcHBpbmcgdGhlCgkgIGluaXRpYWwgYnl0ZXMgdGhhdCBjb250YWluIHRoZSBoZWFkZXIuCgoyMDE1LTA3LTA4IDEyOjM1OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBkYXRhIGZyb20gYWRhcHRlciBiZWZvcmUgc3RhcnRpbmcgbmV3IHNlZ21lbnQKCSAgVGhlIGFkYXB0ZXIgbWlnaHQgaGF2ZSBkYXRhIHJlbWFpbmluZyBmcm9tIHRoZSBwcmV2aW91cyBzZWdtZW50LAoJICBwdXNoIGl0IGFsbCBiZWZvcmUgY2xlYXJpbmcgdGhlIGFkYXB0ZXIgYW5kIHN0YXJ0aW5nIGEgbmV3IHNlZ21lbnQuCgkgIEl0IGNhbiBhY2N1bXVsYXRlIGRhdGEgaWYgaXQgaGFkIHB1c2hlZCBhbmQgZ290IG5vdC1saW5rZWQsIHJldHVybmluZwoJICBpbW1lZGlhdGVseSB3aXRob3V0IHByb2Nlc3NpbmcgYWxsIHRoZSBkYXRhLiBCZWZvcmUgc3RhcnRpbmcgYSBuZXcKCSAgc2VnbWVudCB0aGlzIGRhdGEgc2hvdWxkIGJlIGhhbmRsZWQuCgoyMDE1LTA3LTA4IDE5OjU5OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2FsY3VsYXRlIERUUyBmcm9tIHRoZSBjbG9jayBpZiB3ZSBoYWQgbm9uZSBmb3IgdGhlIGZpcnN0IHBhY2tldCBhZnRlciBhIHJlc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDggMjE6MDg6MzYgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggZ2FwLXRpbWUgY2FsY3VsYXRpb24gYW5kIHJlbW92ZSAibGF0ZSIKCSAgVGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgaXMgY29tcGxldGVseSBleHBpcmVkIGFuZCBub3Qgd29ydGggd2FpdGluZyBmb3IsCgkgIGlzIHRoZSBkdXJhdGlvbiBvZiB0aGUgcGFja2V0cyBpbiB0aGUgZ2FwIChnYXAgKiBkdXJhdGlvbikgLSB0aGUKCSAgbGF0ZW5jeSAoc2l6ZSkgb2YgdGhlIGppdHRlcmJ1ZmZlciAocHJpdi0+bGF0ZW5jeV9ucykuIFRoaXMgaXMgdGhlIGR1cmF0aW9uCgkgIHRoYXQgd2UgbWFrZSBhICJtdWx0aS1sb3N0IiBwYWNrZXQgZm9yLgoJICBUaGUgImxhdGUiIGNvbmNlcHQgbWFkZSBzb21lIHNlbnNlIGluIDAuMTAgYXMgaXQgcmVmbGVjdGVkIHRoYXQgYSBidWZmZXIKCSAgY29taW5nIGluIGhhZCBub3QgYmVlbiB3YWl0ZWQgZm9yIGF0IGFsbCwgYnV0IGhhZCBhIHRpbWVzdGFtcCB0aGF0IHdhcwoJICBvdXRzaWRlIHRoZSBqaXR0ZXJidWZmZXIgdG8gd2FpdCBmb3IuIFdpdGggdGhlIHJld3JpdGUgb2YgdGhlIHdhaXRpbmcKCSAgKHRpbWVvdXQpIG1lY2hhbmlzbSBpbiAxLjAsIHRoaXMgbm8gbG9uZ2VyIG1ha2VzIGFueSBzZW5zZSwgYW5kIHRoZQoJICB2YXJpYWJsZSBubyBsb25nZXIgcmVmbGVjdHMgYW55dGhpbmcgbWVhbmluZ2Z1bCAobnVtID4gMCBpcyB1c2VsZXNzLAoJICB0aGUgZHVyYXRpb24gaXMgd2hhdCBtYXR0ZXJzKQoJICBGaXhlZCB1cCB0aGUgdGVzdHMgdGhhdCBoYWQgYmVlbiBzbGlnaHRseSBtb2RpZmllZCBpbiAxLjAgdG8gYWxsb3cgZmF1bHR5CgkgIGJlaGF2aW9yIHRvIHNuZWFrIGluLCBhbmQgcG9ydCBzb21lIG9mIHRoZW0gdG8gdXNlIEdzdEhhcm5lc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgzNjMKCjIwMTUtMDYtMzAgMTE6MjE6MzEgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAicnRwaml0dGVyYnVmZmVyOiBGaXggZXhwZWN0ZWRfZHRzIGNhbGMgaW4gY2FsY3VsYXRlX2V4cGVjdGVkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA1YmQ3MDhmYzVlODgxMzkwZmU4Mzk4MDNiNTMxNDQzOTNkOTVhYjAuCgkgIFRoZSByZXZlcnRlZCBwYXRjaCBpcyB3cm9uZyBhbmQgaW50cm9kdWNlcyBhIHJlZ3Jlc3Npb24gYmVjYXVzZSB0aGVyZQoJICBtYXkgc3RpbGwgYmUgdGltZSB0byByZWNlaXZlIHNvbWUgb2YgdGhlIHBhY2tldHMgaW5jbHVkZWQgaW4gdGhlIGdhcAoJICBpZiB0aGV5IGFyZSByZW9yZGVyZWQuCgoyMDE1LTA3LTA3IDIzOjUzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZmx1c2ggc2FtcGxlcyBiZWZvcmUgYWRkaW5nIG1vcmUgZnJvbSBtb29mCgkgIEF2b2lkcyBhY2N1bXVsYXRpbmcgYWxsIHNhbXBsZXMgZnJvbSBhIGZyYWdtZW50ZWQgc3RyZWFtIHRoYXQgY291bGQKCSAgbGVhZCB0byBhICdpbmRleC10b28tYmlnJyBlcnJvciBvbmNlIGl0IGdvZXMgb3ZlciA1ME1CIG9mIGRhdGEuIEl0CgkgIGNvdWxkIHJlYWNoIHRoYXQgYmVmb3JlIDJoIG9mIHBsYXliYWNrIHNvIGl0IGRvZXNuJ3QgdGFrZSB0aGF0IGxvbmcuCgkgIEFzIHVwc3RyZWFtIGVsZW1lbnRzIGFyZSBwcm92aWRpbmcgZGF0YSBpbiB0aW1lIGZvcm1hdCB0aGV5IHNob3VsZAoJICBiZSB0aGUgb25lcyB0aGF0IGhhdmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZnVsbCBtZWRpYSBpbmRleAoJICBhbmQgc2hvdWxkIGJlIGFibGUgdG8gc2VlayBpZiBwb3NzaWJsZS4KCjIwMTUtMDctMDcgMjM6NTY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcmVuYW1lIHVwc3RyZWFtX25ld3NlZ21lbnQgdG8gdXBzdHJlYW1fZm9ybWF0X2lzX3RpbWUKCSAgdXBzdHJlYW1fbmV3c2VnbWVudCBpc24ndCByZWFsbHkgY2xlYXIgb24gd2hhdCBpdCBtZWFucywgaXQgaXMgc2V0CgkgIHRvIFRSVUUgd2hlbiB0aGUgdXBzdHJlYW0gZWxlbWVudCBzZW5kcyBhIHNlZ21lbnQgaW4gVElNRSBmb3JtYXQsIHNvCgkgIHJlbmFtZSBpdCB0byBiZSBtb3JlIGNsZWFyIGFib3V0IGl0LgoJICBJdCBpcyBpbXBvcnRhbnQgdG8ga25vdyB0aGlzIGJlY2F1c2UgaXQgbWVhbnMgdGhhdCB1cHN0cmVhbSBoYXMKCSAgYSBub3Rpb24gb2YgdGltZSBhbmQgcXRkZW11eCBpcyBsaWtlbHkgYmVpbmcgZHJpdmVuIGJ5IGFuIHVwc3RyZWFtCgkgIGVsZW1lbnQgdGhhdCBpcyByZWFkaW5nIGZyb20gYSBoaWdoZXIgbGV2ZWwgYWJzdHJhY3Rpb24gdGhhbiBhIGZpbGUsCgkgIHN1Y2ggYXMgYSBEQVNILCBNU1Mgb3IgRExOQSBlbGVtZW50LgoKMjAxNS0wNy0wNyAyMTozMTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBsZWFrIGJ5IGZsdXNoaW5nIHByZXZpb3VzIHNhbXBsZSBpbmZvIGZyb20gdHJhawoJICBJbiBmcmFnbWVudGVkIHN0cmVhbWluZywgbXVsdGlwbGUgbW9vdi9tb29mIHdpbGwgYmUgcGFyc2VkIGFuZCB0aGVpcgoJICBwcmV2aW91c2x5IHN0b3JlZCBzYW1wbGVzIGFycmF5IG1pZ2h0IGxlYWsgd2hlbiBuZXcgdmFsdWVzIGFyZSBwYXJzZWQuCgkgIFRoZSBwYXJzZV90cmFrIGFuZCBjYWxsZWVzIHdvbid0IGZyZWUgdGhlIHByZXZpb3VzbHkgc3RvcmVkIHZhbHVlcwoJICBiZWZvcmUgcGFyc2luZyB0aGUgbmV3IG9uZXMuCgkgIEluIHN0ZXAtYnktc3RlcCwgdGhpcyBpcyB3aGF0IGhhcHBlbnM6CgkgIDEpIGluaXRpYWwgbW9vdiBpcyBwYXJzZWQsIHRyYWtzIGFzIHdlbGwsIHN0cmVhbXMgYXJlIGNyZWF0ZWQuIFRoZQoJICB0cmFrIGRvZXNuJ3QgY29udGFpbiBzYW1wbGVzIGJlY2F1c2UgdGhleSBhcmUgaW4gdGhlIG1vb2YncyB0cnVuCgkgIGJveGVzLiBuX3NhbXBsZXMgaXMgc2V0IHRvIDAgd2hpbGUgcGFyc2luZyB0aGUgdHJhayBhbmQgdGhlIHNhbXBsZXMKCSAgYXJyYXkgaXMgc3RpbGwgTlVMTC4KCSAgMikgbW9vZnMgYXJlIHBhcnNlZCwgYW5kIHRoZWlyIHRydW4gYm94ZXMgd2lsbCBpbmNyZWFzZSBuX3NhbXBsZXMgYW5kCgkgIGNyZWF0ZS9leHRlbmQgdGhlIHNhbXBsZXMgYXJyYXkKCSAgMykgQXQgc29tZSBwb2ludCBhIG5ldyBtb292IG1pZ2h0IGJlIHNlbnQgKGJpdHJhdGUgc3dpdGNoaW5nLCBmb3IgZXhhbXBsZSkKCSAgYW5kIHBhcnNpbmcgdGhlIHRyYWsgd2lsbCBvdmVyd3JpdGUgbl9zYW1wbGVzIHdpdGggdGhlIHZhbHVlcyBmcm9tCgkgIHRoaXMgdHJhay4gSWYgdGhlIG5fc2FtcGxlcyBpcyBzZXQgdG8gMCBxdGRlbXV4IHdpbGwgYXNzdW1lIHRoYXQKCSAgdGhlIHNhbXBsZXMgYXJyYXkgaXMgTlVMTCBhbmQgd2lsbCBsZWFrIGl0IHdoZW4gYSBuZXcgb25lIGlzCgkgIGNyZWF0ZWQgZm9yIHRoZSBzdWJzZXF1ZW50IG1vb2ZzLgoJICBUaGlzIHBhdGNoIG1ha2VzIHF0ZGVtdXggcHJvcGVybHkgZnJlZSBwcmV2aW91cyBzYW1wbGUgZGF0YSBiZWZvcmUKCSAgY3JlYXRpbmcgbmV3IG9uZXMgYW5kIGFkZHMgYW4gYXNzZXJ0IHRvIGNhdGNoIGZ1dHVyZSBvY2N1cnJlbmNlcyBvZgoJICB0aGlzIGlzc3VlIHdoZW4gdGhlIGNvZGUgY2hhbmdlcy4KCjIwMTUtMDctMDcgMTY6NDY6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggaW5kZXggc2l6ZSBjaGVjayBhbmQgZGVidWcgbWVzc2FnZQoJICBJdCBpcyBhbGxvY2F0aW5nIHNhbXBsZXNfY291bnQgKyBuX3NhbXBsZXMsIG5vdCBvbmx5IG5fc2FtcGxlcwoKMjAxNS0wNy0wOCAxNzowMjowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENhbGN1bGF0ZSByZWNlaXZlIHRpbWUgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkKCSAgVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseSBzY2hlZHVsZSBwYWNrZXQgbG9zcyB0aW1lcnMgYW5kIG1ha2UKCSAgc3VyZSBhbGwgb3VyIGNhbGN1bGF0aW9ucyB3b3JrIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA4IDE1OjEzOjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSGFuZGxlIHNlcW51bSBnYXBzIGluIFRDUCBzdHJlYW1zIHdpdGhvdXQgZXJyb3Jpbmcgb3V0IG9yIG92ZXJmbG93aW5nIGNhbGN1bGF0aW9ucwoJICBUaGF0IGlzLCBoYW5kbGUgRFRTPT1HU1RfQ0xPQ0tfVElNRV9OT05FIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOCAyMDozMTo0MiArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggZXZlbnQgbGVhawoJICB3aGVuIHNlZWsgZmFpbHMgaW4gYXZpZGVtdXgsIGV2ZW50IGlzIG5vdCBiZWluZyBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjExNwoKMjAxNS0wNy0wOCAxMjowMjoyMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzZGVwYXk6IE1ha2Ugc3VyZSBwYXlsb2FkIGlzIGxhcmdlIGVub3VnaAoJICBQbHVzIG5ldyB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMTIKCjIwMTUtMDctMDggMDg6NTk6NDkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkgIHJ0cGtsdmRlcGF5OiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nCgkgIHZfbGVuIGlzIG9mIHR5cGUgZ3VpbnQ2NCwgYnV0IHdoaWxlIHByaW50IHRoZSB2YWx1ZSgxNiArIGxlbl9zaXplICsgdl9sZW4pCgkgIEdfR1NJWkVfRk9STUFUIGlzIGJlaW5nIHVzZWQgaW5zdGVhZCBvZiBHX0dVSU5UNjRfRk9STUFUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMDAKCjIwMTUtMDctMDcgMjA6MjU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiBhZGQgbmV3IFJUUCBlbGVtZW50cyB0byBkb2NzCgoyMDE1LTA3LTA3IDIwOjA3OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBLTFYgcGF5bG9hZGluZwoJICBBbHNvIG1ha2UgaXQgc28gdGhhdCB0aGUgbXR1IGlzIGFsd2F5cyBzZXQgaWYgc3BlY2lmaWVkLCBub3QKCSAgb25seSBpbiBjYXNlIG9mIHRoZSByYXRoZXIgd2VpcmQgYnVmZmVybGlzdCB0ZXN0IGNvZGUgcGF0aC4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gZWFzaWx5IG1ha2UgdGhlIHBheWxvYWRlciBmcmFnbWVudCBhIHBheWxvYWQKCSAgYWNyb3NzIG11bHRpcGxlIG91dHB1dCBwYWNrZXRzIGJ5IHNldHRpbmcgYSBzbWFsbCBNVFUgb24gaXQuCgoyMDE1LTA3LTA3IDE5OjU4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5Lmg6CgkgIHJ0cGtsdmRlcGF5OiBpbXByb3ZlIHN0YXJ0IGRldGVjdGlvbiBhbmQgaGFuZGxlIGZyYWdtZW50ZWQgS0xWIHVuaXRzCgoyMDE1LTA3LTA1IDIwOjI1OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5Lmg6CgkgIHJ0cDogYWRkIFNNUFRFIDMzNk0gS0xWIG1ldGFkYXRhIGRlcGF5bG9hZGVyCgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1OTcKCjIwMTQtMDgtMDkgMTA6MDg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5oOgoJICBydHA6IGFkZCBTTVBURSAzMzZNIEtMViBtZXRhZGF0YSBwYXlsb2FkZXIKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU5NwoKMjAxNS0wNy0wNyAxNjo1OToyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIGRvY3M6IGZpeCAiU3ltYm9sIG5hbWUgbm90IGZvdW5kIGF0IHRoZSBzdGFydCBvZiB0aGUgY29tbWVudCBibG9jayIKCSAgQWRkIHN5bWJvbHMgb3IgY2hhbmdlIGNvbW1lbnQgaW50byBhIHJlZ3VsYXIgY29tbWVudC4KCjIwMTUtMDctMDcgMTY6NTg6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGRvY3M6IHJlbW92ZSBvdXRkYXRlZCBkb2Mgc3RyaW5ncwoKMjAxNS0wNy0wMyAyMzoxMDo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiBhZGQgbWlzc2luZyBwbHVnaW5zIGFuZCBlbnN1cmUgbWFzdGVyIGRvYyBpcyBzb3J0ZWQKCjIwMTUtMDctMDcgMTU6NTQ6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgUmV2ZXJ0ICJpbWFnZWZyZWV6ZTogUmVtb3ZlIGltcG9zc2libGUgZXJyb3IgY29uZGl0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ0NjYzMWM1YzczMTJhZDYxMzM5N2Y4MjM4YzdhOTcxNGFlM2FlOTQuCgkgIHBhZCBvbmx5IGhhbmRsZSBFT1MgZXZlbnRzIGJ1dCBub3QgRU9TIGZsb3csIGFuZCB3aWxsIHB1c2ggdGhlIGJ1ZmZlciBhZ2FpbgoJICByZXN1bHRpbmcgaW4gYW4gYXNzZXJ0aW9uIGVycm9yLiBTbyB3ZSBzaG91bGQgbm90IGhhbmRsZSB0aGUgYnVmZmVyCgkgIGFuZCByZXR1cm4gRU9TIGZsb3cuCgoyMDE1LTA3LTA3IDE1OjUwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSAgcnRwZzcyOWRlcGF5OiB1bm1hcCBydHAgYnVmZmVyIGluIGVycm9yIHBhdGgKCjIwMTUtMDctMDcgMTU6NDg6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogZml4IGJ1ZmZlciBsZWFrCgkgIFRoZSBoYW5kbGVfYnVmZmVyIHZmdW5jIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgaW5wdXQgYnVmZmVyLgoJICBGaXhlcyBlbGVtZW50cy9ydHAtcGF5bG9hZGluZyB1bmRlciB2YWxncmluZC4KCjIwMTUtMDctMDIgMDg6NTI6NDMgKzAyMDAgIFRvYmlhcyBNdWVsbGVyIDxtdWVsbGlAY3J5cHRvYml0Y2guZGU+CgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgZ29vbTogSW5pdGlhbGlzZWQgdmFyaWFibGVzIHRvIHJlbW92ZSBjb21waWxlciB3YXJuaW5ncwoJICBnb29tX2NvcmUuYzogSW4gZnVuY3Rpb24gJ2dvb21fdXBkYXRlJzoKCSAgZ29vbV9jb3JlLmM6Njg1OjU6IGVycm9yOiAncGFyYW0yJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCSAgZ29vbV9saW5lc19zd2l0Y2hfdG8gKGdvb21JbmZvLT5nbWxpbmUyLCBtb2RlLCBwYXJhbTIsIGFtcGxpdHVkZSwgY291bGV1cik7CgkgIF4KCSAgZ29vbV9jb3JlLmM6Njg0OjU6IGVycm9yOiAncGFyYW0xJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCSAgZ29vbV9saW5lc19zd2l0Y2hfdG8gKGdvb21JbmZvLT5nbWxpbmUxLCBtb2RlLCBwYXJhbTEsIGFtcGxpdHVkZSwgY291bGV1cik7CgkgIF4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjA1MwoKMjAxNS0wNy0wNyAwOToxODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBmaXggaW5kZW50YXRpb24KCjIwMTUtMDctMDYgMTk6MTE6MDAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciBlcnJvcgoJICBlbmRwb3MgdmFyaWFibGUgZG9lcyBub3QgY29ycmVjdGx5IHVuZGVyc3RhbmQgaW4gdGhlCgkgIDQuNi4zIEdDQyB2ZXJzaW9uLiBTbyBjb21waWxlIGVycm9yIGFwcGVhcnMgd2hlbiB3ZSBkbwoJICBjb21waWxlIHJ0cGgyNjFwYXkgdXNpbmcgamhidWlsZC4KCSAgVGhpcyBwYXRjaCBpcyBmaXhlZCB0aGUgY29tcGlsZSBlcnJvciBpbiA0LjYuMyBHQ0MgdmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTk4NQoKMjAxNC0xMS0xMiAxMjowODo1OCArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBIYW5kbGUgc2VlayBmbGFncyBwcm9wZXJseQoJICBBbGxvd3MgZm9yIG5vbi1rZXlmcmFtZSBzZWVrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODU3MAoKMjAxNS0wMi0yNCAxMDo1MDo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGxvb3BpbmcgcmVhZGluZyB0aGUgJ21vb2YnIGF0b20gZm9yZXZlcgoJICBJdCBnZXRzIHN0dWNrIGlmIGl0IG9ubHkgZmluZHMgYSBtb29mIGFuZCBubyBtZnJhL21mcm8gb3IgbW9vdgoJICBhdG9tcy4gU2tpcCB0aGUgbW9vZiB0byBjb250aW51ZSB0aGUgcGFyc2luZyB0byBoYXZlIGl0IGVpdGhlcgoJICBwbGF5IG9yIGVycm9yIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA4OQoKMjAxNS0wNi0yNiAxMzoyNDoxNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSBlcnJvciBoYW5kbGluZwoJICBmb3IgZmlsZXMgd2hpY2ggaGF2ZSBjb3JydXB0ZWQgaGVhZGVyLCBsaWJmbGFjIGlzIG5vdCBhYmxlIHRvCgkgIHByb2Nlc3MgdGhlIG1ldGFkYXRhIHByb3Blcmx5LiBXZSBqdXN0IHRyeSB0byBpZ25vcmUgdGhlIGVycm9yCgkgIGFuZCBjb250aW51ZSB3aXRoIHRoZSBwcm9jZXNzaW5nLCBzaW5jZSBtZXRhZGF0YSBwYXJzaW5nIGlzIG5vdAoJICBtYWtpbmcgbXVjaCBvZiBhIGRpZmZlcmVuY2UgdG8gbGliZmxhYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzM0CgoyMDE1LTA3LTA2IDIwOjE2OjM4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2VzcmM6IGFkZCBtZXRhIHRyYW5zZm9ybSBmdW5jdGlvbgoJICB4aW1hZ2UgbWV0YWRhdGEgY2FuJ3QgYmUgdHJhbnNmb3JtZWQgb3IgY29waWVkLCBidXQgcHJvdmlkZSBhbiBlbXB0eQoJICB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbiBpbnN0ZWFkIG9mIE5VTEwgdG8gYWxsb3cgdW5jb25kaXRpb25hbCBjYWxsaW5nCgkgIG9mIG1ldGFzJyB0cmFuc2Zvcm0gZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc4CgoyMDE0LTA2LTE2IDE2OjE0OjI4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuLnNlbG5lc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDEyCgoyMDE0LTA2LTIwIDEwOjU5OjE0ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdjhkZXBheTogaWdub3JlIHJlc2VydmVkIGJpdCBpbiBwYXlsb2FkIGRlc2NyaXB0b3IKCSAgRHJhZnQgMTYgb2YgIlJUUCBQYXlsb2FkIEZvcm1hdCBmb3IgVlA4IiBzdGF0ZXMgaW4gc2VjdGlvbiA0LjIgdGhhdDoKCSAgUjogQml0IHJlc2VydmVkIGZvciBmdXR1cmUgdXNlLiAgTVVTVCBiZSBzZXQgdG8gemVybyBhbmQgTVVTVCBiZQoJICBpZ25vcmVkIGJ5IHRoZSByZWNlaXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTkyOQoKMjAxNS0wNy0wNCAyMDo1Njo0MiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBydHBoMjYxZGVwYXk6IEFkZCBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5ODIKCjIwMTUtMDctMDMgMjE6NTg6MTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY3NGIyZGYgdG8gOWFlZDFkNwoKMjAxNS0wNy0wMyAxNDoyOToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBoMjYxcGF5LmM6IEluIGZ1bmN0aW9uICdnc3RfcnRwX2gyNjFfcGF5X2NsYXNzX2luaXQnOgoJICBnc3RydHBoMjYxcGF5LmM6MTAwMzoxNzogZXJyb3I6IHZhcmlhYmxlICdnb2JqZWN0X2NsYXNzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQoJICBHT2JqZWN0Q2xhc3MgKmdvYmplY3RfY2xhc3M7CgoyMDE1LTA3LTAzIDE0OjAzOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSAgcnRwaDI2MWRlcGF5OiBMZXQgdGhlIGJhc2UgY2xhc3MgcHVzaCB0aGUgYnVmZmVyIHNvIGl0IGNhbiBkZWFsIHdpdGggdGhlIGZsb3cgcmV0dXJuCgoyMDE1LTA3LTAzIDE0OjExOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IFJlbW92ZSB1bnVzZWQgYWRhcHRlcgoKMjAxNS0wNy0wMyAxMzoxNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgc3BlZXhwYXk6IERpcmVjdGx5IGF0dGFjaCBwYXlsb2FkIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgY29weWluZyBpdAoKMjAxNS0wNy0wMyAxMzowNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHNiY3BheTogQXR0YWNoIHBheWxvYWQgZGlyZWN0bHkgdG8gdGhlIG91dHB1dCBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTQtMTItMDEgMTQ6MTg6NDAgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHA6IGFkZCBILjI2MSBSVFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcgoJICBJbXBsZW1lbnRhdGlvbiBhY2NvcmRpbmcgdG8gUkZDIDQ1ODcuCgkgIFBheWxvYWRlciBjcmVhdGUgZnJhZ21lbnRzIG9uIE1CIGJvdW5kYXJpZXMgaW4gb3JkZXIgdG8gbWF0Y2ggTVRVIHNpemUKCSAgdGhlIGJlc3QgaXQgY2FuLiBTb21lIGRlY29kZXJzL2RlcGF5bG9hZGVycyBpbiB0aGUgd2lsZCBhcmUgdmVyeSBzdHJpY3QKCSAgYWJvdXQgcmVjZWl2aW5nIGEgY29udGludW91cyBiaXQtc3RyZWFtIChlLmcuIG5vIG5vLW9wIGJpdHMgYmV0d2VlbgoJICBmcmFtZXMpLCBzbyB0aGUgcGF5bG9hZGVyIHdpbGwgc2hpZnQgdGhlIGNvbXByZXNzZWQgYml0LXN0cmVhbSBvZiBhCgkgIGZyYW1lIHRvIGFsaWduIHdpdGggdGhlIGxhc3Qgc2lnbmlmaWNhbnQgYml0IG9mIHRoZSBwcmV2aW91cyBmcmFtZS4KCSAgRGVwYXlsb2FkZXIgZG9lcyBub3QgdHJ5IHRvIGJlIGZhbmN5IGluIGNhc2Ugb2YgcGFja2V0IGxvc3MuIEl0IHNpbXBseQoJICBkcm9wcyBhbGwgcGFja2V0cyBmb3IgYSBmcmFtZSBpZiB0aGVyZSBpcyBhIGxvc3MsIGtlZXBpbmcgaXQgc2ltcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODg2CgoyMDE1LTA3LTAzIDEyOjE4OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICBydHBtcHZkZXBheTogRG9uJ3QgZm9yZ2V0IHRvIHVubWFwIHRoZSBpbnB1dCBidWZmZXIKCjIwMTUtMDctMDMgMTI6MTQ6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IENyZWF0ZSBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBwdXNoaW5nIGVhY2ggYnVmZmVyIGluZGl2aWR1YWxseQoKMjAxNS0wNy0wMyAxMjowMzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHJ0cG1wYXBheTogVXNlIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mIHB1c2hpbmcgZWFjaCBmcmFnbWVudCBpbmRpdmlkdWFsbHkKCjIwMTUtMDctMDMgMTA6NTE6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheTogQ3JlYXRlIGJ1ZmZlciBsaXN0cyBhbmQgZG9uJ3QgY29weSBwYXlsb2FkIG1lbW9yeQoKMjAxNS0wNi0yOSAxNjoxNDoxOCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDb25zaWRlciB0aW1lcnMgbGVuIHRvIGNvbXBhcmUgd2l0aCBSVFBfTUFYX0RST1BPVVQKCSAgV2hlbiB0aGVyZSBhcmUgYSBsb3Qgb2Ygc21hbGwgZ2Fwcywgd2UgY2FuIGNvbnNpZGVyIHRoYXQgdGhlcmUgaXMKCSAgYSBiaWcgZ2FwICh0b28gbG9zc2VzKSB0byByZXNldCB0aGUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjM2CgoyMDE1LTA2LTI5IDE1OjUzOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IElmIHBvc3NpYmxlLCBhbHdheXMgdXBkYXRlIHRoZSBjdXJyZW50IHRpbWUgYmVmb3JlIGxvb3Bpbmcgb3ZlciBhbGwgdGltZXJzCgkgIElmIHdlIGhhdmUgYSBjbG9jaywgdXBkYXRlICJub3ciIG5vdyB3aXRoIHRoZSB2ZXJ5IGxhdGVzdCBydW5uaW5nIHRpbWUgd2UgaGF2ZS4KCSAgSWYgdGltZXJzIGFyZSB1bnNjaGVkdWxlZCBiZWxvdyB3ZSBvdGhlcndpc2Ugd291bGRuJ3QgdXBkYXRlIG5vdyAoaXQncyBvbmx5IHVwZGF0ZWQKCSAgd2hlbiB0aW1lcnMgZXhwaXJlKSwgYW5kIGFsc28gZm9yIHRoZSB2ZXJ5IGZpcnN0IGxvb3AgaXRlcmF0aW9uIG5vdyB3b3VsZCBvdGhlcndpc2UKCSAgYWx3YXlzIGJlIDAuCgkgIEFsc28gdGhlIHRpbWUgaXMgdXNlZCBmb3IgdGhlIHRpbWVvdXQgZnVuY3Rpb25zLCBlLmcuIHRvIGNhbGN1bGF0ZSBhbnkgdGltZXMKCSAgZm9yIHRoZSBuZXh0IHRpbWVvdXRzIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgcGFzcyB0b28gb2xkIHRpbWVzIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjM2CgoyMDE1LTA3LTAyIDE0OjM0OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBmaXggbWVtb3J5IGxlYWsKCSAgdG1wIG5lZWRzIHRvIGJlIGZyZWVkIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUgaW4gJ2RvbmUnLgoJICBDSUQgIzEzMDg5NTQKCjIwMTUtMDctMDIgMTI6MjM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBHZW5lcmF0ZSBidWZmZXIgbGlzdHMgYW5kIGF0dGFjaCB0aGUgcGF5bG9hZCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCjIwMTUtMDctMDIgMDk6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogU2ltcGxpZnkgY29kZSBhIGJpdCBhbmQgZG8gbGVzcyBkaXJlY3QgbWVtY3B5IGFuZCBsZXQgR3N0QnVmZmVyIGRvIHRoYXQgZm9yIHVzCgoyMDE1LTA3LTAyIDA5OjE3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBTdG9wIHVzaW5nIGFuIGFkYXB0ZXIgYW5kIGRpcmVjdGx5IHVzZSB0aGUgYnVmZmVyCgkgIFdlIGFsd2F5cyBwdXNoZWQgb25lIGJ1ZmZlciBpbnRvIHRoZSBhZGFwdGVyLCB0aGVuIGhhbmRsZWQgZXhhY3RseSB0aGF0IG9uZQoJICBidWZmZXIgYW5kIGZsdXNoZWQgaXQgZnJvbSB0aGUgYWRhcHRlci4gTm93IGFsc28gZG9uJ3QgbWVtY3B5KCkgdGhlIGFjdHVhbAoJICBwYXlsb2FkIGJ1dCBqdXN0IGF0dGFjaCB0aGUgaW5wdXQgYnVmZmVyJ3MgZGF0YSB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBjb2RlIHN0aWxsIG5lZWRzIHNvbWUgc2VyaW91cyByZWZhY3RvcmluZy9yZXdyaXRpbmcuCgoyMDE1LTA3LTAxIDIxOjU3OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcnRwZ3NtcGF5OiBSZW1vdmUgbm9uLWV4aXN0aW5nIGluY2x1ZGVzIGZvciBub3cKCSAgZ2l0IGFkZCAtcCBtaXN0YWtlLgoKMjAxNS0wNy0wMSAxOToyOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogVXNlIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X2J1ZmZlcl9hcHBlbmQoKQoKMjAxNS0wNy0wMSAxOToxOToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHJ0cGdzbXBheTogQXR0YWNoIHBheWxvYWQgdG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgoyMDE1LTA3LTAxIDE3OjU4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IEF0dGFjaCBwYXlsb2FkIGRpcmVjdGx5IHRvIG91dHB1dCBidWZmZXJzIGluc3RlYWQgb2YgY29weWluZwoKMjAxNS0wNy0wMSAxNzo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJICBydHBnNzIzcGF5OiBBdHRhY2ggcGF5bG9hZCBidWZmZXIgdG8gdGhlIG91dHB1dCBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTUtMDctMDEgMTc6MzA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSAgcnRwZHZkZXBheTogTWFwIHRoZSBvdXRwdXQgYnVmZmVyIG9uY2UgaW5zdGVhZCBvZiBvbmNlIGV2ZXJ5IDgwIGJ5dGVzCgoyMDE1LTA3LTAxIDIxOjQ2OjQ2ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggcmV0dXJuIHR5cGUgb2YgaW5kZXhfZW50cnlfb2Zmc2V0X3NlYXJjaCgpCgkgIEl0J3MgYSBjb21wYXJlIGZ1bmN0aW9uIGFuZCBtYXkgcmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUsCgkgIHNvIHNob3VsZCBmb3IgY29ycmVjdG5lc3MgYW5kIGNvbnNpc3RlbmN5IHJldHVybiBhIHNpZ25lZAoJICBpbnRlZ2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzgwCgoyMDE1LTA3LTAxIDE0OjEyOjU3ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGhhbmRsZV9uZXh0X2J1ZmZlcgoJICBUaGUgZ29hbCBvZiB0aGlzIHBhdGNoIGlzIG1ha2luZyBoYW5kbGVfbmV4dF9idWZmZXIgZnVuY3Rpb24KCSAgbW9yZSByZWFkYWJsZSBhdm9pZGluZyB1bm5lY2VzYXJ5IGdvdG9zIGFuZCBhZGRpbmcgb3RoZXIKCSAgY29zbWV0aWMgY2hhbmdlcy4KCjIwMTUtMDctMDEgMTU6NDA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJICBydHBhYzNwYXk6IEF0dGFjaCB0aGUgcGF5bG9hZCB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCSAgTWlnaHQgYWxzbyB3YW50IHRvIHByb2R1Y2UgYnVmZmVyIGxpc3RzIGhlcmUgaWYgbmVlZGVkLgoKMjAxNS0wNy0wMSAxNTozODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJICBydHA6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDctMDEgMTI6Mzc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtVlA4LU9QVVMuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLVZQOC1BVFMtT1BVUy5zaDoKCSAgcnRwOiBBZGQgZXhhbXBsZXMgd2l0aCBWVFMvQVRTIGZvciBWUDgvT1BVUwoJICBMZXQncyBoYXZlIGFuIGV4YW1wbGUgd2l0aCBtb2Rlcm4gY29kZWNzLgoKMjAxNS0wNi0zMCAxODoxMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBVc2UgR1NUX1dBUk5JTkdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfV0FSTklORygpCgoyMDE1LTA2LTMwIDE0OjA2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICB2cDhkZXBheTogRG9uJ3QgbG9jay9tYXAgZXZlcnkgbm9uLWtleWZyYW1lIGJ1ZmZlciB0d2ljZQoJICBKdXN0IGNvcHkgdGhlIGNvbXBsZXRlIGhlYWRlciBpbnN0ZWFkIG9mIGZpcnN0IGxvb2tpbmcgYXQgdGhlIGZpcnN0IGJ5dGUKCSAgYW5kIHRoZW4gYXQgdGhlIHJlbWFpbmluZyAxMCBieXRlcy4KCjIwMTUtMDYtMjkgMTY6MDU6NDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvY3VtZW50IGZhbGx0aHJvdWdoIGNhc2VzCgkgIFBhY2lmeSBjb3Zlcml0eSBhbmQgZG9jdW1lbnQgZmFsbHRocm91Z2ggY2FzZXMgaW4gc3dpdGNoIHN0YXRlbWVudHMuCgkgIENJRCAjMTMwODk0OCwgIzEzMDg5NDcsICMxMzA4OTQ2CgoyMDE1LTA2LTI5IDEwOjM2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAicnRwaml0dGVyYnVmZmVyOiBJZiB3ZSBoYXZlIGFuIGltbWVkaWF0ZSB0aW1lb3V0LCBkb24ndCB0cnkgdG8gZmluZCBhbiBlYXJsaWVyIHRpbWVvdXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGMyMWNkNzE3N2VhODgzYzcxMDk5OTE0N2RkY2VkYjE5MDA0ZDE4Mi4KCSAgSWYgd2UgaGF2ZSBtdWx0aXBsZSBpbW1lZGlhdGUgdGltZXJzLCB3ZSB3YW50IHRvIGZpcnN0IGhhbmRsZSB0aGUgb25lIHdpdGggdGhlCgkgIGxvd2VzdCBzZXF1ZW5jZSBudW1iZXIuLi4gd2hpY2ggd291bGQgYmUgYnJva2VuIG5vdy4KCSAgSW5zdGVhZCBvZiB0aGlzIHdlIHNob3VsZCBqdXN0IHVzZSBhIEdTZXF1ZW5jZSBmb3IgdGhlIHRpbWVycywgYW5kIGhhdmUgdGhlbQoJICBzb3J0ZWQgZmlyc3QgYnkgdGltZXN0YW1wLCBhbmQgZm9yIGVxdWFsIHRpbWVzdGFtcHMgYnkgc2VxdWVuY2UgbnVtYmVyLiBUaGVuCgkgIHdlIHdvdWxkIGFsd2F5cyBvbmx5IGhhdmUgdG8gdGFrZSB0aGUgdmVyeSBmaXJzdCB0aW1lciBmcm9tIHRoZSBsaXN0IGFuZCBuZXZlcgoJICBoYXZlIHRvIGxvb2sgYXQgYW55IG90aGVycy4KCjIwMTUtMDYtMjkgMTA6MTQ6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiB3ZSBoYXZlIGFuIGltbWVkaWF0ZSB0aW1lb3V0LCBkb24ndCB0cnkgdG8gZmluZCBhbiBlYXJsaWVyIHRpbWVvdXQKCSAgSWYgd2UgaGF2ZSBsb3RzIG9mIHN1Y2ggaW1tZWRpYXRlIHRpbWVvdXRzLCB3ZSB3b3VsZCBvdGhlcndpc2UgaGF2ZSBxdWFkcmF0aWMKCSAgcnVudGltZSBpbiB0aGUgbnVtYmVyIG9mIHRpbWVvdXRzLgoKMjAxNS0wNi0xOSAxODowMTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogc3RpY2t5IGV2ZW50cyBhcmUgc2VudCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHBhZAoJICBObyBuZWVkIHRvIHNlbmQgdGhlbSBleHBsaWNpdGx5IGZyb20gdGhlIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MAoKMjAxNS0wNi0xOSAxODowMDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogbWFrZSBzdXJlIHRvIHB1c2ggc3RpY2t5IGV2ZW50cyBiZWZvcmUgYWRkaW5nIHBhZAoJICBJdCBhbGxvd3MgdGhlIGNhcHMgdG8gYmUgc2V0IG9uIHRoZSBwYWQgYmVmb3JlIGJlaW5nIGFkZGVkIGZvcgoJICBkeW5hbWljIGF1dG9wbHVnZ2luZyB0byB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQwCgoyMDE1LTA2LTI2IDAwOjA1OjI5ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgbmV3IG50cC10aW1lLXNvdXJjZSBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlIHVzZS1waXBlbGluZS1jbG9jayBwcm9wZXJ0eQoJICBFbmFibGUgdG8gdXNlIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgb2YgcnRwYmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0OTYKCjIwMTUtMDYtMjUgMjM6MTk6NTggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluL3Nlc3Npb246IGZpeCBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDk2CgoyMDE1LTA2LTI1IDEwOjU3OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgZG9jczogZGVjb2RlYmluMiAtPiBkZWNvZGViaW4KCjIwMTUtMDYtMjUgMTA6NDc6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lCgkgIFVwZGF0ZSByZWZlcmVuY2UgdG8gZGVjb2RlYmluMiB0byBkZWNvZGViaW4KCjIwMTUtMDYtMjUgMTA6NDU6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgkgIFZhbHVlcyBpbiBmaWVsZHNfcmVxdWlyZWQgYW5kIHNhbWVfYnVmZmVyIGFyZSBvdmVyd3JpdHRlbiBiZWZvcmUgdXNlZC4gUmVtb3ZpbmcKCSAgYXNzaWdubWVudAoKMjAxNS0wNi0yNSAxMDowNjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9SRUFETUU6CgkqIGV4dC9taWttb2QvZHJ2X2dzdC5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5oOgoJKiBleHQvbWlrbW9kL21pa21vZF9yZWFkZXIuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2xpYm1pa21vZC5tNDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICBtaWttb2Q6IHJlbW92ZSBhbmNpZW50IHVucG9ydGVkIHBsdWdpbgoJICBUaGlzIGhhc24ndCBiZWVuIHRvdWNoZWQgaW4gMTEgeWVhcnMsIGFuZAoJICBjbGVhcmx5IG5vIG9uZSdzIGJlZW4gbWlzc2luZyBpdC4KCjIwMTUtMDYtMjMgMjA6MTU6MTMgKzA5MDAgIEdpbGJvayBMZWUgPGdpbGJvay5sZWVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9lcyBub3QgZGV0ZWN0IG9yaWVudGF0aW9uCgkgIE1vc3QgZmlsZXMgZG9uJ3QgY29udGFpbiB0aGUgdmFsdWVzIGZvciB0cmFuc3Bvc2luZyB0aGUgY29vcmRpbmF0ZXMKCSAgYmFjayB0byB0aGUgcG9zaXRpdmUgcXVhZHJhbnQgc28gcXRkZW11eCB3YXMgaWdub3JpbmcgdGhlIHJvdGF0aW9uCgkgIHRhZy4gVG8gYmUgYWJsZSB0byBwcm9wZXJseSBoYW5kbGUgdGhvc2UgZmlsZXMgcXRkZW11eCB3aWxsIGFsc28gaWdub3JlCgkgIHRoZSB0cmFuc3Bvc2luZyB2YWx1ZXMgdG8gb25seSBkZXRlY3QgdGhlIHJvdGF0aW9uIHVzaW5nIHRoZSB2YWx1ZXMKCSAgYWJkZSBmcm9tIHRoZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg6CgkgIFthIGIgY10KCSAgW2QgZSBmXQoJICBbZyBoIGldCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2ODEKCjIwMTUtMDYtMjUgMDA6MDQ6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNS4yID09PQoKMjAxNS0wNi0yNCAyMzozMDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMgoKMjAxNS0wNi0yNCAyMjo1NjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wNi0yNCAxMToxNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL25sLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNi0yMyAxODo0Mjo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IENvcnJlY3RseSB0ZXN0IGVhY2ggc2VnbWVudHMKCSAgSW4gcHJlc2VuY2Ugb2YgZ2FwcywgcXRkZW11eCB3aWxsIGVtaXQgbXVsdGlwbGUgc2VnbWVudHMuIFRoZQoJICBzZWNvbmQgc2VnbWVudCBzdGFydCBzaG91bGQgbWF0Y2ggdGhlIENUVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMTc6NTQ6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQ29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgZWxzdCBtZWRpYSBzdGFydAoJICBUaGUgbWVkaWEgc3RhcnQgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgc2hpZnQgd2UgaGF2ZSBhcHBsaWVkCgkgIGJ1dCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QgUFRTLiBUaGlzIGlzIGRlZmluZWQgYXM6CgkgIER0KDApID0gMAoJICBDdCgwKSA9IER0KDApICsgQ1RUUygwKQoJICBTbyB0aGUgbWVkaWEgc3RhcnQgaXMgYWx3YXlzIHRoZSBmaXJzdCBDVFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDExOjQ5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWNjdW11bGF0ZSBwcmV2aW91cyBlZHRzIGVudHJpZXMgaW50byBzZWdtZW50LmJhc2UKCSAgQWxsb3dzIHBsYXlpbmcgZWR0cyBlZGl0dGVkIGZpbGVzIHdpdGggcHJvcGVyIHN5bmNocm9uaXphdGlvbiBvZgoJICBzdHJlYW1zLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkKCSAgYmY5NWY5M2MwMTg5YWEwNGYxOGUyNjRiODZiNjUyN2U0MzFjNWQ1MyB0aGF0IHdhcyBhZGRlZCB0byBmaXgKCSAgc2VnbWVudCBzZWVrcyBoYW5kbGluZy4KCSAgSGF2aW5nIHRoZSBhY2N1bXVsYXRlZF9iYXNlIHNlcGFyYXRlZCBmcm9tIHRoZSBtYWluIHNlZ21lbnQuYmFzZQoJICBhbGxvd3MgaGFuZGxpbmcgYm90aCBzZWdtZW50IHNlZWtzIGFuZCBlZHRzIGVkaXR0ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMDA6NTY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIHNvbWUgZGVidWcgbWVzc2FnZXMKCSAgVGhvc2UgbWVzc2FnZXMgYXJlIGFib3V0IHRoZSBzdHJlYW0sIHVzZSB0aGUgcGFkIGFzIHRoZQoJICBkZWJ1ZyBvYmplY3QgdG8gbWFrZSBpdCBjbGVhciBmcm9tIHRoZSBsb2dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjIgMjI6MjI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHN0b3JlIGxhc3RfZHRzIG9mIHRoZSBmaXJzdCBidWZmZXIKCSAgQnVmZmVycyBuZWVkIG5vdCB0byBzdGFydCBhdCBydW5uaW5nLXRpbWUgMCBzbyB0aGUgbGFzdF9kdHMgbmVlZHMKCSAgdG8gYmUgdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBidWZmZXIncyBkdHMgYXMgaXQgaXMgdXNlZCB0byBjb21wdXRlCgkgIHRoZSBkdXJhdGlvbiBvZiB0aGUgYnVmZmVycy4gSWYgaXQgd2FzIGxlZnQgYXQgMCB0aGUgZmlyc3QgYnVmZmVyCgkgIHdvdWxkIGhhdmUgYSBsYXJnZXIgZHVyYXRpb24gd2hlbiBpdCBzaG91bGRuJ3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAxNzoxMTo1NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBvc3NpYmxlIG1lbW9yeSBsZWFrCgkgIHdoZW4gYnVmZmVyIGlzIHN0b3JlZCB0byBzZWVrdGFibGUsIGFuZCBzdG9wIGdldHMgY2FsbGVkIGR1ZSB0bwoJICBjb3JydXB0IGZsYWMgZmlsZSwgdGhlbiB0aGUgc2Vla3RhYmxlIGlzIG5vdCBiZWluZyByZWxlYXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzY0CgoyMDE1LTA2LTIzIDE2OjI4OjQwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIFJldmVydCAic3BsaXRtdXhzaW5rOiBNYXNrIGFzeW5jLXN0YXJ0L2RvbmUgd2hpbGUgc3dpdGNoaW5nIGZpbGVzLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNjFlNTM5M2YxMTBlZDQ4MjgxNWQ3NzgwNzI0NWQ3OGI1MmVmZjQ2LgoJICBDYXVzZXMgZmFpbHVyZXMgbXV4aW5nIGxhcmdlciBHT1Agc2l6ZXMgZm9yIHNvbWUgcmVhc29uLiBSZXZlcnRpbmcKCSAgd2hpbGUgSSBmaWd1cmUgaXQgb3V0CgoyMDE1LTA2LTE4IDIzOjIyOjA2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEZpeCBzdGFydHVwIGFuZCBzaHV0ZG93biByYWNlcy4KCSAgRml4IDIgc3RhcnR1cCByYWNlcyB3aGVuIHRoaW5ncyBoYXBwZW4gdG9vIHF1aWNrbHksIGFuZCAxCgkgIGF0IHNodXRkb3duIGJ5IGhvbGRpbmcgYSByZWYgdG8gdGhlIHBhZHMgaW4gdXNlIHVudGlsIHRoZQoJICBsb29wIGZ1bmN0aW9ucyBleGl0LgoJICBIYW5kbGUgZXJyb3JzIGFjdGl2YXRpbmcgZmlsZSBwYXJ0cyBhbmQgcHVibGlzaCB0aGVtIG9uCgkgIHRoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3NDcKCjIwMTUtMDYtMTggMDk6MjY6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBNYXNrIGFzeW5jLXN0YXJ0L2RvbmUgd2hpbGUgc3dpdGNoaW5nIGZpbGVzLgoJICBTb21ldGltZXMsIGV4dHJhIGFzeW5jLXN0YXJ0L2RvbmUgZnJvbSB0aGUgaW50ZXJuYWwgc2luawoJICB3aGlsZSB0aGUgZWxlbWVudCBpcyBzdGlsbCBzdGFydGluZyB1cCBjYW4gY2F1c2Ugc3BsaXRtdXhzaW5rCgkgIHRvIHN0YWxsIGluIFBBVVNFRCBzdGF0ZSB3aGVuIGl0IGhhcyBiZWVuIHNldCB0byBQTEFZSU5HCgkgIGJ5IHRoZSBhcHAuIERyb3AgdGhlIGNoaWxkJ3MgYXN5bmMtc3RhcnQvZG9uZSBtZXNzYWdlcyB3aGlsZQoJICBzd2l0Y2hpbmcsIHNvIHRoZXkgZG9uJ3QgY2F1c2Ugc3RhdGUgY2hhbmdlcyBhdCB0aGUKCSAgc3BsaXRtdXhzaW5rIGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTE1IDE2OjEyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogVXNlIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKQoJICBVc2UgdGhlIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKSB1dGlsaXR5IGZ1bmN0aW9uCgkgIHRvIHNldCB0aGUgaGFsZi1hc3BlY3QgZmxhZyAob3Igbm90KSBvbiBzdGVyZW9zY29waWMgZnJhbWUtcGFja2VkCgkgIHZpZGVvcy4KCjIwMTUtMDYtMTUgMTY6MTA6MzcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vdmUgbXVsdGl2aWV3IGNhcHMgY2FsY3VsYXRpb25zLCBhZGQgaGFsZi1hc3BlY3QgaGV1cmlzdGljcwoJICBNb3ZlIHRoZSBtdWx0aXZpZXcgY2FwcyBjYWxjdWxhdGlvbnMgdG8gdGhlIGNvbmZpZ3VyZV9zdHJlYW0oKQoJICBmdW5jdGlvbiwgc28gdGhlIHJlc3Qgb2YgdGhlIHZpZGVvIGluZm8gaXMgYXZhaWxhYmxlLCBhbmQKCSAgdXNlIHRoZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgZnVuY3Rpb24gdG8KCSAgZGV0ZXJtaW5lIGlmIHRoZSBoYWxmLWFzcGVjdCBmbGFnIHNob3VsZCBiZSBzZXQgb24gZnJhbWUtcGFja2VkCgkgIHZpZGVvLgoKMjAxNS0wNi0xOCAxNjowNjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBjc2xnIHN1cHBvcnQKCSAgVGhlIGNzbGcgYXRvbSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBEVFMgc2hpZnQuIFRoaXMgaXMKCSAgbmVlZGVkIGluIHJlY2VudCB2ZXJzaW9uIG9mIGN0dHMgYXRvbSB3aGVyZSB0aGUgb2Zmc2V0IGNhbiBiZQoJICBuZWdhdGl2ZS4gV2hlbiBjc2xnIGlzIG1pc3NpbmcsIHdlIHBhcnNlIHRoZSBDVFRTIHRhYmxlIGFzIHByb3Bvc2VkCgkgIGluIHRoZSBzcGVjIHRvIGNhbGN1bGF0ZSB0aGVzZSB2YWx1ZXMuCgkgIEluIHRoaXMgaW1wbGVtZW50YXRpb24sIHdlIG9ubHkgbmVlZCB0byBrbm93IHRoZSBzaGlmdC4gQXMgR1N0cmVhbWVyCgkgIGNhbm5vdCB0cmFuc3BvcnQgbmVnYXRpdmUgdGltZXN0YW1wcywgd2Ugc2hpZnQgdGhlIHRpbWVzdGFtcHMgZm9yd2FyZAoJICB1c2luZyB0aGF0IHZhbHVlIGFuZCBhZGFwdCB0aGUgc2VnbWVudCB0byBjb21wZW5zYXRlLiBUaGlzIHBhdGNoIGFsc28KCSAgcmVtb3ZlcyBib2d1cyBvZmZzZXQgb2YgY3R0c19zb2Zmc2V0LCB0aGlzIG9mZnNldCBzaGFsbCBiZSBpbmNsdWRlZAoJICBpbiB0aGUgZWRpdCBsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAzCgoyMDE1LTA2LTE5IDE4OjM3OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogVGVzdCBnYXBzIGF0IHN0YXJ0IG9mIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTE5IDE4OjQwOjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgUFRTIHRvIGZpZ3VyZS1vdXQgcHJlc2VuY2Ugb2YgZ2FwcwoJICBXZSBuZWVkIHRvIGxvb2sgYXQgdGhlIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAgaW4gb3JkZXIgdG8gY29uY2x1ZGUgaWYKCSAgdGhlcmUgaXMgYSBnYXAgYXQgdGhlIHN0YXJ0IG9mIGEgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTE5IDE2OjQ1OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBTZXQgZWRpdCBsaXN0IHRvIGNvbXBlbnNhdGUgRFRTIHNoaWZ0CgkgIFdlIHNoaWZ0IERUUyBmb3J3YXJkIHRvIGF2b2lkIG5lZ2F0aXZlIHRpbWVzdGFtcHMgd2hpY2ggY2Fubm90IGJlCgkgIHJlcHJlc2VudGVkIHdpdGggdmVyc2lvbiAwIG9mIHRoZSBDVFRTIHRhYmxlLiBUbyBzdGljayB3aXRoIHRoYXQKCSAgdmVyc2lvbiAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSksIHRoZSBzcGVjIHJlY29tbWVuZCB1c2luZyBhbgoJICBlZGl0IGxpc3QgZW50cnkgdG8gbW92ZSBiYWNrIHRoZSBwcmVzZW50YXRpb24gdGltZSB0byB3aGVyZSBpdAoJICBzaG91bGQgYmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDIKCjIwMTUtMDYtMjIgMTQ6MzU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBJbnNlcnQgQVZDIGVuZCBvZiBzZXF1ZW5jZQoJICBUaGlzIEZMViBzcGVjaWZpYyBtYXJrIGlzIG5lZWRlZCB0byBwcmV2ZW50IEZsb3cgUGxheWVyIChtb3N0IGxpa2VseQoJICBhbGwgRmxhc2ggYmFzZSBwbGF5ZXIpIGZyb20gZ29pbmcgaW50byBidWZmZXJpbmcgc3RhdGUgd2hlbiBuZWFyIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMyMAoKMjAxNS0wNi0yMiAxMzowNToyOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSB1c2VsZXNzIGNoZWNrCgkgIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGNvbnRleHQgYXZhaWxhYmlsaXR5IHdoaWxlIGZyZWVpbmcuIFdlIGFyZSBpbnNpZGUKCSAgaW5zaWRlIGEgY29kZSBibG9jayB3aXRoIGEgY29uZGl0aW9uIHRoYXQgZGVyZWZlcmVuY2VzIGNvbnRleHQuCgkgIGlmIChjb250ZXh0LT50eXBlID09IDAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6MzU6NTcgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBsem86IGZpeCBtZW1vcnkgbGVhawoJICB0aGUgb3BlbmVkIGZpbGUgaXMgbm90IGJlaW5nIGNsb3NlZCBkdXJpbmcgdGVzdCwgd2hpY2ggd2lsbCByZXN1bHQKCSAgaW4gbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6MzA6NTggKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L21pa21vZC9taWttb2RfcmVhZGVyLmM6CgkgIG1pa21vZF9yZWFkZXI6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZToKCSAgZ3N0X3JlYWRlciB2YXJpYWJsZSBpcyBiZWluZyB1c2VkIGJlZm9yZSBhY3R1YWxseSBjaGVja2luZyBpZiBpdAoJICBhbGxvY2F0ZWQgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxOTo0NToxNCArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNaW5vciBjbGVhbi11cAoJICAxLiBGaXggdGhlIGNvZGUgd2hpY2ggaXMgd3JvbmcgY29kaW5nIHN0eWxlLgoJICAyLiBGaXggYSB0eXBpbmcgZXJyb3Igb2YgY29tbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxNgoKMjAxNS0wNi0yMiAxMToyODoxMyArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IERvIG5vdCB0cnkgdG8gcHVzaCBOVUxMIGJ1ZmZlcnMKCSAgSWYgdXBkYXRlX3JlY2VpdmVyX3N0YXRzKCkgZmFpbHMsIHdlIGNhbid0IHJlYWxseSBkbyBhbnl0aGluZyB3aXRoIHRoaXMgYnVmZmVyCgkgIGFueW1vcmUgYW5kIGhhdmUgdG8gZHJvcCBpdC4gVGhpcyBoYXBwZW5zIGlmIHRoZXJlJ3MgYSBiaWcgc2VxbnVtCgkgIGRpc2NvbnRpbnVpdHkgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTUtMDYtMjIgMTM6MTA6MDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB0cml2aWFsIGNsZWFudXAKCSAgdHJpdmlhbCBwYXRjaCB0byBhZGQgcHJvcGVyICggd2hpbGUgY2hlY2tpbmcgZm9yIGlmKEdfVU5MSUtFTFkoKSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxMzoxNjowOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXRpYWxpemUgc2l6ZSB2YXJpYWJsZQoJICBzaXplIGNhbiBiZSB1c2VkIGluIGNsZWFudXAgd2l0aG91dCBiZWluZyBpbml0aWFsaXplZC4gSGVuY2UKCSAgc2V0dGluZyBpdCB0byAwIHdoZW4gZGVjbGFyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTM6MTM6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsemUgYnBmIHZhcmlhYmxlCgkgIGJwZiB2YXJpYWJsZSBtaWdodCBiZSB1c2VkIGluIGNsZWFudXAgd2l0aG91dCBiZWluZyBpbnRpYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTE5IDE0OjUwOjU5ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkgIHJ0cHJ0eHF1ZXVlOiByZXZlcnNlIHBlbmRpbmcgbGlzdCBiZWZvcmUgcHVzaGluZyBidWZmZXJzCgkgIFdpdGggdGhpcyB3ZSBzZW5kIHRoZSBSVFggYnVmZmVycyBpbiB0aGUgc2FtZSBvcmRlcgoJICB0aGF0IHRoZXkgd2VyZSByZXF1ZXN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyOTcKCjIwMTUtMDYtMjEgMTk6MjI6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggRFRTIHZhbGlkaXR5IGNoZWNrCgkgIFRoaXMgY2hlY2sgd2FzIHVwLXNpZGUtZG93biwgY2F1c2luZyBhIGJhZCB0aW1lc3RhbXAgYXQgc3RhcnQKCSAgYW5kIHRoZW4gYWxsIHRpbWVzdGFtcCBiZWluZyBkZWxheWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjk4CgoyMDE1LTA2LTE3IDE1OjE5OjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgY3NsZzogQWRkIENvbXBvc2l0aW9uIFNoaWZ0IExlYXN0IEdyZWF0ZXN0IEF0b20KCSAgVGhpcyBzaW1wbHkgYWRkIGZvdXJjYyBhbmQgZHVtcCBmdW5jdGlvbiBmb3IgdGhlIGNzbGcgQXRvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xNyAxNToxODozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgY3R0c19kdW1wOiBGaXggc2lnbmVzcyBpc3N1ZXMKCSAgSXQgZGlkbid0IGJ1ZywgYnV0IHVzZSBjb3JyZWN0IHNpZ25lc3MgaW4gdHJhY2VzLiBUaGUgbnVtYmVyIG9mCgkgIGVudHJpZXMgaXMgdW5zaWduZWQgd2hpbGUgdGhlIG9mZnNldCBjYW4gYmUgc2lnbmVkIGFjY29yZGluZyB0bwoJICByZWNlbnQgc3BlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xNiAxNzo0ODowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwMTVkMjYgdG8gZjc0YjJkZgoKMjAxNS0wNi0xNiAxMTo0MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGdzdF9ydHBfYnVmZmVyX2V4dF90aW1lc3RhbXAoKSBtb2RpZmllcyBpdHMgZmlyc3QgYXJndW1lbnQsIGtlZXAgYSBjb3B5IGFyb3VuZAoKMjAxNS0wNi0xNiAxMDozMDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENvbXBhcmUgZXh0IFJUUCB0aW1lcywgbm90IHBsYWluIFJUUCB0aW1lIGFuZCBleHQgUlRQIHRpbWUgd2hlbiBjYWxjdWxhdGluZyBlbGFwc2VkIHRpbWUKCSAgT3RoZXJ3aXNlIGFsbCBSVFAgdGltZXMgYWZ0ZXIgYSB3cmFwYXJvdW5kIHdvdWxkIGJlIGNvbnNpZGVyZWQgYXMgZ29pbmcKCSAgYmFja3dhcmRzLCB0aGV5IHdpbGwgYWx3YXlzIGJlIHNtYWxsZXIgdGhhbiB0aGUgZXh0IFJUUCB0aW1lLgoKMjAxNS0wNi0xNSAxOToyNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFRoZSBkZWZhdWx0IHJ0cC1wcm9maWxlIHNob3VsZCBiZSBBVlAsIG5vdCBBVlBGCgoyMDE1LTA2LTE1IDE0OjMyOjIxICswOTAwICBTYW5na3l1IFBhcmsgPHNrMTEyMi5wYXJrQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IE1pbm9yIGNsZWFudXAKCSAgMS4gQWRkIE51bGwgY2hlY2sgaW4gJ2ZyZWVfaXRlbScgZnVuY3Rpb24uCgkgIDIuIEZpeCBhIHR5cGluZyBlcnJvciBvZiBjb21tZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwOTY1CgoyMDE1LTA2LTEyIDE3OjQ0OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbG11eDogTWFrZSBzdXJlIGJlc3RfdGltZSBpcyBpbml0aWFsaXplZAoKMjAxNS0wNi0xMiAyMzoyOToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIHJ0cGJpbi9zZXNzaW9uOiBBZGQgbmV3IG50cC10aW1lLXNvdXJjZSBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlIHVzZS1waXBlbGluZS1jbG9jayBwcm9wZXJ0eQoJICBUaGUgbmV3IHByb3BlcnR5IGFsbG93cyB0byBzZWxlY3QgdGhlIHRpbWUgc291cmNlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZQoJICBOVFAgdGltZSBpbiBSVENQIHBhY2tldHMuIEJ5IGRlZmF1bHQgaXQgd2lsbCBjb250aW51ZSB0byBjYWxjdWxhdGUgdGhlIE5UUAoJICB0aW1lc3RhbXAgKDE5MDAgZXBvY2gpIGJhc2VkIG9uIHRoZSByZWFsdGltZSBjbG9jay4gQWx0ZXJuYXRpdmVseSBpdCBjYW4gdXNlCgkgIHRoZSBVTklYIHRpbWVzdGFtcCAoMTk3MCBlcG9jaCksIHRoZSBwaXBlbGluZSdzIHJ1bm5pbmcgdGltZSBvciB0aGUgcGlwZWxpbmUncwoJICBjbG9jayB0aW1lLiBUaGUgbGF0dGVyIGlzIGVzcGVjaWFsbHkgdXNlZnVsIGZvciBzeW5jaHJvbml6aW5nIG11bHRpcGxlCgkgIHJlY2VpdmVycyBpZiBhbGwgb2YgdGhlbSBzaGFyZSB0aGUgc2FtZSBjbG9jay4KCSAgSWYgdXNlLXBpcGVsaW5lLWNsb2NrIGlzIHNldCB0byBUUlVFLCBpdCB3aWxsIG92ZXJyaWRlIHRoZSBudHAtdGltZS1zb3VyY2UKCSAgc2V0dGluZyBhbmQgY29udGludWUgdG8gdXNlIHRoZSBydW5uaW5nIHRpbWUgcGx1cyA3MCB5ZWFycy4gVGhpcyBpcyBvbmx5IGtlcHQKCSAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoKMjAxNS0wNC0wNyAxNjowMzo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiB0ZXN0IGZvciBtdXhpbmcgd2l0aCBEVFMgb3V0c2lkZSB0aGUgc2VnbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTExIDE3OjI2OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRqdXN0IHNlZ21lbnQgYWNjb3JkaW5nIHRvIGN0dHMgb2Zmc2V0CgkgIEluIHByZXNlbmNlIG9mIGEgQ1RUUywgdGhlIHNlZ21lbnQgc3RhcnQvc3RvcCBtdXN0IGJlIG9mZnNldCBzbwoJICB0aGUgc2VnbWVudCBzdGFydC9zdG9wIGluY2x1ZGUgdGhlIFBUUy4gVGhpcyBpcyBuZWVkZWQgc2luY2UgdGhlCgkgIFBUUyBjYW5ub3QgYmUgbmVnYXRpdmUgaW4gdGhpcyBmb3JtYXQuIFRoaXMgZml4ZXMgaXNzdWVzIHdoZXJlIHRoZQoJICBydW5uaW5nIHRpbWUgb2YgdGhlIGZpcnN0IGJ1ZmZlciBpc24ndCBhdCB0aGUgc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDQtMDMgMjA6MzQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogSGFuZGxlIERUUyB3aXRoIG5lZ2F0aXZlIHJ1bm5pbmcgdGltZQoJICBBcyBRVCB3b3JrcyB3aXRoIGR1cmF0aW9uLCBzaW1wbHkgYnJpbmcgYmFjayBmaXJzdCBEVFMgdG8gMCBhbmQgc2hpZnQKCSAgZm9yd2FyZCB0aGUgUFRTIG9mIHRoZSBzYW1lIGFtb3VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxODoxNTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgbmVnYXRpdmUgcnVudGltZSBEVFMgc3VwcG9ydAoJICBUaGlzIGlzIGRvbmUgYnkgdXNpbmcgbmV3IGZlYXR1cmUgb2YgdGhlIENvbGxlY3RQYWQgY2xpcCBmdW5jdGlvbgoJICB3aGljaCBzZXRzIHRoZSBEVFMgYXMgYSBnaW50NjQgaW4gdGhlIGNvbGxlY3RlZCBkYXRhLiBJdCBhbHNvIHNpbXBsaWZ5CgkgIHRoZSBjb2RlIGEgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEyIDIzOjA2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogUmVuYW1lIHNvbWUgdmFyaWFibGVzIGFuZCBkZWJ1ZyBvdXRwdXQgdG8gbWFrZSBtb3JlIHNlbnNlCgkgIExvY2FsIGFuZCByZW1vdGUgd2VyZSBtaXhlZCB1cCBpbiBhIGZldyBwbGFjZXMsIGFuZCB0aGUgdGltZSB3ZSBzdG9yZSBoZXJlIGlzCgkgIG5vdCBVTklYIHRpbWUgKDE5NzAgZXBvY2gpLCBidXQgTlRQIHRpbWUgKDE5MDAgZXBvY2gpIGluIG5hbm9zZWNvbmRzLgoKMjAxNS0wNi0xMiAxOToyMToxMCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogZml4IGxhdGVuY3kgcHJvcGVydHkgcXVlcnkgb24gUmVtb3RlSU8KCSAgQXVkaW9Vbml0R2V0UHJvcGVydHkgd291bGQgZmFpbCB3aXRoIGtQYXJhbUVyciAoLTUwKSBldmVyeSB0aW1lLAoJICBzaW1wbHkgYmVjYXVzZSBzaXplIHdhc24ndCBpbml0aWFsaXplZC4KCSAgTm93IGl0IHJldHVybnMgemVybyBsYXRlbmN5LCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndCBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODY4CgoyMDE1LTA0LTA3IDE0OjA2OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IG1hcHBpbmcgb2YgbGF0ZW5jeSBwYXJhbWV0ZXJzIHRvIGJ1ZmZlciBhdHRyaWJ1dGVzCgoyMDE1LTA2LTEyIDAxOjU2OjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogQWN0dWFsbHkgc2V0IGRldGVjdGVkIDNEIGluZm8gaW50byBvdXRwdXQgY2Fwcy4KCSAgVXNlIHRoZSBpbmZvcm1hdGlvbiByZWFkIGZyb20gdGhlIFN0ZXJlb01vZGUgaW5mbwoJICB0byBjb25maWd1cmUgbXVsdGl2aWV3LW1vZGUgYW5kIG11bHRpdmlldy1mbGFncyBpbiB0aGUKCSAgdmlkZW8gY2Fwcy4KCjIwMTUtMDYtMTEgMTM6MzY6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBUYWtlIHJlbGVhc2VkLWJ1dC1ub3QteWV0LW91dHB1dCBieXRlcyBpbnRvIGFjY291bnQKCSAgV2hlbiBkZWNpZGluZyB3aGV0aGVyIGl0J3MgdGltZSB0byBzd2l0Y2ggdG8gYSBuZXcgZmlsZSwgdGFrZSBpbnRvCgkgIGFjY291bnQgZGF0YSB0aGF0J3MgYmVlbiByZWxlYXNlZCBmb3IgcHVzaGluZywgYnV0IGhhc24ndCB5ZXQKCSAgYmVlbiBwdXNoZWQgLSBiZWNhdXNlIGRvd25zdHJlYW0gaXMgc2xvdyBvciB0aGUgdGhyZWFkcyBoYXZlbid0IGJlZW4KCSAgc2NoZWR1bGVkLgoJICBGaXhlcyBhIHJhY2UgaW4gdGhlIHVuaXQgdGVzdCBhbmQgcHJvYmFibHkgaW4gcHJhY3RpY2UgLSBzb21ldGltZXMKCSAgZmFpbGluZyB0byBzd2l0Y2ggd2hlbiBpdCBzaG91bGQgZm9yIGFuIGV4dHJhIEdPUCBvciB0d28uCgkgIEFsc28gZml4IGEgcHJvYmxlbSBpbiBzcGxpdG11eHNyYyB3aGVyZSBwbGF5YmFjayBzb21ldGltZXMKCSAgc3RhbGxzIGF0IHN0YXJ0dXAgaWYgdHlwZXMgYXJlIGZvdW5kIHRvbyBxdWlja2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTExIDAxOjA0OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiByZW1vdmUgY3VzdG9tIGdzdF9idWZmZXJfbmV3IGZ1bmN0aW9uIGluIGZhdm9yIG9mIGNvcmUgdmVyc2lvbgoJICBSZW1vdmUgYSBjdXN0b20gc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBnc3RfYnVmZmVyX25ld193cmFwcGVkIGJ5CgkgIHVzaW5nIGdzdF9idWZmZXJfbmV3X3dyYXBwZWRfZnVsbCBpbnNpZGUgYSBtYWNybyB0byBzaW1wbGlmeQoJICBwYXJhbWV0ZXJzIGFuZCBnaXZlIGl0IGEgbW9yZSBtZWFuaW5nZnVsIG5hbWUuCgkgIEl0IGlzIG9ubHkgdXNlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGJ1ZmZlcnMgdG8gaGF2ZSBpdHMgZGF0YSBjb3BpZWQuCgoyMDE1LTA2LTExIDAwOjE0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiBzaW1wbGlmeSBmcmVlIGZvcm0gZGF0YSBhdG9tcyBjcmVhdGlvbgoJICBBdm9pZCBjcmVhdGluZyBhbiBpbnRlcm1lZGlhcnkgYnVmZmVyIG9yIG1lbW9yeSBhcmVhIGp1c3QKCSAgdG8gY29weSBpbnRvIGFuIGF0b20ncyBkYXRhIGFyZWEuCgoyMDE1LTA2LTEwIDIyOjI3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBBQy0zIG11eGluZyBzdXBwb3J0CgkgIEFkZHMgQUMtMyBtdXhpbmcgc3VwcG9ydC4gSXQgaXMgZGVmaW5lZCBmb3IgbXA0IGFuZCAzZ3AgZm9ybWF0cy4KCSAgT25lIGV4dHJhIGZlYXR1cmUgdGhhdCB3YXMgYWRkZWQgd2FzIHRoZSBhYmlsaXR5IHRvIGFkZCBleHRlbnNpb24KCSAgYXRvbXMgYWZ0ZXIgc2V0X2NhcHMgYXMgdGhlIEFDLTMgZXh0ZW5zaW9uIGF0b20gbmVlZHMgc29tZSBkYXRhCgkgIHRoYXQgaGFzIHRvIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBzdHJlYW0gaXRzZWxmIGFuZCBpcyBub3QKCSAgcHJlc2VudCBvbiBjYXBzLgoKMjAxNS0wNi0xMCAyMjozNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiByZW1vdmUgdW51c2VkIHR5cGUgTVA0UwoKMjAxNS0wNi0xMCAyMjoyOTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGR1cGxpY2F0ZSBhdHRyaWJ1dGUgdmFsdWUgc2V0CgkgIEl0IGlzIGFsc28gc2V0IGEgZmV3IGxpbmVzIGJlbG93CgoyMDE1LTA2LTExIDAwOjIyOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogSW1wbGVtZW50IGJhc2ljIHN0ZXJlb3Njb3BpYyB2aWRlbyBzdXBwb3J0CgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciB0aGUgcGFja2VkIHZpZGVvIGZvcm1hdHMgV2ViTQoJICB1c2VzLCBub3QgYWxsIHRoZSB2YWx1ZXMgdGhhdCBNYXRyb3NrYSBtaWdodCB1c2UuCgkgIEluIHByYWN0aWNlLCBpdCdzIHJlYWxseSBoYXJkIHRvIGZpbmQgYW55IHNhbXBsZXMgaW4gdGhlCgkgIHdpbGQgb2YgYW55LgoJICBTdXBwb3J0ZWQgaW4gYm90aCB0aGUgbXV4ZXIgYW5kIGRlbXV4ZXIuCgoyMDE1LTA2LTEwIDAxOjI2OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIGJhc2ljIHN1cHBvcnQgZm9yIE1QRUctQSBzdGVyZW9zY29waWMgdmlkZW8KCSAgVGhlIE1QRUctQSBmb3JtYXQgcHJvdmlkZXMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBJU08gYmFzZSBtZWRpYQoJICBmaWxlIGZvcm1hdCB0byBzdG9yZSBzdGVyZW9zY29waWMgY29udGVudCBlbmNvZGVkIHdpdGggZGlmZmVyZW50CgkgIGNvZGVjcyBsaWtlIEguMjY0IGFuZCBNUEVHLTQ6Mi4gVGhlIHN0ZXJlbyB2aWRlbyBtZWRpYSBpbmZvcm1hdGlvbihzdm1pKQoJICBhdG9tIGRlY2xhcmVzIHRoZSBwcmVzZW5jZSBhbmQgc3RvcmFnZSBtZXRob2QgZm9yIHRoZSB2aWRlby4KCSAgU3RlcmVvIHZpZGVvIGluZm9ybWF0aW9uIGZvciBNUEVHLUEgY2FuIGFsc28gYmUgc3VwcGxpZWQgdGhyb3VnaAoJICB0aGUgJ3N0dmknIGF0b20gKHJlZjogSVNPL0lFQ18xNDQ5Ni0xMiwgSVNPL0lFQ18yMzAwMC0xMSksIHdoaWNoCgkgIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLgoJICBBbHNvIG1pc3NpbmcgaXMgc3VwcG9ydCBmb3Igc3RlcmVvIHZpZGVvIGVuY29kZWQgYXMgc2VwYXJhdGUgdmlkZW8gdHJhY2tzCgkgIGZvciBub3cuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA2LTAyIDE2OjE1OjM1IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHRscy1kYXRhYmFzZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjk4CgoyMDE1LTA2LTEwIDE0OjMzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwOiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgVGhlIG1peCBiZXR3ZWVuIGFsbCB0aGVzZSBpbiB0aGUgUlRQIGNvZGUgaXMgY29uZnVzaW5nLCBsZXQncyB0cnkgdG8gYmUKCSAgY29uc2lzdGVudC4KCjIwMTUtMDYtMTAgMTQ6NDk6NTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogY2xhcmlmeSBuZWdhdGl2ZSBsb3N0IHBhY2tldHMgaW4gc3RhdHMKCSAgQWxzbzoKCSAgLSBNb3ZlIG5vdGVzIG9uIHVuaXRzIGJlZm9yZSBmaWVsZCBkb2N1bWVudGF0aW9uLgoJICAtIFVuaWZ5IGRvY3VtZW50YXRpb24gc3R5bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NTMKCjIwMTUtMDYtMTAgMDY6Mzg6MzkgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggZ2V0dGVyIG9mICJzc2wtdXNlLXN5c3RlbS1jYS1maWxlIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjk4CgoyMDE1LTA2LTEwIDA5OjQ5OjQ3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrCgkgIFdoZW4gcGVyZm9ybWluZyBzZWVrLCBzZWdtZW50LT5zdGFydCBpcyBiZWluZyB1cGRhdGVkIHdpdGggZGVzaXJlZF9vZmZzZXQsCgkgIGJ1dCBpbiBjYXNlIG9mIHJldmVyc2UgcGxheWJhY2sgc2VnbWVudC0+c3RhcnQgc2hvdWxkIGJlIDAgYW5kCgkgIHNlZ21lbnQtPnN0b3Agc2hvdWxkIGJlIHVwZGF0ZWQgd2l0aCBkZXNpcmVkIG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY3NQoKMjAxNS0wMS0yMSAxODowOTowMyArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBnc3R2NGwyYnVmZmVycG9vbDogaGFuZGxlIC1FUElQRSBmcm9tIERRQlVGIHRvIHNpZ25hbCBFT1MKCSAgVGhlIFY0TDIgZGVjb2RlciBzaWduYWxzIEVPUyBieSByZXR1cm5pbmcgLUVQSVBFIGZyb20gRFFCVUYgYWZ0ZXIgdGhlCgkgIGxhc3QgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzM4CgoyMDE1LTA2LTA2IDIxOjA5OjE5IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIGEgR1Rsc0ludGVyYWN0aW9uIHByb3BlcnR5CgkgIEl0IGNhbiBiZSB1c2VkIGZvciBUTFMgY2xpZW50IGF1dGhlbnRpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDcxCgoyMDE1LTAxLTA5IDExOjM2OjExICswMTAwICBFbnJpY28gSm9ybnMgPGVqb0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMjogQWxsb3cgc2NhbGluZyBpbiB0aGUgdjRsMipjb252ZXJ0IGVsZW1lbnQKCSAgVGhpcyBpcyBpbnNwaXJlZCBvZiB2aWRlb3NjYWxlIGFuZCB2aWRlb2NvbnZlcnQgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI5MTcKCjIwMTUtMDYtMDkgMTk6MDI6NTUgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogZG9jdW1lbnQgdW5pdHMgb2Ygc3RhdHMgYW5kIGFyZ3VtZW50cwoJICBBbHNvLCBtaW5vciBzcGVsbGluZyBhbmQgc3R5bGUgY29ycmVjdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NTMKCjIwMTUtMDYtMDkgMTQ6NDI6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IGFkZCB0aGUgb2Jzb2xldGUgdG1wbCBkaXIgdG8gY3J1ZnQtZGlycwoKMjAxNS0wNi0wOSAxMTozMDoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDlhMzM1MyB0byA2MDE1ZDI2CgoyMDE1LTA2LTA5IDA3OjA0OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBGaXggY29tbW9uIHZlcnNpb24KCSAgV2FzIGFjY2lkZW50bHkgZG93bmdyYWRlZCBieSA4N2E0ODg0YWNkODY1NWE2NTkxZDczNWExZDk0NGVjYjVlYTNkZTE2CgoyMDE1LTA2LTA4IDE5OjExOjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFsc28gc2V0IGNvbG9yaW1ldHJ5IG9uIG91dHB1dCBkZXZpY2VzCgkgIFRoaXMgY29tcGxldGVzIHRoZSBjb2RlIHRoYXQgc2V0IHRoZSBjb2xvcmltZXRyeSBvbiBvdXRwdXQKCSAgZGV2aWNlLgoKMjAxNS0wNi0wOCAxOToxMDozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBtaXNzaW5nIFNNVFAyNDBNIG1hdHJpeAoJICBUaGlzIGlzIG1pc3NpbmcgaW4gdGhlIGRvYywgYnV0IHdhcyBpbiB0aGUgaGVhZGVyLgoKMjAxNS0wNi0wOCAyMzowMDoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICBnb29tOiBwb3NzaWJsZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyB3YXJuaW5nCgkgIEJ1aWxkIGZhaWxzIHdpdGggdGhlIGxhdGVzdCBzbmFwc2hvdCBvZiBnY2MtNC45IGJlY2F1c2UgcGFyYW0xIGFuZCBwYXJhbTIgbWlnaHQKCSAgcG9zc2libHkgYmUgdXNlZCB1bmluaXRpYWxpemVkLiBUaGV5IGFyZSBzZXQgZGVwZW5kaW5nIG9uIHRoZSBjYXNlcyBvZiBhIHN3aXRjaAoJICBzdGF0ZW1lbnQgYW5kIHRoZSBjb21waWxlciBzZWVzIHRoaXMgYXMgbm90IGEgY29tcGxldGUgZ3VhcmFudGVlLgoJICBTZXQgdGhlbSB0byAwIGlmIHRoZSBzd2l0Y2ggc3RhdGVtZW50IGZhbGxzIGRvd24gdG8gdGhlIGRlZmF1bHQgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDU2NiNjNgoKMjAxNS0wNi0wOCAxNzoyNDozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGdWxseSBpbXBsZW1lbnQgY29sb3JpbWV0cnkgc3VwcG9ydAoJICBUaGlzIGZpeGVzIHdyb25nIG1hcHBpbmcgZm9yIHNSR0IgYXMgaW4gR1N0cmVhbWVyIHNSR0IgY29ycmVjdGx5CgkgIGFwcGx5IHRvIFJHQiBmb3JtYXRzLCB3aGlsZSBpbiBWNEwyIGl0J3MgYW4gYWxpYXMgZm9yIHNZQ0MuIEFsc28KCSAgYWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgcXVhbnRpemF0aW9uIChyYW5nZSksIHljYmNyX2VuY29kaW5nIChtYXRyaXgpCgkgIGFuZCB4ZmVyX2Z1bmMgKHRyYW5zZmVyKSBlbnVtZXJhdGlvbi4KCjIwMTUtMDYtMDggMTc6MDE6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2V4dC90eXBlcy1jb21wYXQuaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29tbW9uLmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbnRyb2xzLmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSAgdjRsMjogVXBkYXRlIGtlcm5lbCBoZWFkZXJzIHRvIGxhdGVzdCBmcm9tIG1lZGlhIHRyZWUKCSAgVGhpcyBpcyB0aGUgbGF0ZXN0IGZyb20gbWVkaWEgdHJlZS4gVGhpcyBzaG91bGQgZW5hYmxlIG1vcmUgZGV2ZWxvcG1lbnQKCSAgb2YgdGhlIHY0bDIgZWxlbWVudHMuIFRoaXMgaW5jbHVkZXMgbmV3IGZsYWdzIHJlcXVpcmVzIHRvIGZpeCBkcmFpbmluZwoJICBwYXRoIGluIGRlY29kZXIsIGNvbG9yaW1ldHJ5IGFuZCBtdWNoIG1vcmUuCgoyMDE1LTA2LTA4IDIzOjA3OjU1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMzdhZjMyIHRvIGQ5YTMzNTMKCjIwMTUtMDYtMDggMTk6NDI6MzAgKzAxMDAgIENocmlzIENsYXl0b24gPGNocmlzMjU1M0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBwb3RlbnRpYWwgYWNjZXNzIGJleW9uZCBlbmQgb2YgYXJyYXkKCSAgQ29tcGlsaW5nICh3aXRoIGdjYy00LjktMjAxNTA2MDMpIHByb2R1Y2VzIGFuIGVycm9yIGJlY2F1c2Ugb2YgYW4gYWNjZXNzIGJleW9uZAoJICB0aGUgZW5kIG9mIGFuIGFycmF5LiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBlcnJvciBieSBpbml0aWFsaXppbmcgdGhlIGxvb3AKCSAgY29udHJvbC9hcnJheSBpbmRleCB2YXJpYWJsZSAoaSkgdG8gMSBhbmQgcmV0dXJuaW5nIGkgLSAxIHdoZW4gYSBtYXRjaCBpcyBmb3VuZC4KCSAgQWxzbywgYmVjYXVzZSB0aGUgdmFsdWVzIHN0b3JlZCBpbiB0aGUgYXJyYXkgaW5jcmVhc2UgaW4gdmFsdWUgYXMgdGhlIGluZGV4CgkgIGluY3JlYXNlcywgdGhlID49IHRlc3QgdW5uZWNlc3NhcnksIHNvIGl0IGlzIHJlbW92ZWQuCgoyMDE1LTA0LTMwIDAyOjUyOjU4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRG9uJ3QgYWNjdW11bGF0ZSBtb3JlIHRoYW4gMiBHT1BzCgkgIERvbid0IGFsbG93IGxhcmdlIGFtb3VudHMgb2YgZGF0YSB0byBxdWV1ZSB1cCAtIHdlIG9ubHkgbmVlZAoJICB0aGUgR09QIHdlJ3JlIHdyaXRpbmcsIGFuZCB0aGUgR09QIHdlJ3JlIGFjY3VtdWxhdGluZy4KCjIwMTUtMDQtMTYgMTA6NDQ6NDkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGZzeW5jIGFmdGVyIHNlbmRpbmcgdXBkYXRlcyBpbiByb2J1c3QgbW9kZQoJICBVc2UgdGhlIG5ldyBHc3RCdWZmZXIgU1lOQ19BRlRFUiBmbGFnIHRvIHRyaWdnZXIgYW4gZnN5bmMKCSAgYWZ0ZXIgdXBkYXRpbmcgdGhlIG1vb3Ygb3IgbWRhdCBhdG9tLCBhbmQgYWZ0ZXIgdXBkYXRpbmcgdGhlIGZyZWUKCSAgYXRvbSB0byBtYWtlIGl0IHZpc2libGUuCgoyMDE1LTA0LTAzIDAwOjU3OjIwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBPbmx5IHNldCBtb292IGhlYWRlciBpbnRvIHN0cmVhbWhlYWRlciBhdCBFT1MKCSAgT25seSB1cGRhdGUgdGhlIG1vb3YgaGVhZGVyIGludG8gdGhlIGNhcHMgaWYgaXQncyB0aGUgZmluYWxpc2VkCgkgIG1vb3YgYXQgRU9TIHRpbWUuIEF2b2lkcyBwb3N0aW5nIGEgYm9ndXMgbW9vdiBhdCBzdGFydHVwIGFuZAoJICByZXBlYXRlZCB1cGRhdGVzIGluIHJvYnVzdC1yZWNvcmRpbmcgbW9kZQoKMjAxNS0wNC0wMyAwMTo0NDoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogVXBkYXRlIG1wNCBtdXggdGVzdCBmb3IgbWRhdCBwbGFjZWhvbGRlciBjaGFuZ2UKCSAgVGhlIG1wNCBtdXhlciBub3cgd3JpdGVzIGEgcGxhY2UtaG9sZGVyIG1kYXQgYXMgYSBmcmVlCgkgIGF0b20gZm9sbG93ZWQgYnkgYSAwLWJ5dGUgbWRhdCB0aGF0IGNvdmVycyB0aGUgcmVzdCBvZiB0aGUKCSAgZmlsZSwgbWFraW5nIGl0IHBvc3NpYmxlIHRvIHJld3JpdGUgaXQgYXMgNjQtYml0LCBvciBsZWF2ZQoJICBpdCBhcy1pcyBpZiBub3RoaW5nIGVsc2UgaXMgd3JpdHRlbiBhZnRlcndhcmQKCjIwMTUtMDQtMDEgMTE6MTU6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgaXNvbXA0OiBJbXBsZW1lbnQgcm9idXN0IG11eGluZyB1c2luZyBwaW5nLXBvbmcgc3RyYXRlZ3kKCSAgSW1wbGVtZW50IGEgcm9idXN0IHJlY29yZGluZyBtb2RlLCB3aGVyZSB0aGUgb3V0cHV0CgkgIGZpbGUgaXMgYWx3YXlzIGluIGEgcGxheWFibGUgc3RhdGUsIHNlZWtpbmcgYW5kIHJld3JpdGluZwoJICB0aGUgbW9vdiBoZWFkZXIgYXQgYSBjb25maWd1cmFibGUgaW50ZXJ2YWwuIFJld3JpdGluZwoJICBtb292IGlzIGRvbmUgdXNpbmcgcmVzZXJ2ZWQgc3BhY2UgYXQgdGhlIHN0YXJ0IG9mCgkgIHRoZSBmaWxlLCBhbmQgYSBwaW5nLXBvbmcgc3RyYXRlZ3kgd2hlcmUgdGhlIG1vb3YKCSAgaXMgcmVwbGFjZWQgYXRvbWljYWxseSBzbyBpdCdzIG5ldmVyIGludmFsaWQuCgkgIFRyYWNrIHdoZW4gdGFncyBoYXZlIGFjdHVhbGx5IGNoYW5nZWQsIGFuZCBkb24ndCB3cml0ZSB0aGVtIGludG8KCSAgdGhlIG1vb3YgdW5sZXNzIHRoZXkndmUgY2hhbmdlZC4gQ2xlYXIgYW55IGV4aXN0aW5nIHRhZ3Mgd2hlbgoJICByZS13cml0aW5nIHRoZW0sIHNvIHdlIGNhbiBkbyBwcm9ncmVzc2l2ZSBtb292IHVwZGF0aW5nIGluIHJvYnVzdAoJICByZWNvcmRpbmcgbW9kZS4KCSAgV3JpdGUgcGxhY2Vob2xkZXIgbWRhdCBhcyBhIGZyZWUgYXRvbSBwbHVzIGEgMzItYml0IG1kYXQKCSAgd2l0aCAnMCcgc2l6ZSwgd2hpY2ggbWVhbnMgInJlc3Qgb2YgdGhlIGZpbGUiIGluIHRoZSBzcGVjLgoJICBSZS13cml0ZSBpdCBsYXRlciB0byBhIGZ1bGwgNjQtYml0IGV4dGVuZGVkIHNpemUgYXRvbSBpZiBuZWVkZWQuCgoyMDE1LTA0LTAxIDAwOjU4OjUyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogVXBkYXRlIGVkaXQgbGlzdCB3aGVuIHJlLXdyaXRpbmcgbW9vdgoJICBDb3JyZWN0bHkgdXBkYXRlIGFueSBlZGl0IGxpc3RzIGVhY2ggdGltZSB0aGUgbW9vdiBpcyByZWNhbGN1bGF0ZWQsCgkgIHVwZGF0aW5nIGV4aXN0aW5nIHRhYmxlIGVudHJpZXMgaWYgdGhleSBhbHJlYWR5IGV4aXN0IGluc3RlYWQgb2YganVzdAoJICBhZGRpbmcgbmV3IG9uZXMuCgoyMDE1LTA0LTA4IDAxOjQxOjE4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBSZW1vdmUgYW4gZXh0cmEgYnJhY2tldCBpbiBhIGNvbW1lbnQuCgoyMDE1LTAzLTE5IDIwOjI5OjQ0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IFByb3RlY3QgdG90YWxfZHVyYXRpb24gc3RhdGUgdmFyaWFibGUgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFByZXZlbnQgZGVhZGxvY2tzIGZyb20gZG93bnN0cmVhbSBxdWVyeWluZyBkdXJhdGlvbiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxNS0wNi0wNyAyMzowNjoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjFiYTJlNSB0byBkMzdhZjMyCgoyMDE1LTA2LTA3IDE5OjI0OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGdvb206IGNsZWFuIGRlcmVmZXJlbmNlcyBvZiBwcml2YXRlIHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTA3IDE5OjIwOjA0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGdvb20yazE6IGNsZWFuIGRlcmVmZXJlbmNlcyBvZiBwcml2YXRlIHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTA3IDE3OjMyOjAxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDA4NTgzIHRvIDIxYmEyZTUKCjIwMTUtMDYtMDcgMTc6MDE6MzcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSB2YXJpYWJsZXMgdGhhdCB3ZSBkZWZpbmUgaW4gdGhlIHNuaXBwZXQgZnJvbSBjb21tb24KCSAgVGhpcyBpcyBzeW5jaW5nIG91ciBNYWtlZmlsZS5hbSB3aXRoIHVwc3RyZWFtIGd0a2RvYy4KCjIwMTUtMDYtMDcgMTc6MTY6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ2NzY5OTMgdG8gYzQwODU4MwoKMjAxNS0wNi0wNyAxNjo0NDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS41LjEgPT09CgoyMDE1LTA2LTA3IDEwOjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjEKCjIwMTUtMDYtMDcgMTA6Mzg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMDcgMTA6MzI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPdmVycmlkZSB0aGUgU1NSQyBmcm9tIHRoZSBwYWNrZXRzJyBTU1JDIGlmIG5vbmUgd2FzIGdpdmVuIHZpYSBjYXBzIG9yIHByb3BlcnR5CgoyMDE1LTA2LTA3IDA5OjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNi0wNSAxNTozMjoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERvbid0IHdhcm4gd2hlbiBvcHRpb25hbCBDSUQgYXJlIG5vdCBpbXBsZW1lbnQKCSAgZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0cmUoKSBzaGFsbCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgQ0lEIGlzIGV4cGVjdGVkCgkgIHRvIGJlIHN1cHBvcnRlZC4gT3RoZXJ3aXNlLCB3ZSBnZXQgdW53YW50ZWQgd2FybmluZyBwb3N0ZWQgdG8gdGhlIGJ1cy4KCjIwMTUtMDYtMDUgMTY6NDM6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBPbmx5IHN1Z2dlc3Qgb3VyIGludGVybmFsIHNzcmMgaWYgaXQncyBub3QgYSByYW5kb20gb25lIGFuZCB3YXMgc2VsZWN0ZWQgYXMgaW50ZXJuYWwgc3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTgxCgoyMDE1LTA2LTA0IDE0OjE4OjAxICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBlcnJvciB3aGVuIGNoYW5uZWwtcG9zaXRpb25zLWZyb20taW5wdXQ9RmFsc2UKCSAgc2VsZi0+Y2hhbm5lbHMgaXMgYmVpbmcgaW5jcmVtZW50ZWQgb25seSB3aGVuCgkgIGNoYW5uZWwtcG9zaXRpb25zLWZyb20taW5wdXQgaXMgc2V0IGFzIFRSVUUuIFNvIGluIGNhc2Ugb2YgRkFMU0UKCSAgc2VsZi0+ZnVuYyBpcyBub3Qgc2V0IGFuZCBoZW5jZSBjcmVhdGluZyBhc3NlcnRpb24gZXJyb3IuCgkgIEhlbmNlIHJlbW92aW5nIHRoZSBjb25kaXRpb24gdG8gaW5jcmVtZW50IHNlbGYtPmNoYW5uZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjExCgoyMDE1LTA2LTA1IDEwOjMzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIHN1cHBvcnQgZm9yIHJlY2VpdmluZyByZWR1Y2VkIHNpemUgUlRDUAoJICBJdCB3b3JrZWQgYmVmb3JlIGJ1dCBnYXZlIHdhcm5pbmdzLCBub3cgd2UganVzdCBpZ25vcmUgUlRDUAoJICBwYWNrZXRzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBhIFNSLiBBcyBhbGwgd2UncmUgaW50ZXJlc3RlZAoJICBpbiBoZXJlIGFyZSBTUnMuCgoyMDE1LTA2LTAzIDEyOjIyOjQyICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQWRkIHN1cHBvcnQgZm9yIHJlZHVjZSBzaXplIHJ0Y3AKCSAgQWNjb3JkaW5nIHRvIFJGQyA1NTA2LCByZWR1Y2Ugc2l6ZSBwYWNrYWdlcyBjYW4gYmUgc2VudCwgdGhpcwoJICBwYWNrYWdlcyBtYXkgbm90IGJlIGNvbXBvdW5kLCBzbyB3ZSBuZWVkIHRvIGFkZCBzdXBwb3J0IGZvcgoJICBnZXR0aW5nIHNzcmMgZnJvbSBvdGhlciB0eXBlcyBvZiBwYWNrYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMyNwoKMjAxNS0wNi0wMyAxMzoxNDo0NCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHN1cHBvcnQgZm9yIHJlY2VpdmluZyByZWR1Y2VkIHNpemUgcnRjcAoJICBTZWUgUkZDIDU1MDYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMzMgoKMjAxNS0wNi0wNCAxNjowOTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBjaGFubmVsIGNvbmZpZ3VyYXRpb25zIDExLCAxMiBhbmQgMTQgYW5kIDcgYWN0dWFsbHkgaGFzIDggY2hhbm5lbHMKCSAgSVNPL0lFQyAxNDQ5Ni0zOjIwMDkvUERBTSA0IGFkZGVkIDExLCAxMiBhbmQgMTQuCgoyMDE1LTA2LTAzIDA4OjU3OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIGFzdGVyaXNraDI2MzogVW4tcmFuayBjbGFzaGluZyBkZXBheWxvYWRlcgoJICBUaGlzIGRlcGF5bG9hZGVyIGNsYXNoIHdpdGggdGhlIHN0YW5kYXJkIG9uZSBmb3IgSDI2M3AuIEl0IHByb2R1Y2VzIGFuCgkgIEgyNjNwIHN0cmVhbSB3aXRoIGEgbW9kaWZpZWQgaGVhZGVyLiBJdCB1c2VzIGVuY29kaW5nLW5hbWUgdGhhdCBpcyB0aGUKCSAgc2FtZSBhcyBIMjYzcCAoSDI2My0xOTk4KSB0aG91Z2ggdGhlIHJlc3VsdGluZyBFUyBpcyBub3QgZGVjb2RhYmxlIG9yCgkgIHBhcnNhYmxlIGluIEdTdHJlYW1lciwgbWFraW5nIGl0IHVuc3VhYmxlIGluIGR5bmFtaWMgcGlwZWxpbmUuIFRoaXMKCSAgcGF0Y2ggdW5yYW5rIHRoaXMgc3BlY2lhbGl6ZWQgZGVwYXlsb2FkZXIgc2luY2UgaXQgY2FuIG9ubHkgYmUgdXNlZCBpbgoJICBjdXN0b20gcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5MzUKCjIwMTUtMDYtMDIgMTg6MDk6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcmVtb3ZlIHZhcmlhYmxlcyBub3QgbmVlZGVkIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wMiAxNzo1Mjo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiByZWJhc2UgdG8gdXNlIHRoZSBhdWRpb3Zpc3VhbGl6ZXIgY2xhc3MKCSAgUmViYXNlIHRvIGhhdmUgZ29vbTJrMSB1c2luZyB0aGUgY29tbW9uIEdzdEF1ZGlvVmlzdWFsaXplciBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTAyIDE3OjI5OjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHJlYmFzZSB0byB1c2UgdGhlIGF1ZGlvdmlzdWFsaXplciBjbGFzcwoKMjAxNS0wNi0wMiAxNjoyNzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICBjaGVjazogVXNlIEdTVF9DSEVDS19NQUlOICgpIG1hY3JvIGV2ZXJ5d2hlcmUKCSAgTWFrZXMgc291cmNlIGNvZGUgc21hbGxlciwgYW5kIGVuc3VyZXMgd2UgZ28gdGhyb3VnaCBjb21tb24gaW5pdGlhbGl6YXRpb24KCSAgcGF0aCAobGlrZSB0aGUgb25lIHRoYXQgc2V0cyB1cCBYTUwgdW5pdCB0ZXN0IG91dHB1dCAuLi4pCgoyMDE1LTA1LTI2IDE0OjQ3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IE9ubHkgc2NoZWR1bGUgYSB0aW1lciB3aGVuIHdlIGFjdHVhbGx5IGhhdmUgdG8gc2VuZCBSVENQCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGhhdmUgMTBzLTEwMHMgb2YgdGhyZWFkIHdha2V1cHMgaW4gZmVlZGJhY2sgcHJvZmlsZXMsIGNyZWF0ZQoJICBSVENQIHBhY2tldHMsIGV0Yy4ganVzdCB0byBzdXBwcmVzcyB0aGVtIGluIDk5JSBvZiB0aGUgY2FzZXMgKGkuZS4gaWYgbm8KCSAgZmVlZGJhY2sgaXMgYWN0dWFsbHkgcGVuZGluZyBhbmQgbm8gcmVndWxhciBSVENQIGhhcyB0byBiZSBzZW50KS4KCSAgVGhpcyBpbXByb3ZlcyBDUFUgdXNhZ2UgYW5kIGJhdHRlcnkgbGlmZSBxdWl0ZSBhIGxvdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMiAxMzo0NDowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogUmVtb3ZlIHVzZWxlc3MgZ290bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTIxIDEyOjU0OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXM6IFNldCBSVFAgcHJvZmlsZSB0byBBVlBGIGZvciBydHBhdXggZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0wNCAxNjo0MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogU2V0IFJUUCBwcm9maWxlIG9uIHRoZSBydHBzZXNzaW9uIG9iamVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMSAxNDoxMzo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBBZGQgcnRwLXByb2ZpbGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlIGRlZmF1bHQgcHJvZmlsZSBvZiBuZXdseSBjcmVhdGVkIHNlc3Npb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTE6NTE6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE9ubHkgcHV0IFJScyBhbmQgZnVsbCBTREVTIGludG8gcmVndWxhciBSVENQIHBhY2tldHMKCSAgSWYgd2UgbWF5IHN1cHByZXNzIHRoZSBwYWNrZXQgZHVlIHRvIHRoZSBydWxlcyBvZiBSRkM0NTg1IChpLmUuIHdoZW4KCSAgYmVsb3cgdGhlIHQtcnItaW50KSwgd2UgY2FuIHNlbmQgYSBzbWFsbGVyIFJUQ1AgcGFja2V0IHdpdGhvdXQgUlJzCgkgIGFuZCBmdWxsIFNERVMuIEluIHRoZW9yeSB3ZSBjb3VsZCBldmVuIHNlbmQgYSBtaW5pbWFsIFJUQ1AgcGFja2V0CgkgIGFjY29yZGluZyB0byBSRkM1NTA2LCBidXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGF0IHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0wNCAxMzo1MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBLZWVwIHRyYWNrIG9mIHRwL3RuIGFuZCB0X3JyX2xhc3Qgc2VwYXJhdGVseQoJICBPdGhlcndpc2Ugd2UgY2FuJ3QgcHJvcGVybHkgc2NoZWR1bGUgUlRDUCBpbiBmZWVkYmFjayBwcm9maWxlcyBhcyB3ZSBuZWVkIHRvCgkgIGRpc3Rpbmd1aXNoIHRoZSB0aW1lIHdoZW4gd2UgbGFzdCBjaGVja2VkIGZvciBzZW5kaW5nIFJUQ1AgKHRwKSBidXQgbWlnaHQgaGF2ZQoJICBzdXBwcmVzc2VkIGl0LCBhbmQgdGhlIHRpbWUgd2hlbiB3ZSBsYXN0IGFjdHVhbGx5IHNlbnQgYSBub24tZWFybHkgUlRDUAoJICBwYWNrZXQuCgkgIFRoaXMgdG9nZXRoZXIgd2l0aCB0aGUgb3RoZXIgY2hhbmdlcyBzaG91bGQgbm93IHByb3Blcmx5IGltcGxlbWVudCBSVENQCgkgIHNjaGVkdWxpbmcgYWNjb3JkaW5nIHRvIFJGQzQ1ODUsIGFuZCBlc3BlY2lhbGx5IGFsbG93IHVzIHRvIHNlbmQgZmVlZGJhY2sKCSAgcGFja2V0cyBhIGxvdCBpZiBuZWVkZWQgYnV0IG9ubHkgc2VuZCByZWd1bGFyIFJUQ1AgcGFja2V0cyBldmVyeSBvbmNlIGluIGEKCSAgd2hpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTE6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQWRkIHByb3BlcnR5IGZvciBzZWxlY3RpbmcgUlRQIHByb2ZpbGUgKEFWUC9BVlBGL2V0YykKCSAgQW5kIG1vZGlmeSBvdXIgUlRDUCBzY2hlZHVsaW5nIGFsZ29yaXRobSBhY2NvcmRpbmdseS4gV2Ugbm93IGNhbiBzZW5kIG1vcmUKCSAgUlRDUCBwYWNrZXRzIGlmIG5lZWRlZCBmb3IgZmVlZGJhY2ssIGJ1dCB3aWxsIHRocm90dGxlIGZ1bGwgUlRDUCBwYWNrZXRzIGJ5CgkgIHJ0Y3AtbWluLWludGVydmFsICh0LXJyLWludCBmcm9tIFJGQzQ1ODUpLgoJICBJbiBub24tZmVlZGJhY2sgbW9kZSwgcnRjcC1taW4taW50ZXJ2YWwgaXMgVG1pbiBmcm9tIFJGQzM1NTAsIHdoaWNoIGlzCgkgIHN0YXRpY2FsbHkgc2V0IHRvIDFzIG9yIDBzIGJ5IFJGQzQ1ODUuIFRtaW4gZGVmaW5lcyBob3cgb2Z0ZW4gd2Ugc2hvdWxkCgkgIHNlbmQgUlRDUCBwYWNrZXRzIGF0IG1vc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMzAgMTc6NDE6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogTGV0IGJhc2VjbGFzcyBlc3RpbWF0ZSBiaXRyYXRlCgkgIFRoaXMgbWFrZXMgcGxheWJhY2sgZGlyZWN0bHkgZnJvbSBhIGZpbGUgd29yayB3aXRoIHRoZSByaWdodCBjYXBzLgoKMjAxNS0wNS0yNyAxNjozMToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazoga2VlcCBHQ2FuY2VsbGFibGUgZmQgYXJvdW5kIGluc3RlYWQgb2YgcmUtY3JlYXRpbmcgaXQgY29uc3RhbnRseQoJICBBbmQgY3JlYXRlIGl0IG9ubHkgd2hlbiBzdGFydGluZyB0aGUgZWxlbWVudC4KCjIwMTUtMDUtMjcgMTU6NTU6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rLCBtdWx0aXVkcHNpbms6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgT3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgY3JlYXRlL2Nsb3NlIGV2ZW50IGZpbGUgZGVzY3JpcHRvcnMsCgkgIGV2ZXJ5IHRpbWUgd2UgY2FsbCBnX3NvY2tldF9jb25kaXRpb25fdGltZWRfd2FpdCgpIG9yCgkgIGdfc29ja2V0X3NlbmRfbWVzc2FnZShzKSgpLCBpLmUuIGEgbG90LiBXaGljaCBpcyBub3QKCSAgcGFydGljdWxhcmx5IGdvb2QgZm9yIHBlcmZvcm1hbmNlLgoJICBDYW4ndCBjcmVhdGUgR0NhbmNlbGxhYmxlIGluIDo6c3RhcnQoKSBoZXJlIGJlY2F1c2UgaXQncyB1c2VkCgkgIGluIGNsaWVudF9uZXcoKSB3aGljaCBtYXkgYmUgY2FsbGVkIHZpYSB0aGUgYWRkLWNsaWVudCBhY3Rpb24KCSAgc2lnbmFsIHdoaWNoIG1heSBiZSBjYWxsZWQgYmVmb3JlIHRoZSBlbGVtZW50IGlzIHVwIGFuZCBydW5uaW5nLgoKMjAxNS0wNS0xOSAxODoxMzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzoga2VlcCBHQ2FuY2VsbGFibGUgZmQgYXJvdW5kIGluc3RlYWQgb2YgcmUtY3JlYXRpbmcgaXQgY29uc3RhbnRseQoJICBPdGhlcndpc2Ugd2UgY29uc3RhbnRseSBjcmVhdGUvY2xvc2UgZXZlbnQgZmlsZSBkZXNjcmlwdG9ycywKCSAgZXZlcnkgc2luZ2xlIHRpbWUgd2UgY2FsbCBnX3NvY2tldF9jb25kaXRpb25fdGltZWRfd2FpdCgpIG9yCgkgIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpLCBpLmUuIHR3aWNlIHBlciBwYWNrZXQgcmVjZWl2ZWQhCgkgIFRoaXMgd2FzIG5vdCBwYXJ0aWN1bGFybHkgZ29vZCBmb3IgcGVyZm9ybWFuY2UuCgkgIEFsc28gb25seSBjcmVhdGUgR0NhbmNlbGxhYmxlIG9uIHN0YXJ0LXVwLgoKMjAxNS0wNS0yNiAxNTozMzozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogb3ZlcndyaXR0ZW4gdmFsdWUgYXNzaWdubWVudAoJICBjdXJwb3MgaXMgc2V0IGFuZCBpbW1lZGlhdGVseSBhZnRlciwgc2V0IGFnYWluLiBSZW1vdmUgdGhlIHJlZHVuZGFudAoJICBhc3NpZ25tZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5OTA5CgoyMDE1LTA1LTIzIDEzOjQ3OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBkb24ndCBzaGFkb3cgZXhpc3Rpbmcgb3V0YnVmIHZhcmlhYmxlCgkgIEFuZCBmaXggdW5yZWYgb2YgdGhlIHdyb25nIG9uZSB3aGljaCB3aWxsIGNvbnRhaW4gTlVMTAoJICBpbiBhbiBlcnJvciBjb2RlIHBhdGguCgoyMDE1LTA1LTIzIDEzOjIzOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgcnRwdnJhd2RlcGF5OiBtYXAvdW5tYXAgb3V0cHV0IGZyYW1lIG9ubHkgb25jZSwgbm90IGZvciBldmVyeSBpbnB1dCBwYWNrZXQKCSAgTWFwIG91dHB1dCBidWZmZXIgYWZ0ZXIgY3JlYXRpbmcgaXQgYW5kIGtlZXAgaXQgbWFwcGVkCgkgIHVudGlsIHdlJ3JlIGRvbmUgd2l0aCBpdCBpbnN0ZWFkIG9mIG1hcHBpbmcvdW5tYXBwaW5nCgkgIGl0IGZvciBldmVyeSBzaW5nbGUgaW5wdXQgYnVmZmVyLgoKMjAxNS0wNS0yNSAwODo0Nzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBmaXhtZSBmcm9tIDIwMDYKCSAgSXQgaGFzIGJlZW4gdmVyaWZpZWQgYnkgdXNlIG92ZXIgdGltZS4KCjIwMTUtMDUtMjMgMTQ6MzY6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjayBvZiBmcmFnbWVudGVkIG1lZGlhCgkgIHF0ZGVtdXggY3JlYXRlcyBhIHNhbXBsZXMgYXJyYXkgYW5kIGdldHMgdGhlIHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgYnkKCSAgYWNjdW11bGF0aW5nIHRoZWlyIGR1cmF0aW9ucy4gV2hlbiBkb2luZyByZXZlcnNlIHBsYXliYWNrIG9mIGZyYWdtZW50cywKCSAgYWNjdW11bGF0aW5nIHNhbXBsZXMgd2lsbCBsZWFkIHRvIHdyb25nIHRpbWVzdGFtcHMgYXMgdGhlIHRpbWVzdGFtcHMKCSAgc2hvdWxkIGdvIGRlY3JlYXNpbmcgZnJvbSBmcmFnbWVudCB0byBmcmFnbWVudCBhbmQgdGhlIGFjY3VtdWxhdGlvbgoJICB3aWxsIHByb2R1Y2Ugd3JvbmcgcmVzdWx0cy4KCSAgSW4gdGhpcyBjYXNlLCB3aGVuIHJlY2VpdmluZyBhIGRpc2NvbnQgZm9yIGZyYWdtZW50ZWQgcmV2ZXJzZSBwbGF5YmFjaywKCSAgdGhlIHByZXZpb3VzIHNhbXBsZXMgaW5mb3JtYXRpb24gc2hvdWxkIGJlIGZsdXNoZWQgYmVmb3JlIG5ldyBkYXRhCgkgIGlzIHByb2Nlc3NlZC4KCjIwMTUtMDUtMjMgMDE6MDM6MTggKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogSW1wbGVtZW50IGJpbmFyeSBzZWFyY2ggaW4gZmluZF9wYXJ0X2Zvcl9vZmZzZXQKCSAgSW1wbGVtZW50IGJpbmFyeSBzZWFyY2ggdXNpbmcgZ3N0X3V0aWxfYXJyYXlfYmluYXJ5X3NlYXJjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjkwCgoyMDE1LTA1LTIxIDEzOjI2OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBjcmFzaCBpZiB3ZSByZWNlaXZlIEZJUi9QTEkgZnJvbSBhIHNvdXJjZSB3ZSBkb24ndCBrbm93CgoyMDE1LTA1LTIxIDA5OjM1OjU4ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IGNvbGxlY3Rpb24gb2Ygc3RhdGlzdGljcwoJICBTdGF0cyBzaG91bGQgYmUgY29sbGVjdGVkIG9uIHRoZSBtZWRpYSBydHAgc291cmNlIG5vdCBpbiB0aGUKCSAgc2VuZGVyIG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY2OQoKMjAxNS0wNC0yMCAxMDowNzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogQWRkIGEgbmV3IG1heC1kdXJhdGlvbiBmaWxlIHN3aXRjaGluZyBtb2RlCgkgIFRoaXMgbmV3IG1vZGUgZW5zdXJlcyB0aGF0IGZpbGVzIHdpbGwgbmV2ZXIgZXhjZWVkIGEgY2VydGFpbiBkdXJhdGlvbgoJICBiYXNlZCBvbiBpbmNvbWluZyBidWZmZXIgUFRTIChhbmQgZHVyYXRpb24gaWYgcHJlc2VudCkKCSAgTm90ZToKCSAgKiBZb3UgbmVlZCB0aW1lc3RhbXBlZCBidWZmZXJzIChkdWgpLiBJZiBzb21lIG9mIHRoZSBpbmNvbWluZyBidWZmZXJzIGRvbid0CgkgIGhhdmUgUFRTLCB0aGVuIGl0IHdpbGwganVzdCBhY2NlcHQgdGhlbSBpbiB0aGUgY3VycmVudCBmaWxlCgoyMDE1LTA0LTE3IDE2OjE4OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHN0cmVhbWxpbmUgdGhlIGZpbGUtc3dpdGNoIGNvZGUgYSBiaXQKCSAgVXNlIHRoZSBzYW1lIGZ1bmN0aW9ucyByZWdhcmRsZXNzIG9mIHRoZSBtb2RlIHdlIGFyZSB1c2luZwoKMjAxNS0wNC0wMiAxMzozNToxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkICJhZ2dyZWdhdGUtZ29wcyIgcHJvcGVydHkgdG8gcHJvY2VzcyBHT1BzIGFzIGEgd2hvbGUKCSAgVGhpcyBwcm9wZXJ0eSBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIG5leHQtZmlsZT1tYXgtc2l6ZQoJICAoYW5kIHBlcmhhcHMgYSBmdXR1cmUgbmV4dC1maWxlPW1heC1kdXJhdGlvbikgdG8gbWFrZSBzdXJlIHRoYXQKCSAgZWFjaCBmaWxlIHBhcnQgc3RhcnRzIGNsZWFubHkgd2l0aCBhIGtleSBmcmFtZSBhbmQgdGhlIGFwcHJvcHJpYXRlIGhlYWRlcnMuCgkgIEluIG9yZGVyIGZvciB0aGlzIHByb3BlcnR5IHRvIHdvcmsgY29ycmVjdGx5LCB1cHN0cmVhbSBlbGVtZW50cyBzaG91bGQgbWFrZQoJICBzdXJlIHRoYW4gYW55IGhlYWRlcnMgdGhhdCBuZWVkIHRvIGJlIHdyaXR0ZW4gaW4gYSBzdGFuZGFsb25lIGZpbGUgYXJlOgoJICAxKSBpbiB0aGUgc3RyZWFtaGVhZGVyIGNhcHMgZmllbGQKCSAgMikgYW5kL29yIGluIHRoZSBzdHJlYW0gYXMgb25lIG9yIG1vcmUgYnVmZmVycyBtYXJrZWQgd2l0aCBHU1RfQlVGRkVSX0ZMQUdfSEVBREVSCgkgIHRoYXQgYXJlIGp1c3QgYmVmb3JlIHRoZSBrZXlmcmFtZSBidWZmZXIKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIE1QRUctVFMvTVBFRy1QUyBmaWxlIHNlZ21lbnRpbmcgaW4KCSAgY29tYmluYXRpb24gd2l0aCBtcGVndHNtdXggb3IgbXBlZ3BzbXV4LgoJICBPcmlnaW5hbCBwYXRjaCBieTogVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCjIwMTUtMDUtMjAgMTY6Mzc6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVzZSBzaW5nbGUtaW5jbHVkZSBoZWFkZXIgZm9yIHRoZSBSVFNQIGxpYnJhcnkKCjIwMTQtMTAtMjQgMjM6NDc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBkb24ndCB1c2Ugc29vbi10by1iZS1kZXByZWNhdGVkIGdfY2FuY2VsbGFibGVfcmVzZXQoKQoJICBGcm9tIHRoZSBBUEkgZG9jdW1lbnRhdGlvbjogIk5vdGUgdGhhdCBpdCBpcyBnZW5lcmFsbHkgbm90CgkgIGEgZ29vZCBpZGVhIHRvIHJldXNlIGFuIGV4aXN0aW5nIGNhbmNlbGxhYmxlIGZvciBtb3JlCgkgIG9wZXJhdGlvbnMgYWZ0ZXIgaXQgaGFzIGJlZW4gY2FuY2VsbGVkIG9uY2UsIGFzIHRoaXMKCSAgZnVuY3Rpb24gbWlnaHQgdGVtcHQgeW91IHRvIGRvLiBUaGUgcmVjb21tZW5kZWQgcHJhY3RpY2UKCSAgaXMgdG8gZHJvcCB0aGUgcmVmZXJlbmNlIHRvIGEgY2FuY2VsbGFibGUgYWZ0ZXIgY2FuY2VsbGluZwoJICBpdCwgYW5kIGxldCBpdCBkaWUgd2l0aCB0aGUgb3V0c3RhbmRpbmcgYXN5bmMgb3BlcmF0aW9ucy4KCSAgWW91IHNob3VsZCBjcmVhdGUgYSBmcmVzaCBjYW5jZWxsYWJsZSBmb3IgZnVydGhlciBhc3luYwoJICBvcGVyYXRpb25zLiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTEzMgoKMjAxNS0wNS0xOCAyMDoxMzowMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIFJldmVydCAiZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNzk3YzhmOGIxMmQ3ZjRjN2E5NDQ0Yzk0ZjM0ZjRkMDhlYzg1OTQ1LgoJICBUaGlzIGlzIGZpeGVkIGJ5IHRoZSBndGstZG9jIDEuMjMgcmVsZWFzZS4KCSAgPHBhcmE+IGNhbm5vdCBjb250YWluIDxyZWZzZWN0Mj46CgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcGFyYS5odG1sCgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcmVmc2VjdDIuaHRtbAoKMjAxNS0wNS0xOCAxNjo0MDoyMSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgcnRwZzcyNnBheTogZml4IGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTQ0CgoyMDE1LTA1LTE4IDE2OjM0OjEzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIHJ0cGc3MjZkZXBheTogZG9uJ3QgbGVhayBpbnB1dCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU0MwoKMjAxNS0wNS0xOCAxNzozODozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IFF1ZXVlIGJhZCBwYWNrZXRzIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlbQoJICBTbyB3ZSBjYW4gc2VuZCB0aGVtIG91dCBvbmNlIHdlIGZvdW5kIHRoZSBuZXh0LCBjb25zZWN1dGl2ZSBzZXF1ZW5jZSBudW1iZXIgaW4KCSAgY2FzZSBvbmUgaXMgZm9sbG93aW5nLgoKMjAxNS0wNS0xOCAxNzozODoxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IFVzZSBnX3F1ZXVlX2ZvcmVhY2goKSB0byB1bnJlZiBhbGwgYnVmZmVycyBpbiBxdWV1ZXMKCjIwMTUtMDUtMTggMTc6MTk6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBSZWZhY3RvciBzZXFudW0gY29tcGFyaXNvbiBjb2RlIGEgYml0CgoyMDE1LTA1LTE4IDE3OjA4OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogQWxsb3cgc2VxdWVuY2UgbnVtYmVyIHdyYXBhcm91bmQgZHVyaW5nIHByb2JhdGlvbgoKMjAxNS0wNS0xOCAxNzowNzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IE1ha2Ugc2VxdWVuY2UgbnVtYmVyIGNvbXBhcmlzb24gY29kZSBtb3JlIHJlYWRhYmxlCgkgIC4uLiBieSB1c2luZyBnc3RfcnRwX2J1ZmZlcl9jb21wYXJlX3NlcW51bSgpIGFuZCBzaWduZWQgaW50ZWdlcnMKCSAgaW5zdGVhZCBvZiBpbXBsaWN0bHkgdXNpbmcgZWZmZWN0cyBvZiBpbnRlZ2VyIG92ZXIvdW5kZXJmbG93cy4KCjIwMTUtMDQtMjIgMTg6NTQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXaGVuIGRldGVjdGluZyBhIGh1Z2Ugc2VxbnVtIGdhcCwgd2FpdCBmb3IgNSBjb25zZWN1dGl2ZSBwYWNrZXRzIGJlZm9yZSByZXNldHRpbmcgZXZlcnl0aGluZwoJICBJdCBtaWdodCBqdXN0IGJlIGEgbGF0ZSByZXRyYW5zbWlzc2lvbiBvciBzcHVyaW91cyBwYWNrZXQgZnJvbSBlbHNld2hlcmUsIGJ1dAoJICByZXNldHRpbmcgZXZlcnl0aGluZyB3b3VsZCBtZWFuIHRoYXQgd2Ugd2lsbCBjYXVzZSBhIG5vdGljZWFibGUgaGlja3VwLiBMZXQncwoJICBnZXQgc29tZSBjb25maWRlbmNlIGZpcnN0IHRoYXQgdGhlIHNlcXVlbmNlIG51bWJlcnMgY2hhbmdlZCBmb3Igd2hhdGV2ZXIKCSAgcmVhc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTIyCgoyMDE1LTA1LTE2IDIzOjM3OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIGRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUKCSAgV2l0aCBndGtkb2MgMS4yMiwgdGhlIFhNTCBnZW5lcmF0b3IgZmFpbHMgd2hlbiBhIGl0ZW1pemVkbGlzdCBpcwoJICBmb2xsb3dlZCBieSBhIHJlZnNlY3QyLiBXb3JrYXJvdW5kIHRoZSBpc3N1ZSBieSB3cmFwcGluZyB0aGUKCSAgcmVmc2VjdDIgaW50byBwYXJhLgoKMjAxNS0wMS0yMyAxMzo1Nzo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBhdm9pZCB3cm9uZyB3YXJuaW5ncyBvbiB1bmtub3duIG5vZGUgdHlwZXMKCSAgQWRkICduYW1lJyBhbmQgJ21lYW4nIGZvdXJjY3MsIGFzIHdlIGhhbmRsZSB0aGVtLiBSaWdodCBub3cgZWFjaCB1c2Ugd291bGQKCSAgdHJpZ2dlciBhIHdhcm5pbmcuCgoyMDE1LTA1LTA4IDE5OjEzOjAwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgIHJ0cGc3MjZkZXBheTogYWRkIGJsb2NrX2FsaWduIHRvIG91dHB1dCBjYXBzCgkgIEl0IGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgbmVnb3RpYXRlIGNhcHMgd2l0aCBtYXRyb3NrYW11eAoJICBhbmQgbW9zdCBvdGhlciBtdXhlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMjkKCjIwMTUtMDUtMTIgMTM6NDE6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRml4IHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uIHdpdGggPjEgY2hhbm5lbHMKCSAgaW5wdXRfc2FtcGxlcyBpcyB0aGUgbnVtYmVyIG9mIGZyYW1lcywgYnV0IHdlIHVzZWQgaXQgYXMgdGhlIG51bWJlciBvZgoJICBzYW1wbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjA0CgoyMDE1LTA1LTEyIDEyOjEzOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBQcm9wZXJseSBjb252ZXJ0IGJldHdlZW4gR1N0cmVhbWVyIGFuZCBlbmNvZGVyIHRpbWViYXNlCgkgIC4uLiBieSBzd2l0Y2hpbmcgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciB3aGVuIHNjYWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMjIKCjIwMTUtMDUtMTEgMTM6MzM6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFs4OV1lbmM6IERvbid0IHNldCB0aW1lYmFzZSBmcm9tIHRoZSBmcmFtZXJhdGUKCSAgVGhlIGZyYW1lcmF0ZSB2ZXJ5IG9mdGVuIGlzIGp1c3QgYW4gaW5kaWNhdGlvbiBvZiB0aGUgaWRlYWwgZnJhbWVyYXRlLCBub3QgdGhlCgkgIGFjdHVhbCBmcmFtZXJhdGUgb2YgdGhlIHN0cmVhbS4gQnkganVzdCB1c2luZyB0aGUgZnJhbWVyYXRlLCB3ZSBjb25mdXNlIHRoZQoJICByYXRlIGNvbnRyb2wgYWxnb3JpdGhtIGFsZ29yaXRobSBhcyBtdWx0aXBsZSBmcmFtZXMgd2lsbCBtYXAgdG8gdGhlIHNhbWUgUFRTCgkgIG9yIGhhdmUgZHVyYXRpb25zIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMjIKCjIwMTUtMDUtMTAgMTQ6MjE6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB0ZXN0czogd2F2cGFja3BhcnNlOiBmaXggdW5pdCB0ZXN0CgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzcKCjIwMTUtMDUtMTAgMTE6MDU6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkgIGRvY3M6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcyBpbiBlbGVtZW50IGRvY3MKCSAgTW9zdGx5IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAKCSAgVXNlIGF1dG92aWRlb3NpbmsvYXV0b2F1ZGlvc2luayBtb3JlIG9mdGVuLgoJICBTcHJpbmtsZSBzb21lIGNvbnZlcnRlcnMgaGVyZSBhbmQgdGhlcmUuCgoyMDE1LTA1LTA5IDE5OjQ4OjU1ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxNjMKCjIwMTUtMDUtMTAgMTA6NTI6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBtaW5vciBlcnJvciBtZXNzYWdlIGNsZWFuLXVwCgkgIERvbid0IHB1dCBmaWxlbmFtZSBpbiBlcnJvciBtZXNzYWdlIHNob3duIHRvIHVzZXIuCgoyMDE1LTA1LTA3IDE2OjI1OjM2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gc3RvcmVkIHRvIHNlZWt0YWJsZQoJICBGaXggYSBsZWFrIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUucGxheWJhY2suY2hhbmdlX3N0YXRlX2ludGVuc2l2ZS5zYW1wbGVzX211bHRpbWVkaWFfY3hfZmxhY19ZZXN0ZXJkYXlfZmxhYwoJICBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA3MgoKMjAxNS0wNS0wNyAxNzoxMDozNyArMDkwMCAgUGF1bCBIeXVuaWwgPHBhdWwuaHl1bmlsQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoJICBUaGUgZ3N0LWxhdW5jaCBzY3JpcHQgZm9yIGV4YW1wbGUgbGF1bmNoIGxpbmUgdG8gdGVzdCBxdGRlbXV4IGlzCgkgIG1pc3NpbmcgYSBxdWV1ZSBiZWZvcmUgdGhlIGRlY29kZWJpbnMsIG90aGVyd2lzZSB0aGUgZ3N0LWxhdW5jaC0xLjAKCSAgY29tbWFuZCB3b24ndCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MDU0CgoyMDE1LTA1LTA3IDE0OjUxOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBSZXZlcnQgInJ0cHNlc3Npb246IEFsc28gcmVwb3J0IGludGVybmFsIHNvdXJjZXMgaW4gb24tbmV3LXNzcmMgYW5kIG9uLXNzcmMtYWN0aXZlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQyMmVjNDk2MzI4ZTZiYThlZGJmMmQwNzFkNTYwOGIyYWYyODMxZTguCgkgIEFwcGxpY2F0aW9uIGNvZGUgbWlnaHQgZXhwZWN0IHRoYXQgaXQgb25seSBnZXRzIGV4dGVybmFsIHNvdXJjZXMgb24gdGhvc2UKCSAgc2lnbmFscywgYW5kIGdldCBjb25mdXNlZCBieSB0aGlzLiBJZiBhbnl0aGluZyB3ZSB3b3VsZCBuZWVkIHRvIGFkZCBuZXcKCSAgc2lnbmFscy4KCjIwMTUtMDMtMjUgMTU6Mjc6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFsc28gcmVwb3J0IGludGVybmFsIHNvdXJjZXMgaW4gb24tbmV3LXNzcmMgYW5kIG9uLXNzcmMtYWN0aXZlCgkgIFdpdGhvdXQgdGhpcyBpdCBzZWVtcyBpbXBvc3NpYmxlIGZvciBhbiBhcHBsaWNhdGlvbiB0byBlYXNpbHkgZ2V0IG5vdGlmaWVkCgkgIGFib3V0IHRoZSBpbnRlcm5hbCBzc3JjcyB0aGF0IGFyZSBjcmVhdGVkLCBlLmcuIHNlbmRlciBzb3VyY2VzLCBhbmQgYWxzbwoJICB0byBrbm93IHdoZW4gdGhleSBhcmUgYWN0aXZlIGFuZCBwcm9kdWNlIFJUQ1AgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Njc0NwoKMjAxNS0wNS0wNCAxOToyNjoxNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBmcmFtZSBsZWFrcyBpbiBoYW5kbGVfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbgoJICBoYW5kbGVfZnJhbWUoKSBpcyBzdXBwb3NlZCB0byBjb25zdW1lIEBmcmFtZSwgc28gaWYgd2UgZG9uJ3QgY2FsbAoJICBnc3RfdmlkZW9fZGVjb2Rlcl9kcm9wX2ZyYW1lKCkgb3IgZ3N0X3ZpZGVvX2RlY29kZXJfZmluaXNoX2ZyYW1lKCkgd2UgaGF2ZSB0bwoJICByZWxlYXNlIGl0IG1hbnVhbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTA5CgoyMDE1LTA1LTA0IDE2OjUwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggdXAgbGFzdCBjb21taXQKCjIwMTUtMDUtMDQgMTY6NDY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE9ubHkgZG8gUlRYIHdoZW4gdXNpbmcgYSBmZWVkYmFjayBwcm9maWxlCgoyMDE1LTA1LTA0IDEzOjUwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUaGUgc3RhdHMgbWluX2ludGVydmFsIGlzIGluIHNlY29uZHMsIG5vdCBuYW5vc2Vjb25kcwoJICBXZSBoYXZlIHRvIHNjYWxlIGl0IHRvIGNvbXBhcmUgaXQgYWdhaW5zdCBvdXIgY2xvY2sgdGltZXMuCgoyMDE1LTA1LTA0IDExOjM4OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IHJldHVybiBUUlVFIGlmIGVhcmx5IGZlZWRiYWNrIHdhcyByZXF1ZXN0ZWQgYWxyZWFkeSBhbmQgaXQncyBlYXJseSBlbm91Z2gKCjIwMTUtMDQtMzAgMTU6NDI6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZW51bSBpdGVtcwoKMjAxNS0wNC0zMCAxMjoxMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYnVmZmVyIGxlYWsgb24gZW9zIGluIHB1c2ggbW9kZQoJICBCYXNlZCBvbiBwYXRjaCBieSBHdWlsbGF1bWUgRGVzbW90dGVzLgoJICBzY2VuYXJpbzogdmFsaWRhdGUuaHR0cC5wbGF5YmFjay5zZWVrX3dpdGhfc3RvcC5yYXdfaDI2NF8xX21wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjE3CgoyMDE1LTA0LTI5IDE5OjQxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGZvciBzaXplcyBvZiB0aGUgcmRyZiAocmVkaXJlY3QpIGF0b20gYmVmb3JlIGFjY2Vzc2luZyB0aGUgZGF0YSBhbmQgdXNlIGdfc3RybmR1cCgpIGluc3RlYWQgb2YgZ19zdHJkdXAoKQoJICBUaGFua3MgdG8gUmFscGggR2lsZXMgZm9yIHJlcG9ydGluZyB0aGlzLgoKMjAxNS0wNC0yOSAxNTo1MjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogT25seSBlbmFibGUgcmV0cmFuc21pc3Npb25zIGlmIHRoZXJlIGlzIHJldHJhbnNtaXNzaW9uIGluZm8gaW4gdGhlIFNEUAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gc2VuZCBlYXJseSBSVENQIGFuZCBOQUNLcyBpbiBub24tZmVlZGJhY2sgc2Vzc2lvbnMKCSAgdG9vLCB3aGljaCB3aWxsIGNvbmZ1c2Ugc2VydmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODYyNwoKMjAxNS0wMi0xMSAxODowOToyNCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBleHRyYWN0IHJlY29yZGluZyB0aW1lCgkgIEV4dHJhY3RzIHRoZSByZWNvcmRlZCB0aW1lIG9mIHRoZSBkdiBmaWxlIGZyb20KCSAgdGhlIG1ldGFkYXRhIGFuZCBwdXRzIGl0IGludG8gdGhlIGdsb2JhbCB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNjU3CgoyMDE1LTA0LTI4IDE1OjU5OjI1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VlayBldmVudCBsZWFrCgkgIGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCgpIGRvZXNuJ3QgY29uc3VtZSB0aGUKCSAgZXZlbnQgc28gd2UgaGF2ZSB0byB1bnJlZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU4NAoKMjAxNS0wNC0yOCAxNTo0Mjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogU2VuZCBwZW5kaW5nIHRhZ3Mgd2hlbiBhZGRpbmcgYSBuZXcgcGFkCgkgIFdlIG1pZ2h0J3ZlIHBhcnNlZCB0aG9zZSB0YWdzIGJlZm9yZSBhbHJlYWR5IGFuZCB0cmllZCB0byBwdXNoIHRoZW0gdG8KCSAgbm9uLWV4aXN0aW5nIHBhZHMgYmVmb3JlLiBOb3cgbGV0J3MgZG8gaXQgZm9yIHJlYWwuCgoyMDE1LTA0LTIzIDE4OjU3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IEF2ZXJhZ2UgUlRDUCBwYWNrZXQgc2l6ZSBpcyBpbiBieXRlcywgYmFuZHdpZHRocyBpbiBiaXRzCgkgIFdlIG5lZWQgdG8gY29udmVydCB0aGUgc2l6ZSB0byBiaXRzIGZvciBvdXIgY2FsY3VsYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTIzIDE4OjUzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IFVzZSB0aGUgc2FtZSBsb3dlciBsaW1pdCBmb3IgUlRDUCBiYW5kd2lkdGggdG8gc3RvcCBzZW5kaW5nIFJUQ1AgZXZlcnl3aGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTE0IDE4OjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBiYW5kd2lkdGggY2FsY3VsYXRpb24gYnkgZGVmYXVsdCBpbnN0ZWFkIG9mIHNvbWUgYXJiaXRyYXJ5IGhhcmRjb2RlZCB2YWx1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTIzIDE4OjQ5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBCYW5kd2lkdGggaXMgc3VwcG9zZWQgdG8gYmUgaW4gYml0cy9zLCBub3QgYnl0ZXMvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTI3IDE2OjM2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IFJUWCB1bml0IHRlc3QKCSAgVGhlIGNhbGN1bGF0aW9ucyB3ZXJlIGEgYml0IG9mZiBldmVyeXdoZXJlLCBldmVuIGJlZm9yZSB0aGUgY2hhbmdlcyBkb25lCgkgIHJlY2VudGx5IHRvIHRoZSBkZWxheSBmb3IgUlRYIG9mIGV4cGVjdGVkIGZ1dHVyZSBwYWNrZXRzLiBJdCBvbmx5IHdvcmtlZCBieQoJICBhY2NpZGVudCwgYnV0IG5vdyB0aGUgY2FsY3VsYXRpb25zIGFyZSBhbGwgY29ycmVjdCBhZ2Fpbi4gSG9wZWZ1bGx5LgoKMjAxNS0wNC0yNyAxMToyMjoxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGZyb20gQVJHXyB0byBQUk9QXwoJICBQcm9wZXJ0eSBlbnVtIGl0ZW1zIHNob3VsZCBiZSBuYW1lZCBQUk9QXyBmb3IgY29uc2lzdGVuY3kgYW5kIHJlYWRhYmlsaXR5LgoKMjAxNS0wNC0yNSAwMjo0OTo1OCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCAic3RhdHMiIHByb3BlcnR5IGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQzNgoKMjAxNS0wNC0yNiAxNzo1NDo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgb2Jzb2xldGUgQW5kcm9pZCBidWlsZCBjcnVmdAoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTUtMDQtMjQgMTM6NTU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogcHJpbnQgdGhlIHByb3BlcnR5IHZhbHVlcyB3aGVuIHNldAoJICBJbnN0ZWFkIG9mIHByaW50aW5nIHRoZSBjdXJyZW50bHkgdXNlZCB2YWx1ZXMuIFRoZSBsb2cgaXMgbWVhbnQKCSAgdG8gc2hvdyB3aGF0IHRoZSBwcm9wZXJ0aWVzIGNoYW5nZWQgdG8sIG5vdCB3aGF0IGlzIGJlaW5nIGN1cnJlbnRseQoJICB1c2VkLgoKMjAxNS0wNC0yNCAxNzowMToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHJlbW92ZSB1bnVzZWQgZW51bSBpdGVtcyBQUk9QX0xBU1QKCSAgVGhpcyB3ZXJlIHByb2JhYmx5IGFkZGVkIHRvIHRoZSBlbnVtcyBkdWUgdG8gY2FyZ28gY3VsdCBwcm9ncmFtbWluZyBhbmQgYXJlCgkgIHVudXNlZC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTUtMDQtMjQgMDA6MzA6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBpbmZpbml0ZSBsb29wIGZvciB2ZXJ5IGxvdyBpbnRlcnZhbCB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTUxNQoKMjAxNS0wNC0yMyAxNjowODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGVmaW5lIEdTVF9DSEVDS19URVNUX0VOVklST05NRU5UX0JFQUNPTgoJICBNYWtlIHN1cmUgdGhlIHRlc3QgZW52aXJvbm1lbnQgaXMgc2V0IHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjowODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTQgYW5kIGF1dG9jb25mIHRvIDIuNjkKCSAgVGhpcyBpcyBvbmx5IHJlcXVpcmVkIGZvciBidWlsZHMgZnJvbSBnaXQsIHBlb3BsZSBjYW4gc3RpbGwKCSAgYnVpbGQgdGFyYmFsbHMgaWYgdGhleSBvbmx5IGhhdmUgb2xkZXIgYXV0b3Rvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjowNjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDE1LTA0LTIzIDA5OjU1OjU5ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggUlRDUCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDgzNTMKCjIwMTUtMDQtMjIgMjA6MjQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXaGVuIHJlcXVlc3QgcmV0cmFuc21pc3Npb25zIGZvciBmdXR1cmUgcGFja2V0cywgY29uc2lkZXIgdGhlIHBhY2tldCBzcGFjaW5nIGluIHRoZSBleHRyYSBkZWxheQoJICBXZSBub3cgdGFrZSB0aGUgbWF4aW11bSBvZiAyKmppdHRlciBhbmQgMC41KnBhY2tldF9zcGFjaW5nIGZvciB0aGUgZXh0cmEKCSAgZGVsYXkuIElmIGppdHRlciBpcyB2ZXJ5IGxvdywgdGhpcyBzaG91bGQgcHJldmVudCB1bm5lY2Vzc2FyeSByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyB0byBzb21lIGRlZ3JlZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA0MQoKMjAxNS0wNC0yMiAxOTo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFRha2UgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHBhY2tldCBzcGFjaW5ncyBpbnN0ZWFkIG9mIGp1c3QgdGhlIGxhdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDQxCgoyMDE1LTA0LTEzIDExOjIwOjQwICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCAicnR4LW5leHQtc2VxbnVtIiBwcm9wZXJ0eQoJICBJZiB0aGlzIGlzIHNldCB0byBGQUxTRSwgcnRwaml0dGVyYnVmZmVyIHdpbGwgbm90IHJlcXVlc3QgcmV0cmFuc21pc3Npb25zIGZvcgoJICBmdXR1cmUgcGFja2V0cyBiYXNlZCBvbiB3aGVuIHRoZXkgYXJlIGVzdGltYXRlZCB0byBhcnJpdmUuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg2OAoKMjAxNS0wNC0yMiAxOToyOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnR4cmVjZWl2ZTogUHV0IGRlYnVnIG91dHB1dCBmb3IgcmV0cmFuc21pc3Npb24gcmVxdWVzdHMgYXQgdGhlIHJpZ2h0IHBsYWNlCgkgIEJlZm9yZSBpdCB3YXMgb25seSBldmVyIHByaW50ZWQgb25jZSBmb3IgZXZlcnkgdGltZSBhIHNzcmMgd2FzIGFzc29jaWF0ZWQgd2l0aAoJICBhIHNwZWNpZmljIHN0cmVhbS4KCjIwMTUtMDQtMjIgMTg6MDU6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBhZGQgdGhlIHNhbWUgaW50ZXJsYWNlIG1vZGUgdHdpY2UKCSAgU29tZSBkcml2ZXJzIG1vZGlmeSB0aGUgaW50ZXJsYWNlIG1vZGUgdG8gcHJvZ3Jlc3NpdmUsIG5vIG1hdHRlciB3aGF0CgkgIGlucHV0IHlvdSBnaXZlIHRoZW0sIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IGFkZCB0aGUgc2FtZSBpbnRlcmxhY2UgbW9kZQoJICB0d2ljZS4KCjIwMTUtMDQtMjEgMTY6MzQ6MjEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGZpeCBkeW5hbWljIGNoYW5nZXMgb24gYmFuZHMKCSAgV2hlbiB3ZSBhcmUgaW4gcGFzc3Rocm91Z2gsIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gZG9lc24ndCBydW4gYW5kIGlmIHRoZQoJICBwYXNzdGhyb3VnaCBjaGVjayBpcyBpbiB0aGlzIGZ1bmN0aW9uIGl0IHdpbGwgbmV2ZXIgYmUgZGVhY3RpdmF0ZWQuIEZpeCB0aGlzIGJ5CgkgIGNoZWNraW5nIGRpcmVjdGx5IHdoZW5ldmVyIGEgZ2FpbiBpcyBjaGFuZ2VkLgoJICBBbHNvIHNldCB0aGUgcGFzc3Rocm91Z2ggdG8gVFJVRSBhdCBpbml0IGJlY2F1c2UgdGhlIGdhaW5zIGRlZmF1bHQgdG8gMCwgc28gd2UKCSAgY2FuIHBhc3N0aHJvdWdoIHVudGlsIGFueSBnYWluIHByb3BlcnR5IGlzIGNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNjgKCjIwMTUtMDQtMjIgMTA6MzA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBJTlNUQUxMOgoJICBSZW1vdmUgSU5TVEFMTCBmaWxlCgkgIGF1dG90b29scyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHRoaXMsIGFuZCB3aGVuIHVzaW5nIGRpZmZlcmVudCB2ZXJzaW9ucwoJICBmb3IgYXV0b2dlbi5zaCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBjaGFuZ2VzIHRvIGEgZmlsZSB0cmFja2VkIGJ5IGdpdC4KCjIwMTUtMDQtMjIgMTA6MzA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSAgUmVtb3ZlIExJQ0VOU0VfcmVhZG1lCgkgIEl0J3MgY29tcGxldGVseSBvdXRkYXRlZCBhbmQganVzdCBjb25mdXNpbmcsIGJldHRlciBpZiBwZW9wbGUgYXJlCgkgIGZvcmNlZCB0byBsb29rIGF0IHRoZSBhY3R1YWwgY29kZSBpbiBxdWVzdGlvbiB0aGFuIHRydXN0aW5nIHRoaXMgZmlsZS4KCjIwMTUtMDQtMjEgMTU6MjE6MzMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGNhc3QgdW51c2VkIHJldHVybiB0byB2b2lkCgkgIFF1ZWxsIHVuY2hlY2tlZCByZXR1cm4gdmFsdWUgZGVmZWN0IGJ5IGNhc3RpbmcgdGhlIHJldHVybiB2YWx1ZSB0byB2b2lkIGFuZAoJICBtYWtpbmcgaXQgZXhwbGljaXQgaXQgaXMgZ29pbmcgdG8gYmUgaWdub3JlZC4KCSAgQ0lEICMyMDYwMzEKCjIwMTUtMDQtMTcgMTM6MDg6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogb3B0aW1pemUgdnB4IGltYWdlIHRvIGdzdGJ1ZmZlciBjb3B5IHdoZW4gc3RyaWRlcyBtYXRjaAoJICBTb2x2aW5nIHRoaXMgRklYTUUuIENvcHkgdGhlIGZ1bGwgcGxhbmUgd2hlbiBzdHJpZGVzIGFyZSB0aGUgc2FtZQoKMjAxNS0wNC0xNiAxNToxMTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBvcHRpbWl6ZSB2cHggaW1hZ2UgdG8gZ3N0YnVmZmVyIGNvcHkgd2hlbiBzdHJpZGVzIG1hdGNoCgkgIFNvbHZpbmcgdGhpcyBGSVhNRS4gQ29weSB0aGUgZnVsbCBwbGFuZSB3aGVuIHN0cmlkZXMgYXJlIHRoZSBzYW1lCgoyMDE1LTA0LTE3IDEzOjMyOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBtZW1vcnkgbGVhawoKMjAxNS0wNC0xNyAwNjo1MTo0NiArMDAwMCAgQWxleCBPJ0tvbnNraSA8YWxleGFuZGVyb2tvbnNraUBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBzZWdmYXVsdCBpZiBtZXRhZGF0YS1pbnRlcnZhbCBpcyAwCgkgIFByZXZlbnRzIGFuIGV4dHJhIHVucmVmIG9mIEdzdEJ1ZmZlciB3aGVuIHBhc3NpbmcgYSBub24taWN5IHN0cmVhbSB0aHJvdWdoCgkgIGljeWRlbXV4IHdpdGggbWV0YWRhdGEtaW50ZXJ2YWwgc2V0IHRvIDAuCgkgIFJlcHJvZHVjaWJsZSB3aXRoOgoJICBnc3QtbGF1bmNoLTEuMCBmaWxlc3JjIGxvY2F0aW9uPX4vdGVzdHNvbmcubXAzICEgXAoJICAnYXBwbGljYXRpb24veC1pY3ksbWV0YWRhdGEtaW50ZXJ2YWw9KGludCkwJyAhIGljeWRlbXV4ICEgZGVjb2RlYmluICEgd2F2ZW5jICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj1+L3Rlc3Rzb25nLndhdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDI0CgoyMDE1LTA0LTE3IDExOjU0OjIzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9meDogZml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMKCSAgRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAyMgoKMjAxNS0wNC0xNSAxODoyMjozNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGZpeCBzcGVsbGluZyBpbiBkZWJ1ZyBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTM2CgoyMDE1LTA0LTE2IDE2OjMzOjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IHNlbGVjdGFibGUgYW1vdW50IG9mIGJhbmRzIGluIGVxdWFsaXplciBkZW1vCgkgIEFkZGluZyBhbiBvcHRpb24gaW4gdGhlIGVxdWFsaXplciBkZW1vIHRvIG1ha2UgdGhlIG51bWJlciBvZiBiYW5kcyBzZWxlY3RhYmxlLgoKMjAxNS0wNC0xNiAxNTozMToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZS9ydHBydHhzZW5kOiBBbHNvIHBhc3MgY29ycmVjdCBzZXFudW0tb2Zmc2V0IGFuZCBwYXlsb2FkIHRvIHRoZSBSVFggcnRwc291cmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMDYgMTI6NTY6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRyYWNrIFJUWCBzc3JjIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgU1IgZm9yIFJUWCBzdHJlYW0gY29ycmVjdGx5ICh0aGUKCSAgY2xvY2sgcmF0ZSBpcyByZXF1aXJlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMTQgMTM6NTY6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IENvcHkgb3ZlciB0aW1lc3RhbXBzIGZyb20gdGhlIG9yaWduYWwgYnVmZmVycyB0byB0aGUgUlRYIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM5NAoKMjAxNS0wNC0xNiAxNjowMTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBzd2l0Y2ggZXF1YWxpemVyIGRlbW8gdG8gcGxheSBmcm9tIHVyaQoJICBTd2l0Y2ggdGhlIGVxdWFsaXplci1uYmFuZHMgZGVtbyB0byB1c2UgdXJpZGVjb2RlYmluLCBzbyB1c2VycyBjYW4gbGlzdGVuIHRvCgkgIHNvbWV0aGluZyBtb3JlIHBsZWFzYW50IHRoYW4gd2hpdGUgbm9pc2UuIElmIGFueWJvZHkgbWlzc2VzIHRoZSB3aGl0ZSBub2lzZQoJICBhIHVyaSBoYW5kbGVyIHRvIGF1ZGlvdGVzdHNyYyBjYW4gYmUgdXNlZC4KCjIwMTUtMDQtMTYgMTE6MTc6MzggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBlcXVhbGl6ZXIgZGVtbwoJICBSZW5hbWUgdmFyaWFibGUgbmFtZSB0byBtYWtlIGl0IG1vcmUgcmVhZGFibGUsIGFkZCBjb21tZW50cyBmb3IgdGhlIHRocmVlCgkgIHNjYWxlcyBjcmVhdGVkIHBlciBibG9jaywgYW5kIHNldCB0aGUgd2luZG93IHRpdGxlLgoKMjAxNS0wNC0xNSAxNzozMjozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBhZGQgbWlzc2luZyBsaWNlbnNlIGhlYWRlciBmb3IgZXF1YWxpemVyIGRlbW8KCjIwMTUtMDQtMTYgMTM6MDk6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0YWcgbGlzdCBsZWFrcyBvbiBlcnJvciBwYXRocwoKMjAxNS0wNC0xNiAxMjoyMzozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHRhZyBsaXN0IGxlYWsgb24gdW5rbm93biBzdHJlYW0gdHlwZQoKMjAxNS0wNC0wOSAxMzoxOTo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIHN1cHByZXNzaW9uczogaWdub3JlIGFuIGFwcGFyZW50IGJ1ZyBpbiBzdHJ0b2QKCSAgQSBidWZmZXIgb3ZlcnJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1NTQKCjIwMTUtMDQtMTUgMTE6MDc6MjcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGRvIG5vdCBhY2Nlc3MgcHJvcGVydHkgdmFyaWFibGUgd2l0aG91dCB0aGUgb2JqZWN0IGxvY2ssIHVzZSB0aGUgbG9jYWwgc3RhY2sgY29weSBpbnN0ZWFkCgoyMDE1LTA0LTE0IDE4OjQ1OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBhZGQgcHJvYmUgb24gdGhlIG11bHRpcXVldWUncyBzaW5rIHBhZCBpbnN0ZWFkIG9mIHRoZSBnaG9zdCBwYWQKCSAgYmVjYXVzZSBfcmVsZWFzZV9wYWQgdHJpZXMgdG8gcmVsZWFzZSBpdCBmcm9tIGN0eC0+c2lua3BhZCwgd2hpY2ggaXMKCSAgbXVsdGlxdWV1ZSdzIHNpbmsgcGFkLCBhbmQgY3VycmVudGx5IGZhaWxzIGJlY2F1c2UgdGhlIHByb2JlIGlzIG5vdAoJICBpbnN0YWxsZWQgdGhlcmUKCjIwMTUtMDQtMTQgMTk6MDg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4KjogRml4IHR5cG9zCgoyMDE1LTA0LTE0IDE3OjI0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBOb3Qgc2VuZGluZyBlYXJseSBSVENQIG5vdyBiZWNhdXNlIG9mIGRpdGhlcmluZyBtZWFucyB3ZSBzZW5kIGl0IHdpdGggdGhlIG5leHQgY29tcG91bmQgcGFja2V0CgoyMDE1LTA0LTE0IDE2OjI3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCBpZiB3ZSBjYW4ndCBhbGxvdyBlYXJseSBmZWVkYmFjawoKMjAxNS0wNC0wNyAxODowMDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IFdoZW4gZHJvcHBpbmcgaW50cmEgcGFja2V0LCByZXF1ZXN0IGtleWZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMDgKCjIwMTUtMDQtMTMgMjA6MjU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDaGFuZ2UgcmVzeW5jaW5nIEdTVF9XQVJOSU5HIHRvIEdTVF9JTkZPCgkgIFRoaXMgYWxzbyBoYXBwZW5zIGluIHRoZSB2ZXJ5IGJlZ2lubmluZyB3aGVuIHdlIHJlY2VpdmUgdGhlIGZpcnN0IHBhY2tldCwgYQoJICB3YXJuaW5nIHdvdWxkIGJlIHZlcnkgY29uZnVzaW5nIGhlcmUuIEluIGFsbCBwbGFjZXMgd2hlcmUgd2Ugc2hvdWxkIHdhcm4gYWJvdXQKCSAgdGhpcywgd2Ugd291bGQndmUgcHJpbnRlZCBhIHdhcm5pbmcgYWxyZWFkeSBiZWZvcmUuCgoyMDE1LTA0LTAyIDEzOjI2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IG1pbm9yIGRvY3MgaW1wcm92ZW1lbnQKCjIwMTQtMTEtMDYgMTI6MDg6MDMgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkICJydHgtbWF4LXJldHJpZXMiIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyYW5zbWlzc2lvbgoJICBmb3IgYSBzcGVjaWZpYyBwYWNrZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTQtMTEtMDQgMTU6MDA6NTIgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGV4cGVjdGVkX2R0cyBjYWxjIGluIGNhbGN1bGF0ZV9leHBlY3RlZAoJICBSaWdodCBhYm92ZSB3ZSBjb25zaWRlciBsb3N0X3BhY2tldCBwYWNrZXRzLCBlYWNoIG9mIHRoZW0gaGF2aW5nIGR1cmF0aW9uLAoJICBhcyBsb3N0IGFuZCB0cmlnZ2VyZWQgdGhlaXIgdGltZXJzIGltbWVkaWF0ZWx5LiBCZWxvdyB3ZSB1c2UgZXhwZWN0ZWRfZHRzCgkgIHRvIHNjaGVkdWxlIHJldHJhbnNtaXNzaW9uIG9yIHNjaGVkdWxlIGxvc3QgdGltZXJzIGZvciB0aGUgcGFja2V0cyB0aGF0CgkgIGNvbWUgYWZ0ZXIgZXhwZWN0ZWRfZHRzLgoJICBBcyB3ZSBqdXN0IHRyaWdnZXJlZCBsb3N0X3BhY2tldHMgcGFja2V0cyBhcyBsb3N0LCB0aGVyZSdzIG5vIHBvaW50IGluCgkgIHNjaGVkdWxpbmcgbmV3IHRpbWVycyBmb3IgdGhlbSBhbmQgd2UgY2FuIGp1c3Qgc2tpcCBvdmVyIGFsbCBsb3N0IHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDMtMjAgMTg6MjE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNYWtlIHRoZSBuZXh0IG91dHB1dCBidWZmZXIgZGlzY29udCBhZnRlciByZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlcgoJICBSZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlciBkcm9wcyBhbGwgcGFja2V0cyBhbmQgb3RoZXIgdGhpbmdzLCBhbmQgd2lsbCBjYXVzZQoJICBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHBhY2tldHMgcmVjZWl2ZWQgYnkgdGhlIGRlcGF5bG9hZGVycy4gVGhleSBzaG91bGQgbm93CgkgIGFsc28gZmx1c2ggYW55dGhpbmcgdGhleSBoYWQgcGVuZGluZyBhcyB0aGUgbmV3IGRhdGEgd2lsbCBzdGFydCBhdCBhIGRpZmZlcmVudAoJICBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg2OAoKMjAxNS0wNC0xMCAwOToxNzoyNiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXBkYXRlIHNlZ21lbnQuc3RhcnQgYWZ0ZXIga2V5LXVuaXQgc2VlawoJICBXaGVuIGRvaW5nIGtleSB1aW50IHNlZWssIHF0ZGVtdXggY2FsbHMgZ3N0X3F0ZGVtdXhfYWRqdXN0X3NlZWsKCSAgdG8gZ2V0IHByb3BlciBvZmZzZXQuIEFuZCB0aGVuIHRoaXMgb2Zmc2V0IGlzIHNldCB0bwoJICBzZWdtZW50LnBvc2l0aW9uIGFuZCBzZWdtZW50LnRpbWUgaW4gZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrIGJ1dAoJICBzZWdtZW50LnN0YXJ0IGlzIG5vdCB1cGRhdGVkLgoJICBBZnRlciB0aGF0LCBhcHBsaWNhdGlvbiBzZW5kcyBzZWdtZW50IHF1ZXJ5LAoJICBxdGRlbXV4IHNldHMgc3RhcnQgYW5kIHN0b3AgdG8gcXVlcnkgdXNpbmcgZ3N0X3NlZ21lbnRfdG9fc3RyZWFtX3RpbWUuIER1ZQoJICB0byB0aGUgd3JvbmcgdmFsdWUgaW4gc2VnbWVudC5zdGFydCwgdGhlIHN0b3AgcG9zaXRpb24gaXMgc21hbGxlciB0aGFuCgkgIGl0IHNob3VsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgyMgoKMjAxNS0wNC0wNyAxNjoxMjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUgZG9fcHRzCgkgIFdlIGFsd2F5cyB3cml0ZSB0aGUgQ1RUUyBpbiBxdG11eC4gSWRlYWxseSB3ZSBvbmx5IHdhbnQgdG8gZG8gdGhhdAoJICBmb3Igc3RyZWFtcyB0aGF0IG5lZWQgRFRTLCBpdCBzaG91bGQgYmUgcHJlc2VudCBvbiB0aGUgdHJhY2sgaW5mb3JtYXRpb24KCSAgcmF0aGVyIHRoYW4gYmUgZGVjaWRlZCBiYXNlZCBvbiBlYWNoIGJ1ZmZlcgoKMjAxNS0wNC0wNyAwMDo1MzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHN1YnRyYWN0aW9uIHRoYXQgbWFrZXMgUFRTL0RUUyBzdGFydCBmcm9tIDAKCSAgQXMgcXQgdXNlcyBkdXJhdGlvbnMsIGl0IGRvZXNuJ3QgbWF0dGVyLCBvbmx5IHRoZSBkaWZmZXJlbmNlCgkgIGJldHdlZW4gY29uc2VjdXRpdmUgYnVmZmVycyBpcyBpbXBvcnRhbnQuIEFsc28sIGNvbGxlY3RwYWRzCgkgIGFscmVhZHkgcmVwbGFjZXMgUFRTL0RUUyB3aXRoIHRoZSBydW5uaW5nIHRpbWVzIGZvciB0aGVtLgoKMjAxNS0wNC0wNiAyMjozNjo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhZGQgdGVzdHMgdG8gdmVyaWZ5IGl0IGhhbmRsZXMgbm9uLTAgc2VnbWVudHMKCSAgQm90aCBpbnB1dCBzdHJlYW1zIGluIHRoaXMgdGVzdCBoYXZlIGEgc2VnbWVudC5zdGFydCA9IDEwcywgc28KCSAgb3V0cHV0IHNob3VsZCBzdGFydCBmcm9tIDAgYW55d2F5LgoJICBBbm90aGVyIHRlc3QgaGFzIGJvdGggc3RhcnRpbmcgYXQgbm9uLTAgc2VnbWVudHMsIGJ1dCB0aGUgcnVubmluZwoJICB0aW1lIG9mIGJvdGggc3RyZWFtcyBzaG91bGQgc3RpbGwgc3RhcnQgZnJvbSAwCgoyMDE1LTA0LTA2IDIwOjAzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHNpbXBsZSBtdXhpbmcgdGVzdAoJICBBZGRzIGEgbmV3IHNpbXBsZSB0ZXN0IHRoYXQgdmVyaWZpZXMgdGhhdCBkYXRhIGlzIHByb3Blcmx5IG11eGVkCgkgIGFuZCBwcmVzZXJ2ZWQuICBQVFMsIERUUywgZHVyYXRpb24gYW5kIGNhcHMgYXJlIHZlcmlmaWVkLgoKMjAxNS0wNC0xMCAxMDo1OToyNiArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHJlbW92ZSB1bnVzZWQgZmllbGRzCgkgIFJlbW92ZSB0aGUgZmllbGRzIC0gZm9ybWF0IGFuZCBmcHMgZnJvbSBzbXB0ZQoJICBhcyB0aGV5IGFyZSB1bnVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1OTcKCjIwMTUtMDQtMTAgMTA6Mjk6NDcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBzdWl0ZSBmb3IgYWxwaGEKCSAgQWRkZWQgdGVzdCBzdWl0ZSBmb3IgYWxwaGEgZWxlbWVudCB3aXRoIHRlc3QgY2FzZXMKCSAgMS4gYWxwaGEKCSAgMi4gY2hyb21hIGtleWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTk1CgoyMDE1LTA0LTA5IDEyOjU4OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSAgc3VwcHJlc3Npb25zOiBhZGQgYSB3ZWxsIGtub3duIHpsaWIgaW5mbGF0ZSBidWcKCjIwMTUtMDQtMDkgMTI6NTg6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmaXggbXV0ZXggbGVhawoKMjAxNS0wNC0wOSAxMjo1ODowNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IEZpeCBydHBydHggdGVzdCBieSBoYW5kbGluZyBidWZmZXIgbGlzdHMKCSAgQ29tbWl0ICMxMDE4YWEgbWFkZSBydHBydHhzZW5kIGhhbmRsZSBidWZmZXIgbGlzdHMsIGJyZWFraW5nCgkgIHRoZSB0ZXN0IHdoaWNoIHByb2JlcyBmb3IgYnVmZmVycywgYnV0IG5vdCBidWZmZXIgbGlzdHMuCgkgIFVzZSBhIHV0aWxpdHkgZnVuY3Rpb24gdG8gcnVuIHRoZSBwcm9iZSBjYWxsYmFjayBvbiBlYWNoIGJ1ZmZlcgoJICBpbiB0aGUgbGlzdCBpbiB0dXJuIGFuZCByZW1vdmUgYW55IGJ1ZmZlcnMgdGhhdCBhcmUgZHJvcHBlZC4KCjIwMTUtMDQtMDEgMTE6MTU6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIGlzb21wNDogUmVmYWN0b3IgdmFyaW91cyBzdGF0ZSB2YXJpYWJsZXMgaW50byBhIG11eF9tb2RlIHZhcgoJICBJbnN0ZWFkIG9mIGNoZWNraW5nIHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzIGFyb3VuZCB0aGUgbXV4ZXIsCgkgIHRyYWNrIHRoZSBjdXJyZW50IG11eGluZyBtb2RlIGluIGEgc2luZ2xlICdtdXhfbW9kZScgZW51bS4KCSAgQWRkIHNvbWUgaW1wbGVtZW50YXRpb24gbm90ZXMgYWJvdXQgdGhlIGRpZmZlcmVudCBtdXggbW9kZXMKCjIwMTUtMDQtMDggMTY6NDA6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEFNX1RFU1RTX0VOVklST05NRU5UCgkgIE5lZWRlZCBieSB0aGUgbmV3IGF1dG9tYWtlIHRlc3QgcnVubmVyCgoyMDE1LTA0LTA4IDExOjE3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBGaXggZnJhbWVzaXplIHBhcnNpbmcKCSAgVGhlIHN0cmluZyBwYXNzZWQgdG8gdGhlIHBhcnNpbmcgZnVuY3Rpb24gb25seSBjb250YWlucyBhIGZyYW1lc2l6ZSwgYW5kCgkgIG5vdCA8cHQ+ICsgPGZyYW1lc2l6ZT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQxNgoKMjAxNS0wMy0yMCAxMjoxODozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsaXAgY2h1bmsgc2l6ZSBhYm92ZSB0aGUgdmFsaWQgbWF4aW11bSAoMHg3ZmZmZmZmZikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU2NwoKMjAxNS0wMy0yMCAwOTowNzozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsaXAgY2h1bmsgbGVuZ3RoIHRvIGF2YWlsYWJsZSBkYXRhICh3aGVuIGtub3duKQoJICBUaGlzIHByZXZlbnRzIHNpbGx5IGNodW5rIGxlbmd0aHMgZnJvbSBwb3NzaWJseSBvdmVyZmxvd2luZwoJICAoYXQgbGVhc3Qgd2hlbiB3ZSBrbm93IHRoZSBhY3R1YWwgZGF0YSBsZW5ndGgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNTY3CgoyMDE1LTA0LTA2IDIwOjE3OjUyIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGFjY3VtdWxhdGUgc2VnbWVudCBiYXNlcyBtYW51YWxseQoJICBnc3Rfc2VnbWVudF9kb19zZWVrKCkgZG9lcyB0aGF0IGZvciB1cyBhbHJlYWR5LCBhbmQgZG9pbmcgaXQgdHdpY2UKCSAgd2lsbCBicmVhayBub24tZmx1c2hpbmcgc2Vla3MgaW4gaW50ZXJlc3Rpbmcgd2F5cy4gTGVmdG92ZXIgZnJvbSAxLjAKCSAgcG9ydGluZy4KCSAgQWxzbyBjb3B5IG92ZXIgc2VnbWVudCBvZmZzZXQgYW5kIGFwcGxpZWRfcmF0ZSwganVzdCBpbiBjYXNlLgoKMjAxNS0wNC0wNiAxOTowODoxMCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtc2VnbWVudC1zZWVrcy5jOgoJICBpY2xlczogRml4IHdhaXRpbmcgZm9yIHNlZ21lbnQtZG9uZSBpZiBpdCBoYXBwZW5zIHRvbyBmYXN0CgkgIFNvbWV0aW1lcyB3ZSBjYW4gZ2V0IHNlZ21lbnQtZG9uZSBiZWZvcmUgd2UgZ290IGFzeW5jLWRvbmUuIElmIHdlIHdhaXRlZAoJICBmb3IgYXN5bmMtZG9uZSBvbmx5LCB0aGUgc2VnbWVudC1kb25lIHdvdWxkIGJlIGRyb3BwZWQgYW5kIHdlIHdvdWxkIHdhaXQKCSAgZm9yZXZlciBmb3IgaXQgYSBmZXcgbGluZXMgYmVsb3cuCgoyMDE1LTA0LTA2IDE4OjU1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RibF9pbmRleCBpcyB2YWxpZCBmcm9tIDAgb253YXJkcwoJICBJdCBpbmRpY2F0ZXMgdGhlIGxhc3Qgc2FtcGxlIHBhcnNlZCwgbm90IHRoZSBuZXh0IG9uZSB0byBwYXJzZS4KCSAgQXMgaXQgc3RhcnRzIGluIC0xLCBhbnkgdmFsdWUgZnJvbSAwIG9ud2FyZHMgbWVhbnMgdGhhdCBpdCBoYXMKCSAgc29tZSB2YWxpZCBkYXRhLgoKMjAxNS0wNC0wNSAyMDowNjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIGRvY3M6IG1ha2UgR3N0UlRDUFN5bmMgZW51bSBzaG93IHVwIGluIHJ0cGJpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTgKCjIwMTUtMDQtMDUgMTE6NDU6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIFJUUEppdHRlckJ1ZmZlck1vZGUgZW51bSB0byBydHBiaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzU4CgoyMDE1LTA0LTA0IDExOjU1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogY2xvc2UgZmlsZXMgYmVmb3JlIHBvc3RpbmcgbWVzc2FnZQoJICBNYWtlcyBzdXJlIHRoZSBmaWxlcyB3ZXJlIHByb3Blcmx5IGZsdXNoZWQgYW5kIGNsb3NlZCBiZWZvcmUKCSAgdGhlIG1lc3NhZ2UgcmVhY2hlcyB0aGUgYXBwbGljYXRpb24KCjIwMTUtMDMtMzAgMTM6NTQ6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogbXVsdGlmaWxlOiBpbmNyZW1lbnQgdGVzdHMgdG8gY2hlY2sgZm9yIG11bHRpZmlsZSBtZXNzYWdlcwoJICBBbHNvIHZlcmlmeSB0aGF0IHRoZSBtdWx0aWZpbGVzaW5rIGZpbGUgbWVzc2FnZXMgYXJlIGJlaW5nIGNvcnJlY3RseQoJICBwb3N0ZWQgdG8gdGhlIGJ1cwoKMjAxNS0wMy0zMCAxMjo1MTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBtdWx0aWZpbGU6IGhhbmRsZSBGSVhNRSBmb3IgcHJvcGVyIGNoZWNraW5nIHdoZW4gdGVzdCBmaW5pc2hlZAoJICBVc2UgYSBHc3RCdXMgYW5kIHdhaXQgZm9yIEVPUyB0byBmaW5pc2ggdGhlIHRlc3RzIGluc3RlYWQgb2YKCSAgcmVseWluZyBvbiBzbGVlcGluZwoKMjAxNS0wMy0zMCAxMToxNDowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgZmlsZSBtZXNzYWdlIG9uIEVPUwoJICBXaGVuIG11bHRpZmlsZXNpbmsgaXMgb3BlcmF0aW5nIGluIGFueSBtb2RlIG90aGVyIHRoYW4gb25lIGZpbGUKCSAgcGVyIGJ1ZmZlciwgdGhlIGxhc3QgZmlsZSBjcmVhdGVkIHdvbid0IGhhdmUgYSBmaWxlIG1lc3NhZ2UgcG9zdGVkCgkgIGFzIG11bHRpZmlsZXNpbmsgZG9lc24ndCBoYW5kbGUgdGhlIEVPUyBldmVudC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUgbGFzdCBwb3NpdGlvbiB0byBwb3N0IGEgZmlsZQoJICBtZXNzYWdlIHdoZW4gRU9TIGlzIHJlY2VpdmVkLiBUaGlzIHNob3VsZCBlbnN1cmUgYXQgbGVhc3QgdGhlCgkgIHRpbWUgcmVsYXRlZCBkYXRhIGFuZCB0aGUgZmlsZW5hbWUgYXJlIHBvc3RlZCB0byB0aGUgYXBwbGljYXRpb24KCSAgb3Igb3RoZXIgZWxlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzAwMAoKMjAxNS0wNC0wMyAxODo1Nzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmM3NmE4YiB0byBjOGZiMzcyCgoyMDE1LTA0LTAzIDAyOjA4OjUwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBHdWFyZCBhZ2FpbnN0IDY0LWJpdCBvdmVyZmxvdwoJICBGb3IgbGFyZ2UtZmlsZSBhdG9tcywgZ3VhcmQgYWdhaW5zdCBvdmVyZmxvdyBpbiB0aGUgc2l6ZSBmaWVsZCwKCSAgd2hpY2ggY291bGQgbWFrZSB1cyBqdW1wIGJhY2t3YXJkIGluIHRoZSBmaWxlIGFuZCBjYXVzZQoJICBpbmZpbml0ZSBsb29wcy4KCjIwMTUtMDQtMDEgMjM6NDY6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGlzb21wNDogTWFrZSBub24tc2Vla2FibGUgZG93bnN0cmVhbSBhbiBlcnJvciBpbiBub3JtYWwgbW9kZQoJICBXaGVuIG5vdCBpbiBmYXN0LXN0YXJ0IG9yIGZyYWdtZW50ZWQgbW9kZSwgd2UgbmVlZCB0byBiZSBhYmxlCgkgIHRvIHJld3JpdGUgdGhlIHNpemUgb2YgdGhlIG1kYXQgYXRvbSwgb3IgZWxzZSB0aGUgb3V0cHV0IGp1c3QKCSAgd29uJ3QgYmUgcGxheWFibGUgLSB0aGUgbWRhdCBwbGFjZWhvbGRlciB3aXRoIHNpemUgPT0gMCB3aWxsCgkgIGNvdmVyIHRoZSByZXN0IG9mIHRoZSBmaWxlLCBpbmNsdWRpbmcgYW55IG1vb3YgYXRvbSB3ZSB3cml0ZSBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4MDgKCjIwMTQtMDMtMTUgMTU6MjM6MDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjYzcGF5Ly1kZXBheTogYWRkIGZyYW1lc2l6ZSBTRFAgYXR0cmlidXRlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTYKCjIwMTQtMDMtMTUgMTM6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5Ly1kZXBheTogUmVtb3ZlIGluY29ycmVjdGx5IGludHJvZHVjZWQgZnJhbWVzaXplIFNEUCBhdHRyaWJ1dGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQxNQoKMjAxNS0wMy0yNyAyMTowOTo0NCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGRldmljZSBzZXF1ZW5jZS9vZmZzZXQgY29ycmVjdGlvbiBpbiBjYXNlIG9mIHJlbmVnb3RpYXRpb24KCSAgVGhlIHY0bDIgZGV2aWNlIHJlc3RhcnRzIHRoZSBzZXF1ZW5jZSBjb3VudGVyIGluIGNhc2Ugb2Ygc3RyZWFtb2ZmL3N0cmVhbW9uLAoJICB0aGUgR1NUIG9mZnNldCB2YWx1ZXMgYXJlIHN1cHBvc2VkIHRvIGluY3JlbWVudCBzdHJpY3RseSBtb25vdG9uaWMsIHNvCgkgIGFkanVzdCB0aGUgc2VxdWVuY2UgY291bnRlci9vZmZzZXQgdmFsdWVzIGluIGNhc2Ugb2YgY2FwcwoJICByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE0LTExLTE0IDE0OjE4OjUxICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGFkZCBmcmFtZSBsb3NzIGRldGVjdGlvbgoJICBJbiBjYXNlIG9mIHY0bDIgZHJpdmVyIGZpbGxlZCBvZmZzZXQvc2VxdWVuY2UgdmFsdWVzIGFkZCBmcmFtZQoJICBsb3NzIGRldGVjdGlvbiAoYW5kIHdyaXRlIGEgd2FybmluZyBtZXNzYWdlKS4KCSAgTW92ZSBvZmZzZXQgbWV0YSBkYXRhIHNldHRpbmcgYW5kIGZyYW1lIGxvc3MgY2hlY2tpbmcgYWZ0ZXIgdGhlCgkgIHRpbWVzdGFtcCBhZGp1c3RtZW50IGNvZGUgdG8gZ2V0IHByb3BlciB0aW1lc3RhbXBzIGZvciB0aGUKCSAgd2FybmluZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE0LTExLTE0IDEzOjQ4OjUxICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVzZSB2NGwyIGNhcHR1cmUgZGV2aWNlIHNlcXVlbmNlIGNvdW50ZXIKCSAgVXNlIHRoZSB2NGwyIGNhcHR1cmUgZGV2aWNlIHNlcXVlbmNlIGNvdW50ZXIgZm9yCgkgIHNldHRpbmcgdGhlIEdzdEJ1ZmZlciBvZmZzZXQvb2Zmc2V0X2VuZCB2YWx1ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NDEKCjIwMTUtMDMtMzAgMTM6MTI6MzUgKzAyMDAgIFRvYmlhcyBNb2RzY2hpZWRsZXIgPHRvYmlhcy5tb2RzY2hpZWRsZXJAY2V0aXRlYy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFzayB0aGUgZHJpdmVyIGFib3V0IGl0cyByZXF1aXJlbWVudHMgZm9yIG1pbl9idWZmZXJzIGJlZm9yZSBpbml0aWF0aW5nIGJ1ZmZlciBwb29sLgoJICBJZiBwcm9wb3NlX2FsbG9jYXRpb24oKSBoYWQgbm90IGJlZW4gY2FsbGVkIHlldCwgaXQgd2FzIHBvc3NpYmxlIHRoYXQgdGhlIGRyaXZlciB3YXMgbm90IGFza2VkIGF0IGFsbC4KCSAgSW4gYnVmZmVyIHBvb2w6IENvbnNpZGVyIG1pbmltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMgcmVxdWVzdGVkIGJ5IGRyaXZlciB3aGVuIHNldHRpbmcgY29uZmlnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODM0CgoyMDE1LTA0LTAxIDE5OjMwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkgIHJ0cHZwOGRlcGF5OiBQYXJzZSB3aWR0aC9oZWlnaHQvcHJvZmlsZSBmcm9tIGtleWZyYW1lcwoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIG11eCB0aGUgcmVzdWx0IGludG8gYSBjb250YWluZXIKCSAgc3VjaCBhcyBtYXRyb3NrYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIwOAoKMjAxNS0wNC0wMSAxOTowMTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRXhwb3NlIFZQOCB3aWR0aC9oZWlnaHQgbGltaXRhdGlvbnMgaW4gdGhlIGNhcHMgdGVtcGxhdGUKCSAgVGhlIFZQOCBmb3JtYXQgc3BlY2lmaWNhdGlvbiAoUkZDIDYzODYgc2VjdGlvbiAxOC4xKSBzcGVjaWZpZXMKCSAgdGhhdCB0aGUgbWF4aW11bSBzaXplIGlzIDE2MzgzeDE2MzgzLgoKMjAxNS0wMy0zMSAwMDoyMDoxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogV2hlbiBwYXNzaW5nIHNlZWsgZXZlbnQgdXBzdHJlYW0sIGhvbGQgYSByZWYuCgkgIEluIGNhc2UgdXBzdHJlYW0gY2FuJ3QgaGFuZGxlIHRoZSBzZWVrLCBtYWtlIHN1cmUgd2UKCSAga2VlcCBhIHJlZiBvbiB0aGUgZXZlbnQgdG8gYXR0ZW1wdCB0byBoYW5kbGUgaXQgb3Vyc2VsdmVzLgoKMjAxNS0wMy0yNiAxMzozNDo1MyArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGZpeCBHVmFsdWUgbGVha3Mgd2hlbiBwYXJzaW5nIHRhZ3MKCSAgZ3N0X3RhZ19saXN0X2FkZF92YWx1ZSgpIGRvZXNuJ3QgY29uc3VtZSB0aGUgR1ZhbHVlIHdlIHBhc3MgdG8gaXQgc28gdGhlcmUgaXMKCSAgbm8gcG9pbnQgY29weWluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgxMAoKMjAxNS0wMy0yMyAyMDo1ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjMgMjA6NTc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjMgMjA6NTY6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTI3IDE4OjU4OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogc3RvcmUgc3RyZWFtIHRhZ3MgYW5kIHB1c2ggYXMgdXBkYXRlZAoJICBOZXcgdGFncyBjYW4gYmUgZm91bmQgb24gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBmaWxlLCBzbyB0aGlzIHBhdGNoCgkgIGtlZXBzIHRoZSBzdHJlYW0gdGFnbGlzdHMgYXJvdW5kIGZvciB0aGUgbGlmZSBjeWNsZSBvZiB0aGUgcGFkCgkgIGFuZCBhZGRzIHRob3NlIG5ldyB0YWdzIGFzIGZvdW5kLiBUaGVuIGEgbmV3IHRhZyBpcyBmb3VuZCwgdGhlCgkgIHBhZCdzIGlzIG1hcmtlZCB3aXRoIGEgdGFncyBjaGFuZ2VkIGZsYWcsIG1ha2luZyB0aGUgZWxlbWVudCBwdXNoCgkgIGEgbmV3IHRhZyBldmVudCBvbiB0aGUgbmV4dCBjaGVjay4gQmVmb3JlIHRoaXMsIHdlIHdlcmUgc2VuZGluZwoJICBvbmx5IHRoZSBuZXdseSBmb3VuZCB0YWdzLCBhcyB0aGUgZWxlbWVudCB3YXMgbG9zaW5nIGl0cyB0YWdsaXN0CgkgIHdoZW4gcHVzaGluZyB0aGUgZXZlbnQuCgoyMDE1LTAzLTE1IDE0OjQwOjM2ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VuZCBnbG9iYWwgdGFncyBpbmNyZW1lbnRhbGx5CgkgIEluc3RlYWQgb2Ygc2VuZGluZyBvbmx5IG5ldyB0YWdzIG9uY2UgdGhleSBhcmUgZm91bmQsIG1lcmdlIHRoZSB0YWdsaXN0CgkgIGFuZCBzZW5kIHRoZW0gaW5jcmVtZW50YWxseS4KCjIwMTUtMDMtMTQgMTc6MDc6MDUgKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thcGFyc2U6IHNlbmQgZ2xvYmFsIHRhZ3MKCSAgR2xvYmFsIHRhZ3MgYXJlIGFscmVhZHkgYmVpbmcgcmVhZCBpbiBtYXRyb3NrYXBhcnNlLCBidXQgdGhleSBhcmUgbm90CgkgIGN1cnJlbnRseSBiZWluZyBzZW50LgoJICBUaGlzIHBhdGNoIG1ha2VzIGdsb2JhbCB0YWdzIGdldCBzZW50IGluY3JlbWVudGFsbHkgd2hlbmV2ZXIgbmV3IG9uZXMKCSAgYXJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQyCgoyMDE1LTAyLTAzIDEwOjE4OjU4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IGZpeCAicGxhbmVzIiBwcm9wZXJ0eSByYW5nZSwgYSB2YWx1ZSBvZiAwIGlzIG5vdCBhbGxvd2VkCgkgIFdoZW4gcGxhbmVzIHByb3BlcnR5IGlzIHNldCB0byAwLCB0aGUgcGlwZWxpbmUgZXhlY3V0ZXMgaW4KCSAgYW4gaW5maW5pdGUgbG9vcCBhbmQgbmV2ZXIgZXhpdHMuIFNpbmNlIHBsYW5lcyBtdXN0IG5ldmVyCgkgIGJlIDAsIHNldCB0aGUgbWluaW11bSB2YWx1ZSBpbiB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb24KCSAgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwNgoKMjAxNS0wMy0yNiAxMzo0MjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCB1cCBjb21tZW50cyByZWdhcmRpbmcgRFRTCgoyMDE1LTAzLTI1IDE1OjExOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogRml4IHNlZ21lbnQgaW4gVENQIG1vZGUKCSAgSXQgaXMgZXhwZWN0ZWQgdGhhdCBidWZmZXJzIGFyZSB0aW1lLXN0YW1wZWQgd2l0aCBydW5uaW5nIHRpbWUuIFNldAoJICBhIHNlZ21lbnQgYWNjb3JkaW5nbHkuIEluIHRoaXMgY2FzZSB3ZSBwaWNrIDAsLTEgYXMgdGhpcyBpcyB3aGF0IHVkcHNyYwoJICB3b3VsZCBkby4gRGVwYXlsb2FkZXJzIHdpbGwgdXBkYXRlIHRoZSBzZWdtZW50IHRvIHJlZmxlY3QgdGhlIHBsYXliYWNrCgkgIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1NzAxCgoyMDE1LTAzLTI2IDEyOjIxOjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogYmUgbW9yZSBzdHJpY3QgYWJvdXQgdHlwZWZpbmRpbmcgRFRTCgkgIENvZGUgbm93IG1hdGNoZXMgY29tbWVudHMuCgoyMDE1LTAzLTI1IDE1OjEwOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSB1c2VsZXNzIGZ1bmN0aW9uCgkgIFRoaXMgZnVuY3Rpb24gZGlkbid0IGRvIGFueXRoaW5nIHNwZWNpYWwsIGxldCdzIG5vdCB1c2UgYSBmdW5jdGlvbiBmb3IKCSAgdGhhdC4KCjIwMTUtMDMtMjAgMTM6MDM6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXI6IEFjY291bnQgZm9yIHJ0eF9yZXRyeSBpbiBvdmVyZmxvdyBjaGVjawoJICBBcyBydHhfcmV0cnkgaXMgcGFydCBvZiB0aGUgc3Vic3RyYWN0aW9uLCB3ZSBuZWVkIHRvIHRha2UgaXQgaW50bwoJICBhY2NvdW50LCBvdGhlcndpc2Ugd2UgbWF5IGVuZHVwIHdpdGggYSBiaWcgdmFsdWUuCgoyMDE1LTAzLTI0IDIzOjE1OjE1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IGNoZWNrIGZvciBkZXByZWNhdGVkIGNvbnN0YW50cyBwcmlvciB0byBPU1ggMTAuMTAKCSAgY29jb2F3aW5kb3cubTozMzk6NTogZXJyb3I6ICdOU09wZW5HTFBGQVdpbmRvdycKCSAgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBPUyBYIDEwLjkKCSAgY29jb2F3aW5kb3cubTo1NzY6NzogZXJyb3I6ICdOU09wZW5HTFBGQUZ1bGxTY3JlZW4nCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC42CgkgIGNvY29hd2luZG93Lm06NjA1OjI0OiBlcnJvcjogJ3NldEZ1bGxTY3JlZW4nCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC43CgoyMDE1LTAzLTI0IDE2OjUxOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHNlZWtpbmcgcXVlcnkKCSAgVGhlIHNlZ21lbnQgc3RhcnQvc3RvcCBpbiB0aGUgcXVlcnkgaXMgbWVhbnQgdG8gcmVwcmVzZW50IHRoZSBzZWVrYWJsZQoJICBwb3J0aW9uIG9mIHRoZSBzdHJlYW0uIEl0IGRvZXMgbm90IG1hdGNoIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AuIEluc3RlYWQKCSAgZXhwb3J0IDAgdG8gZHVyYXRpb24uCgoyMDE1LTAzLTI0IDE2OjE4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogT25seSBzZXQgY2FwcyBvbmNlIGlmIHRoZXkgZG9uJ3QgY2hhbmdlCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSBzZXR0aW5nIG5ldyBjYXBzIHdpdGggdGhlIHNhbWUgY29udGVudCBmb3IgZXZlcnkgSDI2NCBvcgoJICBBQUMgY29kZWNfZGF0YSB3ZSBmb3VuZCBpbiB0aGUgc3RyZWFtLCBzcGFtbWluZyBldmVyeXRoaW5nIGFuZCBjYXVzaW5nCgkgIHJlbmVnb3RpYXRpb25zLgoKMjAxNS0wMy0yNCAxMjo0NjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGNyZWF0ZSBBQUMvSDI2NCBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBJbnN0ZWFkIGRlbGF5IGNyZWF0aW5nIHRoZSBjYXBzIHVudGlsIHdlIHJlYWQgdGhlIGNvZGVjX2RhdGEgZnJvbSB0aGUgc3RyZWFtLAoJICBvciBmYWlsIGlmIHdlIGdldCBub3JtYWwgZGF0YSBiZWZvcmUgdGhlIGNvZGVjX2RhdGEuCgkgIEFBQyByYXcgY2FwcyBhbmQgSDI2NCBhdmMgY2FwcyBhbHdheXMgbmVlZCBjb2RlY19kYXRhLCBzZXR0aW5nIGNhcHMgb24gdGhlIHBhZAoJICB3aXRob3V0IHRoZW0gaXMgZ29pbmcgdG8gbWFrZSBuZWdvdGlhdGlvbiBmYWlsIG1vc3Qgb2YgdGhlIHRpbWUuIEV2ZW4gaWYgd2UKCSAgbGF0ZXIgc2V0IG5ldyBjYXBzIHdpdGggdGhlIGNvZGVjX2RhdGEsIHRoYXQncyB1c3VhbGx5IGdvaW5nIHRvIGJlIHRvbyBsYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjgyCgoyMDE1LTAzLTI0IDE1OjM5OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IGluZGVudGlvbgoKMjAxNS0wMy0yMiAxMzoyMzo0NCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IEZpeCBzdHJpbmcgZm9ybWF0IHdhcm5pbmcgb24gMzItYml0CgkgIFVJbnQzMiAoRGFyd2luLCBub3QgQzk5J3MgdWludDMyX3QpIGlzICd1bnNpZ25lZCBsb25nJyBvbiAzMi1iaXQKCSAgcGxhdGZvcm1zLgoKMjAxNS0wMy0yMSAxNzo1MDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IGFub3RoZXIgaW5zdGFuY2Ugb2Ygc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmdzCgkgIE1ha2Ugc3VyZSB0aGF0IHRoZSBzeW5jX3NyYyBwYWQgaGFzIGNhcHMgYmVmb3JlIHRoZSBzZWdtZW50IGV2ZW50LgoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IGEgc2VnbWVudCBldmVudCBiZWZvcmUgY2FwcyBmcm9tIHRoZSByZWNlaXZlCgkgIFJUQ1AgcGFkLCBhbmQgdGhlbiBsYXRlciB3aGVuIHJlY2VpdmluZyBSVENQIHBhY2tldHMgd2lsbCBzZXQgY2Fwcy4KCSAgVGhpcyB3aWxsIHJlc3VsdHMgaW4gYSBzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmcgd2FybmluZwoJICBUaGlzIGZpeGVzIHdhcm5pbmdzIGluIHRoZSBydHBhdXggdW5pdCB0ZXN0IGJ1dCBhbHNvIGluIHRoZQoJICBydHBhdXggYW5kIHJ0eCBleGFtcGxlcyBpbiB0ZXN0cy9leGFtcGxlcy9ydHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wMy0yMSAxNzoxODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWxzbyBzdGFydCB0aGUgUlRDUCBzZW5kIHRocmVhZCB3aGVuIHJlY2VpdmluZyBSVFAgb3IgUlRDUAoJICBCZWZvcmUgd2Ugb25seSBzdGFydGVkIGl0IHdoZW4gZWl0aGVyOgoJICAtIHRoZXJlIGlzIG5vIHNlbmQgUlRQIHN0cmVhbQoJICBvcgoJICAtIHdlIHJlY2VpdmVkIGFuIFJUUCBwYWNrZXQgZm9yIHNlbmRpbmcKCSAgVGhpcyBjb3VsZCBtZWFuIHRoYXQgaWYgdGhlIHNlbmQgUlRQIHBhZHMgYXJlIGNvbm5lY3RlZCBidXQgbmV2ZXIgcmVjZWl2ZSBhbnkKCSAgUlRQIGRhdGEsIGFuZCB0aGUgc2FtZSBzZXNzaW9uIGlzIGFsc28gdXNlZCBmb3IgcmVjZWl2aW5nIFJUUC9SVENQLCB3ZSB3b3VsZAoJICBuZXZlciBzdGFydCB0aGUgUlRDUCB0aHJlYWQgYW5kIHdvdWxkIG5ldmVyIHNlbmQgUlRDUCBmb3IgdGhlIHJlY2VpdmluZyBwYXJ0CgkgIG9mIHRoZSBzZXNzaW9uLgoJICBUaGlzIGNhbiBiZSByZXByb2R1Y2VkIHdpdGggYSBwaXBlbGluZSBsaWtlOgoJICBnc3QtbGF1bmNoLTEuMCBydHBiaW4gbmFtZT1ydHBiaW4gXAoJICB1ZHBzcmMgcG9ydD01MDAwICEgImFwcGxpY2F0aW9uL3gtcnRwLCBtZWRpYT12aWRlbywgY2xvY2stcmF0ZT05MDAwMCwgZW5jb2RpbmctbmFtZT1IMjY0IiAhIHJ0cGJpbi5yZWN2X3J0cF9zaW5rXzAgXAoJICB1ZHBzcmMgcG9ydD01MDAxICEgcnRwYmluLnJlY3ZfcnRjcF9zaW5rXzAgXAoJICBydHBiaW4uc2VuZF9ydGNwX3NyY18wICEgZmFrZXNpbmsgbmFtZT1ydGNwX2Zha2VzaW5rIHNpbGVudD1mYWxzZSBhc3luYz1mYWxzZSBzeW5jPWZhbHNlIFwKCSAgcnRwYmluLnJlY3ZfcnRwX3NyY18wXzI1NTMyMjU1MzFfOTYgISBkZWNvZGViaW4gISB4dmltYWdlc2luayBcCgkgIGZha2VzcmMgISB2YWx2ZSBkcm9wPXRydWUgISBydHBiaW4uc2VuZF9ydHBfc2lua18wIFwKCSAgcnRwYmluLnNlbmRfcnRwX3NyY18wICEgZmFrZXNpbmsgbmFtZT1ydHBfZmFrZXNpbmsgc2lsZW50PWZhbHNlIGFzeW5jPWZhbHNlIHN5bmM9ZmFsc2UgLXYKCSAgQmVmb3JlIHRoaXMgY2hhbmdlIHRoZSBydGNwX2Zha2VzaW5rIHdvdWxkIG5ldmVyIHNlbmQgUlRDUCBmb3IgdGhlIHJlY2VpdmluZwoJICBwYXJ0IG9mIHRoZSBzZXNzaW9uIChpLmUuIG5vIHJlY2VpdmVyIHJlcG9ydHMhKSwgYWZ0ZXIgdGhlIGNoYW5nZSBpdCBkb2VzLgoJICBBbmQgYmVmb3JlIGFuZCBhZnRlciB0aGlzIGNoYW5nZSBpdCB3b3VsZCBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcgcGFydCBvZgoJICB0aGUgc2Vzc2lvbiBpZiB0aGUgc2VuZGVyIHBhcnQgd2FzIG9taXR0ZWQgKHRoZSBsYXN0IHR3byBsaW5lcykuCgoyMDE1LTAzLTE5IDExOjU0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE5IDExOjM5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSAgcnRwcnR4cXVldWU6IEltcGxlbWVudCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTUtMDMtMTggMTc6MzI6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogSW1wcm92ZSB0cmFjZSByZWFkYWJpbGl0eQoJICBDaGFuZ2UgdGhlIGNvbW1hbmQgbnVtYmVyIGludG8gc3RyaW5ncy4KCjIwMTUtMDEtMjAgMTA6MTg6NTYgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBEb24ndCByZXBlYXRlZGx5IHdhcm4gYWZ0ZXIgbm9fbW9yZV9wYWRzICh2MikKCSAgVGhpcyBjYW4gZ2V0IHJhdGhlciBzcGFtbXkgZm9yIHN1Y2ggYSBoaWdoIGxvZyBsZXZlbC4KCSAgT25seSB3YXJuIG9uY2UgcGVyIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI3NAoKMjAxNS0wMy0xNiAxMToyMzo1MiArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBJbnRyb2R1Y2UgY29uc3RhbnQgZm9yIG5vLW1vcmUtcGFkcyB0aHJlc2hvbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI3NAoKMjAxNS0wMS0yMCAxMDoxODoyOSArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggd2FybmluZyB0byBjb250YWluICd2aWRlbycKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI3NAoKMjAxNS0wMy0xMSAyMToyNTo0MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBmb3IgZHRzIG9ubHkgc3RyZWFtIHNldCBwdHM9ZHRzIGZvciBpbnRyYSBvbmx5IGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0xNCAxNjozOTowOSArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VuZGluZyBvZiB0YWdzCgkgICogRml4IGNyaXRpY2FsIHdoZW4gbmV3IHRhZ3MgYXJlIGZvdW5kIGFmdGVyIHNlZ21lbnQgZXZlbnQgaGFzIGFscmVhZHkKCSAgYmVlbiBzZW50LgoJICAqIFNlbmQgZ2xvYmFsIHRhZ3MgYmVmb3JlIHN0cmVhbSB0YWdzLgoJICAqIFNwbGl0IHNlbmRpbmcgb2YgdGFncyBvdXQgb2YgZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQoKSBpbnRvIGl0cwoJICBvd24gZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU5NzMKCjIwMTUtMDMtMTMgMTg6MjY6MDYgKzAwMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJvcGVybHkgZXNjYXBlIHBlcmNlbnQgc2lnbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAzLTEzIDE4OjI2OjQ0ICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xMyAxODo0ODowMyArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGRlbGF5IHJlbmVnb3RpYXRpb24gdW50aWwgaXQgaXMgbGlrZWx5IGJ1ZmZlcnMgd2VyZSByZWNsYWltZWQKCSAgQWxsb3cgcmVuZWdvdGlhdGlvbiB0byBoYXBwZW4gd2hlbiBidWZmZXJzIGhhdmUgcmV0dXJuZWQgYWZ0ZXIgYW4gYWxsb2NhdGlvbgoJICBxdWVyeS4gQXMgdGhlIGFsbG9jYXRpb24gcXVlcnkgaXMgc2VyaWFsaXplZCwgYWxsIGJ1ZmZlcnMgZnJvbSB0aGUgcG9vbAoJICBzaG91bGQgaGF2ZSByZXR1cm5lZCBhbmQgd2UgY2FuIHN0b3AgaXQgdG8gY3JlYXRlIGEgbmV3IG9uZSBmb3IgdGhlCgkgIG5ldyBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxNS0wMy0xMyAxODo0Nzo1NSArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IGFkZCBnc3RfdjRsMl9vYmplY3RfdHJ5X2Zvcm1hdAoJICBTaW1pbGFyIHRvIHNldF9mb3JtYXQgYnV0IGl0IHVzZXMgVFJZX0ZNVCBpbnN0ZWFkIG9mIFNfRk1UCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTUtMDMtMTMgMTg6Mzg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBjcmFzaCB3aXRoIEdTVF9ERUJVRyBlbmFibGVkCgkgIGdfaW5ldF9zb2NrZXRfYWRkcmVzc19nZXRfYWRkcmVzcygpIGRvZXMgbm90IGdpdmUKCSAgdXMgYSByZWYgdG8gdGhlIGFkZHJlc3MsIHNvIGRvbid0IHVucmVmIGl0LgoKMjAxNS0wMy0xMiAxMzo0OTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogRG9uJ3QgcmVhZCBvdmVyIHRoZSBlbmQgb2YgdGhlIGlucHV0IG1lbW9yeQoJICBQcmV2aW91c2x5IHdlIGFkdmFuY2VkIHRoZSBpbl9kYXRhIHBvaW50ZXIgYnkgYnBzIGZvciBldmVyeSBjaGFubmVsLCBhbmQgdGhlbgoJICBsYXRlciBhZ2FpbiBmb3IgYmxvY2tfc2l6ZSpicHMuIFRoaXMgY2F1c2VkIHVzIHRvIGJlIG9uZSBzYW1wbGUgZnVydGhlciB0aGFuCgkgIGV4cGVjdGVkIGlmIGFuIGlucHV0IGJ1ZmZlciBjb3ZlcmVkIHR3byBhbmFseXNpcyBmcmFtZXMuIEFuZCBpbiB0aGUgZW5kIGxlYWQKCSAgdG8gY29tcGxldGVseSBib2d1cyB2YWx1ZXMgcmVwb3J0ZWQgYnkgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwNjUKCjIwMTUtMDMtMTIgMDE6Mzc6MDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSAgUmVtb3ZlIGEgY291cGxlIG9mIHN1cGVyZmx1b3VzIHRyYWlsaW5nIHNlbWktY29sb25zCgoyMDE1LTAzLTEwIDA5OjMxOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJICBGaXggZG91YmxlIHNlbWljb2xvbnMKCjIwMTUtMDMtMTAgMTU6NDY6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eDogU2h1dCBkb3duIGVsZW1lbnQgYmVmb3JlIGRvd253YXJkIHN0YXRlIGNoYW5nZQoJICBNYWtlIHN1cmUgdGhlIHN0YXRlIGNoYW5nZSB3b24ndCBoYW5nIHRyeWluZyB0byBzaHV0IGRvd24gcGFkcwoJICBieSBtYWtpbmcgc3VyZSB0aGUgc3RyZWFtaW5nIGhhcyBzdG9wcGVkIGJlZm9yZSBjaGFpbmluZyB1cC4KCjIwMTUtMDMtMDkgMjI6NTg6MDUgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBzdHJlYW0gZm9ybWF0IGlzIGFuIFNQRElGLW9ubHkgZmllbGQKCjIwMTUtMDMtMDkgMjI6NTM6NDEgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgb3N4YXVkaW86IGZpeCBzcGFjZXMKCjIwMTUtMDMtMDkgMjI6NTI6NDYgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgb3N4YXVkaW86IGFkZCB0eXBlIGNoZWNrIG1hY3JvCgoyMDE1LTAzLTA5IDIyOjUxOjUxICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IHJlbmFtZSBnc3RfY29yZV9hdWRpb19zZXRfY2hhbm5lbHNfbGF5b3V0KCkKCSAgdG8gZ3N0X2NvcmVfYXVkaW9fZ2V0X2NoYW5uZWxfbGF5b3V0KCkuCgoyMDE1LTAzLTA5IDIyOjMwOjI4ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogcmVtb3ZlIHVudXNlZCBmaW5hbGl6ZQoKMjAxNS0wMy0wOSAxNjoyNTo0MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogcmVtb3ZlIGR1cGxpY2F0ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbgoKMjAxNS0wMy0wOSAxNjoyMjoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBDSUQgIzEyMjY0NzQKCjIwMTUtMDMtMDkgMTY6MTQ6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgQ0lEIDEyMTIxNTYKCjIwMTUtMDMtMDkgMTU6NTg6MzMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogcmVtb3ZlIHVuZWVkZWQgdmFyaWFibGUKCSAgV2UganVzdCBuZWVkIHRvIHNhdmUgdGhlIGViaXQgaW5mb3JtYXRpb24gaW4gY2FzZSB0aGVyZSBpcyBhbiBlcnJvciBkZWNvZGluZy4KCjIwMTUtMDMtMDkgMTY6NDY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFs4OV1lbmM6IFJlc2V0IHRoZSBlbmNvZGVyIHdoZW4gZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwNAoKMjAxNS0wMy0wOSAxMjo1MToxNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogZXJyb3IgbW9kZSBpZiBjYW4ndCBwdXNoIGJ1ZmZlcgoJICBJZiBnc3RfcGFkX3B1c2goKSBmYWlscywgaW5mb3JtIGFuZCByZXR1cm4gZmxvdyBlcnJvci4KCjIwMTUtMDMtMDkgMTI6MTM6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IHVudXNlZCB2YWx1ZQoJICBWYWx1ZSBzZXQgaW4gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4ganVzdCBiZWZvcmUgZXhpdGluZyB0aGUgZnVuY3Rpb24uCgkgIENJRCAjMTIyNjQ2OQoKMjAxNS0wMy0wOSAxMToxMDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERyb3AgcGFja2V0cyB3aXRoIHNlcXVlbmNlIG51bWJlcnMgYmVmb3JlIHRoZSBzZXFudW0tYmFzZQoJICBUaGVzZSBhcmUgb3V0c2lkZSB0aGUgZXhwZWN0ZWQgcmFuZ2Ugb2Ygc2VxdWVuY2UgbnVtYmVycyBhbmQgc2hvdWxkIGJlCgkgIGNsaXBwZWQsIGVzcGVjaWFsbHkgZm9yIFJUU1AgdGhleSBtaWdodCBiZWxvbmcgdG8gcGFja2V0cyBmcm9tIGJlZm9yZSBhIHNlZWsKCSAgb3IgYSBwcmV2aW91cyBzdHJlYW0gaW4gZ2VuZXJhbC4KCjIwMTQtMDItMjcgMTA6NTI6MTYgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBpbmNsdWRlIHBheWxvYWQgdHlwZSBpbiB0aGUgY2FwcyBmb3IgZnJhbWVzaXplCgkgIFdoZW4gdGhlIHNkcCBtZWRpYSBhdHRyaWJ1dGUgZnJhbWVzaXplIGFyZSBjb252ZXJ0ZWQgdG8gY2FwcwoJICB0aGUgPHBheWxvYWQ+IHNob3VsZCBub3QgYmUgaW5jbHVkZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUzMzUKCjIwMTUtMDMtMDkgMTA6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBmb3JnZXQgdG8gdW5sb2NrIHRoZSBtdXRleCB3aGVuIHJlY2VpdmluZyBHQVBzIGluIFRDUCBzdHJlYW1zCgoyMDE1LTAzLTA5IDExOjI0OjU4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIHN1cmUgdG8gZmlsdGVyIGNhcHMgaW4gYWxsIGNhc2VzIGR1cmluZyBDQVBTIHF1ZXJ5CgkgIFdlIHdlcmUgc2tpcHBpbmcgdGhlIGZpbHRlciBzdGVwIHdoaWxlIHJldHVybmluZyB0ZW1wbGF0ZSBjYXBzLCBmb3IKCSAgZXhhbXBsZS4KCjIwMTUtMDMtMDggMjE6MTU6NTMgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCB1cGRhdGUgYnVmZmVyIGZvciBPVVRQVVQKCSAgRm9yIG91dHB1dCBkZXZpY2UsIHdlIHNob3VsZCBub3QgdXBkYXRlIHRoZSBidWZmZXIgd2l0aCBmbGFncyBhbmQKCSAgdGltZXN0YW1wIHdoZW4gd2UgZGVxdWV1ZS4gVGhlIGluZm9ybWF0aW9uIGluIHRoZSB2NGwyX2J1ZmZlciBpcyBub3QKCSAgbWVhbmluZ2Z1bCBhbmQgaXQgYnJlYWtzIHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgaXMgcmVuZGVyZWQgYXQKCSAgbXVsdGlwbGUgcGxhY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDM4CgoyMDE1LTAzLTA4IDE4OjA0OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IGNvb2tpZXMgcHJvcGVydHkKCjIwMTUtMDMtMDggMTg6MDI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBJbXBsZW1lbnQgYXV0b21hdGljLXJlZGlyZWN0IHByb3BlcnR5CgoyMDE1LTAzLTA4IDE3OjU0OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IHByb3h5IHN1cHBvcnQKCSAgVGhlIHByb3BlcnRpZXMgd2VyZSB0aGVyZSBiZWZvcmUsIGJ1dCBub3QgdXNlZCBhbnl3aGVyZS4KCjIwMTUtMDItMjEgMjA6MDU6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDE1LTAzLTA0IDEwOjI3OjE3ICswMTAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IExPQVMgcGFyc2luZyBpc3N1ZQoJICBGaXggbWlzc2luZyBpbmRleCBpbiBzeW5jd29yZCBzZWFyY2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NQoKMjAxNS0wMy0wNSAxNzo1NDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBtb2R1bG8gbWF0aCB3aXRoIHJpbmdidWZmZXIgcGFyYW1ldGVycwoJICBUbyBnZXQgYSBtdWx0aXBsZSBvZiBicGYgdXNlIGEgc3VidHJhY3Rpb24gYW5kIG5vdCBhbiBhZGRpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1Njg0CgoyMDE1LTAzLTA3IDAwOjU1OjQ3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogUHJvdGVjdCBwcm9wZXJ0eSB2YXJpYWJsZXMgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFVzZSB0aGUgb2JqZWN0IGxvY2sgaW5zdGVhZCBvZiB0aGUgc3BsaXRtdXggbG9jayB0byBwcm90ZWN0CgkgIGludGVybmFsIHByb3BlcnR5IHZhcmlhYmxlcywgc28gdGhleSdyZSBub3QgbG9ja2VkIHdoZW4KCSAgc3dpdGNoaW5nIHRvIGEgbmV3IGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ0MjAKCjIwMTUtMDMtMDYgMTE6Mzk6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBhZGQgaml0dGVyYnVmZmVyIHVuaXQgdGVzdAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTUzOQoKMjAxNS0wMy0wNSAwOToxODo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGhhbmRsaW5nIG9mIGludGVybGVhdmVkIChUQ1ApIHN0cmVhbXMKCSAgV2UgbmVlZCB0byBzZXQgdXAgdGhlIHRyYW5zcG9ydCBpbiBhbnkgY2FzZSwgbm90IGp1c3QgaWYgd2UgaGF2ZSBhIGNvbnRhaW5lcgoJICBzdHJlYW0gb3IgYSBub24taW50ZXJsZWF2ZWQgc3RyZWFtLiBPbmx5IGlmIHdlIGhhdmUgYW4gaW50ZXJsZWF2ZWQgc3RyZWFtIGFuZAoJICBhcmUgcmV0cnlpbmcsIHdlIHNob3VsZCBub3Qgc2V0IHVwIHRoZSBzdHJlYW0gYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1OTkKCjIwMTUtMDMtMDUgMTA6MDA6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cFs4OV1kZWM6IERyb3AgZnJhbWVzIHRoYXQgaGF2ZSBubyBvdXRwdXQgYnVmZmVyIGJlY2F1c2Ugb2YgZXJyb3JzCgkgIGZpbmlzaF9mcmFtZSgpIGFzc3VtZXMgdGhhdCB0aGVyZSBpcyBhbiBvdXRwdXQgYnVmZmVyLgoKMjAxNS0wMy0wNSAwOTo1NjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgdW5yZWYgY2FwcyB3ZSBkb24ndCBvd24KCjIwMTUtMDMtMDUgMDk6NDY6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFB1c2ggUlRDUCBjYXBzIG9uIHRoZSBSVENQIHBhZHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZ2V0IG5vdC1uZWdvdGlhdGVkIGxhdGVyIGZyb20gcnRwYmluLCBhbmQgd2lsbCBuZXZlciBiZSBhYmxlCgkgIHRvIHNlbmQgUlRDUCBwYWNrZXRzIGJhY2sgdG8gdGhlIHNlcnZlci4gTm90ZSB0aGF0IGVycm9yIGZsb3cgcmV0dXJucyBmcm9tIHRoZQoJICBSVENQIHBhZHMgYXJlIGlnbm9yZWQsIHRoYXQncyB3aHkgaXQgZGlkbid0IGZhaWwgbW9yZSB2aXNpYmxlIGJlZm9yZS4KCjIwMTUtMDMtMDUgMDk6MzU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE1ha2Ugc3VyZSB0byBzZW5kIFNFR01FTlQgZXZlbnRzIG9uIGFsbCBwYWRzCgoyMDE1LTAzLTAzIDE2OjIzOjE1ICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cDogQWRkIEZ1bGwgSW50cmEgUmVxdWVzdCAoRklSKSBwYWNrZXRzIHRvIHN0YXRpc3RpY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NwoKMjAxNS0wMy0wMyAxNjowMTo1MyArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHA6IEFkZCBQYWNrZXQgTG9zcyBJbmRpY2F0aW9uIChQTEkpIHRvIHN0YXRpc3RpY3MKCSAgVGhpcyBpcyBoZWxwZnVsIHRvIHByb3ZpZGUgc3RhdGlzdGljcyBpbiB0aGUgZm9ybWF0IGRlZmluZWQgaW4KCSAgaHR0cDovL3czYy5naXRodWIuaW8vd2VicnRjLXN0YXRzLyNkaWN0aW9uYXJ5LXJ0Y3J0cHN0cmVhbXN0YXRzLW1lbWJlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODcKCjIwMTUtMDMtMDMgMTk6MTk6NTAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgZHVyYXRpb24gYWNjdW11bGF0aW9uIGxvZ2ljCgkgIER1cmF0aW9uIGFjY3VtdWxhdGlvbiBjYW4gY2F1c2Ugcm91bmRpbmcgZXJyb3JzIGFuZCBnZW5lcmF0ZSB3cm9uZwoJICBkdXJhdGlvbiB3aXRoIGRpZmZlcmVudCBidWZmZXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgdGltZXN0YW1wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAzLTAzIDE4OjQwOjE2ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogQWRkIGFuIGhlbHBlciBtZXRob2QgdG8gZ2V0IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIC4uLiBhbmQgcmVwbGFjZSBHU1RfQlVGRkVSX1RJTUVTVEFNUCB0aGF0IGFsd2F5cyByZXR1cm4gUFRTIHdpdGggdGhpcyBtZXRob2QKCSAgdGhhdCByZXR1cm4gUFRTIG9yIERUUyBiYXNlZCBvbiBzdHJlYW0gdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0wNCAxMToyODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIGV4cGxhbmF0aW9uIHdoeSB3ZSBoYXZlIHNwYWNlIGZvciAzMiBoYXNoIHRhYmxlcwoJICBBbmQgYWxzbyBjcmVhdGUgb25seSBvbmUsIHRoZXJlJ3Mgbm8gbmVlZCB5ZXQgdG8gY3JlYXRlIGFsbCAzMiB1bnRpbAoJICB3ZSBpbXBsZW1lbnQgUkZDMjc2Mi4KCjIwMTUtMDMtMDQgMTE6MjY6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmV2ZXJ0ICJydHBzZXNzaW9uOiBEbyBub3QgdXNlIGFuIGFycmF5IG9mIG1hcHMgaWYgdGhleSBhcmUgbm90IGJlaW5nIHVzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTU5MWFkZjRjZDg0M2QxM2Q4NjIyYTMwYzYxOTQyNTY5MWE4NDEyOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NiNjMToKCSAgSXQncyB0aGUgYmVnaW5uaW5nIG9mIGFuIGltcGxlbWVudGF0aW9uIG9mIFJGQyAyNzYyLCB3aGljaCBpcyBuZWVkZWQgZm9yCgkgIGxhcmdlIG11bHRpY2FzdCBncm91cHMuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgeWV0IGNvbXBsZXRlIGJ1dCB3aHkKCSAgbm90IGxlYXZlIHdoYXQgaXMgdGhlcmUgYW5kIGltcGxlbWVudCBSRkMgMjc2MiBpbnN0ZWFkPwoKMjAxNS0wMy0wNCAxMDozNToxMiArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRG8gbm90IHVzZSBhbiBhcnJheSBvZiBtYXBzIGlmIHRoZXkgYXJlIG5vdCBiZWluZyB1c2VkCgkgIHJ0cHNlc3Npb24gZGVjbGFyZXMgYW4gYXJyYXkgb2YgbWFwcyB0byBzdG9yZSBzcnJjcyBidXQgb25seSB0aGUKCSAgdGhlIGtleSAwIGlzIGJlaW5nIHVzZWQuIFRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhlIGFycmF5IG9mIG1hcHMKCSAgZm9yIGp1c3Qgb25lIG1hcCBhbmQgcmVtb3ZlIHVzZWxlc3MgcGFyYW1ldGVycyBpbiBydHBzZXNzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODYKCjIwMTUtMDItMjcgMTg6MTI6MDkgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBub3QgbmVlZGVkIGNvZGUKCSAgSW4gZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5LCB0aGVyZSBpcyBub3QgbmVlZGVkIGNvZGUuCgkgIFdlIGFscmVhZHkgY2hlY2sgYWJvdXQgc3RyZWFtIGlzIHZiciBvciBub3QgYXQgdGhlIHVwcGVyIGxpbmUuCgkgIG8sIHdlIGRvbid0IG5lZWQgdG8gY2hlY2sgdGhpcyBjb25kaXRpb24gYmVjYXNlIHN0cmVhbSBpcyBub3QKCSAgdmJyIDEwMCUgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1Mjc2CgoyMDE1LTAzLTAzIDIzOjI1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IHJlcGxhY2UgZGVwcmVjYXRlZCBmdW5jdGlvbgoJICBKdXN0IGF2b2lkIHVzaW5nIHRoZSBkZXByZWNhdGVkIGZ1bmN0aW9uIGVudGlyZWx5LAoJICBpdCdzIGVhc3kgZW5vdWdoLiBEZWZpbmluZyB0aGUgbWFjcm8gaXMgbm90IGVub3VnaC4KCjIwMTUtMDMtMDMgMTk6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogZml4IGNvbXBpbGF0aW9uIGFnYWluc3QgbmV3ZXIgZ2RrLXBpeGJ1ZgoJICBnZGtfcGl4YnVmX25ld19mcm9tX2lubGluZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyCgkgIG9mIEdSZXNvdXJjZS4KCjIwMTUtMDMtMDMgMTg6Mzk6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvc3JjOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgVGhlIHJpbmdidWZmZXIgZG9lcyBhbGxvdyByZW5lZ290aWF0aW9uLCBzbyB3ZSBkbyBub3QgaGF2ZSB0byByZXBvcnQKCSAgZml4ZWQgY2FwcyBvbmNlIGl0IGlzIGFjcXVpcmVkIChiYXNlZCBvbiBhIHNpbWlsYXIgcGF0Y2ggZm9yIHRoZSBzaW5rCgkgIHNpZGUgYnkgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4pLgoKMjAxNS0wMi0yMSAxNDo0MTowOCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBBbGxvdyByZW5lZ290aWF0aW5nIGNhcHMKCSAgT25jZSBvc3hhdWRpb3NpbmsncyBkZXZpY2UgaXMgb3BlbiwgaXQgZml4YXRlcyBvbiB0aGUgaW5pdGlhbCBjYXBzIGFuZAoJICByZWZ1c2VzIHRvIGFjY2VwdCBuZXcgY2Fwcy4gVGhpcyBpcyBlcnJvbmVvdXMgc2luY2UgdGhlIEF1ZGlvIFVuaXQgaXMKCSAgY2FuIGFjY2VwdCBhIG5ldyBBU0JELCBhbmQgR3N0QXVkaW9SaW5nQnVmZmVyIHN1cHBvcnRzIHJlY29uZmlndXJhdGlvbgoJICBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTI1CgoyMDE1LTAzLTAyIDEyOjA0OjAwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggZmQgbGVhayBpbiBETUFCVUYgaW1wb3J0IG1vZGUuCgkgIEVuc3VyZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIHJlbGVhc2VzIHRoZSBhc3NvY2lhdGVkCgkgIEdzdFY0bDJNZW1vcnlHcm91cC4gSW4gcGFydGljdWxhciwgdGhpcyBhbGxvd3MgZm9yIGNsb3NpbmcgdGhlIERNQUJVRgoJICBoYW5kbGVzIHByaW9yIHRvIGluc3RhbnRpYXRpbmcgbmV3IG9uZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NDMKCjIwMTUtMDMtMDIgMTU6MDY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSAwIGFzIGR1cmF0aW9uIGZvciB0aGUgRU9TICJmcmFtZSIKCjIwMTUtMDMtMDIgMTU6MDI6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cHs4LDl9ZW5jOiBUZWxsIHRoZSBlbmNvZGVyIGFib3V0IGFjdHVhbCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgb2YgZnJhbWVzCgkgIC4uLiBpbnN0ZWFkIG9mIGp1c3QgY291bnRpbmcgZnJhbWVzLiBUaGUgdmFsdWVzIGFyZSBzdXBwb3NlZCB0byBiZSBpbiB0aW1lYmFzZQoJICB1bml0cywgbm90IGZyYW1lIHVuaXRzLiBUaGlzIGZpeGVzIHZhcmlvdXMgcXVhbGl0eSBwcm9ibGVtcyB3aXRoIFZQOC9WUDkKCSAgZW5jb2RpbmcgYW5kIGluIGdlbmVyYWwgbWFrZXMgdGhlIGVuY29kZXIgYmVoYXZlIGJldHRlci4KCSAgVGhhbmtzIHRvIE5pcmJoZWVrIENoYXVoYW4gZm9yIG5vdGljaW5nIHRoaXMgYnVnLgoKMjAxNS0wMy0wMSAxMzo1NjoxNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHhkZWM6IEZpeCBjYWxjdWxhdGlvbiBvZiB3aWR0aCBpbiBieXRlcwoJICBSaWdodCBub3cgd2Ugb25seSBzdXBwb3J0IEk0MjAsIGJ1dCB2cHggc2VlbXMgdG8gc3VwcG9ydCBtb3JlIGZvcm1hdHMuCgkgIFRoaXMgd2lsbCBwcmV2ZW50IGhhcmQgdG8gZmluZCBidWcgaW4gdGhlIGZ1dHVyZS4KCjIwMTUtMDMtMDEgMTM6NTI6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBEb24ndCBtZW1jcHkgaW4gZnJhbWUgbWFwIGZhaWxlZAoJICBUaGlzIGF2b2lkIGEgY3Jhc2ggaWYgbWFwcGluZyB0aGUgZnJhbWUgZmFpbGVkLgoKMjAxNS0wMy0wMSAxMzo0ODo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWRkIG1pc3NpbmcgYnJlYWsKCSAgVGhpcyBpcyBjb3NtZXRpYyBjaGFuZ2UuCgoyMDE1LTAzLTAxIDEzOjQ2OjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IFdvcmthcm91bmQgZHJpdmVyIG5vdCBzZXR0aW5nIGZpZWxkIGNvcnJlY3RseQoJICBBcyBpdCdzIHZlcnkgY29tbW9uLCBoYW5kbGUgZHJpdmVyIG5vdCBzZXR0aW5nIGZpZWxkIGluIGJ1ZmZlcnMKCSAgYnkgdXNpbmcgdGhlIGZpZWxkIHZhbHVlIGZyb20gdGhlIGZvcm1hdC4gVGhpcyB3b3JrYXJvdW5kIGEgbG9uZyB0aW1lCgkgIGJ1ZyBpbiBVVkMgZHJpdmVyLiBGb3IgZXZlbiBidWdnaWVyIGRyaXZlciwgd2Ugc2ltcGx5IGFzc3VtZQoJICBwcm9ncmVzc2l2ZSBhcyBiZWZvcmUuIFdlIGFsc28gb25seSB3YXJuIG9uY2UsIHRvIGF2b2lkIHNwYW1taW5nLgoKMjAxNS0wMi0yOCAxODoxMDowNiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXgga2V5IHVuaXQgc2VlawoJICBVbmxpa2UgbWFueSBvdGhlciBzZWVrIGZsYWdzLCB0aGUgS0VZX1VOSVQgc2VlawoJICBmbGFnIGlzIG5vdCBjb3BpZWQgb3ZlciBpbnRvIHRoZSBHc3RTZWdtZW50LAoJICBzaW5jZSBpdCdzIG9ubHkgcmVsZXZhbnQgZm9yIHRoZSBzZWVrIGl0c2VsZiwKCSAgc28gd2UgbmVlZCB0byBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIHNlZWsKCSAgaGFuZGxlciBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MzM5CgoyMDE1LTAyLTI3IDA5OjM4OjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICBkb2NzL3BsdWdpbnM6IFVwZGF0ZXMKCjIwMTUtMDItMjYgMjM6NDE6NDcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXgvZGVtdXg6IGluaXRpYWxpemUgZHRzX29ubHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMi0yNiAyMzoyODoxMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBEVFMgZm9yIFZfTVMvVkZXL0ZPVVJDQyBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDItMjYgMTk6NDg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIG11bHRpZmlsZTogYXR0ZW1wdCB0byBmaXggZG9jcyBidWlsZCBpc3N1ZSBvbiBidWlsZCBib3QKCjIwMTUtMDItMjcgMDA6NDE6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBEcm9wIGN1c3RvbSBsYXRlbmN5IHF1ZXJ5IGhhbmRsaW5nCgkgIFRoaXMgaXMgaW1wbGVtZW50ZWQgYnkgdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBub3cuCgoyMDE1LTAyLTI3IDAwOjQwOjA1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERyb3AgY3VzdG9tIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMKCSAgVGhpcyBpcyBub3cgaW1wbGVtZW50ZWQgaW4gdGhlIGRlZmF1bHQgbGF0ZW5jeSBxdWVyeSBoYW5kbGVyLgoKMjAxNS0wMi0yNiAxNjoxMDo0MSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGZpeCBwYXlsb2FkZXIgZGVzY3JpcHRpb24gYW5kIGF1dGhvciBlLW1haWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTIyNgoKMjAxNC0wOS0wNSAxNjozNDoyNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogcXVlcnkgY3JvcCBjb25maWd1cmF0aW9uIGFmdGVyIGVhY2ggY2FsbCBvZiBTX0NST1AKCSAgU19DUk9QIGlvY3RsIGlzIHdyaXRlLW9ubHkgYW5kIHRoZSBkZXZpY2UgY2FuIGFkanVzdCBjcm9wIHJlY3RhbmdsZSBzbwoJICB3ZSBxdWVyeSBiYWNrIHRoZSBjcm9wIGNvbmZpZ3VyYXRpb24gYWZ0ZXIgZWFjaCBTX0NST1AgdG8ga25vdyB3aGF0IGhhcwoJICBiZWVuIGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMzMKCjIwMTUtMDItMjYgMDI6MTI6MTggKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBWX01TL1ZGVy9GT1VSQ0Mgc3RyZWFtcyBoYXZlIERUUyBpbnN0ZWFkIG9mIFBUUwoJICBXaGVuIHN1Y2ggc3RyZWFtIGlzIHByZXNlbnQgZGVtdXhlciBzaG91bGQgc2V0IERUUyBvbiBidWZmZXJzIGluc3RlYWQKCSAgb2YgUFRTLiBUaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCBob3cgVkxDIGFuZCBsaWJhdi9mZm1wZWcgaGFuZGxlIFZGVwoJICBzdHJlYW1zLgoJICBTYW1wbGUgZmlsZQoJICBodHRwczovL3MzLmFtYXpvbmF3cy5jb20vTWF0ZWpLL1NhbXBsZXMvTWF0cm9za2EtVkZXLURUUy1Pbmx5Lm1rdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAyLTI1IDE2OjQ1OjExIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDaGVjayBjb3JydXB0aW9uIGZsYWcgb24gdGhlIHJpZ2h0IGJ1ZmZlcgoJICBXZSB3aGVyZSBjaGVja2luZyB0aGUgYnVmZmVyIHdlIGFyZSBjb3B5aW5nIHRvIGluc3RlYWQgb2YgdGhlIGJ1ZmZlciB3ZQoJICBhcmUgY29weWluZyBmcm9tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDQwCgoyMDE1LTAxLTE5IDE1OjI5OjI0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgY29sb3JzcGFjZSBpbiBjYXBzIGZvciBjYXB0dXJlIGRldmljZXMKCSAgVGhpcyBpbmZvcm1hdGlvbiBpcyBzZXQgYnkgdGhlIGRyaXZlciBmb3IgYSBjYXB0dXJlIGRldmljZSwgYW5kIHNvIGNvdWxkCgkgIGJlIGZvcndhcmRlZCB0byBwaXBlbGluZSBieSBzZXR0aW5nIHRoZSBjb2xvcmltZXRyeSBpbiBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTg2CgoyMDE0LTEwLTA2IDE3OjMwOjA2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGZpeCBpbXBvcnRfdXNlcnB0cigpIGluIHNpbmdsZS1wbGFuYXIgQVBJIHdoZW4gbl9wbGFuZXMgPiAxCgkgIEluIHRoZSBWNEwyIHNpbmdsZS1wbGFuYXIgQVBJLCB3aGVuIGZvcm1hdCBpcyBzZW1pLXBsYW5hci9wbGFuYXIsCgkgIGRyaXZlcnMgZXhwZWN0IHRoZSBwbGFuZXMgdG8gYmUgY29udGlndW91cyBpbiBtZW1vcnkuCgkgIFNvIHRoaXMgY29tbWl0IGNoYW5nZSB0aGUgd2F5IHdlIGhhbmRsZSBzZW1pLXBsYW5hci9wbGFuYXIgZm9ybWF0CgkgIChuX3BsYW5lcyA+IDEpIHdoZW4gd2UgdXNlIHRoZSBzaW5nbGUtcGxhbmFyIEFQSSAoZ3JvdXAtPm5fbWVtID09IDEpLgoJICBUbyBjaGVjayB0aGF0IHBsYW5lcyBhcmUgY29udGlndW91cyBhbmQgaGF2ZSBleHBlY3RlZCBzaXplLCBpZTogbm8KCSAgcGFkZGluZy4gV2UgdGVzdCB0aGUgZmFjdCB0aGF0IHBsYW5lICdpJyBzdGFydCBhZGRyZXNzICsgcGxhbmUgJ2knCgkgIGV4cGVjdGVkIHNpemUgZXF1YWxzIHRvIHBsYW5lICdpICsgMScgc3RhcnQgYWRkcmVzcy4gSWYgbm90LCB3ZSByZXR1cm4KCSAgaW4gZXJyb3IuCgkgIE1hdGggYXJlIGRvbmUgaW4gYnVmZmVycG9vbCByYXRoZXIgdGhhbiBpbiBhbGxvY2F0b3IgYmVjYXVzZSB0aGUKCSAgZm9ybWVyIGlzIGF3YXJlIG9mIHZpZGVvIGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwMTMKCjIwMTUtMDEtMjMgMTA6MTU6NDYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogbGV0IGJ1ZmZlcnBvb2wgY2FsY3VsYXRlIGltYWdlIHNpemUgd2hlbiBpbXBvcnRpbmcgdXNlcnB0cgoJICBPZmZzZXQgYXJlIHJlbGF0aXZlIHRvIHRoZSBidWZmZXIgYW5kIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBzdWJzdHJhY3RpbmcKCSAgdGhlbSB3aWxsIGdpdmUgdXMgdGhlIHBsYW5lIHNpemUuIFNvIHdlIGxldCBidWZmZXJwb29sIG1ha2UgdGhlIG1hdGggYXMKCSAgaXQgaXMgbW9yZSBhd2FyZSBvZiB2aWRlbyBpbmZvIHRoYW4gYWxsb2NhdG9yIGFuZCBwYXNzIGEgc2l6ZSBhcnJheSB0bwoJICBhbGxvY2F0b3IgaW1wb3J0IGZ1bmN0aW9uLgoJICBQb2ludGVkIG91dCBieSBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwMTMKCjIwMTQtMTItMTEgMTY6MTM6MTUgKzAxMDAgIFBoaWxpcHBlIERlIE11eXRlciA8cGhkbUBtYWNxZWwuYmU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHJlY29nbml6ZSBhbmQgZGlzdGluZ3Vpc2ggYWxsIGJheWVyIGFycmFuZ2VtZW50cwoJICBVcCB0byBub3csIHY0bDJzcmMgcmVjb2duaXplZCBvbmx5ICJiZ2dyIiBhbW9uZ3N0IHRoZSBiYXllciBhcnJhbmdlbWVudHMuCgkgIFJlY29nbml6ZSBub3cgYWxzbyB0aGUgInJnZ2IiLCAiZ2JyZyIgYW5kICJncmJnIiBhcnJhbmdlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIzNjMKCjIwMTUtMDEtMTUgMTY6MTE6NTMgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogc2V0IHY0bDJfYnVmZmVyLmZpZWxkIHdoZW4gcXVldWluZyBidWZmZXIgaW4gYW4gb3V0cHV0IGRldmljZQoJICBBY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgc3BlY2lmaWNhdGlvbiwgYXBwbGljYXRpb24gbXVzdCBzZXQgdGhpcyBmaWVsZAoJICBmb3IgYW4gb3V0cHV0IGRldmljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzAxMwoKMjAxNS0wMi0yNCAwNTo1NzoyNCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvc3JjOiBpT1MgcmVzYW1wbGluZyBjYXVzZXMgc3R1dHRlcmluZwoJICBGaXhlcyBzdHV0dGVyaW5nIGF1ZGlvIHdoZW4gaU9TIEFVIGlzIHJlc2FtcGxpbmcuIFRvIG1ha2UgQVUgcmVzYW1wbGUsCgkgIG9uZSBoYXMgdG8gcmVxdWVzdCBhIHJhdGUgdGhhdCBkaWZmZXJzIGZyb20gQVZBdWRpb1Nlc3Npb24ncwoJICBzYW1wbGVSYXRlLiBUaGUgcmVzYW1wbGluZyBpdHNlbGYgaXMgbm90IHRoZSBjdWxwcml0LCBidXQgcmF0aGVyIG91cgoJICBBUEkgbWlzdXNlLgoJICBBdWRpb1VuaXRSZW5kZXIgbW9kaWZpZXMgdGhlIG1EYXRhQnl0ZVNpemUgbWVtYmVycyB3aXRoIHRoZQoJICBhY3R1YWwgcmVhZCBieXRlcyBjb3VudC4gVGhlcmVmb3JlLCB0aGV5IG11c3QgYmUgcmVpbml0aWFsaXplZAoJICBiZWZvcmUgZWFjaCBBdWRpb1VuaXRSZW5kZXIuIChUaGUgYnVmZmVycyB0aGVtc2VsdmVzIGNhbiBiZQoJICBwcmVhbGxvY2F0ZWQuKQoJICBUaGUgInN0dXR0ZXIiIHdhcyBjYXVzZWQgYnkgb25lIEF1ZGlvVW5pdFJlbmRlciBtYWtpbmcgdGhlIGJ1ZmZlcgoJICB0b28gc21hbGwgZm9yIG90aGVyIEF1ZGlvVW5pdFJlbmRlciBpbnZvY2F0aW9ucywgbWFraW5nIHRoZW0gZmFpbAoJICB3aXRoIC01MCAocGFyYW1FcnIpLiBCeSB3YXkgb2YgbHVjaywgd2hlbiBBVSBkaWRuJ3QgcmVzYW1wbGUsIGFsbAoJICBBdWRpb1VuaXRSZW5kZXIgaW52b2NhdGlvbnMgcmVhZCB0aGUgc2FtZSBudW1iZXIgb2YgYnl0ZXMuCgkgIChUaGlzIHBhdGNoIGFkZHJlc3NlcyBzb21lIG5vbi1pbnRlcmxlYXZlZCBhdWRpbyBjb25jZXJucywgYnV0CgkgIGF0IHRoaXMgbW9tZW50IHRoZSBlbGVtZW50cyBkbyBub3Qgc3VwcG9ydCBub24taW50ZXJsZWF2ZWQgYXVkaW8KCSAgYW5kIG5vbi1pbnRlcmxlYXZlZCBpcyB1bnRlc3RlZC4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MjIKCjIwMTUtMDItMjIgMDE6NDk6NTIgKzAxMDAgIEtyenlzenRvZiBLb3RsZW5nYSA8cG9jZWtAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB1bmF1dGhvcml6ZWQKCSAgTWFrZSB1c2Ugb2YgTk9UX0FVVEhPUklaRUQgZXJyb3IgY29kZSBpbnN0ZWFkIG9mIGZhbGxpbmcgYmFjayB0byBnZW5lcmljCgkgIFJFQUQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDE3MzMKCjIwMTUtMDItMjMgMjA6MDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiByZW1vdmUgcG9pbnRsZXNzIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgeGltYWdlIHdvbid0IGV2ZXIgYmUgTlVMTCBoZXJlIGJlY2F1c2UgdGhlIGRpc3Bvc2UKCSAgZnVuY3Rpb24gaXMgY2FsbGVkIHZpYSB4aW1hZ2UtPmRpc3Bvc2UoKS4KCjIwMTUtMDItMjMgMTk6NDA6MjUgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBbGwgc2VnbWVudCByZXN1bHRpbmcgZnJvbSBhIHNlZWsgc2hvdWxkIGhhdmUgdGhlIHNhbWUgc2VxbnVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5ODMKCjIwMTUtMDItMTkgMjM6MTI6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBFbmFibGUgY29weSB3aGVuIG5vIGtub3duIGFsbG9jYXRpb24gcGFyYW1zCgkgIFdoZW4gdGhlcmUgaXMgbm8gYWxsb2NhdGlvbiBwYXJhbWV0ZXJzIGluIHRoZSBxdWVyeSwgZW5hYmxlIGNvcHkKCSAgdGhyZXNob2xkLiBXaGVuIHRoaXMgdGhyZXNob2xkIGlzIHJlYWNoZWQsIHRoZSBidWZmZXIgcG9vbCB3aWxsIHN0YXJ0CgkgIGNvcHlpbmcgd2hlbiB0aGUgcG9vbCByZWFjaGVzIGEgY3JpdGljYWwgbGV2ZWwuIElmIHRoZSBkcml2ZXIgc3VwcG9ydHMKCSAgQ1JFQVRFX0JVRlMsIHRoaXMgd2lsbCBiZSB1c2VkIGluc3RlYWQuCgoyMDE1LTAyLTE5IDIzOjA4OjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVcGRhdGUgYWxsb2NhdG9yIGZsYWdzCgkgIFdoZW4gd2UgaGl0IGVtdWxhdGVkIGZvcm1hdHMsIHdlIGRpc2FibGUgQ1JFQVRFX0JVRlMgc2luY2UgbGlidjRsMgoJICBjb3BlIHZlcnkgYmFkbHkgd2l0aCBpdC4gQWxzbyBjbGVhciB0aGUgYWxsb2NhdG9yIGZsYWdzIHNvIHdlIHdpbGwKCSAgbmV2ZXIgdHJ5IHRvIGFsbG9jYXRlIG1vcmUgYnVmZmVycy4gVGhpcyBmaXhlcyBmYWlsdXJlIHdoZW4gdGhlIGNvcHkKCSAgdGhyZXNob2xkIGlzIHJlYWNoZWQgYXMgd2Ugd2hlcmUgY2FsbGluZyBDUkVBVEVfQlVGUywgd2hpY2ggbGVhZCB0bwoJICBsaWJ2NGwyIGluc3RhYmlsaXR5LgoKMjAxNS0wMi0xOSAyMzowNzoyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXNlIHNwZWNpZmljIGRlYnVnIGNhdGVnb3J5CgkgIFRoZSBwb29sIGhhcyBncm93biBlbm91Z2ggdGhhdCBpdCBpcyBub3cgaGFuZHkgdG8gc2VwZXJhdGUgdjRsMm9iamVjdAoJICB0cmFjZSBmcm9tIHY0bDJidWZmZXJwb29sIHRyYWNlLgoKMjAxNS0wMi0xOSAxNDoyOTowMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IGRlZmF1bHQgZW5jb2RpbmcgbmFtZSB0byBWUDgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNDowNjo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IG1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMDUgMTA6Mjk6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBuZWdvdGlhdGUgZW5jb2RpbmcgbmFtZQoJICBDaHJvbWUgdXNlcyBhIGRpZmZlcmVudCBvbmUgdGhhbiBnc3RyZWFtZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTI6MzU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFNlbmQgaW5pdGlhbCBldmVudHMgb24gc3luY19ydGNwIHBhZCB3aGVuIHVzaW5nIFJUUC9SVENQIG11eGluZwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IHNlbmQgYnVmZmVycyBvbiB0aGUgcGFkIHdpdGhvdXQgYW55IGV2ZW50cyBiZWZvcmVoYW5kCgkgIGFuZCB3aWxsIGdldCBnX3dhcm5pbmdzKCkgYWJvdXQgdGhhdC4KCjIwMTUtMDItMTkgMTE6MjA6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogY2FzZSBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudAoJICBjb21taXQgYjEwOThjMmVhNWVhYmVhN2FmMDhjZTUxZDIyYjg2N2VhZWQyYmJlMiBhZGRlZCBhIG5ldyBjYXNlIGluCgkgIGdzdF9qYWNrX2F1ZGlvX3NyY19nZXRfcHJvcGVydHkoKSBidXQgZm9yZ290IHRvIGFkZCB0aGUgYnJlYWsgc3RhdGVtZW50IHRvIGl0LgoKMjAxNS0wMi0xOCAxOToxODowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBmcmFjdGlvbiBpcyByZXZlcnNlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiOTFmZTM2NjQ0YjE1YWUwNzBkNzJiOWU4YTljNzA4N2U4MmFlZjEyLgoKMjAxNS0wMi0xOCAxNzo0OToyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZnJhY3Rpb24gaXMgcmV2ZXJzZWQKCSAgSW4gdGhlIGZyYWN0aW9uIDEgLyAyLiAxIGlzIHRoZSBudW1lcmF0b3IgYW5kIDIgaXMgdGhlIGRlbm9taW5hdG9yLgoJICBUaGUgYXJndW1lbnRzIG9mIGZyYWN0aW9uIGdzdF92YWx1ZV9zZXRfZnJhY3Rpb25zKCkgYXJlIHZhbHVlLAoJICBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yLgoJICBBbHNvLCBnc3RfdmFsdWVfc2V0X2ZyYWN0aW9uKCkgZmFpbHMgaWYgZGVub21pbmF0b3IgaXMgMCBmb3Igb2J2aW91cwoJICByZWFzb25zLgoKMjAxNS0wMi0xNyAyMDoyNjo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRGVhY3RpdmF0ZSBvdGhlciBwb29sCgkgIFdoZW4gaW1wb3J0aW5nIGJ1ZmZlcnMgZnJvbSBhIGRvd25zdHJlYW0gcG9vbCwgd2UgbmVlZCB0byBkZWFjdGl2YXRlCgkgIHRoYXQgcG9vbCB0byBlbnN1cmUgaXQgd2lsbCBiZSB1c2FibGUgYWdhaW4gbGF0ZXIuIFJlbHlpbmcgb24gdGhlCgkgIHJlZmNvdW50IHRvIHJlYWNoIHplcm8gZG9lcyBub3Qgd29yaywgc2luY2UgZWxlbWVudHMgbGlrZSB4dmltYWdlc2luawoJICBrZWVwcyBhIHJlZmVyZW5jZSBvbiB0aGVpciBwcm9wb3NlZCBwb29sLgoKMjAxNS0wMi0xOCAxMDoxMDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBub3QgbmVlZGVkIGNvbmRpdGlvbgoJICBnc3RfYnVmZmVyX3JlcGxhY2UgY2FuIGhhbmRsZSBOVUxMIGlucHV0cyBieSBpdHNlbGYKCjIwMTUtMDItMTggMDk6NDA6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmVmZXIgdGhlIHRmZHQgdGltZXN0YW1wIG92ZXIgdGhlIGJ1ZmZlcidzIHRoYXQgaXMgbGVzcyBhY2N1cmF0ZQoJICBUaGUgdGZkdCBzaG91bGQgYmUgbW9yZSBhY2N1cmF0ZSBhcyB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpcyBwcm92aWRlZAoJICBieSB0aGUgZnJhZ21lbnRlZCBmb3JtYXQgbWFuaWZlc3QgYW5kIGl0IG1pZ2h0IGp1c3QgYmUgYW4gYXBwcm94aW1hdGlvbi4KCjIwMTUtMDItMTcgMTY6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXaGVuIHJlc2V0dGluZyB0aGUgaml0dGVyYnVmZmVyIGJlY2F1c2Ugb2YgcGFja2V0IGRpc2NvbnQsIGRvbid0IGZsdXNoIHN0aWNreSBldmVudHMKCSAgV2Ugd2lsbCBvdGhlcndpc2UgZmx1c2ggYXdheSBTVFJFQU1fU1RBUlQsIENBUFMgb3IgU0VHTUVOVCBldmVudHMgYW5kIHdpbGwKCSAgY29uZnVzZSBkb3duc3RyZWFtIHdpdGggYnVmZmVycyB0aGF0IGNvbWUgYmVmb3JlIHN1Y2ggZXZlbnRzLgoKMjAxNS0wMi0xNyAxMjoyMDo1NyArMDEwMCAgaGFyayA8aGFya0BwdXNjaWkubmw+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBBZGQgcHJvcGVydHkgcG9ydC1wYXR0ZXJuIHRvIHNwZWNpZnkgd2hpY2ggSkFDSyBwb3J0cyB0byBjb25uZWN0IHRvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA3MTkKCjIwMTUtMDItMTcgMTI6MzE6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogUmVkZWZpbmUgZ3N0X2lzb2ZmXyBzeW1ib2xzIHRvIGdzdF9pc29mZl9xdF8KCSAgV2UgbmVlZCBkaWZmZXJlbnQgc3ltYm9sIG5hbWVzLCBiZWNhdXNlIHRoZXNlIHN5bWJvbHMgYXJlIGFsc28gcHJlc2VudAoJICBpbiB0aGUgZnJhZ21lbnRlZCBwbHVnaW4gLi4uIHdoaWNoIHdpbGwgY2F1c2UgY29uZmxpY3RzIHdoZW4gZG9pbmcKCSAgc3RhdGljIGxpbmtpbmcKCjIwMTUtMDItMTYgMTQ6MzE6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9saW5lcy5jOgoJICBnb29tMmsxOiB1c2UgZnJhY3Rpb25hbCBwYXJ0IG9mIGZsb2F0IGRpdmlzaW9uCgoyMDE1LTAyLTE2IDEzOjU5OjE0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW46IHJlbW92ZSBkZWFkIGNvZGUKCSAgRXZlcnkgaW5zdGFuY2Ugb2YgZ290byBiZWFjaCBoYXMgYnVmX2luZm8gZXF1YWwgTlVMTC4gRG9uJ3QgY2hlY2sKCSAgZm9yIGEgY29uZGl0aW9uIHRoYXQgbmV2ZXIgaGFwcGVucy4KCSAgQ0lEICMxMjY4Mzk5CgoyMDE1LTAyLTE1IDIxOjQ1OjI0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4LXRlc3Q6IFBhcnNlIGVycm9yIG1lc3NhZ2UKCSAgVGhlIHRlc3QgaGFkIGEgZnVuY3Rpb24gdG8gcHJpbnQgdGhlIGVycm9yLCBidXQgd2FzIG5vdCBwYXJzaW5nIGl0LgoJICBUaGlzIHdhcyBjYXVzaW5nIHdhcm5pbmcgYWJvdXQgZGJnX2luZm8gYmVpbmcgdXNlZCB1bmluaXRpYWxpemVkLiBJZgoJICB0aGUgdGVzdCB3YXMgdGVzdGluZyBhbnkgZXJyb3JzLCB0aGlzIHdvdWxkIGhhdmUgY3Jhc2hlZC4KCjIwMTUtMDItMTUgMjE6MzQ6MjggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBGaXggbWluIGFuZCBtYXggZm9yIGJhbmRzIHByb3BlcnR5CgkgIFRoZSBudW1iZXIgb2YgRkZUcyBpcyBjYWxjdWxhdGVkIHdpdGggdGhlIGZvbGxvd2luZyBmb3JtdWxhOgoJICBndWludCBuZmZ0ID0gMiAqIGJhbmRzIC0gMjsKCSAgbmZmdCBpcyBwYXNzZWQgdG8gZ3N0X2ZmdF9mMzJfbmV3KCkgYXMgdGhlIGxlbiBhcmd1bWVudCBhbmQgaXMgb2YgdHlwZQoJICB1bnNpZ25lZCBpbnRlZ2VyLiBUaGlzIG1ldGhvZCByZXF1aXJlZCB0aGF0IGxlbiBpcyBhdCBsZWFzIDEsIHRoZW4KCSAgbWF4aW11bSBHX01BWElOVCwgYXMgb3RoZXIgdmFsdWVzIHdvdWxkIGJlIG5lZ2F0aXZlLiBJZiB3ZSBleHRyYXBvbGF0ZQoJICBmcm9tIHRoZSBmb3JtdWxhIGFib3ZlIGl0IG1lYW5zIHdlIG5lZWQgImJhbmRzIiB0byBiZSBiZXR3ZWVuIDIgYW5kCgkgICgoZ3VpbnQpR19NQVhJTlQgKyAyKSAvIDIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjEzCgoyMDE1LTAyLTE1IDE1OjUxOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IGZyZWVpbmcgb2Ygc2hhcmVkIG1lbW9yeQoJICBXaGVuIG1lbW9yeSAodGhhdCBoYXMgYmVlbiBzaGFyZWQgdXNpbmcgZ3N0X21lbW9yeV9zaGFyZSgpKSBhcmUgZnJlZWQsCgkgIHRoZSBtZW1vcnkgKG9yIHRoZSBETUFCVUYgRkQpIHNob3VsZCBub3QgYmVlIGZyZWVkLiBUaGVzZSBtZW1vcmllcyBoYXZlCgkgIGEgcGFyZW50LiBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgZXh0cmEgX3Y0bDJtZW1fZnJlZSBmdW5jdGlvbiBhbmQgYXZvaWQKCSAgY2FsbGluZyBjbG9zZSB0d2ljZSBvbiB0aGUgRE1BQlVGIEZELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTczCgoyMDE1LTAyLTE0IDExOjExOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHVzZSBzcGFyc2Ugc3RyZWFtcyBpbiBwdXNoLWJhc2VkIHNlZWtpbmcKCSAgVXNpbmcgdGhlIHNwYXJzZSBzdHJlYW1zIGNhbiBtYWtlIHRoZSBwdXNoLWJhc2VkIHNlZWtpbmcgcmV0dXJuCgkgIHRvbyBmYXIgaW4gdGhlIHN0cmVhbS4gSXQgYWxzbyBjYW4gbGVhZCB0byBpc3N1ZXMgYXMgdGhlCgkgIHNwYXJzZSBzdHJlYW1zIHdpbGwgYmUgaWdub3JlZCB3aGVuIHJlc3RhcnRpbmcgcGxheWJhY2sgYW5kLAoJICBpZiB0aGUgc3BhcnNlIHN0cmVhbSBpcyB0aGUgb25lIHRoYXQgaGFzIHRoZSBlYXJsaWVzdCBzYW1wbGUsCgkgIGl0IHdpbGwgY29uZnVzZSBxdGRlbXV4J3Mgb2Zmc2V0cyBhcyBvbmUgc3RyZWFtIHdpbGwgaGF2ZQoJICBhbiBlYXJsaWVyIG9mZnNldCB0aGFuIHRoZSBkZW11eGVyJ3Mgb25lIHdoaWNoIG1pZ2h0IGxlYWQgdG8KCSAgZWFybHkgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjYxCgoyMDE1LTAyLTEzIDE5OjQzOjE2ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5IGluIHB1bHNlc2lua19xdWVyeQoJICBJbiBwdWxzZXNpbmtfcXVlcnkgZnVuY3Rpb24sIHdlIHVzZSBhIHN3aXRjaCBmb3IgdGhlIHF1ZXJ5CgkgIHR5cGUuIEluIHRoZSBDQVBTIGNhc2UsIHRoZXJlIGlzIG5vICdicmVhaycsIGluc3RlYWQgd2UKCSAgcmV0dXJuIHJpZ2h0IGF3YXkuIFVzZSBhIGJyZWFrIGFuZCByZXR1cm4gYXQgdGhlIGVuZCBvZgoJICB0aGUgZnVuY3Rpb24gaW5zdGVhZCBmb3IgYmV0dGVyIGNvZGUgcmVhZGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ0NjEKCjIwMTUtMDItMTMgMjA6NDA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZsYWcgYXMgc2luayBmcm9tIHRoZSBzdGFydAoKMjAxNS0wMi0xMSAxNTozMDo0NCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IEluaXRpYWwgJ3NpZHgnIGF0b20gcGFyc2luZyBzdXBwb3J0CgkgIFBhcnNlIHRoZSAnc2lkeCcgYXRvbSBhbmQgdXBkYXRlIHRoZSB0b3RhbCBkdXJhdGlvbiBhY2NvcmRpbmcgdG8gdGhlCgkgIHBhcnNlciByZXN1bHQuIFRoZSBpc29mZiBwYXJzZXIgY29kZSBpcyBpbXBvcnRlZCBmcm9tCgkgIGdzdC1wbHVnaW5zLWJhZCdzIGRhc2hkZW11eCBhbmQgYSBnc3RfaXNvZmZfc2lkeF9wYXJzZXJfYWRkX2RhdGEoKQoJICBmdW5jdGlvbiB3YXMgZmFjdG9yZWQgb3V0IG9mIHRoZSBnc3RfaXNvZmZfc2lkeF9wYXJzZXJfYWRkX2J1ZmZlcigpCgkgIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNTc4CgoyMDE1LTAyLTExIDA1OjA2OjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkKCSAgVXNlIGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKSBmcm9tIGxpYmdzdHZpZGVvIHRvIGd1ZXNzCgkgIHNlbnNpYmxlIGNvbW1vbiBmcmFtZXJhdGVzIHdoZXJlIHBvc3NpYmxlIGZyb20gdGhlCgkgIGZsb2F0aW5nIHBvaW50IGZwcyBpbiB0aGUgc3RyZWFtLgoKMjAxNS0wMi0xMSAxMzo1MzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBJbXByb3ZlIGFuZCBmaXggTEFURU5DWSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIG5vdyBmb2xsb3dzIHRoZSBkZXNpZ24gZG9jcyBldmVyeXdoZXJlLCBlc3BlY2lhbGx5IHRoZSBtYXhpbXVtIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxMDYKCjIwMTUtMDItMTEgMTA6Mjk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEhhbmRsZSBmaXJzdCBSVENQIHBhY2tldCBhbmQgZWFybHkgZmVlZGJhY2sgY29ycmVjdGx5CgkgIEFjY29yZGluZyB0byBSRkMgNDU4NSBzZWN0aW9uIDMuNS4zIHN0ZXAgMSB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gc2VuZAoJICBhbiBlYXJseSBSVENQIHBhY2tldCBmb3IgdGhlIHZlcnkgZmlyc3Qgb25lLiBJdCBtdXN0IGJlIGEgcmVndWxhciBvbmUuCgkgIEFsc28gbWFrZSBzdXJlIHRvIG5vdCB1c2UgbGFzdF9ydGNwX3NlbmRfdGltZSBpbiBhbnkgY2FsY3VsYXRpb25zIHVudGlsCgkgIHdlIGFjdHVhbGx5IHNlbnQgYW4gUlRDUCBwYWNrZXQgYWxyZWFkeS4gSW4gc3BlY2lmaWMgdGhpcyBtZWFucyB0aGF0IHdlCgkgIG11c3Qgbm90IHVzZSBpdCBmb3IgZm9yd2FyZCByZWNvbnNpZGVyYXRpb24gb2YgdGhlIGN1cnJlbnQgUlRDUCBzZW5kIHRpbWUuCgkgIEluc3RlYWQgd2UgZG9uJ3QgZG8gYW55IGZvcndhcmQgcmVjb25zaWRlcmF0aW9uIGZvciB0aGUgZmlyc3QgUlRDUCBwYWNrZXQuCgoyMDE1LTAyLTEwIDE4OjUzOjUzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogZml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDUuMAoKMjAxNS0wMi0xMCAxNjowMDowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZml4IGV4YW1wbGUgcGlwZWxpbmUgcHJvcGVybHkKCSAgeDI2NGVuYyBtaWdodCBub3QgaGF2ZSBhIG1heC1rZXktaW50IHByb3BlcnR5LCBidXQgaXQKCSAgaGFzIGEga2V5LWludC1tYXggcHJvcGVydHkuLi4KCjIwMTUtMDItMTAgMTQ6NTc6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4OiBmaXggdHlwbwoKMjAxNS0wMi0xMCAxNDo1NjoyMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZQoJICBFbGVtZW50IHgyNjRlbmMgZG9lc24ndCBoYXZlIGEgbWF4LWtleS1pbnQgcHJvcGVydHkKCjIwMTUtMDItMTAgMTM6Mjk6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogZml4IG1lbW9yeSBsZWFrCgkgIElmIGV4ZWN1dGlvbiBnb2VzIHRvIHRoZSBiZWFjaCBpbiBsaW5lIDk4MSwgYnVmX2luZm8gZ29lcyBvdXQgb2Ygc2NvcGUgd2l0aG91dAoJICB0aGUgbWVtb3J5IGJlaW5nIGZyZWUnZC4gSGFuZGxlIHRoaXMgY2FzZS4KCSAgQ0lEICMxMjY4NDAzCgoyMDE1LTAyLTA4IDEyOjAzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggYXdrd2FyZCBpZiBjbGF1c2UKCjIwMTUtMDItMDcgMDE6NDE6NDkgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEFkZCB1bml0IHRlc3QgZm9yIGZpbGUgc3BsaXR0aW5nCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgZmlsZSBzcGxpdHRpbmcsIGFuZCBmaXggdGhlIGxlYWtzIGluIHRoZQoJICBzcGxpdG11eHNpbmsgaXQgZm91bmQKCjIwMTUtMDItMDYgMTQ6NDM6MjIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCB3aGljaCBzdG9wIHZhcmlhYmxlIGlzIHVzZWQgaW4gYXNzaWdubWVudAoJICBBc3NpZ25tZW50IGlzIGRvbmUgdG8gdmFyaWFibGUgc2VnbWVudC5zdG9wIHdoZW4gdGhlIGludGVudGlvbiB3YXMgdG8gYXNzaWduIHRvCgkgIGxvY2FsIHZhcmlhYmxlIHN0b3AuIEluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgaXQsIHRoZSB2YWx1ZSBpcyBub3cgY2xhbXBlZCBhbmQKCSAgc2VnbWVudC5zdG9wIGlzIHNldCB0byBpdCBzb29uIGFmdGVyLgoJICBDSUQgIzEyNjU3NzMKCjIwMTUtMDItMDcgMDA6MTk6MzYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eDogRml4IG1lbW9yeSBsZWFrcyB1bnRpbCB0aGUgdGVzdCB2YWxncmluZHMgY2xlYW4KCjIwMTUtMDItMDYgMDY6NDI6MTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXg6IEhhbmRsZSBlYXJseSBFT1MgZHVyaW5nIHBhcnQgcHJlcGFyYXRpb24KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGEgc2hvcnQgZmlsZSByZWFjaGVzIEVPUyB3aGlsZSB3ZSdyZSBzdGlsbAoJICB3YWl0aW5nIGZvciBuby1tb3JlLXBhZHMsIGFuZCBtYWtlIHN1cmUgd2UgY29udGludWUgdG8gdGhlIGludGVybmFsCgkgIFJFQURZIHN0YXRlIGZvciByZWFsIHBsYXliYWNrIHRvIHdvcmsgcHJvcGVybHkgbGF0ZXIuCgoyMDE1LTAyLTA2IDA1OjAzOjE5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMC5vZ2c6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMS5vZ2c6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMi5vZ2c6CgkgIHRlc3RzOiBDaGFuZ2Ugc3BsaXRtdXggdGVzdCB2aWRlbyBmaWxlcwoJICBBdm9pZCB0ZXN0IGZhaWx1cmUgYnkgY2hhbmdpbmcgdGhlIHN0b3JlZCB2aWRlbyByZXNvbHV0aW9uCgkgIGZyb20gODB4NjAgdG8gODB4NjQsIHdoaWNoIG5lZWRzIGJ1ZyA3NDEwMzAgdG8gYmUgZml4ZWQuCgoyMDE0LTA4LTAxIDAwOjA3OjUzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdHV0aWxzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXR1dGlscy5oOgoJKiBnc3QvbXVsdGlmaWxlL3Rlc3Qtc3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDAub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDEub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDIub2dnOgoJICBzcGxpdG11eDogSW1wbGVtZW50IG5ldyBlbGVtZW50cyBmb3Igc3BsaXR0aW5nIGZpbGVzIGF0IG11eCBsZXZlbC4KCSAgSW1wbGVtZW50IDIgbmV3IGVsZW1lbnRzIC0gc3BsaXRtdXhzaW5rIGFuZCBzcGxpdG11eHNyYy4KCSAgc3BsaXRtdXhzaW5rIGlzIGEgYmluIHdoaWNoIHdyYXBzIGEgbXV4ZXIgYW5kIHRha2VzIDEgdmlkZW8gc3RyZWFtLAoJICBwbHVzIGF1ZGlvL3N1YnRpdGxlIHN0cmVhbXMsIGFuZCBzdGFydHMgYSBuZXcgZmlsZQoJICB3aGVuZXZlciBuZWNlc3NhcnkgdG8gYXZvaWQgb3ZlcnJ1bm5pbmcgYSB0aHJlc2hvbGQgb2YgZWl0aGVyIGJ5dGVzCgkgIG9yIHRpbWUuIE5ldyBmaWxlcyBhcmUgc3RhcnRlZCBhdCBhIGtleWZyYW1lLCBhbmQgY29ycmVzcG9uZGluZyBhdWRpbwoJICBhbmQgc3VidGl0bGUgc3RyZWFtcyBhcmUgc3BsaXQgYXQgcGFja2V0IGJvdW5kYXJpZXMgdG8gbWF0Y2gKCSAgdmlkZW8gR09QIHRpbWVzdGFtcHMuCgkgIHNwbGl0bXV4c3JjIGlzIGEgY29ycmVzcG9uZGluZyBzb3VyY2UgZWxlbWVudCB3aGljaCBoYW5kbGVzCgkgIHRoZSBzcGxpdG11eDovLyBVUkwgYW5kIHBsYXlzIGJhY2sgYWxsIGNvbXBvbmVudCBmaWxlcywKCSAgcmVjb25zdHJ1Y3RpbmcgdGhlIG9yaWdpbmFsIGVsZW1lbnRhcnkgc3RyZWFtcyBhcyBpdCBnb2VzLgoKMjAxNS0wMi0wNCAxNjozMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvZmlsZXMvdGVzdC1jZXJ0LnBlbToKCSogdGVzdHMvZmlsZXMvdGVzdC1rZXkucGVtOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHVwZGF0ZSBzc2wga2V5L2NlcnQgcGFpcgoJICBPdXIgb25lcyB3ZXJlIGV4cGlyZWQuIFRoZSBuZXcgb25lcyB3ZXJlIGNvcGllZCBmcm9tIGxpYnNvdXAncwoJICB0ZXN0cyBmaWxlcy4KCSAgQWxzbyBzZXRzIHRoZSBwcm9wZXJ0eSB0byB1c2Ugb3VyIG93biBjZXJ0IHRvIHZhbGlkYXRlIHRoZQoJICBzZXJ2ZXIsIG90aGVyd2lzZSB0aGUgZGVmYXVsdCBzeXN0ZW0gY2VydHMgd291bGQgYmUgdXNlZAoJICBhbmQgaXQgd291bGQgZmFpbC4KCjIwMTUtMDItMDQgMDI6MjU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvCgkgIGEgc2VnZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE5OQoKMjAxNS0wMi0wNCAyMTo1MDo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIEdTVF9TRUdNRU5UX0ZMQUdfVFJJQ0tNT0RFX0tFWV9VTklUUwoJICBXaGVuIHRoZSB0cmlja21vZGUga2V5LXVuaXRzIGZsYWcgaXMgc2V0IG9uIHRoZSBzZWdtZW50LCBzaW1wbHkgc2tpcAoJICBhbnkgc2FtcGxlIG9uIGEgdmlkZW8gc3RyZWFtIHRoYXQgaXNuJ3QgYSBrZXlmcmFtZQoKMjAxNS0wMi0wMyAxNzozNTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjb250YWluZXIgaGFuZGxpbmcKCSAgV2UgZGV0ZWN0IGEgY29udGFpbmVyIGNvcnJlY3RseSBub3cgc28gd2UgbmVlZCB0byByZXZlcnQgdGhlIHdlaXJkCgkgIGNoZWNrIHRoZXJlIHdhcyBiZWZvcmUuCgkgIFVzZSBnc3RfcnRzcHNyY19zdHJlYW1fcHVzaF9ldmVudCgpIHRvIHB1c2ggdGhlIGNhcHMgZXZlbnQgb24gdGhlCgkgIHJpZ2h0IHBhZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzOTEKCjIwMTUtMDItMDIgMTk6NDY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBhbmQgd3JpdGUgc3RyZWFtIHRhZ3MKCSAgU2VwYXJhdGUgZ2xvYmFsIGZyb20gc3RyZWFtIHRhZ3Mgc3RvcmFnZSBhbmQgd3JpdGUgdGhlbSB0byB0aGUKCSAgYXBwcm9wcmlhdGUgdGFncyBlbnRyeSBpbiB0aGUgb3V0cHV0CgoyMDE1LTAyLTAyIDEzOjM1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2Ugc3RyZWFtIHRhZ3MKCSAgS2VlcCBnbG9iYWwgYW5kIHN0cmVhbSB0YWdzIHNlcGFyYXRlbHkgYW5kIHBhcnNlIHRoZSB1ZHRhIG5vZGUKCSAgdGhhdCBjYW4gYmUgZm91bmQgdW5kZXIgdGhlIHRyYWsgYXRvbS4gVGhlIHVkdGEgd2lsbCBjb250YWluCgkgIHN0cmVhbSBzcGVjaWZpYyB0YWdzIGFuZCB3aWxsIGJlIHB1c2hlZCBhcyBzdWNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMTQ6MzI6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogc3RvcmUgc3RyZWFtIGFuZCBjb250YWluZXIgdGFncyBzZXBhcmF0ZWx5CgkgIFRhZ3MgcmVjZWl2ZWQgdmlhIGV2ZW50cywgd2hlbiBtYXJrZWQgYXMgc3RyZWFtIHRhZ3MsIHdpbGwKCSAgYmUgc3RvcmVkIG9uIHRoYXQgc3RyZWFtJ3MgdHJhayBhdG9tIGluc3RlYWQgb2YgYmVpbmcgc3RvcmVkCgkgIGluIHRoZSBtYWluIHRhZ3MgYXRvbS4gVGhpcyBhbGxvd3MgdGhlIHJlc3VsdGluZyBmaWxlIHRvIGhhdmUKCSAgZ2xvYmFsIGFuZCBzdHJlYW0gdGFncyBzdG9yZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMTM6MTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciB0YWdzIGZ1bmN0aW9ucyB0byBhY2NvbW9kYXRhIFVEVEEgYXQgdHJhayBsZXZlbAoJICBSZWZhY3RvciB0aGUgZnVuY3Rpb25zIHRoYXQgd2VyZSBib3VuZCB0byB0aGUgJ21vb3YnIGF0b20gdG8KCSAgZGlyZWN0bHkgcGFzcyB0aGUgZGVzaXJlZCAndWR0YScgdGhhdCBzaG91bGQgcmVjZWl2ZSB0aGUgdGFncy4KCSAgVGhpcyBhbGxvd3MgdGhlIHRhZ3MgdG8gYmUgd3JpdHRlbiB0byAndWR0YScgYXQgdGhlICdtb292JyBvcgoJICB0aGUgJ3RyYWsnIGxldmVsLCBjcmVhdGluZyB0YWdzIHRoYXQgYXJlIGZvciB0aGUgY29udGFpbmVyIG9yCgkgIGZvciBhIHN0cmVhbSBvbmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDEwOjQ3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYXAgYXBwbGljYXRpb24gbmFtZSB0byBfc3dyIHRhZwoJICBJdCByZWZlcnMgdG8gdGhlIGFwcGxpY2F0aW9uIG5hbWUgYW5kIHZlcnNpb24gdXNlZCB0byBjcmVhdGUgdGhlCgkgIGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAwMjozMDo0MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IEZpeCBzZWVraW5nIHBhc3QgdGhlIGVuZCBvZiB0aGUgZmlsZSBpbiByZXZlcnNlIG1vZGUuCgkgIFNuYXAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSB3aGVuIHNlZWtpbmcgcGFzdCB0aGUgZW5kIGluIHJldmVyc2UgbW9kZSwKCSAgYW5kIGFsc28gZml4IEdTVF9TRUVLX1RZUEVfRU5EIGFuZCBHU1RfU0VFS19UWVBFX05PTkUgaGFuZGxpbmcKCSAgZm9yIHRoZSBzdG9wIHBvc2l0aW9uIGJ5IGFsd2F5cyBzZWVraW5nIG9uIGEgc2VnbWVudCBpbiBzdHJlYW0gdGltZQoKMjAxNS0wMS0zMCAxODoyMjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IHNpZ25hbCBuYW1lCgkgIFRoaXMgd2Fzbid0IG1lYW50IHRvIGJlIHB1c2hlZCBhdCBhbGwgeWV0LCBidXQgbm93IHRoYXQgaXQncyB0aGVyZQoJICBhbHJlYWR5IGl0IHdvbid0IGh1cnQgdG8gbWFrZSBpdCBjb3JyZWN0IGF0IGxlYXN0LgoKMjAxNS0wMS0zMCAxNjo1NjozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBGaXggdHlwbyBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAxLTMwIDE2OjUwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgb24tcmVjZWl2aW5nLXJ0Y3Agc2lnbmFsCgkgIFRoaXMgd2lsbCBiZSBlbWl0dGVkIHdoZW5ldmVyIGFuIFJUQ1AgcGFja2V0IGlzIHJlY2VpdmVkLiBEaWZmZXJlbnQgdG8KCSAgb24tZmVlZGJhY2stcnRjcCwgdGhpcyBzaWduYWwgZ2V0cyBldmVyeSBjb21wbGV0ZSBSVENQIHBhY2tldCBhbmQgbm90CgkgIGp1c3QgdGhlIGluZGl2aWR1YWwgZmVlZGJhY2sgcGFja2V0cy4KCjIwMTUtMDEtMjggMTQ6MDI6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogc2ltcGxpZnkgc2VnbWVudC5iYXNlIG1hdGgKCSAgUmVtb3ZlIGEgZml4IGZvciBoZWF2aWx5IGVkaXRlZCBmaWxlcyBhZGRlZCBmb3IgZml4aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDU4MzAgdG8gd29yawoJICB3aXRoIHNlZWtzIGFuZCBwcm9wZXIgZ2FwcyBwbGF5YmFjay4gVGhlIGZpeCB3YXMgcmVwbGFjZWQKCSAgZm9yIGEgbW9yZSBnZW5lcmFsIHNvbHV0aW9uIHRoYXQgYmFzZXMgb24gdXNpbmcgcHJldmlvdXMKCSAgc2VnbWVudCdzIGR1cmF0aW9uLCBqdXN0IGxpa2UgaXQgd29ya3MgZm9yIG1lZGlhIHNlZ21lbnRzCgkgIHBsYXliYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNTE4CgoyMDE1LTAxLTI3IDE0OjAwOjM1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkgIHZpZGVvbWl4ZXI6IHVwZGF0ZSBvcmMgZmlsZXMKCjIwMTUtMDEtMjYgMTc6MDg6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZGF0YSBkcm9wcGluZyBmb3IgZnJhZ21lbnRlZCBzdHJlYW1zCgkgIEZvciBmcmFnbWVudGVkIHN0cmVhbXMgd2l0aCBleHRyYSBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIG1kYXQKCSAgcXRkZW11eCB3YXMgbm90IGRyb3BwaW5nIHRob3NlIGJ5dGVzIGFuZCB3b3VsZCB0cnkgdG8gdXNlCgkgIHRoYXQgZXh0cmEgZGF0YSBhcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmV3IGF0b20sIGNhdXNpbmcgdGhlCgkgIHN0cmVhbSB0byBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNDA3CgoyMDE1LTAxLTI1IDE3OjMwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEZXByZWNhdGUgcnRjcC1pbW1lZGlhdGUtZmVlZGJhY2stdGhyZXNob2xkIHByb3BlcnR5CgkgIEl0IGhhZCBubyBlZmZlY3Qgc2luY2UgcXVpdGUgc29tZSB0aW1lIGFuZCBhbHNvIGlzIG5vdCBuZWVkZWQgaW4gZ2VuZXJhbCwKCSAgZXNwZWNpYWxseSBub3QgdG8gc3dpdGNoIGJldHdlZW4gaW1tZWRpYXRlIGZlZWRiYWNrIG1vZGUgYW5kIGVhcmx5IGZlZWRiYWNrCgkgIG1vZGUuIFRoZSBsYXRlc3QgdW5kZXJzdGFuZGluZyBvZiB0aGUgUkZDIGlzIHRoYXQgZnJvbSB0aGUgZW5kcG9pbnQgcG9pbnQgb2YKCSAgdmlldywgYm90aCBtb2RlcyBhcmUgZXhhY3RseSB0aGUgc2FtZS4gUlRDUCBpcyBvbmx5IGFsbG93ZWQgdG8gdXNlIHRoZQoJICBiYW5kd2lkdGggYXMgZ2l2ZW4gYnkgdGhlIFJGQyBjb25zdHJhaW50cywgYXMgc3VjaCBpdCBpcyBvbmx5IGV2ZXIgcG9zc2libGUKCSAgdG8gc2NoZWR1bGUgYSBSVENQIHBhY2tldCBlYXJseSBidXQgaXQncyBhZ2FpbnN0IHRoZSBSRkMgdG8gc2NoZWR1bGUgbW9yZSBSVENQCgkgIHBhY2tldHMuCgkgIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gaW1tZWRpYXRlIGZlZWRiYWNrIG1vZGUgYW5kIGVhcmx5IGZlZWRiYWNrIG1vZGUgaXMgdGhhdAoJICB0aGUgZm9ybWVyIGd1YXJhbnRlZXMgdGhhdCBhbiBSVENQIHBhY2tldCBjYW4gYmUgc2VudCBmb3IgZXZlcnkgZXZlbnQKCSAgImltbWVkaWF0ZWx5Iiwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgYmFuZHdpZHRoIGNhbGN1bGF0aW9ucyBmcm9tIHRoZSBSRkMgaGF2ZQoJICByZXN1bHRlZCBpbiBhbiBSVENQIHNjaGVkdWxpbmcgaW50ZXJ2YWwgdGhhdCBpcyBzbWFsbCBlbm91Z2guIEVhcmx5IGZlZWRiYWNrCgkgIG1vZGUgb24gdGhlIG90aGVyIGhhbmQgbWVhbnMgdGhhdCB3ZSBjYW4gc2NoZWR1bGUgc29tZSBwYWNrZXRzIGVhcmx5IHRvIG1ha2UKCSAgdGhhdCBoYXBwZW4sIGJ1dCBpdCdzIG5vdCBndWFyYW50ZWVkIGF0IGFsbCB0aGF0IGl0J3MgcG9zc2libGUgdG8gc2NoZWR1bGUKCSAgYW4gUlRDUCBwYWNrZXQgcGVyIGV2ZW50IChpLmUuIHRoZXkgbmVlZCB0byBiZSBhY2N1bXVsYXRlZCBvciBkcm9wcGVkKS4KCjIwMTUtMDEtMjIgMTA6Mjk6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERlbGF5IHRoZSBuZXh0IHJlZ3VsYXIgUlRDUCBwYWNrZXQgYWZ0ZXIgZWFybHkgUlRDUAoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIG5vdCBleGNlZWQgdGhlIHNob3J0IHRlcm0gYXZlcmFnZSBSVENQIGJpdHJhdGUgd2hlbgoJICB1c2luZyBlYXJseSBmZWVkYmFjayBhcyBjb21wYXJlZCB0byB3aXRob3V0IGVhcmx5IGZlZWRiYWNrLgoKMjAxNS0wMS0yMiAxMDoyODo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIG5ldyBzZW5kLXJ0Y3AtZnVsbCBzaWduYWwKCSAgVGhpcyBpbmRpY2F0ZXMgd2l0aCBhIGJvb2xlYW4gcmV0dXJuIHZhbHVlIGlmIHNjaGVkdWxpbmcgYSBuZXcgUlRDUCBwYWNrZXQKCSAgd2l0aGluIHRoZSByZXF1ZXN0ZWQgZGVsYXkgd2FzIHBvc3NpYmxlLiBPdGhlcndpc2UgaXQgYmVoYXZlcyBleGFjdGx5IGxpa2UKCSAgc2VuZC1ydGNwLiBUaGUgb25seSByZWFzb24gZm9yIGFkZGluZyBhIG5ldyBzaWduYWwgaXMgQUJJIGNvbXBhdGliaWxpdHkuCgoyMDE1LTAxLTIwIDAwOjMyOjAwICswMDAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSBmb3JtYXRfaW5mbyBpbiBxdWVyeV9nZXRjYXBzCgkgIElmIHdlIGNhbiBub3QgY3JlYXRlIHByb2JlIHN0cmVhbSBpbiBxdWVyeV9nZXRjYXBzIGZ1bmN0aW9uLCBpdCB3aWxsIGFwcGVhcgoJICBtZW1vcnkgbGVha2FnZSBmcm9tIGZvcm1hdCBpbmZvLgoJICBUaGUgZm9sbG93aW5nIHBhdGNoIHByZXZlbnQgbWVtb3J5IGxlYWthZ2UgaW4gcHVsc2VzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTc4CgoyMDE1LTAxLTIzIDE3OjM1OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBObyBtYXR0ZXIgaWYgZ3N0X21hdHJvc2thX3JlYWRfY29tbW9uX3BhcnNlX2luZGV4X2N1ZXRyYWNrICgpIHJldHVybnMgdGhhdCB0aGUKCSAgZmxvdyBpcyBPSyBvciBub3QsIHRoZSBjaGVjayB0aGVyZSB3aWxsIGJlIGEgYnJlYWsgZnJvbSB0aGUgc3dpdGNoLiBSZW1vdmluZyB0aGUKCSAgY2hlY2sgc2luY2UgdGhlIG91dGNvbWUgaXMgdGhlIHNhbWUuCgkgIENJRCAjMTI2NTc2MgoKMjAxNS0wMS0yMyAxNToxNjoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEF2b2lkIHVzaW5nIGZyZWVkIHZhcmlhYmxlCgkgIHRoZSBuYW1lIHZhcmlhYmxlIG1pZ2h0IGhhdmUgYmVlbiBhdHRyaWJ1dGVkIHRvIHBhZF9uYW1lLCBtYWtlIHN1cmUgd2UKCSAgZnJlZSBpdCBvbmx5ICphZnRlciogcGFkX25hbWUgaGFzIGJlZW4gdXNlZC4KCSAgQ292ZXJpdHkgQ0lEIDogMTI2NTc3NAoKMjAxNS0wMS0yMyAxNToxMzo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQXZvaWQgdXNpbmcgZnJlZWQgdmFyaWFibGUKCSAgdGhlIG5hbWUgdmFyaWFibGUgbWlnaHQgaGF2ZSBiZWVuIGF0dHJpYnV0ZWQgdG8gcGFkX25hbWUsIG1ha2Ugc3VyZSB3ZQoJICBmcmVlIGl0IG9ubHkgKmFmdGVyKiBwYWRfbmFtZSBoYXMgYmVlbiB1c2VkLgoJICBDb3Zlcml0eSBDSUQgOiAxMjY1Nzc1CgoyMDE0LTExLTE0IDEyOjU5OjMxICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHJldXNlIGNhcHMgZnJhbWVyYXRlIGlmIG5vdCBvdmVyd3JpdHRlbiBieSB2NGwyIGRldmljZQoJICBFbmFibGVzIGR1cmF0aW9uIHNldHRpbmcgaW4gdjRsMnNyYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQwMwoKMjAxNS0wMS0yMiAxMDoyOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IGluZGVudGlvbgoKMjAxNS0wMS0yMSAxNzozNjoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXhfZHVtcDogQnlwYXNzIGV2ZW4gbW9yZSBjb2RlIGlmIGRlYnVnZ2luZyBpcyBkaXNhYmxlZAoJICBBbmQgYXZvaWQgdXNpbmcgdmFyaWFibGVzIHRoYXQgd29uJ3QgZXhpc3Qgd2hlbiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQKCjIwMTUtMDEtMjEgMTU6MzA6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBPbmx5IHRyYXZlcnNlL2R1bXAgbm9kZXMgaWYgZ3VhcmFudGVlZCB0byBiZSB1c2VkCgkgIF9fZ3N0X2RlYnVnX21pbiBpcyB0aGUgImdsb2JhbCIgbG93ZXN0IGRlYnVnIGxldmVsIHNldC4gVGhlcmUncyBubwoJICBndWFyYW50ZWUgdGhlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgaXMgYWN0dWFsbHkgc2V0IGF0IHRoYXQgbGV2ZWwuCgoyMDE0LTEyLTIwIDE3OjA5OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogQXZvaWQgZGVidWdnaW5nIGJlbG93IGNhdGVnb3J5IHRocmVzaG9sZAoJICBUaGlzIHBhcnQgYWxvbmUgd2FzIHdoYXQgbWFkZSB0aGUgbWF0cm9za2EgdGhyZWFkIHRha2UgYSBmdWxsIGNvcmUKCSAgb24gYW4gYW5kcm9pZCBwaG9uZSAuLi4KCjIwMTUtMDEtMjEgMDk6NTU6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5jOgoJKiBleHQvbWlrbW9kL21pa21vZF90eXBlcy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQ29uc3RpZnkgc29tZSBzdGF0aWMgYXJyYXlzIGV2ZXJ5d2hlcmUKCjIwMTUtMDEtMTkgMTc6NDk6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWFkbG9jayBzZWVraW5nIGluIGZpbGVzIHdpdGhvdXQgc2VlayBlbnRyaWVzCgkgIEEgbXV0ZXggdW5sb2NrIHdhcyBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTc1CgoyMDE1LTAxLTE5IDEyOjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gYmxlbmQgZnVuY3Rpb24gd2l0aCBuZWdhdGl2ZSB5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMTUKCjIwMTUtMDEtMTMgMTY6NDk6MzQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByb3h5IGdldGNhcHMKCSAgUmVwbGFjZSB0aGUgc2lua19xdWVyeSB3aXRoIG5ldyBnZXRjYXBzKCkgdmlydHVhbCBhbmQgdXNlIHRoZSBwcm94eQoJICBoZWxwZXIgd2l0aCB0aGUgcHJvYmVkIGNhcHMuIFRoaXMgYWxsb3cgdXBzdHJlYW0gZWxlbWVudCB0YWtpbmcgZGVjaXNpb24KCSAgYmFzZSBvbiB3aGF0IGlzIHN1cHBvcnRlZCBkb3duc3RyZWFtLgoKMjAxNS0wMS0xMyAxOTowNToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIHN1cHBvcnQgZm9yIHYyMTAKCjIwMTUtMDEtMTMgMTg6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdjIxMCBpcyB2MjEwLCBub3QgVVlWWSBhbmQgeXV2MiBpcyBZVVkyLCBub3QgSTQyMAoJICBBbHNvIGFkZCBhIGZldyBvdGhlciByYXcgdmlkZW8gZm9ybWF0cyB3ZSBzdXBwb3J0OiB2MzA4LCB2MjE2CgkgIGFuZCBhZGQgY29tbWVudHMgZm9yIGEgZmV3IG90aGVycyB3ZSBkb24ndCBzdXBwb3J0IHlldC4KCSAgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjL3RlY2hub3Rlcy90bjIxNjIvCgoyMDE1LTAxLTEyIDE1OjU2OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMmM2Yjk1IHRvIGJjNzZhOGIKCjIwMTUtMDEtMTAgMTU6NTE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IERpc2FibGUgaGFjayBmb3IgTlNBcHAgaXRlcmF0aW9uIHdpdGggYSBzcGVjaWFsICNkZWZpbmUKCSAgVGhlIGhhY2sgY2F1c2VzIGRlYWRsb2NrcyBhbmQgb3RoZXIgaW50ZXJlc3RpbmcgcHJvYmxlbXMgYW5kIGl0IHJlYWxseQoJICBjYW4gb25seSBiZSBmaXhlZCBwcm9wZXJseSBpbnNpZGUgR0xpYi4gV2Ugd2lsbCBpbmNsdWRlIGEgcGF0Y2ggZm9yCgkgIEdMaWIgaW4gb3VyIGJ1aWxkcyBmb3Igbm93IHRoYXQgaGFuZGxlcyB0aGlzLCBhbmQgaG9wZWZ1bGx5IGF0IHNvbWUKCSAgcG9pbnQgR0xpYiB3aWxsIGFsc28gbWVyZ2UgYSBwcm9wZXIgc29sdXRpb24uCgkgIEEgcHJvcGVyIHNvbHV0aW9uIHdvdWxkIGZpcnN0IHJlcXVpcmUgdG8gcmVmYWN0b3IgdGhlIHBvbGxpbmcgaW4KCSAgR01haW5Db250ZXh0IHRvIG9ubHkgcHJvdmlkZSBhIHNpbmdsZSBmZCwgZS5nLiB2aWEgZXBvbGwva3F1ZXVlCgkgIG9yIGEgdGhyZWFkIGxpa2UgdGhlIG9uZSBhZGRlZCBieSBvdXIgcGF0Y2guIFRoZW4gdGhpcyBzaW5nbGUKCSAgZmQgY291bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIEdNYWluQ29udGV4dCBhbmQgZGlyZWN0bHkgaW50ZWdyYXRlZAoJICBpbnRvIGEgTlNSdW5Mb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQzNzQKCjIwMTUtMDEtMDggMjE6MDc6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1bmNvcmsgaWYgbmVlZGVkIHVwb24gY29tbWl0CgkgIC4uLiB0byBwcm92aWRlIGZvciBhIHJ1bm5pbmcgY2xvY2suCgoyMDE1LTAxLTA5IDE2OjU5OjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcmV2ZW50IHJlbmVnb3RpYXRpb24KCSAgUmVuZWdvdGlhdGlvbiBpc24ndCBzdXBwb3J0ZWQsIHNpbXBseSBwcmV2ZW50IGl0IHRoZSB3YXkgd2UgZG8gaW4KCSAgdjRsMnNyYy4KCjIwMTUtMDEtMDYgMTM6NTQ6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERvbid0IHVubG9jayB0aGUgc3RyZWFtIGxvY2sgdHdpY2UKCjIwMTUtMDEtMDkgMTE6NDA6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc3RyZWFtIHRpbWUgY29udmVyc2lvbgoJICBVc2UgdGhlIHJpZ2h0IG1hY3JvIHRvIGNvbnZlcnQgdG8gdGhlIGNvcnJlY3Qgc2NhbGUgb3IgdGhlCgkgIHNlZ21lbnQgaW5mb3JtYXRpb24gd2lsbCBiZSB3cm9uZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNTcyCgoyMDE1LTAxLTA3IDE4OjQ4OjU4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIHByb3RlY3Rpb24gYWdhaW5zdCBkcml2ZXIgYnVnCgkgIHY0bDJsb29wYmFjayBkcml2ZXIgaGFzIGEgdGhpcyBuYXN0eSBidWcgdGhhdCBpZiB0aGUgcXVldWUgaXMgbGFyZ2VyCgkgIHRoZW4gMiBidWZmZXJzLCBpdCByZXR1cm5zIHJhbmRvbSBpbmRleCBvbiBkcWJ1Zi4gU28gZmFyIHdlIGFzc3VtZWQKCSAgdGhhdCB0aGUgaW5kZXggd2FzIGFsd2F5cyByaWdodCwgd2hpY2ggd291bGQgbGVhZCB0byBtZW1vcnkgYmVpbmcKCSAgdW5yZWYgdHdpY2UsIGFuZCBldmVudHVhbGx5IGNyYXNoLgoKMjAxNS0wMS0wNyAxNzo1ODowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRG9uJ3QgdXNlIGFsbG9jYXRvciBzaXplIHRvIGl0ZXJhdGUKCSAgQXMgdGhlIGJ1ZmZlciBhcnJheSBpcyBmaXhlZCBzaXplIGFuZCBzbWFsbCwgaXQncyBzYWZlciB0byBzaW1wbHkKCSAgdXNlIHRoaXMgc3RhdGljIHNpemUgdG8gY2xlYW51cCB0aGUgYnVmZmVycy4gVGhpcyBpcyBhbHNvIG1vcmUKCSAgY29uc2lzdGVudCB3aXRoIHRoZSByZXN0LiBUaGUgYXNzb2NpYXRlZCBtZXRob2QgaXMgbm8gbG9uZ2VyCgkgIHJlcXVpcmVkIGFuZCBjYW4gYmUgZHJvcHBlZC4KCjIwMTUtMDEtMDcgMTc6NTU6MTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IGNsZWFuIGJ1ZmZlciBhcnJheSBpbiBkaXNwb3NlCgkgIFRoaXMgc2hvdWxkIGFscmVhZHkgaGF2ZSBiZWVuIGRvbmUsIHBsdXMgdGhpcyBjb2RlIGlzIGluY29ycmVjdAoJICBhbmQgbWF5IGxlYWQgdG8gY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwNzQKCjIwMTUtMDEtMDcgMTc6NDg6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IHJlZiBxdWV1ZWQgb3V0cHV0IGJ1ZmZlcgoJICBUaGlzIHBhcnRseSByZXZlcnQgdG8gdGhlIG9sZCAxLjIgYmVoYXZpb3IuIEluc3RlYWQgb2Yga2VlcGluZyBhCgkgIHJlZmVyZW5jZSB0byB0aGUgb3V0cHV0IGJ1ZmZlciBxdWV1ZWQsIHdlIHNpbXBseSByZWxlYXNlIHRoZW0gYnV0CgkgIGRvbid0IGZvcndhcmQgaXQgdG8gR3N0QnVmZmVyUG9vbC4gVGhpcyB3YXksIHRoZSBidWZmZXIgcG9vbCBkb24ndAoJICBuZWVkIHRvIGJlIGZsdXNoZWQgdG8gYmUgc3RvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA3NAoKMjAxNS0wMS0wOCAxMTozNzoyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogTmV2ZXIgZmFpbCBvbiBzdHJlYW1vZmYKCSAgRmFpbGluZyBzdHJlYW1vZmYgcHJldmVudHMgYWxsb2NhdG9yIGZyb20gYmVpbmcgZGlzcG9zZWQgaGVuY2UKCSAgbGVhZCB0byBkZXZpY2UgRkQgbGVhay4gVGhlcmUgaXMgbm8ga25vd24gY2FzZXMgd2hlcmUgc3RyZWFtb2ZmCgkgIG1heSBmYWlscyBmb3Igd2hpY2ggd2UnZCBzdGlsbCBiZSBzdHJlYW1pbmcuIHN0cmVhbW9mZiBpcyBrbm93bgoJICB0byBmYWlsIHdoZW4gYSBkZXZpY2UgaXMgYmVpbmcgdW5wbHVnZ2VkIChpbiB3aGljaCBjYXNlIGVycm5vCgkgIDE5L0VOT0RFViBpcyBzZXQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzM0CgoyMDE1LTAxLTA3IDIxOjUyOjE3IC0wNTAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMjogQWRkIHN1cHBvcnQgZm9yIGRldGVjdGluZyB0aGUgcHJlc2VuY2Ugb2YgVjRMMiBzdXBwb3J0IG9uIE9wZW5CU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvcmV2aWV3P2J1Zz03NDI1MDMKCjIwMTUtMDEtMDQgMTU6NTc6MTAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZXF1ZXN0IGF0IGxlYXN0IDggYnl0ZXMgdG8gcHJvcGVybHkgcGFyc2UgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIzMjUKCjIwMTUtMDEtMDcgMTY6MjA6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1pY2hhZWwuc21pdGhAcmRpby5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNraXAgYW4gYWRkaXRpb25hbCB1bmludGVyZXN0aW5nIGNodW5rIHR5cGUgYmVmb3JlIHRoZSBmbXQgY2h1bmsuCgoyMDE1LTAxLTA3IDE4OjE2OjEyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogYXNzZXJ0IGZ1bmNfaW5kZXggaXMgaW5zaWRlIGJvdW5kcwoJICBCcmluZ2luZyBiYWNrIHRoZSBjaGVjayByZW1vdmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQgYnV0IGhhdmUgdGhhdCBjaGVjayBiZSBhCgkgIGdfYXNzZXJ0LiBDaGFuZ2luZyB0aGUgZnVuY3Rpb24gdG8gc3RhdGljIHZvaWQgc2luY2UgcmV0dXJuIGNhbiBuZXZlciBiZSBGYWxzZSwKCSAgYmVjYXVzZSBhdWRpbyBmb3JtYXQgd2lsbCBuZXZlciBiZSB1bmtvd24uCgoyMDE1LTAxLTA3IDE3OjMxOjM5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogcmVtb3ZlIGFsd2F5cy10cnVlIGNvbmRpdGlvbmFsCgkgIGZ1bmNfaW5kZXggaXMgc2V0IGJ5IHRoZSBzdW0gb2YgdGhyZWUgdGVybmFyeSBvcGVyYXRvcnMgd2hpY2ggYWRkLCAwOjQsIDA6MiwKCSAgYW5kIDE6MC4gTWluaW11bSB2YWx1ZSB3b3VsZCBiZSAwKzArMD0wLCBhbmQgbWF4aW11bSB3b3VsZCBiZSA0KzIrMT03LgoJICBUaGUgY29uZGl0aW9uYWwgY2hlY2tpbmcgaWYgZnVuY19pbmRleCBpcyA+PSAwIGFuZCA8IDggd2lsbCBhbHdheXMgYmUgdHJ1ZS4KCSAgUmVtb3ZpbmcgaXQuCgkgIENJRCAxMjI2NDQyCgoyMDE1LTAxLTA3IDE4OjA1OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgZ2V0IGEgZ2FwIHdpdGggYSBidWZmZXIgd2l0aG91dCBEVFMsIGVycm9yIG91dAoJICBXZSAoY3VycmVudGx5PykgY2FuJ3QgcmVhbGx5IGhhbmRsZSBnYXBzIGJldHdlZW4gUlRQIHBhY2tldHMgaWYgdGhleSdyZSBub3QKCSAgcHJvcGVybHkgdGltZXN0YW1wZWQuIFRoZSBjdXJyZW50IGNvZGUgd291bGQgZ28gaW50byBjYWxjdWxhdGlvbnMgd2l0aAoJICBHU1RfQ0xPQ0tfVElNRV9OT05FIGFuZCB0aGVuIGNhdXNlIGFzc2VydGlvbnMgZXZlcnl3aGVyZS4gSXQncyBwcm9iYWJseQoJICBiZXR0ZXIgdG8gZXJyb3Igb3V0IGNsZWFubHkgaW5zdGVhZC4KCjIwMTQtMTEtMjEgMTE6Mzk6MTkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgUExBWUlORyBzdGF0ZSBhZnRlciBjb25maWd1cmluZyBjYXBzCgkgIFdlIHNldCB0byBQTEFZSU5HIGFmdGVyIHdlIGhhdmUgY29uZmlndXJlZCB0aGUgY2Fwcywgb3RoZXJ3aXNlIHdlCgkgIG1pZ2h0IGVuZCB1cCBjYWxsaW5nIHJlcXVlc3Rfa2V5ICh3aXRoIFNSVFApIHdoaWxlIGNhcHMgYXJlIHN0aWxsCgkgIGJlaW5nIGNvbmZpZ3VyZWQsIGVuZGluZyBpbiBhIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTA1CgoyMDE0LTEyLTMwIDE4OjAzOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IHJlbW92ZSBvdXRkYXRlZCBGSVhNRQoKMjAxNC0xMi0zMCAxNzoxOTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogcnRwY29sbGlzaW9uOiB1c2UgYWxhd2VuYy9kZWMgaW4gdGhlc2UgdGVzdHMgaW5zdGVhZCBvZiBTcGVleAoJICBUaGV5IHNob3VsZCBhbHdheXMgYmUgYnVpbHQsIHdoaWxlIHRoZSBzcGVleCBlbGVtZW50cyBhcmUgbm90LgoJICBOZWVkIHRvIGNoZWNrIGZvciBhIHNtYWxsZXIgbnVtYmVyIG9mIGJ1ZmZlcnMgdGhlbiAoNy0+NCkgYmVjYXVzZQoJICBzcGVleGVuYyB3aWxsIGFkZCAzIGhlYWRlciBidWZmZXJzIHdoaWxlIGFsYXdlbmMgd2lsbCBqdXN0IG91dHB1dAoJICBhcyBtYW55IGJ1ZmZlcnMgYXMgaXQgcmVjZWl2ZXMgYXMgaW5wdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwOTgKCjIwMTQtMTItMzAgMTY6MzY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogc2ltcGxlLWxhdW5jaC1saW5lczogb25seSBydW4ganBlZy9wbmcgdGVzdHMgaWYgZWxlbWVudHMgYXJlIGF2YWlsYWJsZQoKMjAxNC0xMi0zMCAxNjoyNjo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCByZXR1cm4gYSBidWZmZXIgd2hlbiByZXR1cm5pbmcgbm90IEdTVF9GTE9XX09LCgkgIGJhc2VzcmMgYXNzdW1lcyB0aGF0IHdlIGRvbid0IHJldHVybiBhIGJ1ZmZlciBpZgoJICBzb21ldGhpbmcgZWxzZSB0aGFuIE9LIGlzIHJldHVybmVkLiBJdCB3aWxsIGp1c3QKCSAgbGVhayBhbnkgYnVmZmVyIHdlIG1pZ2h0IGFjY2lkZW50aWFsbHkgcHJvdmlkZQoJICBoZXJlLgoJICBUaGlzIGNhbiBwb3RlbnRpYWxseSBoYXBwZW4gZHVyaW5nIGZsdXNoaW5nLgoJICBNYXliZSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxOTkzCgoyMDE0LTEyLTMwIDE0OjUyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzOiBydHBhdXg6IHVzZSBhbGF3ZW5jL2RlYyBpbiB0aGVzZSB0ZXN0cyBpbnN0ZWFkIG9mIFNwZWV4CgkgIFRoZXkgc2hvdWxkIGFsd2F5cyBiZSBidWlsdCwgd2hpbGUgdGhlIHNwZWV4IGVsZW1lbnRzIGFyZSBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwOTgKCjIwMTQtMTItMjkgMTU6MzU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wcm92ZSBkZXRlY3Rpb24gb2YgYmVpbmcgc3R1Y2sgYXQgdGhlIHNhbWUgb2Zmc2V0CgkgIE9ubHkgZXJyb3Igb3V0IGlmIHdlIHJlYWQgZnJvbSB0aGUgc2FtZSBwb3NpdGlvbiBhZ2FpbiBhbmQgZ290IHRoZQoJICBzYW1lIGxlbmd0aC4gSnVzdCB0aGUgc2FtZSBwb3NpdGlvbiBpcyBub3QgbmVjZXNzYXJpbHkgZW5vdWdoLgoKMjAxNC0xMi0yOSAxNTowMDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBnZXQgc3R1Y2sgYXQgdGhlIHNhbWUgb2Zmc2V0IHdoZW4gc2VhcmNoaW5nIGZvciBjbHVzdGVycwoJICBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGVyZSBpcyBhbiBpbnZhbGlkIGNsdXN0ZXIgd2l0aCBzaXplIDAsIGFuZCBpbiB0aGF0CgkgIGNhc2UganVzdCBlcnJvciBvdXQgaW5zdGVhZCBvZiBsb29waW5nIGZvcmV2ZXIuCgoyMDE0LTEyLTI1IDIxOjMyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IEFMQUMgbXV4aW5nCgkgIEFjdHVhbGx5IGNvcHkgdGhlIGNvZGVjIGRhdGEgaW5zdGVhZCBvZiBjb3B5aW5nIG5vdGhpbmcKCSAgYW5kIHRoZW4gYm9tYmluZyBvdXQgYmVjYXVzZSB0aGVyZSdzIG5vIGRhdGEuCgkgIEZpeGVzOiBnc3QtbGF1bmNoLTEuMCBhdWRpb3Rlc3RzcmMgISBhdmVuY19hbGFjICEgcXRtdXggISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNzgzCgoyMDE0LTEyLTI1IDE1OjQ4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBqdXN0IGRyb3AgaW52YWxpZCBydHAgcGFja2V0cyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dAoJICBBcHBhcmVudGx5IGxpbnBob25lIHNlbmRzIGFuIGludmFsaWQgUlRQIHBhY2tldCBhcyB2ZXJ5CgkgIGZpcnN0IHBhY2tldC4gV2Ugd2FudCB0byBpZ25vcmUgdGhhdCBpbnN0ZWFkIG9mIGVycm9yaW5nCgkgIG91dCAoc2FtZSBmb3IgYW55IG90aGVyIGludmFsaWQgcGFja2V0cyByZWFsbHkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzk4CgoyMDE0LTEyLTI1IDE1OjQ0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmaXggMC4xMC1pc20gaW4gZG9jcwoKMjAxNC0xMi0yNSAxNDo1ODoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiB1c2UgYWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gZml4IGRlbW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU2NgoKMjAxNC0xMi0yNSAxNDo1MzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgInBvc2l0aW9uaW5nLW1vZGUiIHByb3BlcnR5IHRvIGFsbG93IGFic29sdXRlIHBvc2l0aW9ucwoJICBTZXQgcG9zaXRpb25pbmctbW9kZT1waXhlbHMtYWJzb2x1dGUgdG8gYWxsb3cgcG9zaXRpb25pbmcgd2l0aAoJICBhYnNvbHV0ZSBjb29yZGluYXRlcywgbWVhbmluZyBuZWdhdGl2ZSB4L3kgb2Zmc2V0cyB3aWxsIGJlCgkgIGludGVycHJldGVkIGFzIGJlaW5nIHRvIHRoZSBsZWZ0L2Fib3ZlIHRoZSB2aWRlbyBmcmFtZSBpbnN0ZWFkCgkgIG9mIGJlaW5nIGludGVycHJldGVkIGFzIHJlbGF0aXZlIHRvIHRoZSByaWdodC9ib3R0b20gZWRnZSBvZgoJICB0aGUgdmlkZW8gZnJhbWUgKHdoaWNoIGlzIGEgc2lsbHkgZGVmYXVsdCwgYnV0IHRoYXQncyBob3cgaXQgaXMpLgoJICBUaGlzIG1lYW5zIHdlIGNhbiBuaWNlbHkgc2xpZGUgaW1hZ2VzIGludG8gYW5kIG91dCBvZiB0aGUgZnJhbWUsCgkgIHNlZSBnZGtwaXhidWZvdmVybGF5LXRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NjYKCjIwMTQtMTItMjIgMTU6MzM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogRGlyZWN0bHkgcmV0dXJuIHRoZSByaW5nYnVmZmVyJ3MgY2FwcyBpZiBpdCBpcyBhY3F1aXJlZAoKMjAxNC0xMi0yMiAxMjo1NjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBQdXQgYWxsIGF1ZGlvIGZvcm1hdHMgaW50byB0aGUgdGVtcGxhdGUgY2FwcwoJICBXZSByZXBvcnQgdGhlIHByb3BlciBjYXBzIGxhdGVyIGZyb20gdGhlIGdldF9jYXBzKCkgdmZ1bmMgaW1wbGVtZW50YXRpb24gYWZ0ZXIKCSAgcHJvYmluZyB0aGUgc2VsZWN0ZWQgZGV2aWNlLgoKMjAxNC0xMi0yMiAxMjo1NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IEFsc28gc2V0IHRoZSBiaWcgZW5kaWFuIGZsYWcgZm9yIGZsb2F0aW5nIHBvaW50IHNhbXBsZXMKCjIwMTQtMTItMjIgMTE6NDU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNQUlOVEFJTkVSUzoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MKCjIwMTQtMTItMjIgMTA6MjM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogRml4IGRlYWRsb2NrIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uIGluIGRldmljZSBzZWxlY3Rpb24gY29kZQoJICBBZnRlciBjcmVhdGluZyB0aGUgcmluZ2J1ZmZlciB3ZSBoYXZlIHRvIHNldCB0aGUgZGV2aWNlIG9uIHRoZSByaW5nYnVmZmVyIGFzCgkgIGl0IGRlZmF1bHRzIHRvIGtBdWRpb0RldmljZVVua25vd24uIEF0IHRoaXMgcG9pbnQgaXQgY2FuJ3QgaGF2ZSBjaGFuZ2VkIHRvCgkgIGFueXRoaW5nIGVsc2UgeWV0IGFuZCB3ZSBkb24ndCBoYXZlIHRvIG5vdGlmeSBhYm91dCBjaGFuZ2VzIHRvIHRoZSBzaW5rL3NyYwoJICAiZGV2aWNlIiBwcm9wZXJ0eS4gSXQncyBhbHNvIG5vdCBhIGdvb2QgaWRlYSBiZWNhdXNlIEdzdEF1ZGlvQmFzZVNyYyBoYXMgdGhlCgkgIG9iamVjdCBsb2NrIHRha2VuIHdoaWxlIHRoZSByaW5nYnVmZmVyIGlzIGNyZWF0ZWQsIHdoaWNoIG1pZ2h0IGNhdXNlIGEKCSAgZGVhZGxvY2sgaWYgc29tZXRoaW5nIGNhbGxzIGJhY2sgaW50byB0aGUgZWxlbWVudCBmcm9tICJub3RpZnk6OmRldmljZSIuCgkgIE9uY2UgdGhlIGJhc2UgY2xhc3MgaXMgZG9uZSB3aXRoIHRoZSBOVUxMX1RPX1JFQURZIHN0YXRlIGNoYW5nZSwgaXQgaGFzIG9wZW5lZAoJICB0aGUgZGV2aWNlIHZpYSB0aGUgcmluZ2J1ZmZlciBhbmQgdGhpcyBtaWdodCBoYXZlIGNob3NlbiBhIGRpZmZlcmVudCBkZXZpY2UuCgkgIEVzcGVjaWFsbHkgaWYgd2UgaW5pdGlhbGx5IHVzZWQga0F1ZGlvRGV2aWNlVW5rbm93bi4gQWxzbyBub3RpZnkgYWJvdXQgdGhpcwoJICBwcm9wZXJ0eSBjaGFuZ2UgYXMgaW5pdGlhbGx5IGludGVuZGVkIGJ5IHRoaXMgY29kZS4KCjIwMTQtMTItMTkgMTI6MzA6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBVcGRhdGUgY29uZmlndXJhdGlvbiBzaXplCgkgIFdlIGFscmVhZHkgdXBkYXRlIG91ciBjb3B5IG9mIFZpZGVvSW5mby5zaXplIHRvIHByb3BlciBzaXplLCBub3cgYWxzbwoJICB0aGUgY29uZmlndXJhdGlvbiBzbyB0aGUgc2l6ZSBtYXRjaGVzIG9uIHJlbGVhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0MjAKCjIwMTQtMTItMTkgMTA6NTc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thLWRlbXV4OiBDYWNoZSB1cHN0cmVhbSBsZW5ndGgKCSAgSW5zdGVhZCBvZiBjb25zdGFudGx5IHF1ZXJ5aW5nIHVwc3RyZWFtLCBqdXN0IGNhY2hlIHRoZSBsYXN0IGR1cmF0aW9uLAoJICBhbmQgaW4gdGhlIHVubGlrZWx5bmVzcyB3ZSBtaWdodCBoYXZlIGdvbmUgb3ZlciBxdWVyeSBhZ2FpbiBiZWZvcmUKCSAgZGVjaWRpbmcgd2UgYXJlIEVPUy4KCSAgQ3V0IDE1JSBjcHUgb2ZmIG1hdHJvc2thZGVtdXggc3RyZWFtaW5nIHRocmVhZCAoc3JzbHkuLi4pCgoyMDE0LTEyLTE3IDE3OjM2OjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogbXV4L2RlbXV4IHRoZSBPcHVzSGVhZCBoZWFkZXIKCSAgVGhpcyBpcyBtZWFudCB0byBiZSBzbyAoaHR0cHM6Ly93aWtpLnhpcGgub3JnL01hdHJvc2thT3B1cyAtIHdoaWxlCgkgIGl0IGlzIG1hcmtlZCBhcyBhIGRyYWZ0LCB0aGlzIHBhcnQgd2FzIGNvbmZpcm1lZCB0byBiZSBjb3JyZWN0IG9uCgkgIElSQyksIGFuZCBhbGxvd3Mgb25lIHRvIGRldGVybWluZSB3aGV0aGVyIGEgZGVtdXhlZCBzdHJlYW0gaXMKCSAgbXVsdGlzdHJlYW0gb3Igbm90LCBhbmQgdGh1cyBzZXQgdGhlIG11bHRpc3RyZWFtIGNhcHMgZmllbGQKCSAgYWNjb3JkaW5nbHkuIEluIHR1cm4sIHRoaXMgbWVhbnMgZG93bnN0cmVhbSBkb2VzIG5vdCBoYXZlIHRvIGd1ZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzQ0CgoyMDE0LTEyLTE4IDExOjUwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGlmIGEgc3VpdGFibGUgc3RyZWFtIGZvciB0aGUgQVVYIGVsZW1lbnQgY2FuJ3QgYmUgZm91bmQKCSAgQ0lEIDEyNTg3MTcKCjIwMTQtMTItMTggMTA6NTM6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVmMWZmZGMgdG8gZjJjNmI5NQoKMjAxNC0xMi0xMiAyMzowNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIHVkcHNpbms6IGFsbG9jYXRlIHNjcmF0Y2ggc3BhY2UgZm9yIHJlbmRlciBmdW5jdGlvbnMgb24gdGhlIGhlYXAKCSAgYW5kIG5vdCB0aGUgc3RhY2suIE91ciBhbGxvY2F0aW9ucyBjb3VsZCBnZXQgYSBiaXQgdG9vIGxhcmdlCgkgIHRvIGJlIHN1cmUgaXQncyBub3QgZ29pbmcgdG8gY2F1c2UgdHJvdWJsZSB1c2luZyB0aGUgc3RhY2suCgoyMDE0LTA2LTI0IDAxOjE2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiByZS11c2Ugc2VuZF9idWZmZXJzKCkgY29kZSBwYXRoIGZvciByZW5kZXIoKSBmdW5jdGlvbgoJICBJdCdzIGxpa2UgcmVuZGVyaW5nIGEgYnVmZmVyIGxpc3QsIGp1c3Qgd2l0aCBvbmUgYnVmZmVyLgoJICBIYXMgdGhlIGFkZGVkIGFkdmFudGFnZSB0aGF0IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBjbGllbnRzCgkgIHdlIGNhbiBzZW5kIHRoZSBidWZmZXIgdG8gYWxsIHRoZSBjbGllbnRzIGluIG9uZSBnby4KCjIwMTQtMDYtMjQgMDE6MTU6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGtlZXAgY2xpZW50IGxpc3QgY29uc2lzdGVudCBkdXJpbmcgcmVtb3ZhbHMKCSAgV2UgdW5sb2NrIGFuZCByZS1sb2NrIHRoZSBjbGllbnQgbG9jayB3aGlsZSBlbWl0dGluZyB0aGUKCSAgcmVtb3ZlZCBzaWduYWwsIHdoaWNoIGNhdXNlcyBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGNsaWVudAoJICBsaXN0IHZzLiB0aGUgY2xpZW50IGNvdW50cy4gSW5zdGVhZCwgcmVtb3ZlIHRoZSBjbGllbnQgZnJvbQoJICB0aGUgbGlzdCBhbHJlYWR5IGJlZm9yZSBlbWl0dGluZyB0aGUgc2lnbmFsIGFuZCBwdXQgaXQgaW50bwoJICBhIHRlbXBvcmFyeSBsaXN0IG9mIGNsaWVudHMgdG8gYmUgcmVtb3ZlZC4gVGhhdCB3YXkgdGhpbmdzCgkgIGxvb2sgY29uc2lzdGVudCB0byB0aGUgc3RyZWFtaW5nIHRocmVhZCwgYnV0IHNpZ25hbCBjYWxsYmFja3MKCSAgY2FuIHN0aWxsIGRvIHRoaW5ncyBsaWtlIGdldCBzdGF0cyBmcm9tIHJlbW92ZWQgY2xpZW50cy4KCjIwMTQtMDYtMjQgMDA6NTY6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBjbGllbnQgY291bnQgYWZ0ZXIgcmVtb3ZhbAoKMjAxNC0wNi0yMyAxODo0MzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazoga2VlcCBjbGllbnQgbGlzdCBzb3J0ZWQgYnkgc29ja2V0IGZhbWlseQoJICBXZSBtYWtlIHVzZSBvZiBpbiB0aGUgc2VuZF9idWZmZXJzKCkgZnVuY3Rpb24gaWYgd2UKCSAgbmVlZCB0byB1c2UgZGlmZmVyZW50IHNvY2tldHMgdG8gc2VuZCB0byBJUHY0IGFuZAoJICBJUHY2IGRlc3RpbmF0aW9ucy4KCjIwMTQtMDYtMjAgMTE6MzY6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBzZW5kbW1zZy1yZWFkeSByZW5kZXJfbGlzdCBmdW5jdGlvbiBwcm90b3R5cGUKCSAgQWRkIHByb3RvdHlwZSBmb3IgYSByZW5kZXJfbGlzdCgpIGZ1bmN0aW9uIHRoYXQgY2FuIHVzZSBhCgkgIHNlbmRtbXNnLXN0eWxlIGdfc29ja2V0X3NlbmRfbWVzc2FnZXMoKSBmdW5jdGlvbiBvbmNlIGl0IGxhbmRzCgkgIGluIEdMaWIuIFdlIGNhbiB1c2UgdGhpcyBpbmZyYXN0cnVjdHVyZSB0byBzZW5kIG11bHRpcGxlIGJ1ZmZlcnMKCSAgbWFkZSB1cCBieSBtdWx0aXBsZSBtZW1vcmllcyB0byBtdWx0aXBsZSBjbGllbnRzIGluIG9uZSBnbywgd2hpY2gKCSAgZHJhc3RpY2FsbHkgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHN5c2NhbGxzIG1hZGUgd2hlbiBzZW5kaW5nCgkgIGhpZ2gtYml0cmF0ZSB2aWRlbyBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTUyCgoyMDE0LTA2LTE5IDE5OjE2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBtYWtlIHVkcCBjbGllbnQgc3RydWN0dXJlIHJlZmNvdW50ZWQKCSAgVXNlIHRoZSByZWZjb3VudCBmb3IgbWVtb3J5IG1hbmFnZW1lbnQgYW5kIGtlZXAgdHJhY2sKCSAgb2YgdGhlIG51bWJlciBvZiBkdXBsaWNhdGUgY2xpZW50cyBpbiBhIHNlcGFyYXRlCgkgIHZhcmlhYmxlLiBUaGlzIHdpbGwgYmUgdXNlZnVsIGxhdGVyLCBhbmQgbWVhbnMgd2UKCSAgZG9uJ3QgaGF2ZSB0byBob2xkIHRoZSBPQkpFQ1RfTE9DSyBhbGwgdGhlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4NjYKCjIwMTQtMDYtMTkgMTg6MzE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGtlZXAgY291bnQgb2YgbnVtYmVyIG9mIHVuaXF1ZSBhbmQgbm9uLXVuaXF1ZSBJUHY0IGFuZCBJUHY2IGNsaWVudHMKCSAgVGhpcyB3aWxsIGNvbWUgaW4gaGFuZHkgbGF0ZXIuCgoyMDE0LTEyLTE2IDE1OjAwOjIyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRGlzYWJsZSBjcmVhdGVfYnVmIHdpdGggbGlidjRsMgoJICBMaWJ2NGwyIGRvZXMgbm90IHdvcmsgd2l0aCBDUkVBVEVfQlVGUy4gSW5zdGVhZCBvZiBmYWlsaW5nIG9uIHJhbmRvbQoJICBlcnJvciBjYXVzZWQgYnkgbGlidjRsMiwgZGlzYWJsZSBDUkVBVEVfQlVGUyB3aGVuIGFuIGVtdWxhdGVkIGZvcm1hdCBpcwoJICBkZXRlY3RlZC4KCjIwMTQtMTItMDkgMTc6Mzk6MTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIHByb3RlY3Rpb24gYWdhaW5zdCBicm9rZW4gbGlidjRsMgoJICBJdCBsb29rcyBsaWtlIGxpYnY0bDIgc3VwcG9ydCBmb3IgQ1JFQVRFX0JVRiBpcyBpbmNvbXBsZXRlLiBUaGF0CgkgIGNvbWJpbmUgd2l0aCBleGlzdGluZyBidWdzIG1heSBsZWFkIHRvIGNyYXNoIGluIEdTdHJlYW1lci4gVGhlc2UKCSAgY2hlY2sgd2lsbCBtYWtlIGl0IHJvYnVzdCBieToKCSAgLSBDaGVja2luZyBjcmVhdGUgYnVmIGluZGV4IGlzbid0IGFuIGFscmVhZHkgaW4gdXNlZCBpbmRleAoJICAtIENoZWNraW5nIHRoYXQgdGhlIGluZGV4IG91dCBvZiBRVUVSWUJVRiBtYXRjaGVzIHRoZSByZXF1ZXN0ZWQKCSAgaW5kZXgKCjIwMTQtMTItMTYgMTY6Mzc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEFkZCBzb21ldGhpbmcgdG8gdGhlIGRlYnVnIGxvZ3MgaWYgYW4gUlRYIEFVWCBlbGVtZW50IGNhbid0IGJlIGFkZGVkCgkgIC4uLiBiZWNhdXNlIHRoZSBhcHBsaWNhdGlvbiBhbHJlYWR5IGhhcyBhIHNpZ25hbCBoYW5kbGVyIHNldCB1cCBoZXJlLgoKMjAxNC0xMS0yMSAxNDoxMzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCByZXRyYW5zbWlzc2lvbiBzdXBwb3J0IGFjY29yZGluZyB0byBSRkM0NTg4CgkgIEJhc2VkIG9uIHRoZSBjbGllbnQtcnRwYXV4IGV4YW1wbGUKCjIwMTQtMTItMTYgMTM6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGNsZWFyIHJlY3RhbmdsZSBzdHJ1Y3R1cmVzIGJlZm9yZSB1c2UKCjIwMTQtMTItMDkgMTU6MDk6NTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCBmb3JtYXQKCSAgUmlnaHQgbm93IHdlIHRyeSB0byBiZSBjbGV2ZXIgYnkgZGV0ZWN0aW5nIGlmIGRldmljZSBmb3JtYXQgaGF2ZQoJICBjaGFuZ2VkIG9yIG5vdCwgYW5kIHNraXAgc2V0dGluZyBmb3JtYXQgaW4gdGhpcyBjYXNlLiBUaGlzIGlzIHZhbGlkCgkgIGJlaGF2aW91ciB3aXRoIFY0TDIsIGJ1dCBpdCdzIGFsc28gdmVyeSBlcnJvciBwcm9uZS4gVGhlIHJhdGlvbmFsCgkgIGZvciBub3Qgc2V0dGluZyB0aGVzZSBhbGwgdGhlIHRpbWUgaXMgZm9yIHNwZWVkLCB0aG91Z2ggSSBjYW4ndAoJICBtZWFzdXJlIGFueSBub3RpY2VhYmxlIGdhaW4gb24gYW55IEhXIEkgb3duLiBBbHNvLCB1bnRpbCByZWNlbnRseSwKCSAgd2Ugd2hlcmUgZG9pbmcgZ2V0L3NldCBvbiB0aGUgZm9ybWF0IGZvciBlYWNoIGZvcm1hdCB3ZSB3aGVyZQoJICBwcm9iaW5nLCBtYWtpbmcgaXQgbmVhciB0byBpbXBvc3NpYmxlIHRoYXQgdGhlIGZvcm1hdCB3b3VsZCBtYXRjaC4KCSAgVGhpcyBhbHNvIGZpeGVzIGJ1ZyB3aGVyZSB3ZSB3aGVyZSBza2lwcGluZyBmcmFtZS1yYXRlIHNldHRpbmcgaWYKCSAgZm9ybWF0IGRpZG4ndCBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzYKCjIwMTQtMTItMTUgMTg6MzA6MDEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogUmVtb3ZlIHRvZG8gYWJvdXQgY2FwcyBmaWx0ZXIKCSAgVGhlIGZpbHRlciBpcyBhbHJlYWR5IGludGVyZWN0ZWQuCgoyMDE0LTEyLTE1IDE4OjE5OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IE1ha2Ugc3VyZSBuZXcgY3JvcCBpcyBhcHBsaWVkCgkgIFNpbmNlICJiYXNldHJhbnNmb3JtOiBGaXggY2FwcyBlcXVhbGl0eSBjaGVjayIgY29tbWl0IGE3ZjM1NywKCSAgc2V0X2luZm8oKSB3aWxsIG5vdCBiZSBjYWxsZWQgYW55bW9yZSBpZiBjcm9wIGRpZG4ndCBjaGFuZ2UKCSAgdGhlIGNhcHMuIFRoaXMgaXMgZml4ZWQgYnkgc2V0dGluZyAibmVlZF91cGRhdGUiIGJvb2xlYW4gd2hlbgoJICBjcm9wcGluZyBwcm9wZXJ0aWVzIGhhcyBiZWVuIGNoYW5nZWQsIGFuZCB0aGVuIGFwcGx5aW5nIHRoZXNlCgkgIGlmIHRoZXkgd2hlcmUgbm90IGFwcGxpZWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgbmV4dCBmcmFtZS4gVGhpcwoJICBwYXRjaCBhbHNvIGZpeGVkIHRoZSBsb2NraW5nLCBkcm9wcGluZyB1bi1uZWVkZWQgY3VzdG9tIGxvY2ssCgkgIGFuZCBubyBob2xkaW5nIG5lZWRsZXNzIGxvY2sgd2hpbGUgZG9pbmcgdGhlIG9wZXJhdGlvbiBhcyB3ZQoJICBhbHJlYWR5IGhvbGQgdGhlIHN0cmVhbWluZyBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzg3CgoyMDE0LTEyLTEyIDE4OjEwOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBQcmVmZXIgZmlsdGVyIGNhcHMgb3JkZXIgd2hpbGUgZ2V0dGluZyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDkgMTM6Mzg6MjYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzb21lIGVycm9yIGhhbmRsaW5nIGFyb3VuZCBjaGFubmVsIGxheW91dCBwYXJzaW5nCgkgIEZvciBub3cgd2UganVzdCBzcGl0IGEgd2FybmluZyBhbmQgaWdub3JlIHRoZSBjaGFubmVsIGxheW91dCBpZiB3ZSBjYW4ndAoJICBzdXBwb3J0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTA4IDIyOjM4OjIyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBUYWtlIGxvY2sgYXJvdW5kIHNpbmsvc291cmNlIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIHJpbmdidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAyMTowNjoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW9zcmM6IFByb2JlIGNoYW5uZWwgbGF5b3V0IHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDIwOjMyOjA0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBPbmx5IGZpeCB1cCBjaGFubmVscy9sYXlvdXQgZm9yIFBDTSBjYXBzIHdoaWxlIHByb2JpbmcKCSAgSXQncyB1bmxpa2VseSB0aGF0IHNldHRpbmcgYSBjaGFubmVsIGxheW91dCB3aWxsIGRvIG11Y2ggZm9yIEFDMy9EVFMKCSAgc3RyZWFtcy4gSWYgd2UgZmluZCBhdCBzb21lIHBvaW50IHRoYXQgaXQgZG9lcyBtYWtlIHNlbnNlLCB3ZSBjYW4KCSAgcGVyZm9ybSB0aGUgc3RydWN0dXJlIGNvcHlpbmcgdW5jb25kaXRpb25hbGx5IChpLmUuLCB0aGUgY3VycmVudCBjb2RlIGlzCgkgIHdyb25nLCBzaW5jZSBBQzMvRFRTIHdpbGwgZ2V0IHR3byBzdHJ1Y3R1cmVzIG5vdyAtIG9uZSB3aXRoIHRoZSBjaGFubmVsCgkgIGxheW91dCwgb25lIHdpdGhvdXQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDE5OjQxOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvc3JjOiBJbXBsZW1lbnQgY2FwcyBwcm9iaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMTk6Mjk6NTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogQmluZCBhdWRpbyBkZXZpY2UgdG8gYXVkaW8gdW5pdCBlYXJseQoJICBXZSB3YW50IHRvIGJpbmQgdGhlIGRldmljZSBkdXJpbmcgb3BlbiBzbyB0aGF0IHN1YnNlcXVlbnQgZm9ybWF0IHF1ZXJpZXMKCSAgb24gdGhlIGF1ZGlvIHVuaXQgYXJlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlIGZyb20gdGhhdCBwb2ludCBvbndhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI5IDIzOjE2OjMwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBGaXggdXAgY2FwcyBxdWVyeWluZyBhIGJpdAoJICBUaGlzIHNob3VsZCBtYWtlIGNhcHMgcXVlcmllcyBjb3JyZWN0IGluIFBBVVNFRCBhbmQgaGlnaGVyIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMjI6MzI6MzYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IE1vdmUgb3N4YXVkaW9zcmMtc3BlY2lmaWMgY29kZSBvdXQgb2YgdGhlIGdlbmVyaWMgcGF0aAoJICBBdm9pZHMgb25lIGxheWVyaW5nIHZpb2xhdGlvbiAoR3N0Q29yZUF1ZGlvIHJlZmVycmluZyB0bwoJICBHc3RPc3hBdWRpb1NyYykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMjI6MjM6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogQ2xlYW4gdXAgYSBHc3RDb3JlQXVkaW8gLT4gR3N0T3N4QXVkaW9TcmMvU2luayByZWZlcmVuY2UKCSAgTm93IHRoYXQgZGV2aWNlIHNlbGVjdGlvbiBoYXMgbm8gc2luay9zb3VyY2Utc3BlY2lmaWMgYml0cywgd2UgY2FuIGhhdmUKCSAgZ2VuZXJpYyBkZXZpY2Ugc2VsZWN0aW9uIGZvciB0aGlzIHBhdGguIFdlIGRvIG5lZWQgdG8gbm93IHRyYWNrIHN0YXRlCgkgIGNoYW5nZXMgc28gd2UgY2FuIGxvb2sgdXAgdGhlIGZpbmFsIGRldmljZV9pZCBvbmNlIHRoZSBkZXZpY2UgaXMgb3BlbiwKCSAgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE5OjQwOjUyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBNb3ZlIGRldmljZSBjYXBzIHByb2JpbmcgdG8gZ2V0X2NhcHMoKQoJICBUaGlzIHNob3VsZCBiZSBwcmVmZXJyZWQgdG8gcnVubmluZyB0aGUgcHJvYmUgYXQgZGV2aWNlIG9wZW4gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxODozNzowMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBNYWtlIHNvbWUgZGVidWcgY29kZSBjb21waWxlIGNvbmRpdGlvbmFsbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxNTowNjozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IE1vdmUgZGV2aWNlIHNlbGVjdGlvbiB0byByaW5nYnVmZmVyLT5vcGVuX2RldmljZSgpCgkgIFRoaXMgaXMgY29uY2VwdHVhbGx5IHRoZSByaWdodCB0aGluZyB0byBkbywgYW5kIGFsbG93cyB1cyB0byBjb3JyZWN0bHkKCSAgY2F0Y2ggZXJyb3JzIGluIGRldmljZSBzZWxlY3Rpb24gYXMgd2VsbCwgd2hpY2ggd2UgY291bGQgbm90IGRvIHdoaWxlCgkgIGNyZWF0aW5nIHRoZSByaW5nYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE0OjM0OjM0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogQ29uc29saWRhdGUgaW5wdXQgYW5kIG91dHB1dCBjb2RlIHBhdGhzIGEgYml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjEgMTE6NTQ6MTggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBEZWludGVybGFjZTogaW4gcXVlcnlfY2FwcyByZXR1cm4gb25seSBzdXBwb3J0ZWQgZm9ybWF0cyBpZiBmaWx0ZXIgaXMgaW50ZXJsYWNlZAoJICBJbiBzb21lIGNhc2VzIHRoZSBjdXJyZW50bHkgc2V0IEdzdFZpZGVvSW5mbyBpcyBub3QgaW50ZXJsYWNlZCwgYnV0CgkgIHVwc3RyZWFtIGNhcHMgYXJlIGludGVybGFjZWQgYW5kIHRoZSBpbmZvIGlzIHBhc3NlZCBpbiB0aGUgZmlsdGVyLAoJICB3ZSBzaG91bGQgdGFrZSB0aGF0IGluZm8gaW50byBhY2NvdW50IGFuZCBtYWtlIHN1cmUgdGhhdCB3ZSBkbyBub3QKCSAgY29uc2lkZXIgdGhhdCBjYXNlIGFzIGEgInBhc3MgdGhyb3VnaCIgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQwNwoKMjAxNC0xMi0xMiAxMTowNjoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZGVidWcgc3RhdGVtZW50CgkgIEl0IHdhcyB1c2luZyB0aGUgbm9uLWluY3JlYXNpbmcgb2Zmc2V0IHZhcmlhYmxlLCB3aGljaCBtYWRlIHRoYXQgc3RhdGVtZW50CgkgIG5vdCBzbyB1c2VmdWwgOikKCjIwMTQtMTItMTIgMTE6MDM6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIG1hY3JvcyBmb3IgdGhlIHZhcmlvdXMgdGltZXNjYWxlIGNvbnZlcnNpb25zCgkgIFRoaXMgaGVscHMgbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlIGFuZCBhdm9pZCBmdXR1cmUgYmFkIHVzYWdlIG9mCgkgIHNjYWxpbmcgZnVuY3Rpb24gYXJndW1lbnQgb3JkZXIuCgoyMDE0LTEyLTExIDEwOjE2OjA2ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHBvdGVudGlhbCBjcmFzaCB3aGVuIHNodXR0aW5nIGRvd24KCSAgQSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIG1heSBjYXVzZSBidWZmZXJzCgkgIHRvIGJlIHVucmVmZmVkIHdoaWxlIHRoZXkgYXJlIHN0aWxsIHVzZWQgYnkgdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW4gZ3N0X3J0cF9oMjY0X3BheV9zZW5kX3Nwc19wcHMoKSByZXN1bHRpbmcgaW4gYSBjcmFzaC4gQ2hhaW4KCSAgdXAgdG8gdGhlIHBhcmVudCBjbGFzcyBmaXJzdCBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRvCgkgIG1ha2Ugc3VyZSBzdHJlYW1pbmcgaGFzIHN0b3BwZWQgYW5kIG9ubHkgdGhlbiBmcmVlIHRob3NlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzODEKCjIwMTQtMTItMTIgMDA6NDI6MDYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENvcHkgZmxhZ3Mgb2YgdGhlIG92ZXJhbGwgc2VnbWVudCB0byBvdXRwdXQgc2VnbWVudHMKCSAgUHJlc2VydmUgdGhlIHNlZ21lbnQgZmxhZ3Mgb2YgdGhlIG92ZXJhbGwgZGVtdXggc2VnbWVudCBvbiB0aGUgb3V0cHV0CgkgIHNlZ21lbnRzIGZvciBlYWNoIHBhZC4KCjIwMTQtMTItMDkgMDI6NDM6MDAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgNjRiaXQgY2h1bmtfb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzkKCjIwMTQtMTItMTAgMTc6Mzk6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHJvdW5kaW5nIGVycm9ycyBpbiBkdXJhdGlvbiB1cGRhdGUKCSAgTWFrZSBzdXJlIHdlIHN0b3JlIHVwZGF0ZWQgc2VnbWVudCBzdG9wL2R1cmF0aW9uIHdpdGggdGhlIHNhbWUKCSAgZ3JhbnVsYXJpdHkgYXMgdGhlIGR1cmF0aW9uIHRpbWVzY2FsZS4KCSAgQW5kIGFkZCBtb3JlIGRlYnVnCgoyMDE0LTEyLTEwIDE2OjU1OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVwZGF0ZSBkdXJhdGlvbiB3aGVuIHdlIGdldCBtb3JlIGluZm9ybWF0aW9uCgkgIFdoZW4gZGVhbGluZyB3aXRoIGZyYWdtZW50ZWQgZmlsZXMsIHdlIHdpbGwgZ2V0IG1vcmUgYWNjdXJhdGUgZHVyYXRpb24KCSAgaW5mb3JtYXRpb24gdmlhIHRoZSBtZnJhIGFuZCBtb29mIGF0b21zLgoJICBJbiBvcmRlciBmb3IgcGxheWJhY2sgdG8gbm90IHN0b3AgYXQgdGhlIGluaXRpYWwgZHVyYXRpb24gKGZyb20gdGhlCgkgIG1vb3YgYXRvbSksIHdlIG5lZWQgdG8gY2hlY2sgYW5kIHVwZGF0ZSB0aGUgdmFyaW91cyBkdXJhdGlvbiB2YXJpYWJsZXMKCSAgd2hlbiB3ZSBmaW5kIG1vcmUgaW5mb3JtYXRpb24uCgkgIEZpeGVzIHBsYXliYWNrIG9mIGZyYWdtZW50ZWQgZmlsZXMgaW4gcHVsbCBtb2RlCgoyMDE0LTEyLTEwIDE1OjA4OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB2YXJpYWJsZSBhc3NpZ25tZW50cyBuZXZlciByZWFkCgkgIEFzIGRldGVjdGVkIGJ5IGNsYW5nL3NjYW4tYnVpbGQKCjIwMTQtMTItMTAgMTQ6NTY6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFVzZSBHc3RDbG9ja1RpbWUgZm9yIG5hbm9zZWNvbmQtYmFzZWQgdGltZSB2YXJpYWJsZXMvZmllbGRzCgkgIEF2b2lkcyBjb25mdXNpb24gd2l0aCB0aW1lc2NhbGVkLWJhc2VkIHZhcmlhYmxlcyBhbmQgYnl0ZXMgKG9mZnNldCkKCSAgdmFyaWFibGVzLgoJICBBbmQgdXNlIEdTVF9DTE9DS19USU1FX05PTkUgd2hlcmUgYXBwbGljYWJsZQoKMjAxNC0xMi0wMyAxNDo0NzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkgIHB1c2hmaWxlc3JjOiBBZGQgVElNRSBTRUdNRU5UIGNhcGFiaWxpdHkKCSAgQWRkcyBhIG5ldyBzZXQgb2YgcHJvcGVydGllcyB0byBtYWtlIHB1c2hmaWxlc3JjIG91dHB1dCBhIFRJTUUgU0VHTUVOVAoJICAoaW5zdGVhZCBvZiB0aGUgZmlsZXNyYyBCWVRFIFNFR01FTlQpLgoJICBXaGVuIHRpbWUtc2VnbWVudCBpcyBzZXQgdG8gVHJ1ZSB0aGUgZm9sbG93aW5nIHdpbGwgaGFwcGVuOgoJICAqIFNlZWtzIGFyZSByZWZ1c2VkIChkYXRhIHN0YXJ0cyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUpCgkgICogVGhlIEJZVEUgc2VnbWVudCB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgVElNRSBzZWdtZW50IHdpdGggdGhlIHZhbHVlcwoJICBzcGVjaWZpZWQgaW4gdGhlIHZhcmlvdXMgcHJvcGVydGllcwoJICAqIFRoZSBmaXJzdCBvdXRnb2luZyBidWZmZXIgd2lsbCBoYXZlIGEgdGltZXN0YW1wIHNldCBvbiBpdCAoYnkgZGVmYXVsdAoJICBpdCBoYXMgYSB2YWx1ZSBvZiBHU1RfQ0xPQ0tfVElNRV9OT05FKQoKMjAxNC0xMi0xMCAxMTozNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gb25seSB1bnJlZiBjYXBzIGlmIHRoZXkncmUgbm90IE5VTEwKCjIwMTQtMTItMTAgMTE6MzQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSB3aWxsIHJldHVybiBOVUxMIGlmIHRoZXJlIGlzIG5vIHBlZXIKCjIwMTQtMTItMDkgMTY6Mzg6MzggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWGVuYzogQ0xPQ0tfVElNRV9OT05FIGlzIG5vdCBhIHZhbGlkIG1pbl9sYXRlbmN5IHZhbHVlCgkgIFdlIHNob3VsZCBqdXN0IHVzZSAwIGlmIHdlIGRvIG5vdCBoYXZlIHRoZSBpbmZvcm1hdGlvbgoKMjAxNC0xMi0wMyAxNzoyNjo1NiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgYW4gZW1wdHkgaXRlcmF0b3IgaW4gaXRlcmF0ZV9pbnRlcm5hbF9saW5rIHdoZW4gbm8gbGlua3MKCSAgQW5kIG5vdCBhIE5VTEwgSXRlcmF0b3IsIHNvIGl0IGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgd2F5IGl0IHVzdWFsbHkKCSAgd29ya3MgYW5kIGF2b2lkIHVzZXIgdG8gbmVlZCBhIGRpZmZlcmVudCBjb2RlIHBhdGhzIHRvIGhhbmRsZSB0aGF0LgoKMjAxNC0xMi0wOSAxNDowMTo1MCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBzZXQgYnVmZmVyIGludGVybGFjZSBmbGFncyB3aGVuIGZpZWxkIGlzIFY0TDJfRklFTERfSU5URVJMQUNFRAoJICBJZiB2NGwyX2J1ZmZlci5maWVsZCBpcyBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQsIHdlIHNldCBjb3JyZXNwb25kaW5nCgkgIEdzdFZpZGVvQnVmZmVyIGZsYWdzIGRlcGVuZGluZyBvbiB0aGUgdmlkZW8gc3RhbmRhcmQuCgkgIEFjY29yZGluZyB0byBWNEwyIHNwZWNpZmljYXRpb24sIE0vTlRTQyB0cmFuc21pdHMgdGhlIGJvdHRvbSBmaWVsZAoJICBmaXJzdCwgYWxsIG90aGVyIHN0YW5kYXJkcyB0aGUgdG9wIGZpZWxkIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NjAzCgoyMDE0LTEyLTA4IDIxOjI2OjE4ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRml4ZXMgYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1cnIgaWYgdGhlIHBpcGVsaW5lIHdhcyBzaHV0ZG93bgoJICB3aGlsZSBhIFNQUy9QUFMgaGVhZGVyIHdhcyBiZWluZyBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjcxCgoyMDE0LTEyLTA5IDA0OjQzOjI5ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBmaXggbWVtY3B5IHdoZW4gbm8gY29sb3IgYWdpbmcgcmVxdWVzdGVkLgoJICB2aWRlb19zaXplIGlzIHRoZSBzaXplIGluIHBpeGVscywgYWN0dWFsIHNpemUgb2YgdGhlIG1lbWNweQoJICBoYXMgdG8gYmUgc3RyaWRlICogaGVpZ2h0LgoKMjAxNC0xMi0wNyAxNzozMzo1MSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBXb3JrYXJvdW5kIGxpYnY0bDIgUlcgZW11bGF0aW9uIGJ1ZwoJICBXaGVuIGxpYnY0bDIgZW11bGF0ZXMgUlcgbW9kZSBvbiB0b3Agb2YgTU1BUCBkZXZpY2VzLCB0aGUgcXVldWVzIGFyZQoJICBvbmx5IGluaXRpYWxpemVkIG9uIGZpcnN0IHJlYWQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgcG9sbCgpIHdpbGwgZmFpbAoJICBpZiBjYWxsZWQgYmVmb3JlIHRoZSBxdWV1ZXMgYXJlIGluaXRpYWxpemVkIGFuZCBzdHJlYW1pbmcuIFdvcmthcm91bmQKCSAgdGhpcyBieSBkb2luZyBhIHplcm8gc2l6ZSByZWFkIHdoZW4gcG9vbCBpcyBzdGFydGVkIGluIHRoYXQgSU8gbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzMwoKMjAxNC0xMi0wNyAxNzoyNzozNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBGaXggUlcgaW8gbW9kZQoJICBJbiBSVywgYWxsb2NhdG9yIGNhbiBiZSBudWxsLCBtYXhfYnVmZmVycyBjYW4gYmUgemVybywgYW5kIHdlIG5lZWQgbm90CgkgIHRvIHdhaXQgd2hpbGUgdGhlIHF1ZXVlIGlzIGVtcHR5IHNpbmNlIHRoZXJlIGlzIG5vIHF1ZXVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjMzCgoyMDE0LTEyLTAzIDE2OjQwOjQ5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2xlYW51cCB1bmVlZGVkIGNoZWNrIGFuZCBjYXNlcwoJICBUaGVyZSBpcyBub3RoaW5nIGluIGJldHdlZW4gdGhlIGJyZWFrIGFuZCB0aGUgImRvbmU6IiBhbnltb3JlLCBwbHVzCgkgIFVTRVJQVFIgYW5kIERNQUJVRl9JTVBPUlQgY2FzZSBpcyBleGFjdGx5IHRoZSBzYW1lLgoKMjAxNC0xMi0wMyAxNzowNzo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IEZpeCBDUkVBVEVfQlVGUyBzdXBwb3J0IGZvciBjYXB0dXJlCgkgIFRoaXMgcGF0Y2ggZml4ZXMgQ1JFQVRFX0JVRlMgc3VwcG9ydCBmb3IgY2FwdHVyZSBkZXZpY2VzLiBJbml0aWFsbHkgd2UKCSAgd291bGQgb25seSB0cnkgYW5kIGFsbG9jYXRlIG1vcmUgYnVmZmVycyB3aGVuIHRoZSBjb3B5IHRocmVzaG9sZAoJICBpcyByZWFjaGVkLiBXaGVuIHRoZSB0aHJlc2hvbGQgd2FzIG5vdCBzZXQgKG5lZWRlZCkgaXQgd291bGQgbmV2ZXIKCSAgaGFwcGVuLiBBbm90aGVyIHByb2JsZW0gaXMgdGhhdCBvbiBjYXB0dXJlIHNpZGUsIGFjcXVpcmUgcmV0dXJucwoJICBmaWxsZWQgYnVmZmVyLCBoZW5jZSBuZWVkIHRvIHBvb2wuIFdlIG5lZWQgdG8gc2V0IGEgc3BlY2lhbCBmbGFnIHRvCgkgIGZvcmNlIGFsbG9jYXRpb24gdG8gaGFwcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTM0CgoyMDE0LTEyLTAzIDE2OjI3OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBDUkVBVEVfQlVGIHByb2JpbmcKCSAgQ3VycmVudCBmb3IgZXZlcnkgbWVtb3J5IHR5cGUgd2Ugd2hlcmUgcHJvYmluZyBNTUFQIENSRUFURV9CVUZTIGlvY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMzQKCjIwMTQtMTEtMTggMTY6NTI6NDAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNldCBmcmFtZXJhdGUgMC8xIHdoZW4gZHVyYXRpb24gaXMgbm90IGtub3duCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxMzAKCjIwMTQtMTItMDQgMTc6MjU6NTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vcmUgZml4ZXMgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgV2hlbiBzZWVraW5nIG9yIGZpbmRpbmcgdGhlIHByZXZpb3VzIGtleWZyYW1lLCBkbwoJICBjb21wYXJpc29ucyBhZ2FpbnN0IHRhcmdldHMgYW5kIHNlZ21lbnRzIHVzaW5nIGNvbXBvc2l0aW9uIHRpbWUKCSAgdG8gY29ycmVjdGx5IGRlY2lkZSB3aGljaCBzYW1wbGUgdGltZXMgbWF0Y2guCgoyMDE0LTEyLTAzIDExOjEyOjU1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBVc2UgYW4gZW1wdHkgaXRlcmF0b3IgaW4gaXRlcmF0ZV9pbnRlcm5hbF9saW5rIHdoZW4gbm8gbGlua3MKCSAgV2UgdXNlZCB0byBzZXR1cCBhbiBpdGVyYXRvciB3aXRoIDEgR1ZhbHVlIHNldCB3aXRoIGEgTlVMTCBvYmplY3QKCSAgcG9pbnRlciB3aGljaCBpcyBub3QgdGhlIG5vcm1hbCB3YXkgdG8gZG8gdGhhdC4gSW5zdGVhZCB3ZSBzaG91bGQgbWFrZQoJICBzdXJlIHRoYXQgdGhlIGZpcnN0IGNhbGwgdG8gZ3N0X2l0ZXJhdG9yX25leHQgcmV0dXJucyBHU1RfSVRFUkFUT1JfRE9ORS4KCjIwMTQtMTItMDMgMTM6MjA6NTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEhhbmRsZSBzZWVrcyBwYXN0IEVPUyBhcyBhIHNlZWsgdG8gdGhlIGVuZAoJICBGaXggcmV2ZXJzZSBwbGF5YmFjayBvZiBldmVyeSBmcmFtZSBieSBtYWtpbmcgc2Vla3MgcGFzdC90byBFT1MKCSAgZmluZCB0aGUgbGFzdCBzZWdtZW50IGFuZCBzdGFydCB0aGVyZS4KCjIwMTQtMTItMDIgMTU6MzM6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgIHJ0cG1wYWRlcGF5OiBSZWxheCBjYXBzIHRvIGFsbG93IGFueSBjbG9jay1yYXRlCgkgIFNvbWUgV293emEgc2V0dXBzIHNlZW0gdG8gc2VuZCBhbiBpbnZhbGlkIG5vbi05MDAwMCBjbG9jay1yYXRlLgoKMjAxNC0xMi0wMSAyMTowNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBHU1RfQ0xPQ0tfVElNRV9OT05FIGluIG5vbiBHc3RDbG9ja1RpbWUgdmFyaWFibGVzCgkgIFVzZSAtMSBpbnN0ZWFkIGFzIHRob3NlIGFyZSBnaW50NjQvZ3VpbnQ2NCB2YXJpYWJsZXMgYW5kIG5vdCBHc3RDbG9ja1RpbWUKCjIwMTQtMTEtMDcgMTc6MDY6NDkgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBnc3RfdjRsMl9hbGxvY2F0b3Jfc3RvcCBwcm90b3R5cGUKCSAgZ3N0X3Y0bDJfYWxsb2NhdG9yX3N0b3AgcmV0dXJucyBhIEdzdFY0bDJSZXR1cm4sIG5vdCBhIGdib29sZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzkyCgoyMDE0LTExLTA3IDE2OjQxOjUyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHVucmVmIHBvb2wgd2hlbiB2NGwyX2FsbG9jYXRvcl9uZXcoKSBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzkxCgoyMDE0LTExLTMwIDE3OjUyOjQ3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogUmVtb3ZlIGxhc3QgaW5jbHVkZSB0byBsaW51eC92aWRlb2RldjIuaAoJICBXZSBub3cgdXNlIGFuZCB1cGRhdGUgb3VyIGludGVybmFsIGNvcHkgc28gd2Ugbm8gbG9uZ2VyIGhhdmUgdG8gaWZkZWYKCSAgdGhlIGVudGlyZSBjb2RlIGZvciBmZWF0dXJlcyBhbmQgZGVmaW5lcyB0aGF0IHdoZXJlIGFkZGVkIG92ZXIgdGhlCgkgIHllYXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTA1CgoyMDE0LTA4LTI0IDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBpbiBmcmFnbWVudGVkIG1wNCBmaWxlcyBpbiBwdWxsIG1vZGUgYmFzZWQgb24gdGhlIG1mcmEgdGFibGUKCjIwMTQtMTEtMjkgMTU6MjU6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIHRyYWNrIGZyYWdtZW50IGRlY29kaW5nIHRpbWUgKHRmZHQpIGluIHBhcnNlX3RydW4oKSBmb3IgaW50ZXJwb2xhdGlvbgoJICBBcyBmYWxsYmFjayBpZiB3ZSBkb24ndCBoYXZlIGFueSBleGlzdGluZyBzYW1wbGVzCgkgIGFzIHJlZmVyZW5jZSBwb2ludCB5ZXQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCjIwMTQtMTEtMjkgMTQ6Mzc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHBhcnNlIG1mcmEgcmFuZG9tIGFjY2VzcyBib3ggZm9yIGZyYWdtZW50ZWQgbXA0IGZpbGVzCgkgIElmIGl0J3MgcHJlc2VudCwgYW5kIHdlIG9wZXJhdGUgaW4gcHVsbCBtb2RlLgoKMjAxNC0wOC0xNSAxNDo1ODoyNiArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdG9wIHBhcnNpbmcgaGVhZGVycyBmb3IgZnJhZ21lbnRlZCBtcDRzIGF0IHRoZSBmaXJzdCBtb29mCgkgIEN1cnJlbnRseSBkdXJpbmcgaGVhZGVyIHBhcnNpbmcsIHdlIHNjYW4gdGhyb3VnaCB0aGUgZW50aXJlIGZpbGUKCSAgYW5kIHNraXAgZXZlcnkgbW9vZittZGF0IGNodW5rIGZvciBmcmFnbWVudGVkIG1wNHMsIHdoaWNoIG1ha2VzCgkgIHN0YXJ0LXVwIGluY3JlZGlibHkgc2xvdy4gSW5zdGVhZCwganVzdCBzdG9wIGF0IHRoZSBmaXJzdCBtb29mCgkgIGNodW5rIHdoZW4gaGF2ZSBhIG1vb3YsIGFuZCBzdGFydCBleHBvc2luZyB0aGUgc3RyZWFtcywgc28gd2UKCSAgY2FuIGdvIGFuZCBzdGFydCBoYW5kbGluZyB0aGUgbW9vZnMgZm9yIHJlYWwuCgoyMDE0LTExLTI5IDEzOjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogYWRkIGludGVyYWN0aXZlIGdka3BpeGJ1Zm92ZXJsYXkgdGVzdAoJICBKdXN0IG5lZWQgdG8gZml4IHRoZSBjb29yZGluYXRlIHN5c3RlbSBub3cgc28KCSAgdGhhdCBuZWdhdGl2ZSBvZmZzZXRzIGFyZSBhY3R1YWxseSBuZWdhdGl2ZQoJICBhbmQgbm90IGZsaXBwZWQgdG8gcG9zaXRpb24gdGhpbmdzIGZyb20gdGhlCgkgIG9wcG9zaXRlIGJvcmRlci4KCjIwMTQtMTEtMjkgMTM6NTM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJwaXhidWYiIHByb3BlcnR5CgkgIFNvIHdlIGNhbiBzZXQgYSBHZGtQaXhidWYgZGlyZWN0bHkgaW5zdGVhZCBvZgoJICByZWFkaW5nIGl0IGZyb20gYW4gaW1hZ2UgZmlsZSBvbiB0aGUgZmlsZSBzeXN0ZW0uCgoyMDE0LTExLTI5IDEzOjIzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIGdka3BpeGJ1ZjogcmVtb3ZlIHBpeGJ1ZnNjYWxlIGNvZGUgdGhhdCB3YXMgbmV2ZXIgcG9ydGVkCgkgIERvbid0IHRoaW5rIHdlJ2xsIG5lZWQgdGhpcyBhZ2Fpbi4KCjIwMTQtMTEtMjkgMTg6MzU6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IFVzZSBvZmZzZXQgd2hlbiBjb3B5aW5nIGhlYWRlcgoJICBUaGUgaGVhZGVyIGlzIG5vdCBhbHdheXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBwYWNrZXQsIHNvIHdlIG5lZWQgdG8gY29tcHV0ZQoJICB0aGUgb2Zmc2V0IGZpcnN0LgoKMjAxNC0xMS0yOCAxMzoxMjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIGFwZXYybXV4OiB3cml0ZSBBUEUgdGFncyBhdCBlbmQgZm9yIHdhdnBhY2sgZmlsZXMKCSAgaHR0cDovL3d3dy53YXZwYWNrLmNvbS9maWxlX2Zvcm1hdC50eHQ6CgkgICJCb3RoIHRoZSBBUEV2MiB0YWdzIGFuZC9vciBJRDN2MSB0YWdzIG11c3QgY29tZSBhdCB0aGUgZW5kIG9mIHRoZQoJICBXYXZQYWNrIGZpbGUsIHdpdGggdGhlIElEM3YxIGNvbWluZyBsYXN0IGlmIGJvdGggYXJlIHByZXNlbnQuIgoJICBXYXZQYWNrIGZpbGVzIHRoYXQgY29udGFpbiBBUEV2MiB0YWdzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGVzCgkgIGFyZSB1bnBsYXlhYmxlIG9uIHBsYXllcnMgdGhhdCB1c2UgRkZtcGVnIChsaWtlIFZMQykgYW5kIG1vc3Qgb3RoZXIKCSAgc29mdHdhcmUgKGV4Y2VwdCBCYW5zaGVlKS4gUGxheWVycyB0aGF0IHVzZSBsaWJ3YXZwYWNrIGRpcmVjdGx5IGNhbgoJICBwbGF5IHRoZSBmaWxlcyBiZWNhdXNlIGl0IHNraXBzIHRoZSB0YWdzLCBidXQgZG9lcyBub3QgcmVjb2duaXplIHRoZQoJICB0YWcgZGF0YSBhdCB0aGF0IGxvY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDM3CgoyMDE0LTExLTI4IDEwOjQxOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtc2VnbWVudC1zZWVrcy5jOgoJICB0ZXN0czogYWRkIGludGVyYWN0aXZlIHRlc3QgZm9yIGdhcGxlc3MgcGxheWJhY2sgdXNpbmcgU0VHTUVOVCBzZWVrcwoJICBOb3Qgd29ya2luZyB0b28gd2VsbCB5ZXQsIHRoZXJlIGFyZSBnbGl0Y2hlcyBldmVuIHdpdGggV0FWIG9yIEZMQUMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzNjgKCjIwMTQtMTEtMjYgMTA6MzM6MDkgKzAzMDAgIEFuZHJlaSBTYXJha2VldiA8c2FyYWt1c2hhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIGFzcGVjdHJhdGlvY3JvcDogSGFuZGxlIHJlc29sdXRpb24gY2hhbmdlcyBwcm9wZXJseQoJICBXaGVuIGFuIGNhcHMtZXZlbnQgaXMgcmVjZWl2ZWQsIHdlIG11c3QgaW1tZWRpYXRlbHkgY2hhbmdlIHRoZSBjcm9wCgkgIHRvIHZpZGVvY3JvcCBjb3JyZWN0bHkgY2hhbmdlZCBjYXBzLWV2ZW50IGRpbWVuc2lvbiwgb3RoZXJ3aXNlIHRoZQoJICB2aWRlb2Nyb3Agd2lsbCBmaXJzdCB1c2UgdGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBjcm9wIHRoYXQgd2hlbgoJICByZXNpemluZyB2aWRlbyB0byBhIHNtYWxsZXIgcmVzb2x1dGlvbiBtYXkgY2F1c2UgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzEKCjIwMTQtMTEtMjcgMTc6MTA6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYjJiY2UgdG8gZWYxZmZkYwoKMjAxNC0xMS0yNyAxMToyMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0OiB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX3JvdW5kKCkgZm9yIHRpbWVzdGFtcCB0byBzYW1wbGUgY2FsY3VsYXRpb24KCjIwMTQtMTEtMjcgMTE6MTY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdGVzdC1hY2N1cmF0ZS1zZWVrLmM6CgkgIHRlc3RzOiBhZGQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgYWNjdXJhdGUgc2Vla2luZwoJICBGb3Igc29tZSBhdWRpbyBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1Mjc2CgoyMDE0LTExLTI2IDE2OjA0OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQ2hlY2sgcHJlc2VuY2Ugb2YgbWZoZCBpbiBtb29mCgkgIFRoZSAnbWZoZCcgYXRvbSBpcyBtYW5kYXRvcnkgaW4gJ21vb2YnLiBXZSBjYW4gbGF0ZXIgb24gY2hlY2sgd2hldGhlcgoJICB0aGUgZnJhZ21lbnQgbnVtYmVyIHByb3Blcmx5IGluY3JlYXNlcwoKMjAxNC0xMS0yNiAxNTo1OTozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogRml4IG1mcm8gYW5kIHRmcmEgYXRvbSBkdW1waW5nCgkgIG1mcm8gd2FzIHNraXBwaW5nIHRoZSB2ZXJzaW9uL2ZsYWdzCgkgIHRmcmEgaGFkIHdyb25nIGJ5dGVfcmVhZGVyIHJldHVybiB2YWx1ZSBjaGVja3MKCjIwMTQtMTEtMjYgMTU6NTg6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBBZGQgbWZoZCBhdG9tIGR1bXBpbmcKCjIwMTQtMTEtMjcgMDA6MTU6MDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEhhbmRsZSBlbXB0eSBzZWdtZW50cyB3aGVuIHNlZWtpbmcgaW4gcmV2ZXJzZSBwbGF5LgoJICBFbXB0eSBzZWdtZW50cyBpbiBhbiBlZGl0IGxpc3QgaGF2ZSBhIG1lZGlhX3N0YXJ0IHRpbWUgb2YgLTEsCgkgIGFzIHRoZXkgZG9uJ3QgYWN0dWFsbHkgcGxheSBhbnkgbWVkaWEuIEFsbG93IGZvciB0aGF0IHdoZW4KCSAgYWxpZ25pbmcgdG8gdGhlIHJlZmVyZW5jZSBzdHJlYW0gaW4gcmV2ZXJzZSBwbGF5LgoKMjAxNC0xMS0yNCAxMDozNjo1NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIFJldmVydCAidjRsMmFsbG9jYXRvcjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZDQ0ODBkNTM0MDhhNGQ5N2FiNTMxMTc0ZWYzN2YyNThmMzI1M2MwLgoKMjAxNC0xMS0yNCAxMDozNjozMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIFJldmVydCAidjRsMjogbW92ZSB2Yl9xdWV1ZSBwcm9iaW5nIGZyb20gYWxsb2NhdG9yIHRvIHY0bDJvYmplY3QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWM2YjhiODRhZjcxOWQ4MjhkZGQ5MWM3MjRlNzE1YzBiNGE1NTZiYy4KCjIwMTQtMTEtMjQgMTA6MzM6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBSZXZlcnQgInY0bDJvYmplY3Q6IGFsbG93IHRvIGF1dG9tYXRpYyBzZWxlY3Rpb24gb2YgZG1hYnVmIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2YzJhZDU1NzFlNWRlZGIyMTIyODdlZmUyMzhlYjQ1MDAzMmNkNGYuCgoyMDE0LTExLTIzIDE2OjM0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogUkVRVUlSRU1FTlRTOgoJICBSRVFVSVJFTUVOVFM6IHVwZGF0ZSBhIGxpdHRsZQoJICBQZW9wbGUgYWN0dWFsbHkgbG9vayBhdCB0aGF0IGl0IHNlZW1zLgoKMjAxNC0xMS0yMyAxNjoyMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgaWN5ZGVtdXg6IGRvZXMgbm90IG5lZWQgdG8gbGluayBhZ2FpbnN0IHpsaWIKCjIwMTQtMTEtMjIgMjE6Mjg6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXg6IHJlbW92ZSBzdXBwb3J0IGZvciBhbmNpZW50IHNwZWV4IHZlcnNpb25zCgoyMDE0LTExLTIxIDExOjIxOjE4ICswMTAwICBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGxvZyBjb25uZWN0aW9uIGV2ZW50cyBhdCBpbmZvIGxldmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzMDUKCjIwMTQtMTAtMjAgMTM6MDA6MzcgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZW5zdXJlIHJ0eF9yZXRyeV9wZXJpb2QgPj0gMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ0CgoyMDE0LTExLTIxIDExOjQ0OjI0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICB0aGlzIHdhcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCBlYzZiOGIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM4MgoKMjAxNC0xMS0xNiAxMjozNDoxNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEhhbmRsZSBjb3JydXB0ZWQgYnVmZmVyIHdpdGggZW1wdHkgcGF5bG9hZAoJICBUaGlzIGFsbG93IHNraXBwaW5nIGJ1ZmZlciBmbGFnZ2VkIHdpdGggRVJST1IgdGhhdCBoYXMgbm8gcGF5bG9hZC4KCSAgVGhpcyBpcyB0eXBpY2FsIGJlaGF2aW91ciB3aGVuIGEgcmVjb3ZlcmVyYWJsZSBlcnJvciBvY2N1cmVkIGR1cmluZwoJICBjYXB0dXJlIGluIHRoZSBkcml2ZXIsIGJ1dCB0aGF0IG5vIHZhbGlkIGRhdGEgd2FzIGV2ZXIgd3JpdHRlbiBpbnRvIHRoYXQKCSAgYnVmZmVyLiBUaGlzIHBhdGNoIGFsc28gdHJhbnNsYXRlIFY0TDJfQlVGX0ZMQUdfRVJST1IgaW50bwoJICBHU1RfQlVGRkVSX0ZMQUdfQ09SUlVQVEVELiBIZW5jZSBkZWNvZGluZyBlcnJvciBwcm9kdWNlCgkgIGJ5IGRlY29kZXIgZHVlIHRvIG1pc3NpbmcgZnJhbWVzIHdpbGwgbm93IGJlIGNvcnJlY3RseSBtYXJrZWQuIEZpbmFsbHksCgkgIHRoaXMgZml4ZXMgYSBidWZmZXIgbGVhayB3aGVuIEVPUyBpcyByZWFjaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDQwCgoyMDE0LTExLTIxIDE2OjM2OjE1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogYWxsb3cgdG8gYXV0b21hdGljIHNlbGVjdGlvbiBvZiBkbWFidWYKCSAgSWYgdGhlIHY0bDIgcXVldWUgc3VwcG9ydCBkbWFidWYgc2VsZWN0IHRoaXMgYnVmZmVyIHBvb2wgbW9kZQoJICBhbmQgdXBkYXRlIHRoZSBxdWVyeSB3aXRoIGFsbG9jYXRvci4KCSAgVGhpcyBwYXRjaCBvbmx5IGNvbmNlcm4gZXhwb3J0aW5nIGRtYWJ1ZiBhbmQgbm90IGltcG9ydGluZyBkbWFidWYKCSAgZmQgZnJvbSBkb3duc3RyZWFtIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzODIKCjIwMTQtMTEtMjEgMTY6MTM6MDUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBtb3ZlIHZiX3F1ZXVlIHByb2JpbmcgZnJvbSBhbGxvY2F0b3IgdG8gdjRsMm9iamVjdAoJICBUaGUgZ29hbCBpcyB0byBtYWtlIHRob3NlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBpbiB2NGwyX29iamVjdAoJICB0byBiZSBhYmxlIGxhdGVyIHRvIHNlbGVjdCB0aGUgYmVzdCBhbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM4MgoKMjAxNC0xMS0yMCAyMjo0Mjo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBGaXggdXAgbmV3X2ppdHRlcmJ1ZmZlciBzaWduYWwgcHJvdG90eXBlCgoyMDE0LTExLTIwIDIwOjE5OjI1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IERvY3VtZW50IGhvdyB0byBjb250cm9sIHBlci1TU1JDIHJldHJhbnNtaXNzaW9uCgoyMDE0LTExLTIwIDIwOjE4OjQ1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHByZXRyYW5zbWlzc2lvbi50eHQ6CgkgIGRvYzogVHJpdmlhbCBzcGVsbGluZyBhbmQgY29uc2lzdGVuY3kgdXBkYXRlCgoyMDE0LTExLTIwIDEzOjE0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBwdXQgMC1ieXRlIGF0IHRoZSBlbmQgb2YgZXZlbnRzCgkgIFB1dCBhIDAtYnl0ZSBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBzdHJpbmcuIERvZXMgbm90IGJyZWFrIEFCSSBiZWNhdXNlCgkgIG9sZCBkZXBheWxvYWRlcnMgd2lsbCBza2lwIHRoZSAwIGJ5dGUgKHdoaWNoIGlzIGluY2x1ZGVkIGluIHRoZSBsZW5ndGgpLgoJICBFeHBlY3QgYSAwLWJ5dGUgYXQgdGhlIGVuZCBvZiB0aGUgZXZlbnQgc3RyaW5nIG9yIGEgOyBmb3Igb2xkCgkgIHBheWxvYWRlcnMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTkxCgoyMDE0LTExLTIwIDEyOjQwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGF2b2lkIGJ1ZmZlciBvdmVycmVhZC4KCSAgQ2hlY2sgdGhhdCBhIGNhcHMgZXZlbnQgc3RyaW5nIGlzIDAgdGVybWluYXRlZCBhbmQgdGhlIGV2ZW50IHN0cmluZyBpcwoJICB0ZXJtaW5hdGVkIHdpdGggYSA7IHRvIGF2b2lkIGJ1ZmZlciBvdmVycmVhZHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1OTEKCjIwMTQtMTEtMjAgMTA6NDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBkb24ndCBsaW1pdCBtYXggdmlkZW8gcmVzb2x1dGlvbiB0byA0MDk2eDQwOTYKCSAgTUFYIGlzbid0IGVudGlyZWx5IGNvcnJlY3QgYXMgdXBwZXIgbGltaXQgZWl0aGVyLAoJICBpdCBzaG91bGQgcmVhbGx5IGJlIE1BWFVJTlQzMiwgYnV0IGl0J3MgdW5saWtlbHkKCSAgdG8gYmUgYSBwcm9ibGVtIGluIHRoZSBuZWFyIGZ1dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQwNwoKMjAxNC0xMS0xOSAxNTowNjowMCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBsZWFrIGZvciBtaWtleSBiYXNlNjQgZGVjb2RlZCBrZXktbWdtdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzkyCgoyMDE0LTExLTIwIDA5OjAxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBmaXggdW5oYW5kbGVkIGZvcm1hdCBpbiBwYXNzdGhyb3VnaAoJICBJbiBwYXNzdGhyb3VnaCB3ZSBjYW4gaGFuZGxlIGFsbCBmb3JtYXRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzg3CgoyMDE0LTExLTE5IDE2OjEyOjM4ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlc3RyaWN0IHJlc3luY2luZyB0byBUUyByZWdyZXNzaW9ucwoJICBUaGUgYmVoYXZpb3Igb2YgcmVzeW5jaW5nIHZpZGVvIGFuZCBhdWRpbyBpbmRlcGVuLQoJICBkZW50bHkgY2FuIGNhdXNlIEEvViBkZXN5bmNzLiBMZXRzIHJlc3RyaWN0IHJlc3luY3MKCSAgdG8ganVtcHMgYmFja3dhcmQgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM5NwoKMjAxNC0xMS0xNyAyMzoxNjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogZml4IHVwIFFvUyBoYW5kbGluZyBmb3IgbGl2ZSBzb3VyY2VzCgkgIE9ubHkgYXR0ZW1wdCBhZGFwdGl2ZSBkcm9wIHdoZW4gd2UgYXJlIG5vdCBsaXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTYKCjIwMTQtMTEtMTAgMjI6MzQ6MzkgKzAxMDAgIEhlbm5pbmcgSGVpbm9sZCA8aGVubmluZ0BpdGNvbnN1bHRpbmctaGVpbm9sZC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIGV4YW1wbGVzOiBwb3J0IHB5dGhvbiBydHAgUENNQSBjbGllbnQvc2VydmVyIHRlc3RzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTMwCgoyMDE0LTA2LTA0IDEyOjExOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB1c2luZyB0aGUgYXBwcm9wcmlhdGUgQVBJCgkgIFRoaXMgYXZvaWRzIF9zZXRfZm9ybWF0IHNldHRpbmcgdGhlIHVucG9zaXRpb25lZCBmbGFnIHdoZW4gcGFzc2VkCgkgIE5VTEwgYXMgY2hhbm5lbCBwb3NpdGlvbnMsIGFzIGl0IHdvdWxkIG5vdCBiZSBjbGVhcmVkIHdoZW4gc2V0dGluZwoJICBhY3R1YWwgY2hhbm5lbCBwb3NpdGlvbnMgbGF0ZXIuCgoyMDE0LTExLTAxIDIyOjM5OjQxICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZweDogbWFyayBhcm5yLXR5cGUgcHJvcGVydGllcyBhcyBkZXByZWNhdGVkIGFuZCBzZXQgdGhlbSB0byBuby1vcAoJICBBUk5SIHR5cGUgY29udHJvbCBpbiBsaWJ2cHggaGFzIGJlZW4gZGVwcmVjYXRlZCBzbyB0aGlzIGNvbW1pdCBtYXJrIHRoZQoJICB2cDhlbmMgYW5kIHZwOWVuYyBhc3NvY2lhdGVkIHByb3BlcnRpZXMgYXMgZGVwcmVjYXRlZCBhbmQgY2hhbmdlIHRoZWlyCgkgIGJlaGF2aW9yIHRvIGp1c3QgZGlzcGxheSBhIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ3NgoKMjAxNC0xMS0xMCAxMzoxNjowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwbWFuYWdlcjogVHJpdmlhbCB0eXBvIGZpeAoKMjAxNC0xMS0wOSAxMTowNDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBVc2UgR19ERUZJTkVfVFlQRSgpIHRvIHJlZ2lzdGVyIHRoZSBwYWQgaW5zdGVhZCBvZiBtYW51YWxseSByZWdpc3RlcmluZyBpdAoKMjAxNC0xMS0wNiAxNTozNzoyOCArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBHc3RNYXRyb3NrYW11eFBhZCBnZXRfdHlwZSgpIGZ1bmN0aW9uIHRocmVhZC1zYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3MjIKCjIwMTQtMTEtMDcgMTY6MTE6MjQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBlcnJvciBtZXNzYWdlIGlmIGFsbG9jYXRvciBpcyBhbHJlYWR5IGFjdGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Nzg5CgoyMDE0LTExLTA2IDIxOjIxOjQwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGJ1ZmZlciB2YWxpZGF0aW9uCgkgIEltcHJvdmUgYnVmZmVyIHZhbGlkYXRpb24gYnkgbWFraW5nIHN1cmUgZWFjaCBtZW1vcnkgYXJlIHRoZSByaWdodAoJICBvbmUgYW5kIHRoYXQgZWFjaCBtZW1vcnkgaXMgd3JpdGFibGUuIFRoaXMgZml4ZXMgdGVhcmluZyBpc3N1ZXMgaW4KCSAgY2FzZSBkb3duc3RyZWFtIHVzZXMgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlKCkgb3Igb3RoZXIgdHlwZQoJICBvZiBHc3RCdWZmZXIgY29weSB3aGVyZSBtZW1vcnkgYXJlIG9ubHkgcmVmZmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzU0CgoyMDE0LTExLTA2IDIxOjM4OjQzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgcnRzcDogZml4IGJ1aWxkIGluIGdzdC11bmluc3RhbGxlZCBzZXR1cAoKMjAxNC0xMC0yOSAxODo0NDo0MyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogSGFuZGxlIHNlcW51bXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM2NgoKMjAxNC0xMS0wNCAwODoxODo0MSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBwbmdkZWM6IGNoYW5nZSBwYXJzZSBsb2dpYwoJICBSaWdodCBub3cgaW4gcGFyc2UgbG9naWMgdGhlIHNpZ25hdHVyZSBpcyBjaGVja2VkIGV2ZXJ5IHRpbWUgdGhlIHBhcnNlIGZ1bmN0aW9uCgkgIGlzIGNhbGxlZCwgYW5kIHRoZSB3aG9sZSBkYXRhIGlzIHRoZSBzY2FubmVkIGVhY2ggYW5kIGV2ZXJ5IHRpbWUsIGV2ZW4gdGhvdWdoIHRoZQoJICBkYXRhIGlzIHNjYW5uZWQgaW4gdGhlIHByZXZpb3VzIGluc3RhbmNlLiBDaGFuZ2luZyB0aGUgbG9naWMgc3VjaCB0aGF0LCB3ZSBza2lwCgkgIHRoZSBieXRlcyB3aGljaCBhcmUgYWxyZWFkeSBzY2FubmVkIGluIHRoZSBwcmV2aW91cyBpbnN0YW5jZXMgb2YgcGFyc2UuIFRoaXMKCSAgaGVscHMgaW4gYXZvaWRpbmcgbXVsdGlwbGUgc2NhbiBvZiBhbHJlYWR5IHNjYW5uZWQgZGF0YS9zaWduYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MDgKCjIwMTQtMTEtMDMgMTU6MjY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHJldmVyc2Ugb3JkZXIgb2YgcGFyYW1zIGZvciBjb252ZXJ0ZXIKCjIwMTQtMTEtMDMgMTE6NDQ6MjggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZml4IHR5cG8gaW4gZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU0OQoKMjAxNC0xMS0wMiAyMzozMzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZml4IGEgY291cGxlIG9mIG1pbm9yIGxlYWtzCgoyMDE0LTExLTAyIDE5OjQyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHBvc3QgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgZnJhbWVzIGR1ZSB0byBRb1MKCjIwMTQtMTEtMDIgMTk6Mjk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcG9zdCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBmcmFtZXMgZHVlIHRvIFFvUwoKMjAxNC0xMS0wMiAxOTowMjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHR3ZWFrIHdyaXRpbmcgYXBwIHRhZyBzdHJpbmcgYSBsaXR0bGUKCjIwMTQtMTEtMDIgMTY6NTE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFNwcmlua2xlIHNvbWUgR19QQVJBTV9ERVBSRUNBVEVEIGFuZCAjaWZuZGVmIEdTVF9SRU1PVkVfREVQUkVDQVRFRAoKMjAxNC0xMS0wMiAxNjo1ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBwcm9wZXJ0eSBpbiBsZXZlbCB1bml0IHRlc3QKCjIwMTQtMTEtMDIgMTM6MDY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXBsZW1lbnQgZ2V0L3NldCBmb3IgbmV3IHJ0eC1taW4tcmV0cnktdGltZW91dCBwcm9wZXJ0eQoJICBQcm9wZXJ0aWVzIGFyZSBzbyBtdWNoIG1vcmUgdXNlZnVsIGlmIHlvdSBjYW4gYWN0dWFsbHkgc2V0CgkgIGFuZCBnZXQgdGhlaXIgdmFsdWVzLgoKMjAxNC0xMC0zMCAxNzo0MToxOSArMDAwMCAgU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQ2xlYW4gdXAgaW50ZXJsYWNlIHN1cHBvcnQKCSAgUmF0aGVyIHRoYW4gdHJ5IGFuZCBndWVzcyBpbnRlcmxhY2Ugc3VwcG9ydCBhcyBwYXJ0IG9mIGNoZWNraW5nIHN1cHBvcnRlZAoJICBzaXplcywgbG9vayBmb3IgaW50ZXJsYWNlIHN1cHBvcnQgc3BlY2lmaWNhbGx5IGluIGl0cyBvd24gZnVuY3Rpb24uCgkgIEFzIGEgY2xlYW51cCwgdXNlIFY0TDJfRklFTERfQU5ZIHdoZW4gcHJvYmluZyBzaXplcywgd2hpY2ggc2hvdWxkIHJlc3VsdCBpbgoJICB0aGUgZHJpdmVyIGRvaW5nIHRoZSByaWdodCB0aGluZy4KCSAgV2l0aCBteSBjYXB0dXJlIHNldHVwLCB0aGlzIGdldHMgbWUgdGhlIGZvbGxvd2luZyBzYW1wbGUgY2FwczoKCSAgRm9yIDEwODBpIHJlc29sdXRpb246CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVVkyLCB3aWR0aD0oaW50KTE5MjAsIGhlaWdodD0oaW50KTEwODAsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKWludGVybGVhdmVkLCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgMjUvMSwgMzAvMSB9CgkgIEZvciA3MjBwIHJlc29sdXRpb246CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVVkyLCB3aWR0aD0oaW50KTEyODAsIGhlaWdodD0oaW50KTcyMCwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpcHJvZ3Jlc3NpdmUsIGZyYW1lcmF0ZT0oZnJhY3Rpb24peyA1MC8xLCA2MC8xIH0KCSAgRm9yIDU3NmkvcCByZXNvbHV0aW9uIChib3RoIHBvc3NpYmxlIGF0IHRoZSBwb2ludCBvZiBxdWVyeSk6CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVVkyLCB3aWR0aD0oaW50KTcyMCwgaGVpZ2h0PShpbnQpNTc2LCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZyl7IHByb2dyZXNzaXZlLCBpbnRlcmxlYXZlZCB9LCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgMjUvMSwgNTAvMSB9CgkgIFRoaXMsIGluIHR1cm4sIG1ha2VzIDU3Nmkgd29yayBjb3JyZWN0bHk7IHdpdGggdGhlIG9sZCBjb2RlLAoJICB0aGUgY2FwcyB3b3VsZCBiZSBpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSBmb3IgaW50ZXJsYWNlZCB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjE5NAoKMjAxNC0xMS0wMSAxMjoxODowMiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmg6CgkgIHZweDogcmVtb3ZlIGNvbXBhdGliaWxpdHkgZGVmaW5lcwoJICBXZSBhcmUgZ3VhcmFudGVlZCB0byBoYXZlIFZQWF9JTUdfRk1UX0k0MjAsIFZQWF9QTEFORV9ZLAoJICBWUFhfUExBTkVfVSBhbmQgVlBYX1BMQU5FX1YgYXMgd2UgcmVxdWlyZSBsaWJ2cHggPiAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ3NgoKMjAxNC0xMS0wMSAxNTozMzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogcmVtb3ZlIHN1cHBvcnQgZm9yIGFuY2llbnQgQVBJIHZlcnNpb24KCjIwMTQtMTEtMDEgMTA6MTQ6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFVzZSBWUDggZW5jb2RpbmcgbmFtZQoJICBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB1c2VzIFZQOCBhcyB0aGUgZW5jb2RpbmcgaW4gdGhlaXIgU0RQLgoJICBBZGRpbmcgdGhpcyBub3cgZGVmYWN0byBzdGFuZGFyZCBuYW1lIHJlbW92ZXMgdGhlIG5lZWQgZm9yIHNwZWNpYWwKCSAgY2FzZSBpbiBTRFAgcGFyc2luZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE0LTExLTAxIDExOjU5OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IGZpeCB1cCB0ZW1wbGF0ZSBjYXBzIHNvIHdlIGNhbiBvdXRwdXQgdGhlIGRlZmF1bHQgcHQgMzMKCSAgQWRkIGZpeGVkIHBheWxvYWQgdHlwZSBmb3IgbXAydCB0byB0ZW1wbGF0ZSBjYXBzIGFzIHdlbGwsIHNvCgkgIG91ciBvdXRwdXQgY2FwcyBtYXRjaCB0aGUgYWR2ZXJ0aXNlZCBkZWZhdWx0IHB0LiBGaXhlcyBhCgkgIHJlZ3Jlc3Npb24gZnJvbSAxLjIuCgkgIFRoZXJlJ3Mgc3RpbGwgc29tZXRoaW5nIHdyb25nIHdpdGggY2FwcyBuZWdvdGlhdGlvbiB0aG91Z2gsCgkgIHJ0cG1wMnRwYXkgcGF5bG9hZD05NiAhIGZha2VzaW5rIHdpbGwgbm90IG91dHB1dCBjYXBzIHdpdGgKCSAgcGF5bG9hZD05Ni4KCjIwMTQtMTAtMzAgMTU6Mzc6MzYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtaWtleSByZWxhdGVkIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDMwCgoyMDE0LTA2LTEwIDEwOjA0OjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIHRpbWUgdG8gbWF0Y2ggY2xpcHBlZCBzYW1wbGVzCgkgIFRoaXMgd2lsbCBsZXQgb2dnbXV4IGdlbmVyYXRlIGEgZ3JhbnBvcyBvbiB0aGUgbGFzdCBwYWdlIHRoYXQgcHJvcGVybHkKCSAgcmVwcmVzZW50cyB0aGUgY2xpcHBlZCBzYW1wbGVzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbS4KCjIwMTQtMDYtMTAgMTA6NTk6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIHRpbWUgdG8gbWF0Y2ggY2xpcHBlZCBzYW1wbGVzCgkgIFRoaXMgd2lsbCBsZXQgb2dnbXV4IGdlbmVyYXRlIGEgZ3JhbnBvcyBvbiB0aGUgbGFzdCBwYWdlIHRoYXQgcHJvcGVybHkKCSAgcmVwcmVzZW50cyB0aGUgY2xpcHBlZCBzYW1wbGVzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbS4KCjIwMTQtMTAtMDcgMTU6Mjk6MzMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2xlYW5seSBoYW5kbGUgc3RyZWFtb24gZmFpbHVyZSBmb3Igb3V0cHV0IGRldmljZQoJICBPbiBzdHJlYW1vbiBmYWlsdXJlLCB0aGUgcXVldWVkIGJ1ZmZlciBpcyBub3QgcmVsZWFzZWQgZnJvbSB0aGUKCSAgYnVmZmVycG9vbCBjbGFzcyBwb2ludCBvZiB2aWV3IGJlY2F1c2UgaXQgaXMgcXVldWVkIHRvIHRoZSBkcml2ZXIgYW5kCgkgIHRoZSBmbHVzaCBsb2dpYyBpcyBub3QgcGVyZm9ybWVkIHNpbmNlIHdlIGFyZSBub3QgaW4gc3RyZWFtaW5nIHN0YXRlLgoJICBJdCBjYXVzZXMgdGhlIHY0bDIgYnVmZmVycG9vbCB0byBhbHdheXMgcmV0dXJuIHRoYXQgc3RvcCBtZXRob2QgZmFpbGVkCgkgIGFuZCB0byBsZWFrIHY0bDIgb2JqZWN0cyBhbmQgYnVmZmVycy4KCSAgVGhpcyBjb21taXQgc29sdmUgdGhpcyBieSBwZXJmb3JtaW5nIHRoZSBmbHVzaCBsb2dpYyBpbiBlcnJvciBjYXNlLCBpZQoJICBmbHVzaGluZyB0aGUgYWxsb2NhdG9yIGFuZCByZXN0b3JpbmcgcXVldWVkIGJ1ZmZlciBzdGF0ZSB0byBub24tcXVldWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTAyCgoyMDE0LTEwLTA4IDEwOjMxOjIxICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGltcGxlbWVudCBkaXNwb3NlIG1ldGhvZAoJICBVbnJlZiBvYmplY3RzIGluIGRpc3Bvc2UgbWV0aG9kIHJhdGhlciB0aGFuIGluIGZpbmFsaXplIGluIG9yZGVyIHRvCgkgIHByZXZlbnQgY2lyY3VsYXIgcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTAyCgoyMDE0LTEwLTA4IDEwOjM1OjE0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNoZWNrIHRoYXQgYWxsb2NhdG9yIGlzIG5vbiBudWxsIHdoZW4gc3RvcHBpbmcgcG9vbAoJICBPdGhlcndpc2UsIHdlIGNvdWxkIGRlcmVmZXJlbmNlIE5VTEwgYWxsb2NhdG9yIHdoZW4gdGhlIHN0b3AgbWV0aG9kIGlzCgkgIGNhbGxlZCBieSB0aGUgR3N0QnVmZmVyUG9vbCdzIGZpbmFsaXplIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOSAxMjoxNTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IEltcGxlbWVudCB1bmxvY2svdW5sb2NrX3N0b3AKCSAgVGhpcyB3aWxsIHByZXZlbnQgZGVhZGxvY2tzLCBidXQgd2lsbCBhbHNvIHByb3Blcmx5IGZsdXNoIHRoZSBwb29sIGFuZCBhbGxvY2F0b3IKCSAgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZS4gSXQgc2hvdWxkIGFsc28gZml4IGlzc3VlcyByZXBvcnRlZCBvbiBtYWlsaW5nIGxpc3QKCSAgd2hlbiBzZWVraW5nIGlzIHBlcmZvcm1lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODE1MgoKMjAxNC0xMC0yOCAyMTozMjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgcHVsc2UsIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTIGluIHNvbWUgcGxhY2VzCgoyMDE0LTEwLTI3IDE3OjU3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NGQwNmNkIHRvIDdiYjJiY2UKCjIwMTQtMTAtMjcgMTE6MDg6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IHVuaXQgdGVzdCBub3cgdGhhdCB3ZSBhbHdheXMgaGF2ZSBwcm9maWxlL2xldmVsIGluIHRoZSBjYXBzCgoyMDE0LTEwLTI2IDE0OjU1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIFBhcmFsbGVsaXNlICdtYWtlIGNoZWNrLXZhbGdyaW5kJwoJICBTb21lIG9mIHRoZSBSVFAgdW5pdCB0ZXN0cyBhcmUgdmVyeSBmbGFreSBhbmQgd2lsbAoJICBmYWlsIG1vcmUgb2Z0ZW4gd2l0aCB0aGUgQ1BVIG1heGVkIG91dCBmdWxseS4gVGhvc2UKCSAgdGVzdHMgbmVlZCB0byBiZSBmaXhlZCBpbiBhbnkgY2FzZSB0aG91Z2gsIHRoZXkgYWxzbwoJICBmYWlsIG9uIHNsb3dlciBtYWNoaW5lcyBhbmQgYWxzbyBvY2Nhc2lvbmFsbHkgd2l0aAoJICBub3JtYWwgJ21ha2UgY2hlY2snLgoKMjAxNC0xMC0yNiAxMTo0NzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsd2F5cyBzZXQgcHJvZmlsZS9sZXZlbCBvbiB0aGUgY2FwcwoJICBXZSBoYXZlIHRoZSBpbmZvcm1hdGlvbiBhbHJlYWR5LCBzbyB3aHkgbm90IHVzZSBpdD8KCjIwMTQtMTAtMjUgMTI6MzY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY3Jhc2ggb24gc29tZSAzMi1iaXQgc3lzdGVtcwoJICBNYWtlIHN1cmUgdG8gcGFzcyByaWdodCBudW1iZXIgb2YgYml0cyB0byBnc3Rfc3RydWN0dXJlX25ldygpCgkgIHdoaWNoIGlzIGEgdmFyYXJnIGZ1bmN0aW9uLgoJICBGaXhlcyBlbGVtZW50cy9ydHBhdXggdW5pdCB0ZXN0IG9uIHBwYzMyLgoKMjAxNC0xMC0yNSAwMDo1NjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiBmaXggcmd2b2x1bWUgdGVzdCBvbiBiaWctZW5kaWFuIHN5c3RlbXMKCjIwMTQtMTAtMjUgMDA6NTM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgdGVzdHM6IGZpeCBtdWxhd2RlYy9tdWxhd2VuYyB0ZXN0IGZvciBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTQtMTAtMjQgMjM6NDg6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGludGVyc2VjdCByZXN1bHQgd2l0aCBmaWx0ZXIgY2FwcyBpbiBjYXBzIHF1ZXJ5CgkgIEZpeGVzIGNyYXNoIGluIGF1ZGlvdGVzdHNyYyBiZWNhdXNlIG9mIGFuIHVuc3VwcG9ydGVkIGZvcm1hdAoJICBnZXR0aW5nIG5lZ290aWF0ZWQgb24gYmlnLWVuZGlhbiBzeXN0ZW1zIHdpdGgKCSAgYXVkaW90ZXN0c3JjICEgaW50ZXJsZWF2ZSAhIGF1ZGlvY29udmVydCAhIHdhdmVuYwoKMjAxNC0xMC0yMyAxNTo0NjoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkgIHB1bHNlOiByZW1vdmUgc29tZSB1bnVzZWQgdHlwZWRlZnMKCjIwMTQtMTAtMjIgMTU6Mjg6NDQgKzAyMDAgIEFuYW5kYSA8YW5hbmRhQGxhdGVsaWVyMjMuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogRml4IHNlZ2ZhdWx0IHdoZW4gcmVzZXR0aW5nIHRoZSBjb2RlY3MgbXVsdGlwbGUgdGltZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODc5MwoKMjAxNC0xMC0yMiAyMjo1MDo1NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVGVtcG9yYXJpbHkgZGlzYWJsZSBzdHJlYW0gc3RhdHVzIHBvc3RpbmcKCSAgV2UgbmVlZCBhIG1lY2hhbmlzbSBpbiBQdWxzZUF1ZGlvIHRvIGFsbG93IHJ1bm5pbmcgY29kZSBvdXRzaWRlIHRoZQoJICBtYWlubG9vcCBsb2NrLiBUaGVuIHdlJ2QgYmUgYWJsZSB0byBwb3N0IHRvIHRoZSBidXMgKHRha2luZyB0aGUKCSAgR1NUX09CSkVDVF9MT0NLKSwgd2l0aG91dCB3b3JyeWluZyBhYm91dCBsb2NraW5nIG9yZGVyIHdpdGggdGhlIG1haW5sb29wCgkgIGxvY2ssIHdoaWNoIGlzIHRoZSBjdXJyZW50IGNhdXNlIG9mIGRlYWRsb2NrcyB3aGlsZSB0cnlpbmcgdG8gcG9zdCB0aGUKCSAgc3RyZWFtIHN0YXR1cyBtZXNzYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MQoKMjAxNC0xMC0yMiAxNTowNDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBsaW1pdCB0aGUgcmV0cnkgZnJlcXVlbmN5CgkgIFdoZW4gdGhlIFJUVCBhbmQgaml0dGVyIGFyZSB2ZXJ5IGxvdyAoc3VjaCBhcyBvbiBhIGxvY2FsIG5ldHdvcmspLCB0aGUKCSAgY2FsY3VsYXRlZCByZXRyYW5zbWlzc2lvbiB0aW1lb3V0IGlzIHZlcnkgc21hbGwuIFNldCBzb21lIHNlbnNpYmxlIGxvd2VyCgkgIGJvdW5kYXJ5IHRvIHRoZSB0aW1lb3V0IGJ5IGFkZGluZyBhIG5ldyBwcm9wZXJ0eS4gV2UgdXNlIHRoZSBwYWNrZXQKCSAgc3BhY2luZyBhcyBhIGxvd2VyIGJvdW5kYXJ5IGJ5IGRlZmF1bHQuCgoyMDE0LTEwLTIyIDEzOjQwOjU4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBnc3RydHBqaXR0ZXJidWZmZXI6IGFkZCAicnR4LW1pbi1kZWxheSIgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VmdWwgdG8gc2V0IGEgbWluIHRpbWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhCgkgIHJldHJhbnNtaXNzaW9uIGV2ZW50LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1Mzc4CgoyMDE0LTEwLTIyIDEzOjI5OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFJlZmFjdG9yIGNvZGUKCSAgUmVmYWN0b3Igc29tZSBjb2RlIGRlYWxpbmcgd2l0aCBjYWxjdWxhdGluZyB2YXJpb3VzIHRpbWVvdXRzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTM3OAoKMjAxNC0xMC0xMCAxOTo1MDowNiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogZml4IEVhcmx5IEZlZWRiYWNrIFRyYW5zbWlzc2lvbgoJICBJbiBlYXJseSByZXRyYW5zbWlzc2lvbiB3ZSBhcmUgYWxsb3dlZCB0byBzY2hlZHVsZSAxIHJlZ3VsYXIgUlRDUCBwYWNrZXQKCSAgYXQgYW4gZWFybGllciB0aW1lLiBXaGVuIHdlIGRvIHRoYXQsIHdlIG5lZWQgdG8gc2V0IGFsbG93X2Vhcmx5IHRvIEZBTFNFCgkgIGFuZCBpZ25vcmUvZHJvcCAob3IgbWVyZ2UpIGFsbCBmdXR1cmUgcmVxdWVzdHMgZm9yIGVhcmx5IHRyYW5zbWlzc2lvbi4KCSAgV2Ugbm93IGZpcnN0IGNoZWNrIGlmIHdlIGNhbiBzY2hlZHVsZSBhbiBlYXJseSBSVENQIGFuZCBpZiB3ZSBjYW4sCgkgIGFjdHVhbGx5IHByZXBhcmUgdGhlIGRhdGEgZm9yIHRoZSBuZXh0IFJUQ1AgaW50ZXJ2YWwuCgkgIEFmdGVyIHdlIHNlbmQgdGhlIG5leHQgcmVndWxhciBSVENQIGFmdGVyIHRoZSBlYXJseSBSVENQLCB3ZSBzZXQKCSAgYWxsb3dfZWFybHkgdG8gVFJVRSBhZ2FpbiB0byBhbGxvdyBtb3JlIGVhcmx5IHJlcXVlc3RzLgoJICBSZW1vdmUgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIGltbWVkaWF0ZSBmZWVkYmFjayBmb3Igbm93LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzE5CgoyMDE0LTEwLTIxIDEzOjAxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOGM4OTM5IHRvIDg0ZDA2Y2QKCjIwMTQtMTAtMjEgMTM6MTA6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbWFrZSBkZWJ1ZyBsaW5lIGxlc3MgY29uZnVzaW5nCgoyMDE0LTEwLTIxIDEyOjU4OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM2Mzg4YTEgdG8gYThjODkzOQoKMjAxNC0wNy0wMiAxNzo1MDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogcmV3b3JrIHJlc3luYyBoYW5kbGluZwoJICBBZGQgYSBuZWVkLXJlc3luYyBzdGF0ZSwgdGhpcyBpcyB3aGVuIHdlIG5lZWQgdG8gdHJ5IHRvIGxvY2sgb24gdG8gYQoJICB0aW1lL1JUUHRpbWUgcGFpci4KCSAgQWx3YXlzIGNoZWNrIHRoZSBSVFAgdGltZXN0YW1wcyBhbmQgaWYgdGhleSBnbyBiYWNrd2FyZHMsIG1hcmsgb3Vyc2VsdmVzCgkgIGFzIG5lZWQtcmVzeW5jLgoJICBPbmx5IHJlc3luYyB3aGVuIG5lZWQtcmVzeW5jIGlzIFRSVUUgYW5kIHdlIGhhdmUgYSB2YWxpZCB0aW1lLiBPdGhlcndpc2UKCSAgd2Uga2VlcCB0aGUgb2xkIHZhbHVlcy4gVGhpcyBhdm9pZHMgbG9ja2luZyBvbiB0byBhbiBpbnZhbGlkIHRpbWUgYW5kCgkgIGNhdXNpbmcgdXMgdG8gdGltZXN0YW1wIGV2ZXJ5dGhpbmcgd2l0aCAtMS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQxNwoKMjAxNC0xMC0wMyAxNzoyODowNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBmdWxsIHN0cmVhbSBjYXBzIG9uIGludGVybmFsIHNyYyBUQ1AgcGFkcwoJICBTZXQgdGhlIGNvbXBsZXRlIHN0cmVhbSBjYXBzIG9uIHRoZSBUQ1AgaW50ZXJuYWwgc3JjIHBhZHMuIE90aGVyd2lzZSwKCSAgcHRkZW11eCB3aWxsIG5vdCBwcm9wZXJseSBkZXRlY3QgdGhlIGNhcHMgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODY4CgoyMDE0LTEwLTE3IDIyOjIzOjI3ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3Qgc2V0IFBST1hZX0NBUFMgZmxhZyBvbiB0aGUgc3JjIHBhZAoJICBydHBtdXggYmVoYXZlcyBsaWtlIGEgZnVubmVsIGluIHRoYXQgaXQgZm9yd2FyZHMgd2hhdGV2ZXIgdXBzdHJlYW0gaXMKCSAgc2VuZGluZyBidWZmZXJzLiBTbyBzZXR0aW5nIHByb3h5IGNhcHMgZG9lc24ndCBtYWtlIHNlbnNlIGFzIHRoZQoJICB1cHN0cmVhbSBkb24ndCBoYXZlIHRvIGhhdmUgY29tcGF0aWJsZSBjYXBzLCB0aHVzIHJlc3VsdGluZyBpbiBhbiBlbXB0eQoJICBjYXBzIHNldCBhcyBhIHJlc3VsdCBvZiBhIGNhcHMgcXVlcnkuIEluc3RlYWQgc2V0IGZpeGVkIGNhcHMganVzdAoJICBhcyBmdW5uZWwgZG9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODcyMgoKMjAxNC0xMC0yMCAxMTo1NzozOCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGNyaXRpY2FsIGVycm9yIHdoZW4gZWxlbWVudCBwcm9wZXJ0aWVzIHNldCBhcyBtYXgvbWluCgkgIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSBjYW4gYmUgc2V0IGZyb20gcmFuZ2Ugb2YgLTIxNDc0ODM2NDggdG8gMjE0NzQ4MzY0NwoJICB3aGVuIGkgbGF1bmNoIHRoZSB2aWRlb2JveCBlbGVtZW50IHdpdGggdGhhdCB2YWx1ZXMsIGl0IGdpdmVzIGEgY3JpdGljYWwgZXJyb3IKCSAgKGdzdC1jaGVjay0xLjA6Mjk4NjkpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF92YWx1ZV9zZXRfaW50X3JhbmdlX3N0ZXA6IGFzc2VydGlvbiAnc3RhcnQgPCBlbmQnIGZhaWxlZAoJICBUaGlzIGhhcHBlbnMgYmVjYXVzZSBtaW4gY2Fubm90IGJlIGVxdWFsIHRvIG1heC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODgzOAoKMjAxNC0xMC0xNSAxNzo0NToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgUmV2ZXJ0ICJydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMDZiYTkwNTFmOTA0YTdlYjQ4MmMwN2E5N2ExODI3MTY5MTU4NjYzLgoJICBUaGlzIGJyZWFrcyB0aGUgYnVpbGQsIGFzIGl0IGRlcGVuZHMgb24gcGFyc2VyIEFQSSBpbiAtYmFkLgoKMjAxNC0xMC0xNSAxNzozNDo1MCArMDIwMCAgSnVyZ2VuIFNsb3dhY2sgPGp1cmdlbi5zbG93YWNrQGJhcmNvLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTQtMTAtMDUgMjE6MjQ6MjcgKzAyMDAgIFBldGVyIEcuIEJhdW0gPHBldGVyQGRyLWJhdW0ubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBTdXBwb3J0IFJGNjQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNDUKCjIwMTQtMTAtMTEgMTE6MTg6NDIgKzExMDAgIERhdmlkIFNhbnNvbWUgPG1lQGRhdmlkc2Fuc29tZS5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IERvbid0IGNhbGwgaWlyZXF1YWxpemVyJ3MgdHJhbnNmb3JtX2lwIGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgSXQgdHJpZXMgdG8gbWFwIHRoZSByZWFkLW9ubHkgYnVmZmVyIHdpdGggR1NUX01BUF9SRUFEV1JJVEUgYW5kIGNyYXNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4ODYKCjIwMTQtMTAtMTAgMTg6MzA6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiBSZW5hbWUgc2VxbnVtLWJhc2UgdG8gc2VxbnVtLW9mZnNldCBpbiBjYXBzCgkgIFRoaXMgd2FzIG1vZGlmaWVkIGJhY2sgaW4gMS4wIGluIEdzdFJ0cEJhc2VQYXlsb2FkCgoyMDE0LTEwLTEwIDE4OjExOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgcnRwZHRtZnNyYzogY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2UgLT4gdGltZXN0YW1wLW9mZnNldCBhbmQgc2VxbnVtLW9mZnNldAoJICBUaGVzZSB3ZXJlIHJlbmFtZWQgaW4gR3N0UlRQQmFzZVBheWxvYWQgaW4gMS4wCgoyMDE0LTEwLTEwIDE3OjMwOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIC0+IHRpbWVzdGFtcC1vZmZzZXQgYW5kIHNlcW51bS1vZmZzZXQKCSAgVGhlc2Ugd2VyZSByZW5hbWVkIGluIEdzdFJUUEJhc2VQYXlsb2FkIGluIDEuMAoKMjAxNC0xMC0wNiAxNDoyMzoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSAgZ29vbTJrMTogcmVtb3ZpbmcgYmxvY2sgb2YgY29kZSB0aGF0IGRvZXMgbm90aGluZwoJICBUaGUgbG9vcCBpbiB6b29tRmlsdGVyU2V0UmVzb2x1dGlvbiBpcyBtZWFudCB0byBjaGFuZ2UgdGhlIHZhbHVlcyBpbiB0aGUKCSAgemYtPmZpcmVkZWNbXSBhcnJheS4gRWFjaCBpdGVyYXRpb24gd3JpdGVzIHRoZSB2YWx1ZSBvZiBkZWNjIG9udG8gdGhlIGFycnlhLAoJICBidXQgbm8gY29uZGl0aW9ucyB0aGF0IGNoYW5nZSB0aGUgdmFsdWUgb2YgZGVjYyBhcmUgZXZlciBtZXQgYW5kIHRoZSBhcnJheSBpcwoJICBmaWxsZWQgd2l0aCB6ZXJvIGZvciBlYWNoIGVsZW1lbnQuIFdoaWNoIGlzIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZQoJICBhcnJheSBiZWZvcmUgdGhlIGxvb3AgYmVnaW5zLgoJICBUaGUgbG9vcCBkb2VzIG5vdGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNTMKCjIwMTQtMTAtMDQgMTc6MTc6MTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBsb2cgYWxsIGNsb2NrX3JhdGUgY2hhbmdlcyBhcyB3YXJuaW5ncy4KCSAgV2UgbmV2ZXIgaW5pdGlhbGl6ZSBjbG9ja19yYXRlIGV4cGxpY2l0bHksIHRoZXJlZm9yZSBpdCBpcyAwIGJ5IGRlZmF1bHQuIFRoZQoJICBwYXJhbWV0ZXIgaXMgYSB1aW50MzIgYW5kIHRoZSBvbmx5IGNhbGxlciBlbnN1cmUgdGhhdCBpdCBpcyA+MCwgdGhlcmVmb3JlIGl0CgkgIHdvbid0IGJlY29tZSAtMSBldmVyLgoKMjAxNC0xMC0wMiAxNDoyNjowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRml4IGxpZmV0aW1lIG9mIHN0cmVhbSBoZWFkZXJzIGFuZCBxdWV1ZWQgYnVmZmVycwoJICBTdHJlYW0gaGVhZGVycyBhcmUgdXBkYXRlZCB3aGVuZXZlciA6OnNldF9jYXBzIGlzIGNhbGxlZCwgc28gd2UgY2FuJ3QgYXNzdW1lCgkgIHRoZXknbGwgYmUgdmFsaWQgYmVmb3JlIHRoZSBtZXNzYWdlIGJvZHkgaXMgd3JpdHRlbiBvdXQuIFdlICpjYW4qIGFzc3VtZSB0aGF0CgkgIGZvciBxdWV1ZWQgYnVmZmVycywgYnV0IFNPVVBfTUVNT1JZX1NUQVRJQyBpcyBzdGlsbCB3cm9uZyBmb3IgdGhvc2UuCgkgIEFsc28sIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcgZm9yIHN0cmVhbSBoZWFkZXIgaW50ZXJhY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzcxCgoyMDE0LTEwLTAyIDAzOjI2OjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IG1lbW9yeSBsZWFrIHdoZW4gcHJlcGVuZGluZyBBRFRTIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc2MQoKMjAxNC0wOS0yMyAxMDo0ODowOSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogaW50ZXJsZWF2ZSBzYW1wbGVzIGZvbGxvd2luZyB0aGUgRGVmYXVsdCBDaGFubmVsIE9yZGVyaW5nCgkgIEluIG9yZGVyIHRvIGhhdmUgYSBmdWxsIG1hcHBpbmcgYmV0d2VlbiBjaGFubmVsIHBvc2l0aW9ucyBpbiB0aGUgYXVkaW8KCSAgc3RyZWFtIGFuZCBsb3Vkc3BlYWtlciBwb3NpdGlvbnMsIHRoZSBjaGFubmVsLW1hc2sgYWxvbmUgaXMgbm90IGVub3VnaDoKCSAgdGhlIGNoYW5uZWxzIG11c3QgYmUgaW50ZXJsZWF2ZWQgZm9sbG93aW5nIHNvbWUgRGVmYXVsdCBDaGFubmVsIE9yZGVyaW5nCgkgIGFzIG1lbnRpb25lZCBpbiB0aGUgV0FWRUZPUk1BVEVYVEVOU0lCTEVbMV0gc3BlY2lmaWNhdGlvbi4KCSAgQXMgYSBEZWZhdWx0IENoYW5uZWwgT3JkZXJpbmcgdXNlIHRoZSBvbmUgaW1wbGllZCBieQoJICBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbiB3aGljaCBmb2xsb3dzIHRoZSBvcmRlcmluZyBkZWZpbmVkIGluIFNNUFRFCgkgIDIwMzYtMi0yMDA4WzJdLgoJICBOT1RFIHRoYXQgdGhlIHJlbGF0aXZlIG9yZGVyIGluIHRoZSBUb3AgTGF5ZXIgaXMgbm90IGV4YWN0bHkgdGhlIHNhbWUgYXMKCSAgdGhlIG9uZSBmcm9tIHRoZSBXQVZFRk9STUFURVhURU5TSUJMRVsxXSBzcGVjaWZpY2F0aW9uOyBsZXQncyBob3BlIHVzZXJzCgkgIHVzaW5nIHNvIG1heSBjaGFubmVscyBhcmUgYWxyZWFkeSBhd2FyZSBvZiBzdWNoIGRpc2NyZXBhbmNpZXMuCgkgIFsxXSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9oYXJkd2FyZS9kbjY1MzMwOCUyOHY9dnMuODUlMjkuYXNweAoJICBbMl0gaHR0cDovL3d3dy5pdHUuaW50L2Rtc19wdWIvaXR1LXIvb3BiL3JlcC9SLVJFUC1CUy4yMTU5LTItMjAxMS1QREYtRS5wZGYKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxMjcKCjIwMTQtMTAtMDIgMTA6MTA6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFNlbmQgQ0FQUyBldmVudCBhZnRlciB0aGUgcGFkIHdhcyBhY3RpdmF0ZWQKCSAgT3RoZXJ3aXNlIHRoZSBDQVBTIGV2ZW50IHdpbGwgYmUgZHJvcHBlZCBhbmQgd2UgbmV2ZXIgY29uZmlndXJlIGFueSBjYXBzIGF0CgkgIGFsbCwgbGVhZGluZyB0byB3ZWlyZCBiZWhhdmlvdXIgaW4gbWFueSBzaXR1YXRpb25zLiBFc3BlY2lhbGx5IGhlYWRlcgoJICByZXdyaXRpbmcgaXMgbm90IGdvaW5nIHRvIHdvcmsgaWYgYSBjYXBzZmlsdGVyIGlzIGFmdGVyIHdhdmVuYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzczNQoKMjAxNC0xMC0wMSAyMzoxMjozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogQWRkIHNvbWUgbW9yZSB1c2VmdWwgZGVidWcgbG9nZ2luZwoKMjAxNC0xMC0wMSAyMzowNTowMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRnJlZSBxdWV1ZWQgYnVmZmVycyBpbiA6OnJlc2V0CgkgIDo6cmVuZGVyIHNldHMgYSBuZXcgY2FsbGJhY2sgZm9yIHdyaXRpbmcgb3V0IG5ldyBidWZmZXJzIG9ubHkgaWYgdGhlcmUgYXJlbid0CgkgIGFscmVhZHkgYnVmZmVycyBxdWV1ZWQgZm9yIHdyaXRpbmcgd2l0aCBhIHByZXZpb3VzbHktc2NoZWR1bGVkIGNhbGxiYWNrLgoJICBIb3dldmVyLCBpZiB0aGUgcHJldmlvdXNseS1zY2hlZHVsZWQgY2FsbGJhY2sgaXMgaW50ZXJydXB0ZWQgYnkgYSBzdGF0ZSBjaGFuZ2UKCSAgKGVpdGhlciBtYW51YWxseSBvciBkdWUgdG8gYW4gZXJyb3IpIGFuZCB0aGVyZSBhcmUgc3RpbGwgYnVmZmVycyBpbiB0aGUgcXVldWUsCgkgIHJlc3RhcnRpbmcgdGhlIHBpcGVsaW5lIHdpbGwgcmVzdWx0IGluIGJ1ZmZlcnMgYmVpbmcgcXVldWVkIGZvcmV2ZXIsIGFuZCBubwoJICBjYWxsYmFja3Mgd2lsbCBldmVyIGJlIHNjaGVkdWxlZCwgYW5kIG5vIGJ1ZmZlcnMgd2lsbCBiZSB3cml0dGVuIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzczOQoKMjAxNC0xMC0wMSAxNzoyOToyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEFjdHVhbGx5IHVzZSB0aGUgY29ycmVjdCBHc3RWaWRlb0luZm8gZm9yIGNvbnZlcnNpb24KCjIwMTQtMTAtMDEgMTc6MjQ6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0IGFuZCBoYW5kbGUgcmVzb2x1dGlvbnMgZGlmZmVyZW5jZXMgcHJvcGVybHkKCSAgVGhpcyBpcyBhYm91dCBjb252ZXJ0aW5nIHRoZSBmb3JtYXQsIG5vdCBhYm91dCBjb252ZXJ0aW5nIGFueSB3aWR0aHMgYW5kCgkgIGhlaWdodHMuIFN1YmNsYXNzZXMgYXJlIGV4cGVjdGVkIHRvIGhhbmRsZXIgZGlmZmVyZW50IHJlc29sdXRpb25zIHRoZW1zZWx2ZXMsCgkgIGxpa2UgdGhlIHZpZGVvbWl4ZXJzIGFscmVhZHkgZG8gcHJvcGVybHkuCgoyMDE0LTEwLTAxIDE3OjEyOjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogR3N0VmlkZW9Db252ZXJ0ZXIgY3VycmVudGx5IGNhbid0IHJlc2NhbGUgYW5kIHdpbGwgYXNzZXJ0CgkgIExlYWRzIHRvIHVnbHkgYXNzZXJ0aW9ucyBpbnN0ZWFkIG9mIHByb3Blcmx5IGVycm9yaW5nIG91dDoKCSAgQ1JJVElDQUwgKio6IGdzdF92aWRlb19jb252ZXJ0ZXJfbmV3OiBhc3NlcnRpb24gJ2luX2luZm8tPndpZHRoID09IG91dF9pbmZvLT53aWR0aCcgZmFpbGVkCgoyMDE0LTA5LTMwIDExOjM1OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA4ZW5jL3ZwOWVuYzogUHJvdGVjdCB0aGUgZW5jb2RlciB3aXRoIGEgbXV0ZXggaW4gYWxsIHNpdHVhdGlvbnMKCjIwMTQtMDktMzAgMTE6MzE6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IEFsbG93IGNhcHMgcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzI5CgoyMDE0LTA5LTMwIDExOjI4OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaW5pc2goKSBhbmQgZHJhaW4oKSBzaG91bGQgcmV0dXJuIGEgR3N0Rmxvd1JldHVybgoKMjAxNC0wMy0xNCAxMjo1OTowMiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYzMjkKCjIwMTQtMDktMjkgMTE6NDk6NDUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBjb2xvcnNwYWNlIGZvciBvdXRwdXQgZGV2aWNlcwoJICBXaGVuIHRoZSB2NGwyIGRldmljZSBpcyBhbiBvdXRwdXQgZGV2aWNlLCB0aGUgYXBwbGljYXRpb24gc2hhbGwgc2V0IHRoZQoJICBjb2xvcnNwYWNlLiBTbyBtYXAgR1N0cmVhbWVyIGNvbG9yaW1ldHJ5IGluZm8gdG8gVjRMMiBjb2xvcnNwYWNlIGFuZCBzZXQKCSAgb24gc2V0X2Zvcm1hdC4gSW4gY2FzZSB3ZSBoYXZlIG5vIGNvbG9yaW1ldHJ5IGluZm9ybWF0aW9uLCB3ZSB0cnkgdG8KCSAgZ3Vlc3MgaXQgYWNjb3JkaW5nIHRvIHBpeGVsIGZvcm1hdCBhbmQgdmlkZW8gc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU3OQoKMjAxNC0wOS0yOSAyMjo0ODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCB0aHJlYWRpbmcgYW5kIHN5bmNocm9uaXNhdGlvbgoJICBUaGlzIGdpdmVzIGEgcXVpY2sgaW50cm9kdWN0aW9uIHRvIGhvdyB0aGUgcHVsc2VzaW5rL3B1bHNlc3JjIGNvZGUKCSAgaW50ZXJhY3RzIHdpdGggdGhlIHBhX3RocmVhZGVkX21haW5sb29wIHRoYXQgd2Ugc3RhcnQgdXAgdG8gY29tbXVuaWNhdGUKCSAgd2l0aCB0aGUgc2VydmVyLgoKMjAxNC0wOS0yOSAyMDoxODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBlbWl0dGluZyBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzIHN5bmNocm9ub3VzCgkgIFRoZSBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzIGFyZSBlbWl0dGVkIGluIHRoZSBQQSBtYWlubG9vcCB0aHJlYWQsIHdoaWNoCgkgIG1lYW5zIHRoZSBtYWlubG9vcCBsb2NrIGlzIHRha2VuLCBmb2xsb3dlZCBieSB0aGUgR3N0IG9iamVjdCBsb2NrIChieQoJICBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UoKSkuIEluIGFsbCBvdGhlciBsb2NhdGlvbnMsIHRoZSBvcmRlciBvZgoJICBsb2NraW5nIGlzIHJldmVyc2VkICh0aGlzIGlzIHVuYXZvaWRhYmxlIGluIGEgYnVuY2ggb2YgY2FzZXMgd2hlcmUgdGhlCgkgIG9iamVjdCBsb2NrIGlzIHRha2VuIGJ5IEdzdEJhc2VTaW5rIG9yIEdzdEF1ZGlvQmFzZVNpbmssIGFuZCB0aGVuIHdlIGdldAoJICBjb250cm9sIHRvIHRha2UgdGhlIG1haW5sb29wIGxvY2spLgoJICBUaGUgb25seSB3YXkgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGRlZmVyIGNhbGxiYWNrIGZvciBzdHJlYW0gc3RhdHVzCgkgIG1lc3NhZ2VzIGRvZXNuJ3QgZGVhZGxvY2sgaXMgdG8gZWl0aGVyIHN0b3AgcG9zdGluZyB0aG9zZSBtZXNzYWdlcywgb3IKCSAgbWFrZSBzdXJlIHRoYXQgdGhlIG1lc3NhZ2UgZW1pc3Npb24gaXMgY29tcGxldGVkIGJlZm9yZSB3ZSBwcm9jZWVkIHRvCgkgIGFueSBwb2ludCB0aGF0IG1pZ2h0IHRha2UgdGhlIG9iamVjdCBsb2NrIGJlZm9yZSB0aGUgbWFpbmxvb3AgbG9jawoJICAod2hpY2ggaXMgd2hhdCB3ZSBkbyBhZnRlciB0aGlzIHBhdGNoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MQoKMjAxNC0wOS0xNiAxMjoxMjo0OSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHByaW50IGNoYW5uZWwgbWFza3MgaW4gaGV4YWRlY2ltYWwKCjIwMTQtMDktMjcgMTY6MDE6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuaDoKCSAgdjRsMjogcmVtb3ZlIHJlZHVuZGFudCBzdHJ1Y3QgZGVjbGFyYXRpb24KCjIwMTQtMDktMjYgMTM6NDY6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RydHNwc3JjLmM6NzkzOToxMTogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdHc3RTRFBSZXN1bHQnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RSVFNQUmVzdWx0JyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcmVzID0gZ3N0X3NkcF9tZXNzYWdlX25ldyAoJnNkcCk7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0cnRzcHNyYy5jOjc5NDQ6MTE6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnR3N0U0RQUmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0UlRTUFJlc3VsdCcgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHJlcyA9IGdzdF9zZHBfbWVzc2FnZV9wYXJzZV91cmkgKHVyaSwgc2RwKTsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTQtMDktMjUgMTU6MDE6MTQgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2UgZGVtdXhlciByZXVzYWJsZQoJICBSZW1vdmUgcGFkcyBmcm9tIGZsb3cgY29tYmluZXIgYW5kIHJlc2V0IGxhc3QKCSAgZmxvdyByZXR1cm4gdG8gRkxPV19PSyBieSByZXNldHRpbmcgdGhlIGZsb3cgY29tYmluZXIuCgkgIFRoaXMgcHJldmVudHMgRkxPV19GTFVTSElORyB3aGVuIHRyeWluZyB0byByZS11c2UgdGhlCgkgIGRlbXV4ZXIgYWZ0ZXIgc2V0dGluZyBpdCBiYWNrIHRvIE5VTEwvUkVBRFkgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzczNTkKCjIwMTQtMDktMjQgMTY6NDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMub3JjOgoJICB2aWRlb21peGVyOiB1c2UgdmlkZW8gbGlicmFyeSBjb2RlIGluc3RlYWQgb2YgY29weQoKMjAxNC0wOS0xOCAxNjozOToxOSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQWRkZWQgaW5kZXggY2hlY2sgYmVmb3JlIHVzaW5nIHRoZSBpbmRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc4CgoyMDE0LTA5LTIzIDIzOjMzOjM3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gbm90IGluZmVyIERUUyBvbiBidWZmZXJzIGZyb20gc3BhcnNlIHN0cmVhbXMuCgkgIERUUyBkZWx0YSBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBzYW1wbGUgZHVyYXRpb24uIElmIGJ1ZmZlciBoYXMgbWlzc2luZyBEVFMsIHdlIHRha2UgZWl0aGVyIHNlZ21lbnQgc3RhcnQgb3IgcHJldmlvdXMgYnVmZmVyIGVuZCB0aW1lLCB3aGljaGV2ZXIgaXMgbGF0ZXIuCgkgIFRoaXMgbXVzdCBvbmx5IGJlIGRvbmUgZm9yIG5vbiBzcGFyc2Ugc3RyZWFtcywgc3BhcnNlIHN0cmVhbXMgY2FuIGhhdmUgZ2FwcyBiZXR3ZWVuIGJ1ZmZlcnMgKHdoaWNoIGlzIGhhbmRsZWQgbGF0ZXIgYnkgYWRkaW5nIGV4dHJhIGVtcHR5IGJ1ZmZlciB3aXRoIGR1cmF0aW9uIHRoYXQgZmlsbHMgdGhlIGdhcCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0xOCAxNzowODozNyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9pZnMuYzoKCSAgZ29vbTogQ2xhcmlmaWVkIHByZWNlZGVuY2UgYmV0d2VlbiAlIGFuZCA/CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODcKCjIwMTQtMDktMTggMTc6NTk6MzEgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBjbGFyaWZ5IGV4cHJlc3Npb24gc28gb3BlcmF0b3IgcHJlY2VkZW5jZSBpcyBjbGVhcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTAzCgoyMDE0LTA5LTE4IDE2OjA0OjAzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIE1pc2NlbGxhbmVvdXMgbWlub3IgY2xlYW51cHMKCSAgRml4IHJlZHVuZGFudCB2YXJpYWJsZXMgYW5kIGFzc2lnbm1lbnRzLAoJICBhbmQgdW5yZWFjaGFibGUgYnJlYWtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODgwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODkwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODk0CgoyMDE0LTA5LTI0IDAwOjEyOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTcKCjIwMTQtMDktMjMgMjI6NTU6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE9ubHkgY2FsY3VsYXRlIHdpdGggZHVyYXRpb25zICE9IC0xCgoyMDE0LTA5LTIzIDE5OjA4OjQ4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogY29sbGVjdCBwYWQgZm9yIHNwYXJzZSBzdHJlYW0gc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aCBsb2NrIHNldCB0byBmYWxzZQoJICBBdm9pZHMgd2FpdGluZyBmb3IgYnVmZmVycyBmcm9tIHNwYXJzZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMjMgMTk6MDc6MjUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggc3VidGl0bGUgYnVmZmVyIGR1cmF0aW9uIGFuZCBzdHJpcCBudWxsIHRlcm1pbmF0aW9uCgkgIFN0cmlwIHRoZSBcMCBvZmYgdGhlIHN1YnRpdGxlIGFzIHdlIGFscmVhZHkga25vdyB0aGUgc2l6ZSBhbmQgYWxzbyByZW1lbWJlcgoJICB0byBzZXQgdGhlIGR1cmF0aW9uIGFzIGJ1ZmZlciBjb3B5aW5nIGRvZXNuJ3QgZG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMjMgMTk6MDY6MTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBtb3ZlIHN1YnRpdGxlIGxheWVyIGFib3ZlIHZpZGVvIGFuZCBzZXQgYWx0ZXJuYXRlIGdyb3VwCgkgIGxheWVyIC0xIGlzIGFib3ZlIHZpZGVvLCB0aGF0IGlzIDAKCSAgQW5kIGhhdmluZyBhbGwgc3VidGl0bGVzIGluIGFsdGVybmF0ZSBncm91cCAyIG1lYW5zIHRoYXQgb25seSBvbmUKCSAgc2hvdWxkIGJlIHNlbGVjdGVkIGF0IGEgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0yMyAwOTo0NzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrL3NvdXA6IFRlbXBvcmFyaWx5IGRpc2FibGUgR19FTkFCTEVfRElBR05PU1RJQwoJICBUaGUgU09VUF9TRVJWRVJfUE9SVCBwcm9wZXJ0eSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIHJlY2VudCBsaWJzb3VwCgkgIHZlcnNpb25zLgoKMjAxNC0wOS0yMyAwOTo0MzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrL3NvdXA6IERlZmluZSBtaW5pbXVtIHZlcnNpb24gcmVxdWlyZWQKCSAgVG8gYXZvaWQgZGVwcmVjYXRpb24gd2FybmluZ3MKCjIwMTQtMDktMTkgMTk6MTQ6MjggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSGFuZGxlIG1wNGEgd2l0aG91dCBFU0RTIGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk4NgoKMjAxNC0wOS0yMiAxNjoxNToyNyArMDIwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCBidWlsZCBwcm9ibGVtIHdpdGhvdXQgWEZJWEVTCgoyMDE0LTA5LTE5IDE0OjM0OjEzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmVkIHVudXNlZCBzdHJ1Y3R1cmUgbWVtYmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODgzCgoyMDE0LTA5LTExIDEzOjQ4OjQ0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogZml4IHdyb25nIERBUiBjYWxjdWxhdGlvbiBmb3IgUEFSIDw9IDEKCSAgQ0lEICMxMjI2NDUyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOTYKCjIwMTQtMDktMTggMTY6NTk6NTIgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IFJlbW92ZWQgdW5yZWFjaGFibGUgYnJlYWsgc3RhdGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODg0CgoyMDE0LTA5LTE3IDE2OjM3OjExICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gbm90IGxlYWsgZW5jc2luayBwYWQgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODA3CgoyMDE0LTA5LTE3IDE2OjIzOjIxICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZG8gbm90IGxlYWsgbmV3IHN0cmVhbSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODA1CgoyMDE0LTA5LTE1IDA5OjA4OjE4ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bWVuYzogcG9ydCB5NG1lbmMgdG8gdXNlIEdzdFZpZGVvRW5jb2RlciBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwODUKCjIwMTQtMDktMTcgMTM6NTU6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IE9TU3RhdHVzIGlzIG5vdCBhIGZvdXJjYywgc28gZG9uJ3QgcHJpbnQgaXQgYXMgb25lLi4uCgoyMDE0LTA5LTE2IDE0OjI2OjA4ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkbyBub3QgbGVhayB1aWQgYWZ0ZXIgcGFyc2luZyBUT0MgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczOQoKMjAxNC0wOS0xNiAyMjo0NzoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogRGVjbGFyZSBzb21lIG1vcmUgcmVxdWlyZWQgY2FwcyBmaWVsZHMgaW4gdGhlIHNpbmsgdGVtcGxhdGUgY2FwcwoJICBOb3cgb25seSBtaXNzaW5nIGFyZSB3aWR0aCBhbmQgaGVpZ2h0LCB3aGljaCBhcmUgZXhwcmVzc2VkIGFzIHN0cmluZ3MKCSAgZm9yIFJUUC4uLiBzbyB3ZSBjYW4ndCBwdXQgdGhlbSBpbnRvIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxNC0wOS0xNiAxNjo0NjowNyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkgIGdka3BpeGJ1ZmRlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMTE6MjY6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYW5kIHVzZSBjb3JyZWN0IGRlY29kZXIgdmFyaWFibGUgbmFtZQoKMjAxNC0wOS0xNiAxMToyNTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wOS0xNiAxMzoyNDoxNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdnZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAxMzoyMzoxNiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE1IDE0OjM5OjQxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBSZW1vdmUgdW51c2VkIHNjcmVlbi1udW0gcHJvcGVydHkKCSAgVGhlIHNjcmVlbiBudW1iZXIgY2FuIGJlIHN0aWxsIHNwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBkaXNwbGF5LW5hbWUKCSAgcHJvcGVydHkgKGUuZy4gZm9yIHNjcmVlbiAxIG9mIGRpc3BsYXkgMCB1c2UgZGlzcGxheS1uYW1lPSI6MC4xIikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMjIKCjIwMTQtMDktMDQgMTY6MTA6NTEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBEcmF3IHRoZSBjdXJzb3Igb25seSB3aGVuIGl0IGlzIGFjdGl2ZSBpbiB0aGUgY2FwdHVyaW5nIHJlZ2lvbgoJICBVc2UgWFF1ZXJ5UG9pbnRlciB0byBjaGVjayB0aGF0IHRoZSBwb2ludGVyIGlzIGFjdHVhbGx5IGFjdGl2ZSBpbnNpZGUKCSAgdGhlIGNhcHR1cmluZyByZWdpb24uCgkgIFRoaXMgcHJldmVudHMgZHJhd2luZyB0aGUgY3Vyc29yIHdoZW4gdGhlIHBvaW50ZXIgaXMgcGFydGlhbGx5IG91dHNpZGUKCSAgb2YgdGhlIGNhcHR1cmVkIHJlZ2lvbiBidXQgbm90IGFjdGl2ZSBpbnNpZGUgdGhlIHJlZ2lvbjsgaW4gcGFydGljdWxhcgoJICB0aGlzIGF2b2lkcyBkcmF3aW5nIHRoZSAid2luZG93IHJlc2l6ZSIgY3Vyc29yIHNoYXBlcyB0byB0aGUgY2FwdHVyZWQKCSAgaW1hZ2Ugd2hlbiB0aGUgbW91c2UgcG9pbnRlciBjcm9zc2VzIGEgd2luZG93IGJvcmRlci4KCSAgTk9URSB0aGF0IHRoaXMgaXMgbm90IG9ubHkgYW4gb3B0aW1pemF0aW9uLCB0aGlzIGFsc28gaGFwcGVuIHRvIGZpeAoJICBhIHNlcmlvdXMgcHJvYmxlbSBpbiBtdWx0aS1zY3JlZW4gc2V0dXBzLgoJICBCZWNhdXNlIFhGaXhlcyBnaXZlcyBubyBpbmZvcm1hdGlvbiBvZiB3aGF0IHNjcmVlbiB0aGUgcG9pbnRlciBpcyBvbiwKCSAgeGltYWdlc3JjIHdhcyBhbHdheXMgZHJhd2luZyB0aGUgY3Vyc29yIG9uIHRoZSBjYXB0dXJlZCBzY3JlZW4gZXZlbiBpZgoJICB0aGUgbW91c2UgcG9pbnRlciB3YXMgb24gYW5vdGhlciBzY3JlZW4uCgkgIEZvciBleGFtcGxlLCB3aGVuIGNhcHR1cmluZyBmcm9tIHNjcmVlbiAxIChpLmUuIGRpc3BsYXktbmFtZT0iOjAuMSIpIHRoZQoJICBjdXJzb3Igd2FzIGRyYXduIGluIHRoZSBjYXB0dXJlZCBpbWFnZSBldmVuIHdoZW4gdGhlIG1vdXNlIHBvaW50ZXIgd2FzCgkgIGFjdHVhbGx5IG9uIHNjcmVlbiAwLCB3aGljaCBpcyB3cm9uZyBhbmQgdmlzdWFsbHkgY29uZnVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjQ2CgoyMDE0LTA5LTA1IDExOjMzOjMxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IGRyYXdpbmcgdGhlIGN1cnNvciB3aGVuIGl0IGlzIG91dHNpZGUgdGhlIGNhcHR1cmluZyByZWdpb24KCSAgV2hlbiB0aGUgY3Vyc29yIGlzIHBhcnRpYWxseSBvciB0b3RhbGx5IG91dCBvZiB0aGUgY2FwdHVyaW5nIHJlZ2lvbiBvbgoJICB0aGUgdG9wIHNpZGUgb3Igb24gdGhlIGxlZnQgc2lkZSwgaXQgZ2V0cyBkcmF3biBmdWxseSBpbnNpZGUgb2YgdGhlCgkgIHJlZ2lvbiB3aXRoIGl0cyBjb29yZGluYXRlcyByb3VuZGVkIHVwIHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSB0b3AgYm9yZGVyLgoJICBUaGlzIGlzIGltbWVkaWF0ZWx5IG5vdGljZWFibGUgd2hlbiB1c2luZyB0aGUgeGlkIHByb3BlcnR5IHRvIGNhcHR1cmUKCSAgYSBzcGVjaWZpYyB3aW5kb3cuCgkgIFRvIGZpeCB0aGUgaXNzdWUsIGFsbG93IG5lZ2F0aXZlIGN4IGFuZCBjeCBjb29yZGluYXRlcyB3aGVuIGNoZWNraW5nIHRoZQoJICBib3VuZGFyaWVzIGJlZm9yZSBkcmF3aW5nIHRoZSBjdXJzb3IuCgkgIE5PVEUgdGhhdCB0aGUgYm91bmRhcmllcyBjaGVja2luZyBjYWxjdWxhdGlvbnMgc3RpbGwgYWxsb3dzIHRoZSBjdXJzb3IKCSAgdG8gYmUgZHJhd24gd2hlbiBpdCBpcyBvbmx5IHBhcnRpYWxseSBvdXRzaWRlIG9mIHRoZSBjYXB0dXJpbmcgcmVnaW9uLAoJICBidXQgdGhpcyBtYWtlcyBzZW5zZSBhbmQgZ2l2ZXMgYSBtb3JlIHBsZWFzaW5nIHZpc3VhbCBiZWhhdmlvdXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2NDYKCjIwMTQtMDktMDUgMDA6MTU6MzAgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgeGltYWdlc3JjOiBGaXggdGhlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIG9mIHRoZSBjdXJzb3IKCSAgWEZpeGVzIHByb3ZpZGVzIHRoZSBjdXJzb3IgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIHJvb3Qgd2luZG93LCB0aGlzCgkgIGlzIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgd2hlbiB1c2luZyB0aGUgeGlkIHByb3BlcnR5IHRvIGNhcHR1cmUKCSAgYSBzcGVjaWZpYyB3aW5kb3csIHRoZSByZXN1bHQgaXMgdGhhdCB0aGUgY3Vyc29yIGdldHMgZHJhd24gYXQgdGhlIHdyb25nCgkgIHBvc2l0aW9uLgoJICBJbiBvcmRlciB0byBmaXggdGhpcyBjb25zaWRlciB0aGUgd2luZG93IGxvY2F0aW9uIHdoZW4gY2FsY3VsYXRpbmcgdGhlCgkgIGN1cnNvciBwb3NpdGlvbiBpbiB0aGUgZGVzdGluYXRpb24gaW1hZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2NDYKCjIwMTQtMDktMTUgMTQ6NTE6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8cGV0ZXJAa29yc2dhYXJkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogT19DTE9FWEVDIG5lZWRzIF9HTlVfU09VUkNFCgkgIFNpbWlsYXIgdG8gOTRmM2Q2ZmMgLyBieiA3MDk0MjMKCSAgT24gc29tZSBzeXN0ZW1zIChFLkcuIHVDbGliYyBhbmQgb2xkZXIgR2xpYmMgdmVyc2lvbnMpLCBPX0NMT0VYRUMgaXMgb25seQoJICBkZWZpbmVkIHdoZW4gX0dOVV9TT1VSQ0UgaXMgc3BlY2lmaWVkLCBzbyBkbyBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjY3MAoKMjAxNC0wOS0xNSAxODoxMTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IHVwZGF0ZSB0byAxLjAgdHJhbnNmb3JtX2NhcHMgc2VtYXRpY3MKCSAgSW4gMS4wLCB3ZSBwYXNzIHRoZSBjb21wbGV0ZSBjYXBzIHRvIHRyYW5zZm9ybV9jYXBzIHRvIGFsbG93IGZvciBiZXR0ZXIKCSAgb3B0aW1pemF0aW9ucy4gTWFrZSB0aGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHdvcmsgb24gbm9uLXNpbXBsZSBjYXBzCgkgIGluc3RlYWQgb2YganVzdCBpZ25vcmluZyB0aGUgY29uZmlndXJlZCBmaWx0ZXIgY2Fwcy4KCjIwMTQtMDktMDggMTQ6MDY6MDAgKzAyMDAgIFBldGVyIEcuIEJhdW0gPHBldGVyQGRyLWJhdW0ubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiB1c2UgV0FWRV9GT1JNQVRfRVhURU5TSUJMRSBmb3IgbW9yZSB0aGFuIDIgY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ0NAoKMjAxNC0wOS0xMiAxNTowNjo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRml4IHBhcnNpbmcgb2YgYWR0bCBjaHVua3MKCSAgV2UgaGF2ZSB0byBza2lwIDEyIGJ5dGVzIG9mIGRhdGEgZm9yIHRoZSBjaHVuaywgYW5kIHRoZSBkYXRhIHNpemUKCSAgcGFzc2VkIHRvIHRoZSBzdWItY2h1bmsgcGFyc2luZyBmdW5jdGlvbnMgc2hvdWxkIGhhdmUgNCBieXRlcyBsZXNzCgkgIHRoYW4gdGhlIGRhdGEgc2l6ZS4KCSAgQWxzbyB3aGVuIHBhcnNpbmcgdGhlIHN1Yi1jaHVua3MsIGNoZWNrIGlmIHdlIGFjdHVhbGx5IGhhdmUgZW5vdWdoCgkgIGRhdGEgdG8gcmVhZCBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNjYKCjIwMTQtMDktMTIgMTA6NTU6MjMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBpbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jbXAgYW5kIG1lbXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNjUyOAoKMjAxNC0wOS0xMiAxMzozNjoxOCArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBiaXR3aXNlIE9SIHRoZSBzYW1lIGZsYWcgdHdpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzY1NDMKCjIwMTQtMDktMTIgMTA6MzU6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIHJlYWwgYXVkaW8gMjhfOAoJICBGaXhlcyBkdXBsaWNhdGUgY2hlY2sgZm9yIDE0XzQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTQzCgoyMDE0LTA5LTExIDE0OjQ2OjA5ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCBPUiB0aGUgc2FtZSBmbGFnIHR3aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0NjIKCjIwMTQtMDktMTEgMTI6NTI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSWYgdGhlIHNlcnZlciByZXBvcnRzICJBY2NlcHQtUmFuZ2VzOiBub25lIiBkb24ndCB0cnkgcmFuZ2UgcmVxdWVzdHMKCjIwMTQtMDktMTAgMDk6NTA6NDUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogVW5yZWYgcG9vbCBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzg0CgoyMDE0LTA5LTA5IDE5OjAzOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRG9uJ3QgcmFuayBpdCBmb3Igbm93CgkgIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBjb252ZXJ0ZXIgdG8gYmUgcGlja2VkIGF1dG9tYXRpY2FsbHkgaW4gY2FzZQoJICBzb21lb25lIGltcGxlbWVudCBkeW5hbWljIGNvbnZlcnRlciBzZWxlY3Rpb24gc3VwcG9ydC4gSSdkIGxpa2UgdGhpcwoJICB0byBiZSByYW5rZWQgb25seSBmb3Iga25vd24gZGV2aWNlLCBhcyBpdCdzIGhhcmQgdG8gYmUgc3VyZSBhIGRldmljZSBpcwoJICBhIGNvbnZlcnRlciBzdWl0ZWQgZm9yIGdlbmVyYWwgcHVycG9zZS4gUmUtbmVnb3RpYXRpb24gaXMgYWxzbyBuZWVkZWQKCSAgYmVmb3JlIHdlIGNhbiByYW5rIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjA3CgoyMDE0LTA5LTA1IDA4OjI5OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBEZXRlY3QgYmFkIGRyaXZlcnMgdGltZXN0YW1wcwoJICBFdmVuIHRob3VnaCB0aGUgVVZDIGRyaXZlciBkbyBhIGdyZWF0IGRlYWwgb2YgZWZmb3J0IHRvIHByZXZlbnQgYmFkCgkgIHRpbWVzdGFtcCB0byBiZSBzZW50IHRvIHVzZXJzcGFjZSwgdGhlcmUgc3RpbGwgZXhpc3QgVVZDIGhhcmR3YXJlIHRoYXQKCSAgYXJlIHNvIGJ1Z2d5IHRoYXQgdGhlIHRpbWVzdGFtcCBlbmR1cCBuZWFybHkgcmFuZG9tLiBUaGlzIGNvZGUgZGV0ZWN0CgkgIGFuZCBpZ25vcmUgdGltZXN0YW1wIGZyb20gdGhlc2UgZHJpdmVycywgbWFraW5nIHRoZXNlIGNhbWVyYSB1c2FibGUuCgkgIFRoaXMgaGFzIGJlZW4gdGVzdGVkIG9uIGJvdGggaW52YWxpZCBhbmQgdmFsaWQgY2FtZXJhcywgbWFraW5nIHN1cmUgaXQKCSAgZG9lcyBub3QgdHJpZ2dlciBmb3IgdmFsaWQgY2FtZXJhcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkxMAoKMjAxNC0wOC0yOSAxNzowOTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBXb3JrYXJvdW5kIGRyaXZlciB0aGF0IGRvbid0IHN1cHBvcnQgUkVRQlVGUygwKQoJICBUaGVyZSBpcyBzdGlsbCBhcm91bmQgMTggZHJpdmVycyBub3QgeWV0IHBvcnRlZCB0byB2aWRlb2J1ZjIuIFRoZXNlIGRyaXZlcgoJICBkb24ndCBzdXBwb3J0IGZyZWVpbmcgYnVmZmV0cnMgdGhyb3VnaCBSRVFCVUZTKDApIGhlbmNlIGZvciB0aGVzZSB0aGUKCSAgbWVtb3J5IHR5cGUgcHJvYmluZyBmYWlscy4gSW4gb3JkZXIgdG8gZ2FpbiBiYWNrIG91ciBwcmV2aW91cyBiZWhhdmlvdXIgaW4KCSAgcHJlc2VuY2Ugb2YgdGhlc2UsIHdlIGltcGxlbWVudCBhIHdvcmthcm91bmQgdGhhdCBhc3N1bWluZyBNTUFQIGlzCgkgIHN1cHBvcnRlZC4gTm90ZSB0aGF0IGFuIGFsbG9jYXRvciBpcyBvbmx5IGNyZWF0ZWQgZm9yIGRldmljZSB3aXRoCgkgIFNUUkVBTUlORyBzdXBwb3J0IGluIHRoZSBkZXZpY2UgY2FwYWJpbGl0aWVzLiBJbiBzdWNoIGNhc2Ugb25lIG9mIE1NQVAsCgkgIFVTRVJQVFIgYW5kIERNQUJVRiBpcyByZXF1aXJlZC4gVGhvdWdoIERNQUJVRiBjYW1lIGFmdGVyd2FyZCwgc28gaXMKCSAgbm90IGFuIG9wdGlvbiBhbmQgaW4gcHJhY3RpY2Ugbm9uZSBvZiB0aGVzZSBkcml2ZXJzIHdpbGwgb25seSBkbyBVU0VSUFRSLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYwCgkgIEFsc28tYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoyMDE0LTA5LTA0IDE1OjExOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogTWVyZ2UgbWluX2J1ZmZlcnNfZm9yKiB2YXJpYWJsZSBpbnRvIG9uZQoJICBSZXVzZSB0aGUgc2FtZSBtaW5fYnVmZmVycyB2YXJpYWJsZSBmb3IgYm90aCBjYXB0dXJlIGFuZCBvdXRwdXQsIHRoaXMKCSAgcmVkdWNlIHRoZSBsZW5ndGggb2YgbGluZXMgYW5kIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MgoKMjAxNC0wOS0wNCAxODozNTo0NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBzZXQgbWluX2xhdGVuY3kgZm9yIG91dHB1dCBkZXZpY2UgYWNjb3JkaW5nIHRvIHJlcXVpcmVkIG1pbmltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMKCSAgU2luY2Ugd2UgY2FuIGdldCB0aGUgbWluaW11bSBudW1iZXIgb2YgYnVmZmVycyBuZWVkZWQgYnkgYW4gb3V0cHV0CgkgIGRldmljZSB0byB3b3JrLCB1c2UgaXQgdG8gc2V0IG1pbl9sYXRlbmN5IHdoaWNoIHdpbGwgZGV0ZXJtaW5lIGhvdyBtYW55CgkgIGJ1ZmZlcnMgYXJlIHF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MgoKMjAxNC0wOS0wOSAxNjoxMDo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiBhZGQgY2hlY2sgdG8gbWFrZSBzdXJlIG11bHRpcGxlIG1lbW9yeSBjaHVua3MgYXJlIHVzZWQKCjIwMTQtMDktMDkgMTU6NTU6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogd2FpdCBmb3IgYnVmZmVycyB3aXRoIEdDb25kIGluc3RlYWQgb2Ygc2xlZXBpbmcKCSAgQXZvaWRzIGhhbGYtc2Vjb25kIHNsZWVwIGZvciBubyByZWFzb24uCgoyMDE0LTA5LTA5IDE1OjMxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IHNwbGl0IG91dCBzb2NrZXQgc2V0dXAKCjIwMTQtMDktMDkgMTM6NDY6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG1vcmUgZWZmaWNpZW50IG1lbW9yeSBoYW5kbGluZwoJICBEcm9wIHVzZSBvZiBnX3NvY2tldF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkgd2hpY2ggaXMKCSAgbm90IHVzZWZ1bCBvbiBhbGwgc3lzdGVtcyAod2hlcmUgaXQgcmV0dXJucyB0aGUgc2l6ZQoJICBvZiB0aGUgZW50aXJlIGJ1ZmZlciBub3QgdGhhdCBvZiB0aGUgbmV4dCBwZW5kaW5nCgkgIHBhY2tldCksIGFuZCBpcyB5ZXQgYW5vdGhlciBzeXNjYWxsIGFuZCBhcHBhcmVudGx5CgkgIHZlcnkgaW5lZmZpY2llbnQgb24gV2luZG93cyBpbiB0aGUgVURQIGNhc2UuCgkgIEluc3RlYWQsIHdoZW4gcmVhZGluZyBVRFAgcGFja2V0cywgdXNlIHRoZSBtb3JlIGZlYXR1cmVmdWwKCSAgZ19zb2NrZXRfcmVjZWl2ZV9tZXNzYWdlKCkgY2FsbCB0aGF0IGFsbG93cyB0byByZWFkIGludG8KCSAgc2NhdHRlcmVkIG1lbW9yeSwgYW5kIGFsbG9jYXRlIG9uZSBtZW1vcnkgY2h1bmsgd2hpY2ggaXMKCSAgbGlrZWx5IHRvIGJlIGxhcmdlIGVub3VnaCBmb3IgYSBwYWNrZXQsIHdoaWxlIGFsc28gcHJvdmlkaW5nCgkgIGEgbGFyZ2VyIGFsbG9jYXRlZCBtZW1vcnkgY2h1bmsganVzdCBpbiBjYXNlIHRoZSBwYWNrZXQKCSAgaXMgbGFyZ2VyIHRoYW4gZXhwZWN0ZWQuIElmIHRoZSByZWNlaXZlZCBkYXRhIGZpdHMgaW50byB0aGUKCSAgZmlyc3QgY2h1bmssIHdlJ2xsIGp1c3QgYWRkIHRoYXQgdG8gdGhlIGJ1ZmZlciB3ZSByZXR1cm4KCSAgYW5kIHJlLXVzZSB0aGUgZmFsbGJhY2sgYnVmZmVyIGZvciBuZXh0IHRpbWUsIG90aGVyd2lzZSB3ZQoJICBhZGQgYm90aCBjaHVua3MgdG8gdGhlIGJ1ZmZlci4KCSAgVGhpcyByZWR1Y2VzIG1lbW9yeSB3YXN0ZSBtb3JlIHJlbGlhYmx5IG9uIHN5c3RlbXMgd2hlcmUKCSAgZ2V0X2F2YWlsYWJsZV9ieXRlcygpIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KCSAgSW4gYSBtdWx0aW1lZGlhIHN0cmVhbWluZyBzY2VuYXJpbywgaW5jb21pbmcgVURQIHBhY2tldHMKCSAgYXJlIGFsbW9zdCBuZXZlciBmcmFnbWVudGVkIGFuZCB0aHVzIGFsbW9zdCBhbHdheXMgc21hbGxlcgoJICB0aGFuIHRoZSBNVFUgc2l6ZSwgd2hpY2ggaXMgYWxzbyB3aHkgd2UgZG9uJ3QgdHJ5IHRvIGRvCgkgIHNvbWV0aGluZyBzbWFydGVyIHdpdGggbW9yZSBmYWxsYmFjayBtZW1vcnkgY2h1bmtzIG9mCgkgIGRpZmZlcmVudCBzaXplcy4gVGhlIGZhbGxiYWNrIHNjZW5hcmlvIGlzIGp1c3QgZm9yIHdoZW4KCSAgc29tZW9uZSBidWlsdCBhIGJyb2tlbiBzZW5kZXIgcGlwZWxpbmUgKG5vdCB1c2luZyBhCgkgIHBheWxvYWRlciBvciBzb21lc3VjaCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDM2NAoKMjAxNC0wOS0wOSAxMjoxNTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogcmV3b3JrIG1lbW9yeSBhbGxvY2F0aW9uIGJpdHMgYW5kIGVuc3VyZSB3ZSBhbHdheXMgaGF2ZSB0d28gY2h1bmtzIG9mIG1lbW9yaWVzIHRvIHJlYWQgaW50bwoJICBGaXJzdCBjaHVuayBpcyB0aGUgbGlrZWx5L2V4cGVjdGVkIGJ1ZmZlciBzaXplLCBzZWNvbmQgaXMgYXMKCSAgZmFsbGJhY2sgaW4gY2FzZSB0aGUgcGFja2V0IGlzIGxhcmdlciBpbiB0aGUgZW5kLgoJICBOZXh0IHN0ZXA6IGFjdHVhbGx5IHVzZSB0aGVzZS4KCjIwMTQtMDktMDkgMDk6NDI6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IHRyYWNrIG1heCBwYWNrZXQgc2l6ZSBhbmQgc2F2ZSBhbGxvY2F0b3IgbmVnb3RpYXRlZCBieSBHc3RCYXNlU3JjCgoyMDE0LTA5LTA4IDE2OjE1OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IGV4YW1wbGUgY29tbWFuZCBsaW5lCgoyMDE0LTA5LTA3IDEyOjQ2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNyYXNoIHdpdGggY2VydGFpbiB2aWRlb3MKCSAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gZnJvbSAxLjIgY2F1c2VkIGJ5IHRoZSBwb3J0CgkgIHRvIHRoZSBwYWQgZmxvdyBjb21iaW5lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjE5MgoKMjAxNC0wOS0wNCAxNjoyMToyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2EtZGVtdXg6IERvbid0IGhhbmRsZSBwYXJzZSBlcnJvcnMgYXQgdGhlIGVuZCBvZiBmaWxlIGFzIGFuIGVycm9yCgkgIEJ1dCBvbmx5IGlmIHRoZXkgaGFwcGVuIGFmdGVyIHRoZSBNYXRyb3NrYSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODMzCgoyMDE0LTA5LTA0IDEyOjE0OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEluY2x1ZGUgcmVkaXJlY3Rpb24gdGFyZ2V0IGluIGVycm9yIG1lc3NhZ2VzCgkgIEp1c3QgZ2l2aW5nIHRoZSBvcmlnaW5hbCBVUkkgY2FuIGdpdmUgdGhlIGZhbHNlIGltcHJlc3Npb24gdGhhdCBlLmcuCgkgIHRoYXQgb25lIGZhaWxlZCBob3N0IG5hbWUgcmVzb2x1dGlvbiwgd2hpbGUgYWN0dWFsbHkgdGhlIHJlZGlyZWN0aW9uIHRhcmdldAoJICBkaWQuCgoyMDE0LTA5LTAyIDExOjEzOjQ0ICswNDAwICBBbmRyZWkgU2FyYWtlZXYgPHNhcmFrdXNoYUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggc3luY2hyb25pemF0aW9uIGlmIGR5bmFtaWNhbGx5IGNoYW5naW5nIHRoZSBGUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg1OQoKMjAxNC0wOS0wMiAxMzo1Mjo0MyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IENoZWNrIGlmIGlucHV0IGNhcHMgYXJlIHRoZSBzYW1lIGFuZCBjcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSB2aWRlbyBpbmZvCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGFsc28gcHJvcGVydGllcyBsaWtlIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gYXJlIHRoZSBzYW1lCgkgIGJldHdlZW4gYm90aCBzdHJlYW1zIGFuZCB0aGF0IHRoZSBvdXRwdXQgY2FwcyBjb250YWluIGFsbCBmaWVsZHMgbmVjZXNzYXJ5IGZvcgoJICBjb21wbGV0ZSB2aWRlbyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODA0CgoyMDE0LTA5LTAyIDE3OjIyOjA3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcmVwbGFjZSB3aXRoIGdzdF9idWZmZXJfY29weQoJICBnc3RfYnVmZmVyX3JlZiBhbmQgZ3N0X2J1ZmZlcl93cml0YWJsZSBpcyBiZWluZyB1c2VkIHRvIGNyZWF0ZSBhIHdyaXRhYmxlIGNvcHkgb2Ygc291cmNlIGJ1ZmZlci4KCSAgcmVwbGFjaW5nIHRoZSBzYW1lIHdpdGggZ3N0X2J1ZmZlcl9jb3B5IGFzIHRoZSBmdW5jdGlvbmFsaXR5IGlzIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4ODAKCjIwMTQtMDktMDMgMjM6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFyayBqcGVnIGFuZCBwbmcgYXMgcGFyc2VkIHNvIGF2ZGVjX21qcGVnIGNhbiBiZSB1c2VkIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1OTcxCgoyMDE0LTA5LTAzIDExOjQ2OjEzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWZkZWM6IGZyZWUgcXVlcnkgYWZ0ZXIgdXNlCgkgIEluIGdzdF9nZGtfcGl4YnVmX2RlY19zZXR1cF9wb29sKCksIHF1ZXJ5IGlzIGJlaW5nIGFsbG9jYXRlZCB1c2luZwoJICBnc3RfcXVlcnlfbmV3X2FsbG9jYXRpb24oKSwgYnV0IHRoZSBzYW1lIGlzIG5vdCB1bnJlZmVyZW5jZWQKCSAgaGVuY2UgY2FsbGluZyBnc3RfcXVlcnlfdW5yZWYoKSBhZnRlciB1c2FnZSBvZiBxdWVyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTk1MAoKMjAxNC0wOS0wMyAyMzo0NjozNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IFNpbGVuY2Ugc29tZSB3YXJuaW5ncyBmb3Igbm9ybWFsIGZpbGUgY29udGVudHMKCjIwMTQtMDktMDEgMDk6NTY6MDIgKzAyMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggcGFyc2luZyBpc3N1ZSB3aGVuIHRoZSBidWZmZXIgZG9lcyBub3QgaGF2ZSBhIGNvbXBsZXRlIEFEVFMvTE9BUyBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTIwCgoyMDE0LTA5LTAyIDA5OjA5OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBHZXQgaW5wdXQgd2lkdGgvaGVpZ2h0IGZyb20gdGhlIGNvZGVjIGluc3RlYWQgb2YgdGhlIGlucHV0IGNhcHMKCSAgVGhleSBhcmUgcmVwb3J0ZWQgcHJvcGVybHkgYnkgbGlidnB4IGlmIHRoZSBjb3JyZWN0IHN0cnVjdCBtZW1iZXJzIGFyZSB1c2VkLgoJICBUaGlzIGFsc28gZml4ZXMgaGFuZGxpbmcgb2YgcmVzb2x1dGlvbiBjaGFuZ2VzIHdpdGhvdXQgaW5wdXQgY2FwcyBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5MzU5CgoyMDEzLTEwLTIyIDE4OjQ5OjIyICswMTAwICBUb20gR3JlZW53b29kIDx0Y2RncmVlbndvb2RAaG90bWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBmb3IgaGFuZGxpbmcgcmVzb2x1dGlvbiBjaGFuZ2VzIHdoZW4gZGVjb2RpbmcgVlA4CgkgIElmIHRoZSByZXNvbHV0aW9uIGNoYW5nZXMgaW4gdGhlIGJpdHN0cmVhbSB3aXRob3V0IHRoZSBpbnB1dCBjYXBzIGNoYW5naW5nIHdlCgkgIHdvdWxkIHByZXZpb3VzbHkgb3V0cHV0IGNvcnJ1cHRlZCB2aWRlbyBvciBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTM1OQoKMjAxNC0wOS0wMiAwMDo1NToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBGaXggc2VnZmF1bHQgd2hlbiBhIG5ldyBjYXBzIGlzIHJlY2VpdmVkCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBvdXRwdXQgY2FwcyB3aGVuIGEgbmV3IGNhcHMgZXZlbnQgaXMgcmVjZWl2ZWQKCSAgYXMgaXQgc2hvdWxkIGdlbmVyYXRlIGEgbmV3IG9uZSBiYXNlZCBvbiB0aGUgbmV3IGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjYKCjIwMTQtMDktMDIgMDA6NTQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB0ZXN0czogdnA4ZGVjOiBhZGQgdGVzdCBmb3IgY2FwcyByZW5lZ290aWF0aW9uCgkgIENoZWNrIHRoYXQgdnA4ZGVjIGNhbiBwcm9wZXJseSBhY2NlcHQgYSBuZXcgY2FwcyB3aGVuIHVwc3RyZWFtCgkgIGNoYW5nZXMgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOC0wNSAxMDozNDozOSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogUmVzZXQgb3V0cHV0IGFuZCBpbnB1dCBzdGF0ZXMgd2hlbiBjaGFuZ2luZyBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOS0wMSAxNjozOToyMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IERvbid0IGNhbGwgZ3N0X2NhcHNfdW5yZWYoKSBvbiB0ZW1wbGF0ZSBjYXBzIHdoZW4gYWxyZWFkeSB1bnJlZmVyZW5jZWQKCSAgQWRkaW5nIGFuIGV4dHJhIGNvbmRpdGlvbiB3aGlsZSBjYWxsaW5nIGdzdF9jYXBzX3VucmVmICh0ZW1wbCkKCSAgYW5kIHJlcGxhY2luZyBnc3RfY2Fwc19tYWtlX3dyaXRhYmxlIChnc3RfY2Fwc19yZWYgKGNhcHMpKSB3aXRoCgkgIGdzdF9jYXBzX2NvcHkgKGNhcHMpIGluIGxpbmUgMTc3LCBzaW5jZSB0aGUgZnVuY3Rpb25hbGl0eSBpcyBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1Nzk1CgoyMDE0LTA4LTI5IDEyOjAxOjI3ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBnZXRfbmVhcmVzdF9zaXplOiBGaXggIlVuc3VwcG9ydGVkIGZpZWxkIHR5cGUiIGVycm9ycwoJICBNb3N0IFY0TDIgaW9jdGxzIGxpa2UgdHJ5X2ZtdCB3aWxsIGFkanVzdCBpbnB1dCBmaWVsZHMgdG8gbWF0Y2ggd2hhdCB0aGUKCSAgaGFyZHdhcmUgY2FuIGRvIHJhdGhlciB0aGVuIHJldHVybmluZyAtRUlOVkFMLiBBcyBpcyBkb2NtZW50ZWQgaGVyZToKCSAgaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvdmlkaW9jLWctZm10Lmh0bWwKCSAgRUlOVkFMIGlzIG9ubHkgcmV0dXJuZWQgaWYgdGhlIGJ1ZmZlciB0eXBlIGZpZWxkIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZC4KCSAgU28gdXBvbiByZXF1ZXN0aW5nIFY0TDJfRklFTERfTk9ORSBkZXZpY2VzIHdoaWNoIGNhbiBvbmx5IGRvIGludGVybGFjZWQKCSAgbW9kZSB3aWxsIGNoYW5nZSB0aGUgZmllbGQgdmFsdWUgdG8gZS5nLiBWNEwyX0ZJRUxEX0JPVFRPTSBhcyBvbmx5IHJldHVybmluZwoJICBoYWxmIHRoZSBsaW5lcyBpcyB0aGUgY2xvc2VzdCB0aGV5IGNhbiBkbyB0byBwcm9ncmVzc2l2ZSBtb2Rlcy4KCSAgSW4gZXNzZW5jZSB0aGlzIG1lYW5zIHRoYXQgd2UndmUgZmFpbGVkIHRvIGdldCBhICh1c2FibGUpIHByb2dlc3NpdmUgbW9kZQoJICBhbmQgc2hvdWxkIGZhbGwgYmFjayB0byBpbnRlcmxhY2VkIG1vZGUuCgkgIFRoaXMgY29tbWl0IGFkZHMgYSBjaGVjayBmb3IgaGF2aW5nIGdvdHRlbiBhIHVzYWJsZSBmaWVsZCB2YWx1ZSBhZnRlciB0aGUgZmlyc3QKCSAgdHJ5X2ZtdCwgdG8gZm9yY2UgZmFsbGJhY2sgdG8gaW50ZXJsYWNlZCBtb2RlIGV2ZW4gaWYgdGhlIHRyeV9mbXQgc3VjY2VlZGVkLAoJICB0aGVyZWJ5IGZpeGluZyBnZXRfbmVhcmVzdF9zaXplIGZhaWxpbmcgb24gdGhlc2UgZGV2aWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoKMjAxNC0wOC0yOSAxMDo1NzoyMCArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZ2V0X25lYXJlc3Rfc2l6ZTogQWx3YXlzIHJlaW5pdCBhbGwgc3RydWN0IGZpZWxkcyBvbiByZXRyeQoJICBUaGV5IG1heSBoYXZlIGJlZW4gbW9kaWZpZWQgYnkgdGhlIGlvY3RsIGV2ZW4gaWYgaXQgZmFpbGVkLiBUaGlzIGFsc28gbWFrZXMKCSAgdGhlIFNfRk1UIGZhbGxiYWNrIHBhdGggdHJ5IHByb2dyZXNzaXZlIGZpcnN0LCBtYWtpbmcgaXQgY29uc2lzdGVudCB3aXRoIHRoZQoJICBwcmVmZXJyZWQgVFJZX0ZNVCBwYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYwCgoyMDE0LTA4LTI5IDExOjU1OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTdG9yZSBzaXplIG9mIGRhdGEgdGFnIGluIGEgNjQgYml0IGludGVnZXIgbG9jYWxseSB0b28KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2xpcCB0aGUgRFM2NCB2YWx1ZSBvZiBSRjY0IGZpbGVzIHRvIDMyIGJpdHMgYWdhaW4uCgoyMDE0LTA4LTI5IDExOjUzOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVc2UgNjQgYml0IHNjYWxpbmcgZnVuY3Rpb25zIG5vdyB0aGF0IGZhY3QgaXMgYSA2NCBiaXQgaW50ZWdlcgoKMjAxNC0wOC0yNyAxODo1NToxOCArMDIwMCAgUGV0ZXIgRy4gQmF1bSA8cGV0ZXJAZHItYmF1bS5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBzdXBwb3J0IHJmNjQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2MjcKCjIwMTQtMDgtMjggMTM6NDg6NTAgLTA2MDAgIEphc29uIExpdHppbmdlciA8amxpdHppbmdlckBjb250cm9sNC5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBFbnN1cmUgY2FwcyBiZWZvcmUgcGFkIGFkZGVkLgoJICBUaGlzIHN0b3JlcyB0aGUgc3RyZWFtLXN0YXJ0LCBzZXRzIGNhcHMsIGFuZCB0aGVuIGFkZHMgdGhlIHBhZCwKCSAgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBjYXBzIGFyZSBzZXQgZm9yIHRoZSAicGFkLWFkZGVkIiBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTYyNgoKMjAxNC0wOC0yOCAxNTowMzo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZhbGxiYWNrIHRvIFBUUyBpZiBEVFMgaXMgbWlzc2luZwoJICBGaXhpbmcgYSByZWdyZXNzaW9uIGludHJvZHVjZSB3aGVuIGZpeGluZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wOC0yOCAxNjoxMzoyOSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSBpbXBvc3NpYmxlIGVycm9yIGNvbmRpdGlvbgoJICBXZSByZXR1cm4gRU9TIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIsIGFuZCBHc3RQYWQgd2lsbCBtYWtlIHN1cmUgbm93IHRoYXQgd2UKCSAgd29uJ3QgZ2V0IGFueSBvdGhlciBidWZmZXIgYWZ0ZXJ3YXJkcyB1bnRpbCBhIGZsdXNoIGhhcHBlbnMuIE5vIG5lZWQgdG8gY2hlY2sKCSAgZm9yIGl0IG91cnNlbHZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU4MQoKMjAxNC0wOC0yOCAxMzo1MzoyMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmZGVjOiBFT1MgYW5kIE5PVF9MSU5LRUQgYXJlIG5vIGVycm9ycyBpbiBnZW5lcmFsCgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgdGhlbSBidXQgbGV0IHVwc3RyZWFtIGhhbmRsZQoJICBhbnl0aGluZyBhY2NvcmRpbmdseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2NAoKMjAxNC0wOC0yNyAyMTowNzoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBDb3JyZWN0bHkgb2Zmc2V0IHRpbWVzdGFtcAoJICBUaGUgcHJldmlvdXMgbWV0aG9kIHdvdWxkIGJyZWFrIEFWIHN5bmMgaW4gdGhlIGNhc2UgYXVkaW8gb3IgdmlkZW8KCSAgZGlkbid0IHN0YXJ0IGF0IHRoZSBzYW1lIHBvaW50IGluIHJ1bm5pbmcgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wOC0yNyAyMDo1NjoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBTYXZlIGR0cyBmcm9tIGJ1ZmZlcgoJICBXZSBubyBsb25nZXIgc2V0IGR0cyBpbiBtdXhlZCBidWZmZXIuIFRoaXMgd291bGQgbGVhZCB0byBlbmNvZGluZyB0YWdzCgkgIHdpdGggdGltZXN0YW1wIDAgaW5zdGVhZCBvZiB0aGUgdGltZXN0YW1wIG9mIHByZXZpb3VzIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wNy0yOCAyMDo1ODo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEVuc3VyZSBUaW1lc3RhbXAgc3RhcnRzIGF0IDAKCSAgRkxWIGRvY3VtZW50YXRpb24gc3RpcHVsYXRlcyB0aGF0IHRpbWVzdGFtcCBtdXN0IHN0YXJ0IGF0IHplcm8uCgkgIEluIG9yZGVyIHRvIHJlc3BlY3QgdGhpcyBydWxlLCBrZWVwIHRoZSBmaXJzdCB0aW1lc3RhbXAgYXJvdW5kCgkgIGFuZCBvZmZzZXQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoaXMgdmFsdWUuIFRoaXMgYWxsb3cgZm9yIGxvbmdlcgoJICByZWNvcmRpbmcgdGltZSBpbiBwcmVzZW5jZSBvZiB0aW1lc3RhbXAgdGhhdCBkb2VzIG5vdCBzdGFydAoJICBhdCAwIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDYtMDYgMjM6MTc6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogVGFnIHRpbWVzdGFtcCBhcmUgRFRTIG5vdCBQVFMKCSAgVGhlIHRhZ3MgaW4gRkxWIGFyZSBEVFMuIEluIGF1ZGlvIGNhc2VzLCBhbmQgZm9yIG1hbnkgdmlkZW8gZm9ybWF0IHRoaXMgbWFrZXMKCSAgbm8gZGlmZmVyZW5jZSwgYnV0IGZvciBBVkMgd2l0aCBCLUZyYW1lcywgUFRTIG5lZWQgdG8gYmUgY29tcHV0ZWQgZnJvbQoJICBjb21wb3NpdGlvbiB0aW1lc3RhbXAgQ1RTLCB3aXRoIFBUUyA9IERUUyArIENUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wOC0wNyAyMTo1ODoxNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPGtha2Fyb3RvQGtha2Fyb3RvLmhvbWVsaW51eC5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBBbGxvdyBydHAgY2FwcyB3aXRob3V0IGNsb2NrLXJhdGUKCSAgVGhlIGppdHRlcmJ1ZmZlciBzaG91bGRuJ3QgZm9yY2UgY2xvY2stcmF0ZSBvbiBpdHMgc2luayBwYWQsIHRoaXMgd2lsbCBjYXVzZSBhIG5lZ290aWF0aW9uIGlzc3VlIHNpbmNlIHJ0cHNzcmNkZW11eCBkb2Vzbid0IGhhdmUgdGhlIGNsb2NrLXJhdGUgYW5kIGRvZXNuJ3QgYWRkIGl0IHRvIHRoZSBjYXBzLiBUaGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXMgdGhhdCB0aGUgY2xvY2stcmF0ZSBjYW4gZWl0aGVyIGJlIHNwZWNpZmllZCB0aHJvdWdoIHRoZSBjYXBzIG9yIHRocm91Z2ggdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbCwgc28gd2UgbXVzdCByZW1vdmUgY2xvY2stcmF0ZSBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzIGFuZCB3ZSBtdXN0IGFjY2VwdCB0aGUgR1NUX0VWRU5UX0NBUFMgaWYgdGhlIGNhcHMgZG9uJ3QgaGF2ZSB0aGUgY2xvY2stcmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDMyMgoKMjAxNC0wOC0xOCAxNDowNTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGNyYXNoaW5nIG9uIGRhc2ggc3RyZWFtcwoJICBEQVNIL2ZyYWdtZW50ZWQgbW9vdiBtaWdodCBoYXZlIG5vIHNhbXBsZXMgYXMgdGhvc2UgYXJlIGNhcnJpZWQKCSAgaW4gbW9vZiBmcmFnbWVudHMuIEF2b2lkIGNyYXNoaW5nIG9yIGZhaWxpbmcgdGhlIHN0cmVhbSBiZWNhdXNlCgkgIG9mIHRoYXQuCgoyMDE0LTA4LTE4IDEwOjMzOjQ4ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiB1c2UgJ3Bvc3QtbWVzc2FnZXMnIHByb3BlcnR5IGluc3RlYWQgb2YgZGVwcmVjYXRlZCAnbWVzc2FnZScgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk3OQoKMjAxNC0wOC0xOCAxMTo0NTo1NCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGZpeCB1ZHBzcmMgZG9jdW1lbnRhdGlvbgoJICB1ZHBzcmMgZ3RrLWRvYyBkb2N1bWVudGF0aW9uIHJlZmVycyB0byBzb2NrZmQgYW5kIGNsb3NlZmQgcHJvcGVydGllcyB3aGljaCBoYXMKCSAgYmVlbiByZW1vdmVkLiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRob3NlIHJlZmVyZW5jZXMgdG8gc29ja2V0IGFuZCBjbG9zZS1zb2NrZXQKCSAgcmVzcGVjdGl2ZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0OTg3CgoyMDE0LTA4LTE1IDEwOjA5OjU2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE1ha2UgdGhlIGRlZmF1bHQgdGltZXNjYWxlIDEvMTgwMCBzZWNvbmQKCSAgVGhlIG9sZCBkZWZhdWx0IHRpbWVzY2FsZSBvZiAxIG1pbGxpc2Vjb25kIHByb2R1Y2VzIGlycmF0aW9uYWwKCSAgbnVtYmVycyBmb3IgYSBsb3Qgb2YgZnJhbWVyYXRlL2F1ZGlvLXBhY2tldC1kdXJhdGlvbiBtdWx0aXBsZXMuCgkgIDEvMTgwMCBpcyBhIG5pY2VyIG51bWJlciwgYXMgaXQgdGVuZHMgdG8gcHJvZHVjZSBiZXR0ZXIgZnJhY3Rpb25zCgkgIGFuZCB0aGVyZWZvcmUgc2xpZ2h0bHkgaGlnaGVyIGFjY3VyYWN5IG92ZXJhbGwKCjIwMTQtMDgtMTUgMDE6MTc6MjcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBVc2UgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpIGZ1bmN0aW9uCgkgIFJlbW92ZSBsb2NhbCBmcmFtZXJhdGUgZ3Vlc3NpbmcgZnVuY3Rpb24gaW4gZmF2b3VyIG9mCgkgIHRoZSBuZXcgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpIGZ1bmN0aW9uLgoKMjAxNC0wOC0xNSAwMToxMjoyMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW1wcm92ZSBmcmFtZXJhdGUgY2FsY3VsYXRpb24vZ3Vlc3NpbmcKCSAgQ2hhbmdlIHRoZSB3YXkgdGhlIG91dHB1dCBmcmFtZXJhdGUgaXMgY2FsY3VsYXRlZAoJICB0byBpZ25vcmUgdGhlIGZpcnN0IHNhbXBsZSAod2hpY2ggaXMgc29tZXRpbWVzIHRydW5jYXRlZAoJICBpbiBteSB0ZXN0aW5nKSBhbmQgdXNlIHRoZSBuZXcgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpCgkgIGZ1bmN0aW9uIHRvIHJlY29nbmlzZSBjb21tb24gc3RhbmRhcmQgZnJhbWVyYXRlcyBiZXR0ZXIuCgkgIFJlbW92ZSB0aGUgY29kZSB0aGF0IHdhcyBzb3J0aW5nIHRoZSBmaXJzdCAyMCBzYW1wbGUKCSAgZHVyYXRpb25zIGFuZCB0aGVuIGlnbm9yaW5nIHRoZSByZXN1bHQuCgoyMDE0LTA4LTE0IDE2OjM2OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogVXNlIHRoZSBiZXN0IHdpZHRoL2hlaWdodC9ldGMgaWYgZG93bnN0cmVhbSBjYW4gaGFuZGxlIHRoYXQKCSAgQmVmb3JlIGl0IHdhcyBhbHdheXMgdXNpbmcgd2hhdGV2ZXIgZG93bnN0cmVhbSBwcmVmZXJyZWQsIHdoaWxlCgkgIHRoZSBjb2RlIGFuZCBkb2N1bWVudGF0aW9uIGNsYWltZWQgc29tZXRoaW5nIGRpZmZlcmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4MAoKMjAxNC0wOC0xNCAxMToyOTowMCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBdm9pZCBkb3VibGUgZnJlZSBvZiBWaWRlb0NvbnZlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDc2NAoKMjAxNC0wOC0xMyAxMTo1ODozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNC0wOC0xMyAxMTo1NDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHVuLWJyZWFrIGR1cmF0aW9uIHF1ZXJ5aW5nCgkgIENvbW1pdCAyYjk0OTNiNSBicm9rZSB0aGlzIGluIHR3byB3YXlzOiBhKSB3ZSBzaG91bGQgb25seQoJICBwYXNzIGR1cmF0aW9uIHF1ZXJpZXMgaW4gVElNRSBmb3JtYXQgdXBzdHJlYW0gKG9yIGF0IGxlYXN0CgkgIG5vdCB0aG9zZSBpbiBERUZBVUxUIG9yIEJZVEUgZm9ybWF0KSwgYW5kIGIpIHdlIG11c3RuJ3QKCSAgb3ZlcndyaXRlIHRoZSBkZWZhdWx0IHZhbHVlIG9mICdyZXMnIGZyb20gVFJVRSB0byBGQUxTRQoJICBhbmQgbm90IHNldCBpdCBhZ2FpbiBsYXRlci4gVGhpcyBsZWQgdG8gYm9ndXMgZHVyYXRpb25zCgkgIGJlaW5nIHJlcG9ydGVkIGZvciBGTFYgcGxheWJhY2sgZnJvbSBmaWxlLCBiZWNhdXNlIFRJTUUKCSAgcXVlcmllcyB3b3VsZCBmYWlsIChhcyAncmVzJyBoYWQgYmVlbiBzZXQgdG8gRkFMU0UpIGFuZAoJICBwYXJzZXJzIHRoZW4gZG8gYSBCWVRFIHF1ZXJ5IGFzIGZhbGxiYWNrIGFuZCB0cnkgdG8KCSAgZ3Vlc3N0aW1hdGUgc29tZXRoaW5nIGluIHJldHVybiwgd2hpY2ggb2YgY291cnNlIGdvZXMKCSAgaG9ycmlibHkgd3Jvbmcgc2luY2UgdGhlIEJZVEUgc2l6ZSByZXR1cm5lZCBpcyBmb3IgdGhlCgkgIG11eGVkIGZpbGUuCgoyMDE0LTA4LTEzIDEzOjIzOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFsbG93IGFueSByYXcgY2FwcyBpbiBwYXNzdGhyb3VnaCBtb2RlLCBub3QganVzdCB0aGUgb25lcyB3ZSBoYW5kbGUKCjIwMTQtMDgtMTMgMTM6MDQ6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWxsb3cgQU5ZIGNhcHNmZWF0dXJlcywgYnV0IG9ubHkgaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBXaGVuIGNoYW5naW5nIHRoZSBwcm9wZXJ0aWVzIHRvIG5vdCBiZSBpbiBwYXNzdGhyb3VnaCBtb2RlIGFueW1vcmUsCgkgIHdlIHdpbGwgb25seSBhY2NlcHQgY2FwcyB3ZSBjYW4gcHJvY2VzcyBvdXJzZWx2ZXMsIHBvdGVudGlhbGx5IGNhdXNpbmcKCSAgYSBub3QtbmVnb3RpYXRlZCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM0NQoKMjAxNC0wOC0xMiAxMTozNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0CgoyMDE0LTA4LTEyIDExOjMzOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1aWxkIHhpbWFnZXNyYyBhZ2FpbiB3aGVuIGNoZWNrcyBzdWNjZWVkCgkgIFRoaXJkIHRpbWUgbHVja3ksIGhvcGVmdWxseS4KCjIwMTQtMDgtMTEgMDk6MjY6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHgxMSBjaGVja3MgdG8gYmUgbm9uLWZhdGFsIGFnYWluCgkgIE11c3QgcGFzcyBhbiBhY3Rpb24taWYtbm90LWZvdW5kIGFyZ3VtZW50IHRvCgkgIFBLR19DSEVDS19NT0RVTEVTIG9yIGl0IHdpbGwgZXJyb3Igb3V0IHdoZW4KCSAgaXQgY2FuJ3QgZmluZCB0aGUgbW9kdWxlIHJlcXVlc3RlZC4gQWxzbyBmaXgKCSAgQUNfQ0hFQ0tfTElCIHVzYWdlLCBleHRyYSBsaWJzIGFyZ3VtZW50IHdhcwoJICBpbiB0aGUgd3JvbmcgcGxhY2UuCgoyMDE0LTA4LTA3IDE3OjEyOjM4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvcndhcmQgRElTQ09OVCBmcm9tIHVwc3RyZWFtIHRvIHRoZSBvdXRwdXQgc3RyZWFtcwoJICBUaGlzIG1ha2VzIHNlbnNlIGluIERBU0ggcmV2ZXJzZSBwbGF5YmFjaywgd2hlcmUgdGhlIHVwc3RyZWFtIGRhc2hkZW11eAoJICB3aWxsIGRvd25sb2FkIERBU0ggc2VnbWVudHMgaW4gcmV2ZXJzZSBvcmRlciwgYnV0IHB1c2ggdGhlaXIgYnVmZmVycwoJICBmb3J3YXJkIHRvIHF0ZGVtdXggYW5kIG1hcmsgZWFjaCBzZWdtZW50IHN0YXJ0IGFzIERJU0NPTlQuIFRoaXMgbmVlZHMKCSAgdG8gYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0gdG8gdGhlIHBhcnNlci9kZWNvZGVyLCBvdGhlcndpc2UgaXQgd29uJ3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0MwoKMjAxNC0wOC0xMCAxODo1NTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgeDExIGFuZCBzaW1wbGlmeSBjaGVja3MKCSAgQUNfUEFUSF9YVFJBIG1hY3JvIHVubmVjZXNzYXJpbHkgcHVsbHMgaW4gbGliU00gYW5kIGxpYklDRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA0NwoKMjAxNC0wOC0xMCAxMjozMDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGp1c3QgdGVzdCBkYXRhIHRvIGF2b2lkIE5BTCBjaG9wcGluZwoJICAuLi4gYW5kIGNvcnJlc3BvbmRpbmdseSB1bmV4cGVjdGVkIGJ1ZmZlciBzaXplcy4KCjIwMTQtMDgtMDkgMTQ6MjI6NDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogSW1wcm92ZSBhbm5vdGF0aW9uIG9mIGludGVybmFsIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1NDIKCjIwMTQtMDgtMDggMTI6NTQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IFVucmVmIGNhcHMgYW5kIGVsZW1lbnQgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3OAoKMjAxNC0wOC0wOSAyMDo0NzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIGRlYnVnIGxvZ2dpbmcgb2YgZm91cmNjcwoJICBJZiB3ZSBjYW4ndCBzaG93IEFTQ0lJLCBhdCBsZWFzdCBzaG93IHRoZW0KCSAgaW4gYmlnIGVuZGlhbiBvcmRlci4KCjIwMTQtMDgtMDkgMjA6NDY6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICd3bWEgJyBtYXBwaW5nIGFzIGZvdW5kIGluIHNvbWUgaXNtdiBmaWxlcwoJICBlLmcuIFRvX1RoZV9MaW1pdF83MjBfMjk2Mi5pc212CgoyMDE0LTA4LTA5IDE4OjMxOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciAndmMtMScgbWFwcGluZyBhcyBmb3VuZCBpbiBzb21lIGlzbXYgZmlsZXMKCSAgZS5nLiBUb19UaGVfTGltaXRfNzIwXzI5NjIuaXNtdgoKMjAxNC0wOC0wNyAxNjozNDozNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0MzUKCjIwMTQtMDgtMDggMTI6MzY6MDEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFVucmVmIGFsbG93ZWQgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc0CgoyMDE0LTA4LTA4IDEyOjQwOjQ5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzUKCjIwMTQtMDgtMDggMTI6NDQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSAgbmF2c2VlazogVW5yZWYgcGVlciBwYWQgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NgoKMjAxNC0wOC0wOCAxMjoyOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3MwoKMjAxNC0wOC0wNSAxMTo0NzozOSArMDIwMCAgU3JpbWFudGEgUGFuZGEgPHNyaW1hbnRhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFwcGVuZCBwYWNrZXRpemF0aW9uIG1vZGUgcGFyYW1ldGVyIHRvIFNEUAoJICBBcHBlbmQgcGFja2V0aXphdGlvbi1tb2RlIHBhcmFtZXRlciB0byBTRFAgZGVzY3JpcHRpb24uCgkgIFBhY2tldGl6YXRpb24gbW9kZSBzaWduYWxzIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIFJUUCBwYXlsb2FkIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM1NTYKCjIwMTQtMDgtMDggMDM6NTg6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0L3F0bXV4OiBXcml0ZSBjb3JyZWN0IGZpbGUgZHVyYXRpb24gd2hlbiBnYXBzIGV4aXN0LgoJICBXaGVuIHdyaXRpbmcgb3V0IGEgdHJhayB3aXRoIGFuIGVkaXQgbGlzdCwgbWFrZSBzdXJlIHRoZQoJICBvdmVyYWxsIGZpbGUgZHVyYXRpb24gaXMgYWxzbyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlCgkgIGxlbmd0aGVuaW5nIG9mIHRoZSBzdHJlYW0uCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgdG8gcXRkZW11eCB0byB3YXJuIGFib3V0IHN0cmVhbXMgdGhhdAoJICBhcmUgbG9uZ2VyIHRoYW4gdGhlIGZpbGUgYW5kIGdldCB0cnVuY2F0ZWQuCgoyMDE0LTA4LTA0IDE1OjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQdXNoIHRoZSBjb3JyZWN0IHNlZ21lbnQgaW4gVENQIG1vZGUgd2hlbiBzZWVraW5nCgoyMDE0LTA4LTAzIDEyOjMzOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogdW5icmVhayBhdSBhbGlnbmVkIGJ5dGUtc3RyZWFtIHBheWxvYWRpbmcKCjIwMTQtMDctMjIgMTM6MjQ6MDkgKzAyMDAgIFNyaW1hbnRhIFBhbmRhIDxzcmltYW50YUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhcHBlbmQgcHJvZmlsZS1sZXZlbC1pZCB0byBTRFAKCSAgQXBwZW5kIHByb2ZpbGUtbGV2ZWwtaWQgdG8gU0RQIGlmIGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzUzOQoKMjAxNC0wNy0zMSAxODo0Nzo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBNYWtlZmlsZTogQWRkIHVzYWdlIG9mIGJ1aWxkLWNoZWNrcyBzdGVwCgkgIEFsbG93cyBidWlsZGluZyBjaGVja3Mgd2l0aG91dCBydW5uaW5nIHRoZW0KCjIwMTQtMDctMzEgMDk6NTM6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogRml4IHdhcm5pbmcgYWJvdXQgbWlzc2luZyByZXR1cm4gdmFsdWUKCjIwMTQtMDctMjQgMTU6Mjg6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBBZGQgbWlzc2luZyByZXR1cm4gdmFsdWUgdG8gQnVmZmVyIGRpc3Bvc2UgZnVuY3Rpb24KCSAgRGVwZW5kaW5nIG9udCBoZSBidWlsZCwgdGhlIG1ldGhvZCBjb3VsZCByZXR1cm4gRkFMU0UsIGhlbmNlIG5ldmVyCgkgIGZyZWUgdGhlIGJ1ZmZlcnMsIG9yIGFscmVhZHkgVFJVRSBhbmQgbGVhZCB0byBhIGNyYXNoOgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY5NQoKMjAxNC0wNy0yOCAxNjo0OToxNiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBzZXQgb3V0cHV0IGNhcHMgbGF5b3V0IHRvIGludGVybGVhdmVkCgkgIFNldCBvdXRwdXQgY2FwcyBsYXlvdXQgaW5kZXBlbmRlbnRseSBmcm9tIGlucHV0IGNhcHMgbGF5b3V0IHdoaWNoIGNhbgoJICBiZSBlaXRoZXIgbm9uLWludGVybGVhdmVkIG9yIGludGVybGVhdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODY2CgoyMDE0LTA3LTI2IDEyOjA2OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2xlYXIgZ2NvbmQKCjIwMTQtMDctMjUgMTQ6MzA6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJ2NGwyYnVmZmVycG9vbDogV29ya2Fyb3VuZCBlbGVtZW50cyBub3QgcmVxdWVzdGluZyBhbnkgYnVmZmVycyIKCSAgVGhpcyB3YXMgYSB0ZW1wb3J5IHdvcmthcm91bmQsIHdlIHNob3VsZCBmaXggdGhlIGVuY29kZXJzIHRoYXQgZG8gbm90CgkgIG5lZ290YXRpYXRlIHRoZSBhbW91bnQgb2YgYnVmZmVycyB0aGV5IG5lZWQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDAzYmNiYTNkYjE1ZDA2ZGJkZWE2Yjc3NmE2ZjI4ZWQyZjAzMjcyYS4KCjIwMTQtMDctMDggMTQ6MzE6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgc2hhcmUgb3duIHBvb2wgaWYgbWluIGV4Y2VlZCBWNEwyIGNhcGFjaXR5CgkgIElmIHRoZSBtaW5pbXVtIHJlcXVpcmVkIGJ1ZmZlciBleGNlZWQgVjRMMiBjYXBhY2l0eSwgZG9uJ3Qgc2hhcmUgZG93bgoJICBwb29sLiBUaGlzIGFsbG93IHN1cHBvcnQgdmVyeSBoaWdoIGxhdGVuY3ksIGxpa2Ugd2l0aCB4MjY0ZW5jIGRlZmF1bHQKCSAgZW5jb2Rpbmcgc2V0dGluZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyODgKCjIwMTQtMDctMjUgMTc6NDI6MjAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHF1ZXJ5IG1pbmltdW0gcmVxdWlyZWQgYnVmZmVycyBmb3Igb3V0cHV0CgkgIFNvbWUgdjRsMiBkZXZpY2VzIGNvdWxkIHJlcXVpcmUgYSBtaW5pbXVtIGJ1ZmZlcnMgZGlmZmVyZW50IGZyb20gZGVmYXVsdAoJICB2YWx1ZXMuIFJhdGhlciB0aGFuIGJsaW5kbHkgcHJvcG9zZSBhIHBvb2wgd2l0aCBtaW4tYnVmZmVycyBzZXQgdG8gdGhlCgkgIGRlZmF1bHQgdmFsdWUsIGl0IGFzayB0aGUgZGV2aWNlIHVzaW5nIGNvbnRyb2wgaW9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3NTAKCjIwMTQtMDctMjMgMTg6NDA6MTAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogdXNlIGRpcmVjdGx5ICdvYmonIGluc3RlYWQgb2YgJ3Y0bDJzaW5rLT52NGwyb2JqZWN0JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjE2CgoyMDE0LTA3LTIzIDE4OjM5OjUwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBzZXQgZGVidWcgbWVzc2FnZXMgYWNjb3JkaW5nIHRvIGRldmljZSB0eXBlIGFuZCBJTyBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2MTYKCjIwMTQtMDUtMjQgMTk6MDI6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgaXNfYWN0aXZlIGNoZWNrcwoJICBUaGVzZSBjaGVja3MgYXJlIG5vIGxvbmdlciByZXF1aXJlZCB3aXRoIHJlY2VudCBjaGFuZ2UgdG8gdGhlIGJ1ZmZlcnBvb2wuIFRoaXMKCSAgc2hvdWxkIGFsbG93IGNoYW5naW5nIHRoZSBjb25maWd1YXJ0aW9uLCBoZW5jZSB0aGUgd2F5IGZvcndhcmQgcmVuZWdvdGlhdGlvbgoJICBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjY4CgoyMDE0LTA3LTIxIDE4OjExOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkgIHF0ZGVtdXg6IGZpeCBsYW5ndWFnZSBjb2RlIHBhcnNpbmcgZm9yIDMtbGV0dGVyIGNvZGVzIHN0YXJ0aW5nIHdpdGggJ2EnCgkgIEFuZCBoYW5kbGUgc3BlY2lhbCB2YWx1ZSBmb3IgJ3Vuc3BlY2lmaWVkJyBleHBsaWNpdGx5LgoJICBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9tYWMvZG9jdW1lbnRhdGlvbi9RdWlja1RpbWUvUVRGRi9RVEZGQ2hhcDQvcXRmZjQuaHRtbAoKMjAxNC0wNy0wOCAwMjoxODoyNyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZyBmcm9tIE5WMjEgYW5kIE5WMTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjg3MAoKMjAxNC0wNy0xOSAxODowNDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS40LjAgPT09CgoyMDE0LTA3LTE5IDE3OjIwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4wCgoyMDE0LTA3LTE5IDE2OjM1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTE5IDEyOjMyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xOSAxMTozMDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRG9uJ3Qgb3ZlcndyaXRlIHRoZSBmaXJzdCBjb21wb25lbnQgd2l0aCB0aGUgYWxwaGEgdmFsdWUgZm9yIEJHUngKCSAgSW5zdGVhZCBsZWF2ZSB0aGUgeCBjb21wb25lbnQgdW5zZXQgd2hlbiBmaWxsaW5nIHRoZSBib3JkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzgwCgoyMDE0LTA3LTE2IDE3OjE4OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUHJvcGVybHkgcmVwb3J0IGluIHRoZSBDQVBTIHF1ZXJ5IHRoYXQgd2UgY2FuIGNvbnZlcnQgQURUUzwtPlJBVwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTkwCgoyMDE0LTA3LTEzIDE2OjA1OjU2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogQXZvaWQgdGFraW5nIHVubmVjZXNzYXJ5IHJlZnMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzEyMgoKMjAxNC0wNy0xMyAxNjowNDoyMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBdm9pZCB0YWtpbmcgYW4gdW5uZWNlc3NhcnkgcmVmCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMjIKCjIwMTQtMDctMTUgMTY6NTk6MDYgKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIwOAoKMjAxNC0wNy0xMSAxMzozNToxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IGNvcHkgdGhyZXNob2xkIGltcGxlbWVudGF0aW9uCgkgIFdlIGNhbm5vdCBhbGxvY2F0ZSBuZXcgYnVmZmVyIGluIGFjcXVpcmUsIG90aGVyd2lzZSB0aGUgYmFzZSBjbGFzcwoJICBpcyBub3QgYXdhcmUgYW5kIGdldCBjb25mdXNlZC4gSW5zdGVhZCwgY29weSBpbiBfcHJvY2VzcygpLiBUaGlzIGxlYWRzCgkgIHRvIGNyYXNoIG9uIGZpbmFsaXplLgoJICBGaXhlcyByZWdyZXNzaW9uLCBzZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkxMgoKPT09IHJlbGVhc2UgMS4zLjkxID09PQoKMjAxNC0wNy0xMSAxMTozODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTEKCjIwMTQtMDctMTEgMTA6NTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTAgMTg6MTE6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBVc2UgcWRhdGEgaW5zdGVhZCBvZiBwYXJlbnRpbmcgdG8gRG1hYnVmTWVtb3J5CgkgIFBhcmVudGluZyBWNGwyTWVtb3J5IHRvIERtYWJ1Zk1lbW9yeSB3YXMgaW4gY29uZmxpY3Qgd2l0aCByZWNlbnQKCSAgb3B0aW1pemF0aW9uIGluIERtYWJ1Zk1lbW9yeSB0byBhdm9pZCBkdXAoKSwgYW5kIGRpZG4ndCB3b3JrIHdpdGgKCSAgbWVtb3J5IHNoYXJpbmcuIEluc3RlYWQsIHVzZSBhIHFkYXRhIGFuZCBpdCdzIGRlc3Ryb3kgbm90aWZ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDQxCgoyMDE0LTA3LTExIDA4OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0wOCAxNzo1MDo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFdvcmthcm91bmQgZWxlbWVudHMgbm90IHJlcXVlc3RpbmcgYW55IGJ1ZmZlcnMKCSAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGVsZW1lbnQgdGhhdCBkb24ndCByZXF1ZXN0IGJ1ZmZlcnMgd2hlbgoJICB0aGV5IHNob3VsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI4OAoKMjAxNC0wNy0wNiAxMToyNzozNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBwaXBlbGluZSBsZWFrIGluIHZpZGVvY3JvcCB0ZXN0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5NzYKCjIwMTQtMDctMDYgMTE6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBjbGllbnQtcnRwYXV4OiBSZWxlYXNlIHJlZmVyZW5jZSB0byBwYXJlbnQgd2hlbiBkb25lCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5NzYKCjIwMTQtMDctMTAgMTc6MTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBxdWVyeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwMDMKCjIwMTQtMDctMTAgMTI6MTA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFJldHVybiBub3QtbmVnb3RpYXRlZCBpZiB3ZSBnb3Qgbm8gY2FwcyBvciBjYXBzIG5lZ290aWF0aW9uIGZhaWxlZAoJICBBbmQgZG8gaXQgYWx3YXlzLCBub3QgaW5zaWRlIGEgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MzkKCjIwMTQtMDctMDggMTM6MzQ6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRW5zdXJlIGludGVybmFsIHBvb2wgYWN0aXZhdGlvbgoJICBCZWZvcmUgd2Ugd291bGQgaGl0IGFuIGFzc2VydGlvbiAiJ2dzdF9idWZmZXJfcG9vbF9pc19hY3RpdmUgKGJwb29sKScgZmFpbGVkIgoJICBpZiB0aGUgaW50ZXJuYWwgcG9vbCB3YXMgbm90IHVzZWQgdG8gcHVzaCBidWZmZXIgZG93bnN0cmVhLCBoZW5jZSBub3QKCSAgZ2l2ZW4gdG8gdGhlIGJhc2VjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkxMgoKMjAxNC0wNy0wNCAyMDoyMjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBkb3VibGUgdW5sb2NrIGluIHNlZ21lbnQgc2VlayBzZWdtZW50IGNvZGUgcGF0aAoJICBXZSBvbmx5IHdhbnQgdG8gdW5sb2NrIGlmIHdlIHB1c2ggYW4gZXZlbnQgZG93bnN0cmVhbSBhbmQKCSAganVtcCB0byBkb25lX3VubG9jayBsYWJlbCBhZnRlcndhcmRzLiBXZSB3b3VsZCBhbHNvIHVubG9jawoJICBpbiBjYXNlIG9mIGEgc2VnbWVudCBzZWVrIGFuZCB0aGVuIHVubG9jayBhZ2FpbiBsYXRlciwgYW5kCgkgIG5vdGhpbmcgZ29vZCBjYW4gY29tZSBvZiB0aGF0LgoJICAoVGhpcyBjb2RlIGxvb2tzIGEgYml0IGRvZGd5IGFueXdheSB0aG91Z2gsIHNob3VsZG4ndCBpdAoJICBhbHNvIGJhaWwgb3V0IHdpdGggRkxPV19FT1MgaGVyZSBpbiBjYXNlIG9mIGEgc2VnbWVudCBzZWVrCgkgIHNjZW5hcmlvLCBqdXN0IHdpdGhvdXQgdGhlIGV2ZW50PykKCjIwMTQtMDctMDQgMTk6NDU6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHN1cHByZXNzIGdsaWIgY3JpdGljYWxzIGNhdXNlZCBieSB0ZXN0aW5nIGRlcHJlY2F0ZWQgZHRzIG1ldGhvZHMKCjIwMTQtMDctMDQgMDM6MjE6MzAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aWRlbXV4LCB3YXZwYXJzZTogUHJpbnQgaW52YWxpZCBmb3VyY2MgaW4gaGV4CgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgcHJpbnRlZCBhcyBjaGFyYWN0ZXJzIHdoaWNoIGNhdXNlZCBsYXRlciBwcm9jZXNzaW5nCgkgIG9mIHRoZSBlcnJvciBtZXNzYWdlIHRvIHNvbWV0aW1lcyB3YXJuIGFib3V0IG5vbi1VVEYtOCBjaGFyYWN0ZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzE0CgoyMDE0LTA3LTAzIDE1OjIxOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFBvb2wgbWlnaHQgYmUgTlVMTCBpbiBkZWNpZGUgYWxsb2NhdGlvbgoJICBJZiBzcGVjaWFsIHN0cmlkZSBpcyBuZWVkZWQgYW5kIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCBWaWRlb01ldGEsCgkgIHBvb2wgbWlnaHQgYmUgTlVMTCBpbiBvcmRlciB0byBsZXQgdGhlIGJhc2VjbGFzcyBjcmVhdGUgYSBnZW5lcmljCgkgIHBvb2zCrS4gVGhpcyB3b3VsZCBsZWFkIHRvIGFzc2VydGlvbiB3aXRoIG9uIEV4eW5vcyB3aXRoOgoJICBnc3QtbGF1bmNoLTEuMCAtdiBmaWxlc3JjIGxvY2F0aW9uPW1vdiAhIHF0ZGVtdXggISBoMjY0cGFyc2UgISBcCgkgIHY0bDJ2aWRlbzhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzA3CgoyMDE0LTA3LTAzIDE1OjI5OjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogSGFuZGxlIEZEIGVycm9yIGR1cmluZyBwb2xsCgkgIFRoaXMgd2lsbCBlbnN1cmUgd2UgZmFpbCBlYXJsaWVyIGlmIHNvbWV0aGluZyB1bnJlY292ZXJhYmxlCgkgIGhhcHBlbnMuCgoyMDE0LTA3LTAzIDE1OjI4OjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogV2FpdCBiZWZvcmUgcG9sbGluZyBpZiBxdWV1ZSBpcyBlbXB0eQoJICBJbiBrZXJuZWwgYmVmb3JlIDMuMTcsIHBvbGxpbmcgZHVyaW5nIHF1ZXVlIHVuZGVycnVuIHdvdWxkIHVuYmxvY2sgcmlnaHQKCSAgYXdheSBhbmQgdHJpZ2dlciBQT0xMRVJSLiBBcyB3ZSBhcmUgbm90IGhhbmRsaW5nIFBPTExFUlIsIHdlIHdvdWxkIGVuZHVwCgkgIGJsb2NraW5nIGluIERRQlVGIGNhbGwsIHdoaWNoIHdvbid0IGJlIHVuYmxvY2tlZCBjb3JyZWN0bHkgd2hlbiBnb2luZwoJICB0byBOVUxMIHN0YXRlLiBBIGRlYWRsb2NrIGF0IHN0YXJ0IGNhdXNlZCBieSBsb2NraW5nIGVycm9yIGluIGxpYnY0bDIgd2FzCgkgIGFsc28gc2VlbiBiZWZvcmUgdGhpcyBwYXRjaC4gSW5zdGVhZCwgd2Ugd2FpdCB1bnRpbCB0aGUgcXVldWUgaXMgbm8gbG9uZ2VyCgkgIGVtcHR5IGJlZm9yZSBwb2xsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDE1CgoyMDE0LTA3LTAyIDE2OjAxOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGZvciBtaWtleSBhcGkgY2hhbmdlCgoyMDE0LTA2LTMwIDEwOjI5OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggcHJvYmluZyBhbmQgZW51bWVyYXRpb24gb2Ygc3RlcHdpc2UgZnJhbWUgc2l6ZXMKCSAgVGhlIGNvZGUgZW51bWVyYXRpbmcgU1RFUFdJU0UgZnJhbWVzaXplcyB3b3VsZCBzdGFydCBmcm9tCgkgIChtaW5fdywgbWluX2gpIGFuZCB0aGVuIGFkZCAoc3RlcF93LCBzdGVwX2gpIHRvIGdldCB0aGUKCSAgbmV4dCBmcmFtZXNpemUuIEhvd2V2ZXIsIGl0IHNob3VsZCByZWFsbHkgYWxsb3cgYW55IHdpZHRoCgkgIGZyb20gbWluX3cgdG8gbWF4X3cgd2l0aCBzdGVwX3cgYW5kIHNhbWUgZm9yIGhlaWdodHMuCgkgIFNlY29uZGx5LCB3ZSB3b3VsZCBhZGQgYW5kIHByb2JlIGVhY2ggaW5kaXZpZHVhbCBzdGVwcGVkCgkgIGZyYW1lIHNpemUgdG8gdGhlIGNhcHMgYXMgc2VwYXJhdGUgc3RydWN0dXJlLCB3aGljaCB3b3VsZAoJICBsZWFkIHRvIGh1bmRyZWRzIGlmIG5vdCB0aG91c2FuZHMgb2Ygc3RydWN0cyBlbmRpbmcgdXAgaW4KCSAgdGhlIHByb2JlZCBjYXBzLiBVc2UgaW50ZWdlciByYW5nZXMgd2l0aCBzdGVwcyBpbnN0ZWFkLgoJICBUaGlzIHdhcyBwYXJ0aWN1bGFybHkgbm90aWNhYmxlIHdpdGggdGhlIFJhc3BiZXJyeSBQaSBDYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ1MjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjQ1OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTIxCgoyMDE0LTA2LTI3IDExOjMzOjA2ICswMTAwICBEYW5pZWwgRHJha2UgPGRyYWtlQGVuZGxlc3NtLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZHJvcCB3b3JrYXJvdW5kIGZvciBtaXNiZWhhdmluZyBUUllfRk1UCgkgIFRoaXMgd29ya2Fyb3VuZCBmcm9tIDIwMTEgd2FzIGNhdXNpbmcgMjUgU19GTVQgaW9jdGxzIHRvIGJlIHNlbnQKCSAgdG8gbXkgVVZDIHdlYmNhbSBmcm9tIHVuZGVyIGdzdF92NGwyX29iamVjdF9nZXRfY2FwcyBhcyBpdCBwcm9iZXMKCSAgYWxsIHRoZSBmb3JtYXRzLiBJbiB0b3RhbCwgdGhpcyBhZGRzIHVwIHRvIGFib3V0IDUgc2Vjb25kcyBvZgoJICBleGVjdXRpb24gdGltZSwgb3IgYSAxMCBzZWNvbmQgZGVsYXkgd2hpbGUgc3RhcnRpbmcgdXAgY2hlZXNlLgoJICBUaGVzZSBpb2N0bHMgY29tZSBmcm9tIGEgd29ya2Fyb3VuZCBmcm9tIDIwMTEgd2hlcmUgVFJZX0ZNVCBtaWdodAoJICBtYWtlIGNoYW5nZXMgdG8gaGFyZHdhcmUgc2V0dGluZ3MsIHNvIFNfRk1UIHdhcyB1c2VkIHRvIHJlc3RvcmUKCSAgdGhlIG9yaWdpbmFsIGNvbmZpZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2NwoJICBUaGUgZHJpdmVyIGJ1ZyBpcyBub3cgYXNzdW1lZCBmaXhlZC4gUmVtb3ZlIHRoZSB3b3JrYXJvdW5kIHRvIGZpeCB0aGUKCSAgbG9uZyBzdGFydHVwIGRlbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzI2CgoyMDE0LTA3LTAxIDEyOjUwOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHJlc2V0IFFvUyBvbiBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NDAKCjIwMTQtMDctMDEgMTU6MTQ6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlbmQgZ2FwIGV2ZW50cyBpbnN0ZWFkIG9mIHNlZ21lbnQgdHJpY2tzCgkgIFRoaXMgZml4ZXMgbWlzc2luZyBmcmFtZXMgZnJvbSBiZWluZyB0aW1lIHNraXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzNzIKCjIwMTQtMDYtMzAgMDA6MDA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBtZW1vcnkgbGVha3MgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIzOjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRG9uJ3QgbGVhayBjYXBzCgoyMDE0LTA2LTI5IDIwOjAyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTk6NTk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTk6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE5OjU0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE3OjA1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSAgcHVsc2U6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoJICBDb21waWxlciBjb21wbGFpbnMgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZXMgaW4gdGhlIGltcG9zc2libGUKCSAgJ2RlZmF1bHQnIGNvZGUgcGF0aCBpbiBkZXZpY2UgcHJvdmlkZXIgc291cmNlL3Npbmsgc3dpdGNoLWNhc2UuCgoyMDE0LTA2LTI5IDE3OjAzOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoJICBDb21waWxlciBjb21wbGFpbnMgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZXMgaW4gdGhlIGltcG9zc2libGUKCSAgJ2RlZmF1bHQnIGNvZGUgcGF0aCBpbiBkZXZpY2UgcHJvdmlkZXIgc291cmNlL3Npbmsgc3dpdGNoLWNhc2UuCgoyMDE0LTA2LTI4IDE3OjQwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FwYXJzZS5jOgoJICB0ZXN0czogbWF0cm9za2FwYXJzZTogZmFpbCBvbiBlcnJvcnMgYW5kIGRpc2FibGUgcHVsbCBtb2RlIHRlc3QKCSAgQWN0dWFsbHkgbG9vayBmb3IgZXJyb3IgbWVzc2FnZXMgb24gdGhlIGJ1cyBhbmQgZmFpbCBpZiB0aGVyZQoJICBpcyBvbmUgYmVmb3JlIHRoZSBFT1MgbWVzc2FnZS4gRGlzYWJsZSBwdWxsIG1vZGUgdGVzdCB3aGljaCBpcwoJICBwb2ludGxlc3MgYXMgbG9uZyBhcyBtYXRyb3NrYXBhcnNlIG9ubHkgc3VwcG9ydHMgcHVzaCBtb2RlCgkgIChwdWxsIG1vZGUgc3VwcG9ydCBoYXMgbm90IGJlZW4gcG9ydGVkIG92ZXIgdG8gMS4wKS4KCjIwMTQtMDYtMjggMTc6Mzc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZG9uJ3QgZXJyb3Igb3V0IGlmIHRoZXJlJ3Mgbm90IGVub3VnaCBkYXRhIGluIHRoZSBhZGFwdGVyCgkgIGdzdF9tYXRyb3NrYV9wYXJzZV90YWtlKCkgd291bGQgcmV0dXJuIEZMT1dfRVJST1IgaW5zdGVhZCBvZgoJICBGTE9XX0VPUyBpbiBjYXNlIHRoZXJlJ3MgbGVzcyBkYXRhIGluIHRoZSBhZGFwdGVyIHRoYW4gcmVxdWVzdGVkLAoJICBiZWNhdXNlIGJ1ZmZlciBpcyBOVUxMIGluIHRoYXQgY2FzZSB3aGljaCB0cmlnZ2VycyB0aGUgZXJyb3IKCSAgY29kZSBwYXRoLiBUaGlzIG1hZGUgdGhlIHVuaXQgdGVzdCBmYWlsIChvY2Nhc2lvbmFsbHkgYXQgbGVhc3QsCgkgIGJlY2F1c2Ugb2YgYSBidWcgaW4gdGhlIHVuaXQgdGVzdCB0aGVyZSdzIGEgcmFjZSBhbmQgaXQgd291bGQKCSAgaGFwcGVuIG9ubHkgc3BvcmFkaWNhbGx5KS4KCjIwMTQtMDYtMjggMTY6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBkaXN0IGdlbmVyYXRlZCBPUkMgZmlsZXMKCjIwMTQtMDYtMjggMTY6NDg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSB2aWRlb2NvbnZlcnQgY29kZSBmcm9tIC1iYXNlCgkgIEFuZCBhbHNvIHJlbmFtZSB0aGUgcmVtYWluaW5nIHN5bWJvbHMgdG8gcHJldmVudCBjb25mbGljdHMKCSAgZHVyaW5nIHN0YXRpYyBsaW5raW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDQzCgoyMDE0LTA2LTI4IDEzOjAxOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG92aWRlb3NyYzogdXNlIHZpZGVvdGVzdHNyYyBhcyBmYWxsYmFjayBlbGVtZW50IGluc3RlYWQgb2YgZmFrZXNyYwoJICBmYWtlc3JjIGRvZXNuJ3QgYW5ub3VuY2UgdmlkZW8gY2Fwcywgc28gbW9zdCB2aWRlbyBwaXBlbGluZXMgd2lsbAoJICBqdXN0IGVycm9yIG91dCB3aXRoIG5vdC1uZWdvdGlhdGVkIGlmIGEgZmFsbGJhY2sgZWxlbWVudCBpcyBjcmVhdGVkLgoKMjAxNC0wNi0yOCAxMjo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSAgYXV0b2F1ZGlvc3JjOiB1c2UgYXVkaW90ZXN0c3JjIGFzIGZhbGxiYWNrIGVsZW1lbnQgaW5zdGVhZCBvZiBmYWtlc3JjCgkgIGZha2VzcmMgZG9lc24ndCBhbm5vdW5jZSBhdWRpbyBjYXBzLCBzbyBtb3N0IGF1ZGlvIHBpcGVsaW5lcyB3aWxsCgkgIGp1c3QgZXJyb3Igb3V0IHdpdGggbm90LW5lZ290aWF0ZWQgaWYgYSBmYWxsYmFjayBlbGVtZW50IGlzIGNyZWF0ZWQuCgo9PT0gcmVsZWFzZSAxLjMuOTAgPT09CgoyMDE0LTA2LTI4IDExOjIxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTAKCjIwMTQtMDYtMjggMTE6MDg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjYgMTQ6NTI6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJICBSZW5hbWUgR3N0RGV2aWNlTW9uaXRvciB0byBHc3REZXZpY2VQcm92aWRlcgoKMjAxNC0wNi0yNCAwOToxNDo0MCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE0NAoKMjAxNC0wNi0xNiAxMTozNTozOSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRGVjbGFyZSBhcyBDb21wb3NpdG9yIGluICdrbGFzcycKCjIwMTQtMDYtMjYgMTM6NTA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc3BlZXggY2FwcwoJICBEZWNvZGVyIGNvbXBsYWlucyBhYm91dCAibm90aWZpY2F0aW9uOiBJbnZhbGlkIG1vZGUgZW5jb3VudGVyZWQuCgkgIFRoZSBzdHJlYW0gaXMgY29ycnVwdGVkIiB0aG91Z2gsIGV2ZW4gaWYgaXQgd29ya3MsIHNvIHRoZXJlJ3MKCSAgcHJvYmFibHkgc29tZXRoaW5nIHdyb25nIHdpdGggdGhlIGdlbmVyYXRlZCBjb2RlYyBoZWFkZXJzLgoKMjAxNC0wNi0yNiAxMzo0MzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IHNwZWV4IGluIEZMVgoJICBTcGVleCBpbiBGTFYgaXMgYWx3YXlzIG1vbm8gQCAxNmtIeiwgc2VlCgkgIGh0dHA6Ly9kb3dubG9hZC5tYWNyb21lZGlhLmNvbS9mNHYvdmlkZW9fZmlsZV9mb3JtYXRfc3BlY192MTBfMS5wZGYKCSAgc2VjdGlvbiBFLjQuMi4xOiAiSWYgdGhlIFNvdW5kRm9ybWF0IGluZGljYXRlcyBTcGVleCwgdGhlIGF1ZGlvIGlzCgkgIGNvbXByZXNzZWQgbW9ubyBzYW1wbGVkIGF0IDE2IGtIeiwgdGhlIFNvdW5kUmF0ZSBzaGFsbCBiZSAwLCB0aGUKCSAgU291bmRTaXplIHNoYWxsIGJlIDEsIGFuZCB0aGUgU291bmRUeXBlIHNoYWxsIGJlIDAiCgkgIEFsc28gc2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2MjIKCjIwMTQtMDYtMjYgMDU6MTk6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQWRkIG9iamVjdCB0eXBlIGlkIGFuZCBmb3VyY2MgZm9yIERUUy9EVFMtSEQKCSAgRW5hYmxlcyBwbGF5YmFjayBmb3IgZmlsZXMgd2l0aCBEVFMgYXVkaW8gdHJhY2tzLgoJICBBbHNvIGFkZCBhbiBleHRyYSBBQy0zIHZhcmlhbnQgZm91cmNjIGZyb20gTmVybwoKMjAxNC0wMy0xMyAxMDozNTozMCArMDEwMCAgRGF2aWQgRmVybmFuZGV6IDxkLmZlcm5hbmRlemxvcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogU29sdmUgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gc3JjIGNhcHMgYXJlIGNvbmZpZ3VyZWQKCSAgQ2hhbmdlIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIE5VTEwgd2hpbGUgaG9sZGluZyB0aGUgbG9jayB0byBhdm9pZAoJICByYWNlIGNvbmRpdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTExMAoKMjAxNC0wNi0yNSAxNDozNDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIFNSIHBhY2tldCBoYW5kbGluZwoJICBJbXBsZW1lbnQgMyBkaWZmZXJlbnQgY2FzZXMgZm9yIGhhbmRsaW5nIHRoZSBTUjoKCSAgMSkgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uIHRvIGhhbmRsZSB0aGUgU1IgcGFja2V0IGFuZAoJICB3ZSBuZWVkIHRvIHdhaXQgYSBsaXR0bGUgZm9yIG1vcmUgUlRQIHBhY2tldHMuIEluIHRoYXQgY2FzZSB3ZSBrZWVwCgkgIHRoZSBTUiBwYWNrZXQgYXJvdW5kIGFuZCByZXRyeSB3aGVuIHdlIGdldCBhbiBSVFAgcGFja2V0IGluIHRoZQoJICBjaGFpbiBmdW5jdGlvbi4KCSAgMikgdGhlIFNSIHBhY2tldCBoYXMgYSB0b28gb2xkIHRpbWVzdGFtcCBhbmQgc2hvdWxkIGJlIGRpc2NhcmRlZC4gSXQgaXMKCSAgbGFiZWxlZCBpbnZhbGlkIGFuZCB0aGUgbGFzdF9zciBpcyBjbGVhcmVkLgoJICAzKSB0aGUgU1IgcGFja2V0IGlzIG9rIGFuZCB0aGVyZSBpcyBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLCBwcm9jZWVkCgkgIHdpdGggcHJvY2Vzc2luZyB0aGUgU1IgcGFja2V0LgoJICBCZWZvcmUgdGhpcyBwYXRjaCwgY2FzZSAyKSBhbmQgMSkgd2VyZSBoYW5kbGVkIGluIHRoZSBzYW1lIHdheSwKCSAgcmVzdWx0aW5nIHRoYXQgU1IgcGFja2V0cyB3aXRoIHRvbyBvbGQgdGltZXN0YW1wcyB3ZXJlIGNoZWNrZWQgb3ZlciBhbmQKCSAgb3ZlciBhZ2FpbiBmb3IgZWFjaCBSVFAgcGFja2V0LgoKMjAxNC0wNi0yNCAxMDo0NzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IGFkZCB1ZHBzaW5rIHRlc3QgdG8gY2hlY2sgY2xpZW50IGFkZC9yZW1vdmUKCjIwMTQtMDYtMjMgMTY6MTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBwb3J0IHVkcHNpbmsgdGVzdHMgdG8gMS4wCgkgIFRoZXkgYWxsIHNlZW0gYSBiaXQgcG9pbnRsZXNzIHRob3VnaC4KCjIwMTQtMDYtMjMgMTk6NTU6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFkZCBVWVZZIGZvcm1hdAoKMjAxNC0wNi0wNiAxMToyMDoyMSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZ3N0cnRwc3NyY2RlbXV4OiBtYW5hZ2Ugc3NyYyBvZiBSVENQIFJSIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTMyNAoKMjAxNC0wNi0yMyAyMDo1Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXBkYXRlIG9mZnNldCBhZnRlciBwYXJzaW5nIGFkdGwgY2h1bmsKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgcGFyc2UgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB3aXRob3V0IGV2ZXIKCSAgZ2V0dGluZyBwYXN0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTMzCgoyMDEzLTA3LTA3IDIwOjE4OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVtb3ZlIGxlZ2FjeSBjb2RlIGZvciBwYXNzaW5nIGEgd2luZG93IGhhbmRsZQoJICAiaGF2ZS1ucy12aWV3IiBhbmQgdGhlICJlbWJlZCIgcHJvcGVydHkgd2FzIGtlcHQgaW4gMC4xMCBmb3IKCSAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYnV0IGl0J3Mgbm8gbG9uZ2VyIHVzZWQgaW4gZmF2b3Igb2YKCSAgdGhlIEdzdFZpZGVvT3ZlcmxheSBpbnRlcmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc1MwoKMjAxNC0wNi0yMiAxOTozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKMjAxNC0wNi0yMiAxOToyNjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBjYWxsIEdTVF9ERUJVR19PQkpFQ1QoKSBhbmQgb3RoZXIgbWFjcm9zIHdpdGggbm9uLUdPYmplY3Qgb2JqZWN0cwoJICBJdCB3aWxsIGNyYXNoIHdpdGggbGF0ZXN0IEdMaWIgR0lUIGFuZCB3YXMgbmV2ZXIgc3VwcG9zZWQgdG8gd29yayBiZWZvcmUKCSAgZWl0aGVyLgoKPT09IHJlbGVhc2UgMS4zLjMgPT09CgoyMDE0LTA2LTIyIDE4OjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMwoKMjAxNC0wNi0yMiAxNzozNjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yMiAxNDoyNDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDYtMjEgMDE6MzI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkgIHB1bHNlLCB2NGwyOiB1cGRhdGUgZm9yIGRldmljZSAia2xhc3MiIC0+ICJkZXZpY2UtY2xhc3MiIHJlbmFtZQoKMjAxNC0wNi0yMCAxMjoyMTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogb3B0aW1pc2F0aW9uOiBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1vcnkgcmVmL3VucmVmcwoJICBXZSBrbm93IHRoZSBidWZmZXIgd2lsbCBzdGF5IHZhbGlkIGFuZCB3ZSB3aWxsIGFsc28gbm90CgkgIG1vZGlmeSB0aGUgYnVmZmVyLCB3ZSBqdXN0IHdhbnQgdG8gc2VuZCBvdXQgdGhlIGRhdGEuCgoyMDE0LTA2LTE5IDE0OjU5OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhdm9pZCBzb21lIHVubmVjZXNzYXJ5IHJ1bi10aW1lIHR5cGUgY2hlY2tzCgoyMDE0LTA2LTE5IDE2OjE3OjIzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGFzcyB0aGUgc3RyZWFtIGlkIHdoZW4gYXNraW5nIGZvciBjcnlwdG8gcGFyYW1zCgkgIFRoaXMgd2F5IHRoZSBhcHAgY2FuIGNob29zZSBkaWZmZXJlbnQgcGFyYW1ldGVycyBmb3IgZWFjaCBzdHJlYW0uCgoyMDE0LTA1LTIwIDE0OjU4OjA3IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgc3VwcG9ydCBmb3Iga2V5IGxlbmd0aCBwYXJhbWV0ZXJzCgkgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0cyBmb3IgdGhlIGluY29taW5nIGtleSBtYW5hZ2VtZW50IHBhcmFtZXRlcnMgZm9yCgkgIGVuY3J5cHRpb24gYW5kIGF1dGhlbnRpY2F0aW9uIGtleSBsZW5ndGhzLgoJICBJdCBhbHNvIGFkZHMgYSBuZXcgc2lnbmFsIHJlcXVlc3QtcnRjcC1rZXkgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8KCSAgcHJvdmlkZSB0aGUgY3J5cHRvIHBhcmFtZXRlcnMgYW5kIGtleSBmb3IgdGhlIFJUQ1Agc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDczCgoyMDE0LTA2LTE5IDE1OjI1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgdnA4ZGVwYXk6IGZpeCBoZWFkZXIgc2l6ZSBjaGVja2luZwoJICBVc2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgbmFtZSB0byBtYWtlIGl0IGNsZWFyIHRoYXQgd2UgYXJlIGNhbGN1bGF0aW5nCgkgIHRoZSBoZWFkZXIgc2l6ZS4KCSAgQ29ycmVjdGx5IGNoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggYnl0ZXMgdG8gcmVhZCB0aGUgaGVhZGVyIGJpdHMuIFdlCgkgIHdlcmUgY2hlY2tpbmcgaWYgdGhlcmUgd2VyZSA1IGJ5dGVzIGF2YWlsYWJsZSBpbiB0aGUgaGVhZGVyIHdoaWxlIHdlCgkgIG9ubHkgbmVlZGVkIDMsIGNhdXNpbmcgdGhlIHBhY2tldCB0byBiZSBkaXNjYXJkZWQgYXMgdG9vIHNtYWxsLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTk1CgoyMDE0LTA1LTIwIDEyOjM5OjMxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCBmbGFnCgkgIFNpbWlsYXJseSB0byB3aGF0IHdlIGRpZCB3aXRoIHRoZSBERUxUQV9VTklUIGZsYWcsIHRoaXMgcGF0Y2gKCSAgcHJvcGFnYXRlcyB0aGUgRElTQ09OVCBmbGFnIHRvIHRoZSBmaXJzdCBSVFAgcGFja2V0IGJlaW5nIHVzZWQgdG8gdHJhbnNmZXIgYQoJICBESVNDT05UIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0wNiAxNzo0MjoxNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZmxhZwoJICBEb3duc3RyZWFtIGVsZW1lbnRzIG1heSBiZSBpbnRlcmVzdGVkIGtub3dpbmcgaWYgYSBSVFAgcGFja2V0IGlzIHRoZSBzdGFydAoJICBvZiBhIGtleSBmcmFtZSAodG8gaW1wbGVtZW50IGEgUlRQIGV4dGVuc2lvbiBhcyBkZWZpbmVkIGluIHRoZQoJICBPTlZJRiBTdHJlYW1pbmcgU3BlYyBmb3IgZXhhbXBsZSkuCgkgIFdlIGRvIHRoaXMgYnkgY2hlY2tpbmcgdGhlIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGZsYWcgd2UgcmVjZWl2ZSBmcm9tCgkgIHVwc3RyZWFtIGFuZCBwcm9wYWdhdGUgaXQgdG8gdGhlICpmaXJzdCogUlRQIHBhY2tldCBvdXRwdXR0ZWQgdG8gdHJhbnNmZXIgdGhpcwoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMjAgMTM6NTg6MjAgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBnc3RydHBtcDRncGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgUHJvcGFnYXRlIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlcgoJICBhIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTIwIDEzOjU4OjIwICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgUHJvcGFnYXRlIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlcgoJICBhIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA2LTE4IDE1OjAzOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgbGVhayBmbG93IGNvbWJpbmVyCgoyMDE0LTA2LTE4IDE0OjM4OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwanAya3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlci1saXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDE0OjM0OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxNDoxOToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTM6NDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IGFsbG9jYXRlIGJpdHJlYWRlciBvbiB0aGUgc3RhY2sKCjIwMTQtMDYtMTggMTM6Mjk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IHBvc3QgZXJyb3IgbWVzc2FnZSBvbiBidXMgb24gZXJyb3IgYW5kIGRvbid0IHVzZSBnX21lc3NhZ2UoKQoKMjAxNC0wNi0xOCAxMzoyMDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogY291cGxlIG9mIG1pbm9yIG9wdGltaXNhdGlvbnMKCSAgUHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplIHRvIGF2b2lkIHJlLWFsbG9jcy4KCSAgQXZvaWQgcGxlbnR5IG9mIGRvdWJsZSBydW50aW1lIGNhc3QgY2hlY2tzIGFuZCByZS1kb2luZyB0aGUKCSAgc2FtZSBjYWxjdWxhdGlvbiBvdmVyIGFuZCBvdmVyIGFnYWluIGluIHJ0cF92cDhfY2FsY19wYXlsb2FkX2xlbigpLgoJICBPbmx5IGNhbGwgZ3N0X2J1ZmZlcl9nZXRfc2l6ZSgpIG9uY2UuCgoyMDE0LTA2LTE4IDA4OjEwOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCSAgVG8gYXZvaWQgcmUtYWxsb2NzLgoKMjAxNC0wNi0xOCAwNzo1MjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVybGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoJICBUbyBhdm9pZCB1bm5lY2Vzc2FyeSByZS1hbGxvY3MuCgoyMDE0LTA2LTE2IDIwOjE1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IHB1c2ggc2luZ2xlIGJ1ZmZlciBkaXJlY3RseSwgbm8gbmVlZCB0byB3cmFwIGl0IGluIGEgYnVmZmVybGlzdAoJICBObyBwb2ludCBpbiBhIGJ1ZmZlciBsaXN0IGlmIHdlIGp1c3QgaGF2ZSBvbmUgc2luZ2xlCgkgIGJ1ZmZlciB0byBwdXNoLiBGaXggdXAgdW5pdCB0ZXN0IHRvIGhhbmRsZSB0aGF0IGNhc2UKCSAgYXMgd2VsbC4KCjIwMTQtMDYtMTYgMTU6MzU6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cHZyYXdwYXk6IG1ha2UgY2h1bmtzIHBlciBmcmFtZSBjb25maWd1cmFibGUKCSAgQml0IG9mIGEgbWlzbm9tZXIgYmVjYXVzZSBpdCdzIHJlYWxseSBjaHVua3MgcGVyIGZpZWxkCgkgIGFuZCBub3QgcGVyIGZyYW1lLCBidXQgd2UncmUgZ29pbmcgdG8gaWdub3JlIHRoYXQgZm9yCgkgIHRoZSB0aW1lIGJlaW5nLgoKMjAxNC0wNi0xNiAxNDo1MjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDYtMTYgMTQ6NDQ6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0cyBvZiBzdWZmaWNpZW50IHNpemUKCSAgQXZvaWRzIHVubmVjZXNzYXJ5IHJlYWxsb2NzIHdoZW4gYXBwZW5kaW5nIGJ1ZmZlcnMKCSAgdG8gdGhlIGJ1ZmZlcmxpc3QuCgoyMDE0LTA2LTE2IDEzOjUxOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IG1pY3JvLW9wdGltaXNlIHZhcmlhYmxlIGFjY2VzcyBpbiBpbm5lciBsb29wCgkgIFN0b3JlIHNvbWUgdmFsdWVzIHRoYXQgZG9uJ3QgY2hhbmdlIGR1cmluZyB0aGUgZXhlY3V0aW9uCgkgIG9mIHRoZSBpbm5lciBsb29wcyBsb2NhbGx5LCBzbyB0aGUgY29tcGlsZXIga25vd3MgdGhhdCB0b28uCgoyMDE0LTA2LTE2IDEzOjM4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgQ29sbGVjdCBidWZmZXJzIHRvIHNlbmQgb3V0IGluIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mCgkgIHB1c2hpbmcgb3V0IHNpbmdsZSBidWZmZXJzIG9uZSBhdCBhIHRpbWUuIEZvciBIRCB2aWRlbwoJICBlYWNoIGZyYW1lIG1pZ2h0IGVhc2lseSBhZGQgdXAgdG8gYSBjb3VwbGUgb2YgdGhvdXNhbmQKCSAgcGFja2V0cywgbXVsdGlwbHkgdGhhdCBieSB0aGUgZnJhbWUgcmF0ZSBhbmQgdGhhdCdzIGEKCSAgbG90IG9mIHB1c2goKSBhbmQgc2VuZG1zZygpIGNhbGxzIHBlciBzZWNvbmQuCgkgIEEgZ29vZCByZWFzb24gdG8gcHVzaCBvdXQgYnVmZmVycyBhcyBlYXJseSBhcyBwb3NzaWJsZSBpcwoJICBsYXRlbmN5LCBzbyB3ZSBkb24ndCBhY2N1bXVsYXRlIHRoZSB3aG9sZSBmcmFtZSBpbiBhIHNpbmdsZQoJICBidWZmZXIgbGlzdCwgYnV0IGluc3RlYWQgcHVzaCBpdCBvdXQgaW4gYSBmZXcgY2h1bmtzLCB3aGljaAoJICBpcyBob3BlZnVsbHkgYSByZWFzb25hYmxlIGNvbXByb21pc2UuCgoyMDE0LTA2LTE2IDE2OjQwOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogaW1wcm92ZSBlbGVtZW50IGRlc2NyaXB0aW9ucyBmb3IgZHludWRwc2luayBhbmQgbXVsdGl1ZHBzaW5rCgoyMDE0LTA2LTE2IDE2OjE3OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogcmVtb3ZlIHN1cHByZXNzaW9uIG9mIGNvbXBpbGVyIHdhcm5pbmdzIGZvciBkZXByZWNhdGVkIEdMaWIgQVBJCgkgIE5vdCBuZWVkZWQgYW55IG1vcmUuCgoyMDE0LTA2LTE3IDEzOjE2OjI3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGNhcHMgbmVnb3RpYXRpb24gaXNzdWUKCSAgTWFrZSBzdXJlIHRoYXQgaWYgQVlVViBpcyByZWNlaXZlZCBpdCB3aWxsIGRldGVjdCB0aGF0IGl0IGNhbiBwcm9kdWNlCgkgIGJvdGggUkdCIGFuZCBZVVYgZm9ybWF0cwoJICBTaWduZWQtb2ZmLWJ5OiBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI0OAoKMjAxNC0wNi0xNiAxMjowMjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGZpeCBkb3VibGUgZnJlZXMKCSAgRml4IGRvdWJsZS1mcmVlcyBpbnRyb2R1Y2VkIHRvIGZpeCBhbm90aGVyIGNvdmVyaXR5IHJlcG9ydC4KCSAgQ0lEIDEyMjMwNTMKCjIwMTQtMDYtMTMgMTA6MTI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgZHludWRwc2luazogcmV0dXJuIEZMVVNISU5HIHdoZW4gc2VuZHRvIGdvdCBjYW5jZWxlZCwgbm90IGFuIGVycm9yCgoyMDE0LTA2LTEzIDA5OjUyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzOiBzaW1wbGlmeSBwcm9iZWQgY2FwcyBiZWZvcmUgcmV0dXJuaW5nIHRoZW0KCSAgRXhwb3NlcyBhbGwgZm9ybWF0cyBpbiB0aGUgZmlyc3Qgc3RydWN0dXJlIGlmIHRoZQoJICByZXN0IGlzIHRoZSBzYW1lIGZvciBhbGwgb2YgdGhlbS4KCjIwMTQtMDYtMTMgMDk6NDU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IG1ha2Ugc3VyZSAxNi1iaXQgZm9ybWF0cyBhcmUgYmVmb3JlIDgtYml0IGZvcm1hdHMgaW4gcHJvYmVkIGNhcHMKCSAgUHJvYmUgc3VwcG9ydGVkIGZvcm1hdHMgaW4gb3JkZXIgb2YgZGVzaXJhYmlsaXR5IHJhdGhlciB0aGFuIGluCgkgIHdoYXQgb3JkZXIgdGhleSBtYXkgaGFwcGVuIHRvIGJlIGluIHRoZSBmb3JtYXRzIGJpdG1hc2suIEZpeGVzCgkgIGFjY2lkZW50YWxseSBleHBvc3VyZSBvZiA4LWJpdCBmb3JtYXRzIGluIGNhcHMgYmVmb3JlIDE2LWJpdCBmb3JtYXRzCgkgIChpbiBjYXNlIHdoZXJlIFUxNiB3YXMgbm90IHN1cHBvcnRlZCBTOCBtaWdodCBiZSBsaXN0ZWQgYmVmb3JlIFMxNikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY4ODQKCjIwMTQtMDYtMTIgMTY6MzY6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbmx5IGhhbmRsZSB2NGwyX2FsbG9jYXRvcl9uZXcgZmFpbHVyZQoKMjAxNC0wNi0xMiAxMToyNDoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yZGVwYXk6IGZpeCBsZWFrcwoJICBDb3Zlcml0eSAxMjEyMTYzCgoyMDE0LTA2LTEyIDExOjE2OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBsZWFrIGZpeGVzCgkgIENvdmVyaXR5IDEyMTIxNTkKCjIwMTQtMDYtMTIgMTE6MTE6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIENvdmVyaXR5IDEyMTIxNTcKCjIwMTQtMDYtMTIgMTA6NDM6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrcwoJICBDb3Zlcml0eSAxMjEyMTQ5CgoyMDE0LTA2LTEyIDEwOjMxOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSAgcnRwZHZwYXk6IGNhdGNoIGZhaWx1cmVzIHRvIG1hcCBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTc0MQoKMjAxNC0wNi0xMSAxNzo0Mzo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBndWFyZCBhZ2FpbnN0IGhhdmluZyBubyBNSU1FIHR5cGUKCSAgVGhlIGNvZGUgd291bGQgcHJldmlvdXNseSBjcmFzaCB0cnlpbmcgdG8gaW5zZXJ0IGEgTlVMTCBzdHJpbmcKCSAgaW50byBhIGhhc2ggdGFibGUuCgkgIEl0IGRvZXMgc2VlbSBhIGxpdHRsZSBicm9rZW4gdGhhdCBpbmRleGluZyBpcyBkb25lIGJ5IE1JTUUgdHlwZQoJICBhbmQgbm90IGJ5IGluZGV4IHRob3VnaCwgdW5sZXNzIHRoZSBzcGVjIHNheXMgdGhlcmUgY2Fubm90IGJlCgkgIHR3byBwYXJ0cyB3aXRoIHRoZSBzYW1lIE1JTUUgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTU3MwoKMjAxNC0wNi0xMCAxNTo0MjoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIFRoaXMgZXZlbnQgd2FzIG5vdCBzZW50LiBTZW5kIGl0IGJlZm9yZSBjYXBzLCB0aGlzIHJlcXVpcmVzIHRoZSBwYWQgdG8KCSAgYmUgcGFyZW50ZWQuIFRoaXMgcmVtb3ZlcyB3YXJuaW5nIGxpa2U6ICJHb3QgZGF0YSBmbG93IGJlZm9yZQoJICBzdHJlYW0tc3RhcnQgZXZlbnQiLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNDc1CgoyMDE0LTA2LTEwIDE1OjMzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBsb29waW5nIGluZGVmaW5pdGVseSBpbiBicm9rZW4gc3ZxMyBmaWxlcwoJICBBYm9ydCBpZiBhbiBhdG9tIHdpdGggc2l6ZSAwIGlzIHJlYWQgZnJvbSB3aXRoaW4gdGhlIHN2cTMgc3RzZAoJICBhdG9tcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTEyCgoyMDE0LTA2LTEwIDEwOjUyOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWRkIGNvbnN0IHdoZXJlIGFwcHJvcHJpYXRlCgoyMDE0LTA2LTA5IDEwOjM5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBhZGQgbWlzc2luZyB2YV9lbmQgaW4gdmFyaWFkaWMgZnVuY3Rpb24KCSAgQ292ZXJpdHkgMTEzOTk0NAoKMjAxNC0wNi0wOSAxMDowNDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEF0dGVtcHQgdXBzdHJlYW0gc2VlayBmaXJzdAoJICBJZiB3ZSBoYXZlIGFuIHVwc3RyZWFtIGVsZW1lbnQgdGhhdCBjYW4gaGFuZGxlIHRoZSBzZWVrIChzdWNoIGFzCgkgIHJ0bXBzcmMpLCB0cnkgdG8gZG8gdGhhdCBmaXJzdCBiZWZvcmUgYXR0ZW1wdGluZyBpdCBvdXJzZWxmLgoKMjAxNC0wNi0wNCAxMTozNDoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvIG5vdCBpbmNsdWRlIGNvZGVjX2RhdGEgb24gcmF3IGF1ZGlvIGNhcHMKCSAgSWYgdGhlIHdhdiBoZWFkZXIgY29udGFpbnMgYW4gZXh0ZW5kZWQgY2h1bmssIHdlIHdhbnQgdG8ga2VlcAoJICB0aGUgY29kZWNfZGF0YSBmaWVsZCwgYnV0IG5vdCBmb3IgcmF3IGF1ZGlvLgoJICBUaGlzIGZpeGVzIHNvbWUgZWxlbWVudHMgKHN1Y2ggYXMgYWRkZXIpIGZyb20gZmFpbGluZyB0byBpbnRlcnNlY3QKCSAgcmF3IGF1ZGlvIGNhcHMgd2hpY2ggd291bGQgb3RoZXJ3aXNlIGJlIGludGVyc2VjdGFibGUuCgoyMDE0LTA2LTA1IDA5OjM4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUXVlcnkgZHVyYXRpb24gdXBzdHJlYW0gZmlyc3QKCSAgVXBzdHJlYW0gZWxlbWVudHMgKGxpa2UgcnRtcHNyYykgbWlnaHQgYmUgYWJsZSB0byBwcm92aWRlIHRoZSBkdXJhdGlvbgoJICBtb3JlIGFjY3VyYXRlbHkgdGhhbiBmbHZkZW11eC4gRXNwZWNpYWxseSB3aXRoIGluZGV4LWxlc3Mgdm9kIGZpbGVzCgoyMDE0LTA1LTMwIDE5OjM3OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2xlYW51cCBwb2xsIG1ldGhvZCBhbmQgcmV0cnkgb24gRUlOVFIvRUFHQUlOCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwMTUKCjIwMTQtMDMtMDYgMTY6Mzc6NTEgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzZXQgUkVTWU5DIGJ1ZmZlciBmbGFnIHdoZW4gYnJpZGdpbmcgbGFyZ2UgUFRTIGdhcHMKCSAgU28gZG93bnN0cmVhbSBnZXRzIG5vdGlmaWVkIHdoZW4gdGhpcyBoYXBwZW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1OTAzCgoyMDE0LTA2LTAzIDE3OjU5OjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eDogUmVzZXQgc3RhdGUgb24gZWFjaCBpdGVyYXRpb24KCSAgT3RoZXJ3aXNlIGl0IGRpZG4ndCB3YWl0IGZvciB0aGUgdGVzdCB0byBmaW5pc2ggYmVmb3JlIGNoZWNraW5nIHRoZSByZXN1bHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTAxCgoyMDE0LTA1LTA5IDE0OjIyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGxlYWsgZG9jdHlwZSBzdHJpbmcgaW4gZXJyb3IgY29kZSBwYXRoCgkgIENJRCAxMjEyMTQ1LgoKMjAxNC0wNS0yMCAwODoyMDo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgY2hlY2tzCgkgIENJRCAjMTE5NzcwMwoKMjAxNC0wNS0yMCAwODoyMzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgdmFyaWFibGUKCSAgQ0lEICMxMTM5ODM4CgoyMDE0LTA1LTMwIDE0OjMyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1cHN0cmVhbSBoYW5kbGVzIHNlZWsgaWYgZnJhZ21lbnRlZCBhbmQgb24gdGltZSBzZWdtZW50CgkgIE90aGVyd2lzZSB3ZSBjYW4gcmVqZWN0IHNlZWtzIG9uIGxvY2FsIGZpbGVzIHRoYXQgY29udGFpbiBmcmFnbWVudGVkLWxpa2UKCSAgYXRvbXMgbGlrZSAnbXZleCcuIEFsc28gaW1wcm92ZSBhIG1lc3NhZ2UgbG9nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3MjIKCjIwMTQtMDUtMzAgMTY6NDM6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBtYWtlIHN1cmUgd2UgY2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTAoJICBDYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMIGluIHRoZSBTVEFQLUEgUlRQIHBhY2tldC4gVGhpcyBtYWtlcwoJICBzdXJlIHdlIGNvcnJlY3RseSBleHRyYWN0IHRoZSBTUFMgYW5kIFBQUy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk5OQoKMjAxNC0wNS0wNyAxNDowOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgY3VzdG9tIHN0aWNreSBldmVudCB0byBjb250YWluIHRoZSBIVFRQIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGhlYWRlcnMKCSAgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIGUuZy4gZ2V0IGNvb2tpZSBpbmZvcm1hdGlvbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzA3CgoyMDE0LTA1LTI2IDE5OjQ3OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcmVtb3ZlIHN0cmVhbSBsYXN0IGZsb3cgcmV0dXJuCgkgIEdzdFBhZCBhbHJlYWR5IHN0b3JlcyB0aGF0IGluZm9ybWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTk6Mzc6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBsYXN0IGZsb3cgcmV0dXJuIGZyb20gc3RyZWFtIHN0cnVjdAoJICBJdCBpcyBhbHJlYWR5IHN0b3JlZCBvbiBHc3RQYWQgb24gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDE5OjE5OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogVXNlIEdzdEZsb3dDb21iaW5lcgoJICBVc2UgdGhlIGZsb3cgY29tYmluZXIgdG8gaGF2ZSB0aGUgc3RhbmRhcmQgY29tYmluYXRpb24gcmVzdWx0cyBhbmQgYXZvaWQKCSAgcmVwZWF0aW5nIHRoZSBzYW1lIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMzoyMToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFVzZSB0aGUgZmxvdyBjb21iaW5lciB0byBoYXZlIHRoZSBzdGFuZGFyZCBjb21iaW5hdGlvbiByZXN1bHRzIGFuZCBhdm9pZAoJICByZXBlYXRpbmcgdGhlIHNhbWUgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEzOjA0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCjIwMTQtMDUtMjMgMTc6NTM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgdGhlIGNvbW1vbiBjb2RlIHRvIGNvbWJpbmluZyBmbG93IHJldHVybnMgdG8gbGV0IGl0IGJlCgkgIGhhbmRsZWQgYnkgY29yZSBnc3R1dGlscycgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTA6NTk6NTUgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGltcGxlbWVudCBnc3R2aWRlb3Npbmsuc2hvd19mcmFtZSBpbnN0ZWFkIG9mIGdzdGJhc2VzaW5rLnJlbmRlcgoJICBJdCBhbGxvd3MgdG8gc2hvdyBwcmVyb2xsIGZyYW1lLiBFc3BlY2lhbGx5IGl0IGFsbG93cyB0byB1cGRhdGUgdGhlCgkgIGZyYW1lIHdoZW4gc2Vla2luZyBpbiBQQVVTRUQgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMDMKCjIwMTQtMDUtMjYgMTA6NTk6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBDbGVhbnVwIG9sZCBwYWQgYWxsb2MgZGVjbGFyYXRpb24KCjIwMTQtMDUtMjYgMTI6MzQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDb3B5IGFscmVhZHkgcXVldWVkIGJ1ZmZlcgoJICBUaGlzIGlzIHJlcXVpcmVkIGFzIGR1cmluZyBwcmVyb2xsIHdlIHBhc3MgdGhlIGZpcnN0IGJ1ZmZlciB0d2ljZSwgaGVuY2UgYWxyZWFkeQoJICBxdWV1ZWQuIEl0IGlzIGFsc28gdXNlZnVsLCB0byBhbGxvdyBmaWx0ZXJzIHJlcGxheWluZyBhIHByZXZpb3VzIHJlbmRlcmVkIGJ1ZmZlcnMuCgkgIFRoaXMgd2lsbCByZXF1aXJlIDEgbW9yZSBidWZmZXIgaW4gc2luayBpZiBsYXN0LXNhbXBsZSBpcyBlbmFibGVkLCBzaW5jZSB0aGUgbGFzdAoJICBzYW1wbGUgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnRseSBxdWV1ZWQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzAzCgoyMDE0LTA1LTI0IDIwOjIwOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gYnVmZmVycG9vbCBmbHVzaF9zdGFydC9zdG9wIG1ldGhvZAoJICBQb3J0IHRoZSBidWZmZXIgcG9vbCB0byB1c2UgdGhlIG5ldyBmbHVzaF9zdGFydC9mbHVzaF9zdG9wIHZpcnR1YWwKCSAgbWV0aG9kcyBhZGRlZCB0byBHc3RCdWZmZXJQb29sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NjExCgoyMDE0LTA1LTI1IDE3OjQwOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlCgoyMDE0LTA1LTI1IDE2OjU0OjE4ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1NTYKCjIwMTQtMDUtMjQgMjM6NTE6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IHF1ZXVlIGFsbCB0aGUgYnVmZmVycyBiZWZvcmUgZGVxdWV1ZWluZyBmaXJzdAoJICBGb3Igb3V0cHV0IGRldmljZSwgd2Ugd2hlcmUgcXVldWluZyBhbGwgdGhlIGJ1ZmZlcnMsIGFuZCB0aGVuIHdlIHdvdWxkCgkgIGRlcXVldWUgb25lLiBUaGlzIG1lYW5zIHdlIG9ubHkgaGF2ZSAxIGJ1ZmZlciBmb3IgdGhlIHBpcGVsaW5lLCBubyBtYXR0ZXIKCSAgdGhlIHNpemUgb2YgdGhlIHF1ZXVlLiBJbnN0ZWFkLCBzdGFydCBkZXF1ZXVlZCB3aGVuIG1pbl9sYXRlbmN5IGlzIHJlYWNoZWQuCgkgIEV2ZW50dWFsbHksIHRoaXMgdGhlIG1pbl9sYXRlbmN5IHNob3VsZCBhbHNvIGJlIGFmZmVjdGVkIGJ5IGNvbnRyb2wKCSAgTUlOX0JVRkZFUlNfRk9SX09VVFBVVCAodXNlIGJ5IGVuY29kZXJzKS4KCjIwMTQtMDUtMjQgMjM6NDk6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBTaW1wbHkgcmVhZCBiYWNrIHRoZSBjb25maWcgdG8gdXBkYXRlIHRoZSBxdWVyeQoJICBJdCdzIGVhc3kgdG8gZ2V0IHRoZSBtaW4vbWF4IG91dGRhdGUgd2hlbiBoYWNraW5nIGRlY2lkZSBhbGxvY2F0aW9uLiBJbgoJICBvcmRlciB0byBhdm9pZCB0aGlzLCBzaW1wbHkgcmVhZCBiYWNrIHRoZSBjaG9vc2VuIHZhbHVlIGZyb20gdGhlIGNvbmZpZy4KCjIwMTQtMDUtMjQgMjM6MzE6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBDbGVhbnVwIGFuZCBmaXggY2FsY3VsYXRpb24gb2YgbGF0ZW5jeQoJICBDYWxjdWxhdGlvbiBvZiBudW1fYnVmZmVycyAodGhlIG1heCBsYXRlbmN5IGluIGJ1ZmZlcnMpIHdhcwoJICB1cC1zaWRlLWRvd24uICBJZiB3ZSBjYW4gYWxsY29hdGUsIHRoZW4gb3VyIG1heGltdW0gbGF0ZW5jeSBtYXRjaAoJICBwb29sIG1heGltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMuIEFsc28gcmVuYW1lZCBpdCB0byBtYXggbGF0ZW5jeS4gRmluYWxseQoJICBpbnRyb2R1Y2VkIGEgbWluX2xhdGVuY3kgZm9yIGNsYXJpdHkuCgoyMDE0LTA1LTI0IDIwOjAwOjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgUmV2ZXJ0ICJ2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJlMGZiNDJlODY4ZmM5ZjZkOThiMDI4ZGVmODBhM2U5NTM1MjczMDcuCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmMKCjIwMTQtMDUtMjQgMTg6NTY6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggY29uZmlndXJhdGlvbiBvZiBvdGhlcl9wb29sIGFuZCBpbXBvcnRhdGlvbiBjYXNlCgkgIEZpeCB0aGUgY2hvaWNlIG9mIG1pbi9tYXgsIGRvbid0IG92ZXJyaWRlIHRoZSBtaW4vbWF4IHdpdGggb3duIHBvb2wgc2VsZWN0ZWQKCSAgc2l6ZSwgY29ycmVjdCBvdGhlcl9wb29sIGlzX2FjdGl2ZSBjaGVjaywgc3RhcnQgZnJvbSBvdGhlcl9wb29sIGNvbmZpZyB3aGVuCgkgIGNvbmZpZ3VyaW5nIHRoZSBvdGhlciBwb29sIGFuZCBmaW5hbGx5IHZhbGlkYXRlIHRoZSBjb25maWd1cmF0aW9uLgoKMjAxNC0wNS0yNCAxODo0NTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBwcm9wb3NlZCBhbGxvY2F0b3IgYXMgZGVmYXVsdAoKMjAxNC0wNS0yNCAxODo0MzoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IFVTRVJQVFIgbWFwIGZsYWdzCgkgIFdlIG5lZWQgdG8gbWFwIFJFQUQgb25seSBmb3Igb3V0cHV0IGFuZCB3cml0ZSBvbmx5IGZvciBjYXB0dXJlLCB3ZSB3aGVyZQoJICBkb2luZyB0aGUgb3Bwb3NpdGUuIFRoaXMgZml4aW5nIFVTRVJQVFIgd2l0aCBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjk4CgoyMDE0LTA1LTI0IDExOjE2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZSB0a2hkIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBhbmQgYWRkIHRhZ3MgaWYgYXBwcm9wcmlhdGUKCSAgSGFuZGxlIHRoZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggY2FzZXMgd2hlcmUgdGhlcmUgYXJlIG9ubHkgc2ltcGxlIHJvdGF0aW9ucwoJICAoOTAsIDE4MCBvciAyNzAgZGVncmVlcykgYW5kIHVzZSBhIHRhZyBmb3IgdGhvc2UgY2FzZXMuIFRoaXMgaXMgYSBjb21tb24gc2NlbmFyaW8KCSAgd2hlbiByZWNvcmRpbmcgd2l0aCBtb2JpbGUgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NTIyCgoyMDE0LTA1LTIzIDE5OjEwOjIxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUHJldmVudCBudW1fcXVldWVkIGZyb20gZ29pbmcgbmVnYXRpdmUKCjIwMTQtMDUtMjMgMTg6MjU6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGRvbid0IHN0b3AgaWYgbG9vcCByZXR1cm5lZCBGTFVTSElORwoJICBUaGUgZGVjb2RlaW5nIHRocmVhZCByZXR1cm5pbmcgZmx1c2hpbmcgaXNuJ3QgYW4gZXJyb3IsIHdlIHNob3VsZCBzaW1wbHkKCSAgdHJ5IHN0YXJ0aW5nIHRoZSB0YXNrIGFnYWluLiBJZiBpdCdzIGFjdHVhbGx5IGZsdXNoaW5nLCBpdCB3aWxsIHN0b3AgYWdhaW4gYnkgaXRzZWxmLgoKMjAxNC0wNS0yMyAxNzo1NDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIGVhcmx5IHRhc2sgc3RvcAoKMjAxNC0wNS0yMyAxNzoyODoxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIGdzdF9wYWRfc3RhcnRfdGFzaygpIGZhaWx1cmUKCjIwMTQtMDUtMjMgMTc6MTk6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEFkZCB0cmFjZSBmb3IgRkxVU0hfU1RBUlQvU1RPUCBoYW5kbGluZwoKMjAxNC0wNS0yMyAxNzoxODoxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRml4IHVzZSBvZiBhdG9taWMgdmFsdWUKCjIwMTQtMDUtMjMgMTc6MDE6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGRlYnVnZ2luZwoJICBObyBuZWVkIHRvIHVzZSBvYmotPmVsZW1lbnQsIHRoZSBwb29sIG5vdyBoYXZlIGEgc2lnbmlmaWNhbnQgbmFtZS4gQWxzbyBkb24ndAoJICB3YXJuIGlmIGZsdXNoaW5nLgoKMjAxNC0wNS0yMyAxNzowMTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRml4IGhhbmRsZV9mcmFtZSBlcnJvciBoYW5kbGluZwoKMjAxNC0wNS0yMyAxNTo1NjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFkZCBhIHRyYWNlIHdoZW4gX3N0YXJ0KCkgaXMgY2FsbGVkCgoyMDE0LTA1LTIzIDE1OjU2OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBkZWJ1ZyBhc3NlcnQgdG8gZGV0ZWN0IGNhbGxzIGluIHRoZSB3cm9uZyBzdGF0ZQoKMjAxNC0wNS0yMyAxNTo1NToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXNldCBjb3VudCB3aGVuIHN0b3BwZWQKCjIwMTQtMDUtMjMgMTU6NTU6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJldHVybiBhIEdzdEZsb3dSZXR1cm4gaW5zdGVhZCBvZiBib29sZWFuIGluIGFsbG9jCgoyMDE0LTA1LTIzIDE1OjE3OjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgY29uZmlnIHN0cnVjdHVyZQoKMjAxNC0wNS0yMyAxNDoxMjoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kCgoyMDE0LTA1LTIzIDAzOjAwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgdGFnIG1hcHBpbmdzIGZvciBfc3dyLCBfbWFrIGFuZCBfbW9kIHRhZ3MKCSAgc3dyIC0+IEFwcGxpY2F0aW9uIG5hbWUKCSAgbWFrIC0+IGRldmljZSBtYW51ZmFjdHVyZXIKCSAgbW9kIC0+IGRldmljZSBtb2RlbAoKMjAxNC0wNS0yMCAxNzozNzo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggeGltYWdlIGxlYWtzIHdoZW4gYnVmZmVyIGhhcyBtb3JlIHRoZW4gb25lIHhpbWFnZQoJICBGcm9tIHRpbWUgdG8gdGltZSwgd2hlbiB0aGUgaW1hZ2VfcG9vbCBsaXN0IGhhcyBtb3JlIHRoZW4gMSBlbGVtZW50CgkgIGFuZCBJIHN1cHBvc2UgYXQgc3RhcnQsIGFsbCBidXQgMSBwb29sZWQgeGltYWdlIGFyZSBsZWFrZWQuIFRoaXMgaXMKCSAgZHVlIHRvIGJyb2tlbiBhbGdvcml0aG0gaW4gZ3N0X3hpbWFnZXNpbmtfc3JjX3hpbWFnZV9nZXQoKS4gVGhlcmUgd2FzCgkgIGFsc28gYSByaXNrIG9mIHVzZSBhZnRlciBmcmVlIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgeGltYWdlIHNpemUgaGFzCgkgIGNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDIKCjIwMTQtMDUtMjEgMTM6MjM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4yID09PQoKMjAxNC0wNS0yMSAxMzowNjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4yCgoyMDE0LTA1LTIxIDEyOjE5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTIxIDEwOjUxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMTFmYTVmIHRvIDFmNWQzYzMKCjIwMTQtMDUtMjAgMDg6MjM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHZhcmlhYmxlCgkgIENJRCAjMTEzOTgzOAoKMjAxNC0wNS0yMCAwODoyMDo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgY2hlY2tzCgkgIENJRCAjMTE5NzcwMwoKMjAxNC0wNS0xOSAxMToyNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBFeHBsaWNpdGx5IGNhc3QgZW51bSAic3VidHlwZSIgdG8gaXRzICJzdXBlcnR5cGUiCgkgIGdzdHY0bDJidWZmZXJwb29sLmM6NjA4OjE4OiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUKCSAgJ2VudW0gX0dzdFY0bDJCdWZmZXJQb29sQWNxdWlyZUZsYWdzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0QnVmZmVyUG9vbEFjcXVpcmVGbGFncycgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHBhcmFtcy5mbGFncyA9IEdTVF9WNEwyX1BPT0xfQUNRVUlSRV9GTEFHX1JFU1VSRUNUOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE0LTA1LTE5IDExOjI0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJICBnb29tOiBVc2UgZmFicygpIGluc3RlYWQgb2YgYWJzKCkgdG8gY2FsY3VsYXRlIHRoZSBmbG9hdGluZyBwb2ludCBhYnNvbHV0ZSB2YWx1ZQoJICB0ZW50YWNsZTNkLmM6MjY4Ojc6IGVycm9yOiB1c2luZyBpbnRlZ2VyIGFic29sdXRlIHZhbHVlIGZ1bmN0aW9uICdhYnMnIHdoZW4KCSAgYXJndW1lbnQgaXMgb2YgZmxvYXRpbmcgcG9pbnQgdHlwZSBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQoJICBpZiAoYWJzICh0bXAgLSBmeF9kYXRhLT5yb3QpID4gYWJzICh0bXAgLSAoZnhfZGF0YS0+cm90ICsgMi4wICogR19QSSkpKSB7CgkgIF4KCjIwMTQtMDUtMTkgMTE6MjE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1Z3V0aWxzOiBQcm9wZXJseSBjYWxjdWxhdGUgdGhlIGRpZmZlcmVuY2Ugd2l0aCB1bnNpZ25lZCB0eXBlcwoJICB0ZXN0cy5jOjE2MToxNjogZXJyb3I6IHRha2luZyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdW5zaWduZWQgdHlwZQoJICAndW5zaWduZWQgbG9uZycgaGFzIG5vIGVmZmVjdCBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQoJICB0LT5kaWZmICs9IGxhYnMgKEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWZmZXIpIC0gdC0+ZXhwZWN0ZWQpOwoKMjAxNC0wNS0xNiAxNzo0NjozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIGZsdXNoIHdoaWxlIGluIHN0YXJ0X3N0cmVhbWluZwoJICBXZSBuZWVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIGZsdXNoIG9jY3VyZSB3aGlsZSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBpcyBiZWluZyBicm91Z2h0IHVwLiBJbiB0aGlzIGNhc2UsIHRoZSBmbHVzaGluZyBzdGF0ZSBvZiB0aGUgcG9sbAoJICBvYmplY3QgaXMgY2xlYXJlZC4gVG8gc29sdmUgdGhpcywgd2Ugc2ltcGx5IHNldCB0aGUgY2FwdHVyZSBwb2xsIHRvIGZsdXNoaW5nCgkgIGFnYWluLCB0aGlzIHdheSB3ZSBrbm93IHRoZSB0aHJlYWQgd2lsbCBleGl0LiBUaGUgZGVjb2RlciBzdHJlYW1sb2NrCgkgIGlzIHVzZWQgdG8gc3luY2hyb25pemUgd2l0aCBoYW5kbGUgZnJhbWUuCgoyMDE0LTA1LTE2IDE2OjQ0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IERvbid0IHRyYWNlIHR3aWNlIHRoZSBzYW1lIG1lc3NhZ2UKCjIwMTQtMDUtMTUgMTE6MjU6NTAgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHdheXMgdXNlIGEgcmFuZG9tIHNzcmMgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uCgkgIFVzZSBhIHJhbmRvbSBTU1JDIGRpZmZlcmVudCB0aGFuIDAgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMTIKCjIwMTQtMDUtMTYgMTY6NTI6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1cGRhdGUgbGFzdF9hY3Rpdml0eSB3aGVuIHNlbmRpbmcgUlRQCgkgIEFsc28gdXBkYXRlIGxhc3RfYWN0aXZpdHkgd2hlbiBkb2luZyBzb21ldGhpbmcgd2l0aCB0aGUgaW50ZXJuYWwKCSAgc291cmNlIHRvIG1ha2Ugc3VyZSBkb24ndCB0aW1lb3V0IGVhcmx5LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIxNwoKMjAxNC0wNS0xNSAxODowODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IENsZWFudXAgTTJNIHByb3BlcnRpZXMKCSAgTTJNIGRldmljZXMgd2VyZSBzaGFyaW5nIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgc3JjIGFuZCBzaW5rLiBNb3N0IG9mCgkgIHRoZXNlIG1hZGUgbm8gc2Vuc2UuIFRoaXMgcGF0Y2ggcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHByb3BldGllcyBhbmQKCSAgbWFrZXMgaW8tbW9kZSBjbGVhcmVyIGJ5IGhhdmluZyBjYXB0dXJlLWlvLW1vZGUgYW5kIG91dHB1dC1pby1tb2RlLiBUaGlzCgkgIGFsc28gYWNjaWRlbnRseSBmaXhlZCBhIGJ1ZyBpbiBnc3R2NGwydHJhbnNmb3JtIGlvLW1vZGUgY29kZSwgd2hlcmUgdGhlCgkgIGNhcHR1cmUgaW8tbW9kZSBjb3VsZCBub3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTkxCgoyMDE0LTA1LTE1IDE3OjM5OjM5ICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVcGRhdGUgcG9vbCBsaW1pdCB3aXRoIGhhcmR3YXJlIHJlcXVpcmVtZW5zdAoJICBJZiB0aGUgZHJpdmVyIG5lZWQgbW9yZSBidWZmZXJzIHRoYW4gcmVxdWVzdGVkIGJ5IHRoZSBjb25maWcsCgkgIHVwZGF0ZSB0aGUgcG9vbCBtaW4vbWF4IHZhbHVlcy4gVGhlIG1pbmltdW0gdmFsdWUgZm9yIHRoZSBwb29sCgkgIGNvdWxkIGJlIHByb3ZpZGVkIGVpdGhlciBieSB0aGUgZHJpdmVyIG9yIGJ5IHRoZSBwb29sLiBUaGlzIGlzCgkgIGJlc3QgZWZmb3J0IGZvciBkcml2ZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydAoJICBDSUQgVjRMMl9DSURfTUlOX0JVRkZFUlNfRk9SX0NBUFRVUkUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDAKCjIwMTQtMDUtMTUgMTA6NDQ6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBzdGFydF9zdHJlYW1pbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNSAxMDozOTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJpbnQgdGhlIGZsb3cgcmV0dXJuIGNhdXNpbmcgdGhlIGxvb3AgdG8gbGVhdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNSAxMDozMTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgbG9jayB0aGUgZGVjb2RlciB3aGVuIHN0b3BwaW5nIHRhc2sKCSAgVGhhdCBzcmMgcGFkIHRhc2sgbWF5IG5lZWQgdG8gdGFrZSB0aGUgbG9jayB3aGVuIGJlaW5nIHB1bGxlZAoJICBkb3duLiB0YWtlaW5nIHRoYXQgbG9jayBjYW4gbGVhZCB0byBhIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE3OjE4OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IERvbid0IGxlYWsgcG9vbCBpZiBhY3RpdmF0aW9uIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE3OjE4OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBTcGxpdCBmbHVzaCBpbiBzdGFydC9zdG9wX3N0cmVhbWluZwoJICBUaGlzIGFsbG93IGNhbGxpbmcgc3RhcnQgc3RyZWFtaW5nIGxhdGVyIGZvciBjYXB0dXJlIGRldmljZS4gQ3VycmVudGx5IGl0IGJyZWFrcwoJICBpbiBkbWFidWYtaW1wb3J0IGJlY2F1c2UgZG93bnN0cmVhbSBpcyBob2xkaW5nIGEgYnVmZmVyIHRoYXQgd2lsbCBvbmx5IGJlCgkgIHJlbGVhc2VkIGFmdGVyIHN0cmVhbS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxNToxMjoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGbHVzaCBidWZmZXIgcG9vbHMgb24gZmx1c2ggc3RvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjI4OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCB1c2Ugb2YgYXRvbWljIGFjdGl2ZSBtYXJrZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMzowNTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IGRlYWN0aXZhdGUgb3RoZXJwb29sCgkgIFdlIHNob3VsZCBub3Qgc3RvcCB0aGUgb3RoZXJwb29sIHVubGVzcyB3ZSBhbHNvIHN0b3Agb3VyIG93bgoJICBwb29sLCBvdGhlcndpc2UgaXQgd2lsbCBuZXZlciBnZXQgcmVzdGFydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEyOjMzOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWxzbyB1cGRhdGUgbnVtX2J1ZmZlcnMgZm9yIGltcG9ydCBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjQyOjI1IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVwZGF0ZSBydHAgZW5jb2Rlci9kZWNvZGVyIGRvY3MKCSAgVXNlICV1IGluIFJUUCBlbmNvZGVyL2RlY29kZXIgcGFkcyB0byBtYXRjaCBvdGhlciBydHBiaW4gcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0NgoKMjAxMy0xMi0yNyAxMTo1NToxOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHMvY2hlY2s6IHJ0cHNlc3Npb246IHRlc3QgaW50ZXJuYWwgc291cmNlcyB0aW1pbmcgb3V0CgoyMDEzLTEyLTI2IDE3OjMwOjQyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgdW51c2VkIGlmIGJyYW5jaAoJICAxKSBzb3VyY2VzIHRoYXQgaGF2ZSBzZW50IEJZRSBpbiB0aGUgcGFzdCBjYW5ub3QgYmUgc2VuZGVycywgc2luY2UKCSAgdGhleSB3b3VsZCBoYXZlIHRpbWVkIG91dCB0byBiZWluZyByZWNlaXZlcnMgaW4gdGhlIG1lYW50aW1lLi4uCgkgIDIpIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFIGFyZSBub3cgYmVpbmcgcmVtb3ZlZCBlYXJsaWVyIGluc2lkZQoJICB0aGlzIGZ1bmN0aW9uCgoyMDEzLTEyLTI2IDE3OjI5OjQyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjbGVhbnVwIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFCgoyMDEzLTEyLTI2IDE3OjI0OjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1bmlmeSBuZXN0ZWQgaWYgY2xhdXNlcwoKMjAxMy0xMi0yNiAxNzoyMTo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdGltZW91dCBpbnRlcm5hbCBzb3VyY2VzIHRoYXQgYXJlIGluYWN0aXZlIGZvciBhIGxvbmcgdGltZSBhbmQgc2VuZCBCWUUKCjIwMTQtMDUtMTMgMTI6MjU6MDQgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3Qgc3RvcCBsb29waW5nIGlmIGV2ZW50IGZvdW5kIGluIHRoZSBxdWV1ZQoJICBJZiB3ZSBhcmUgaW5zZXJ0aW5nIGEgcGFja2V0IGludG8gdGhlIGppdHRlciBxdWV1ZSB3ZSBuZWVkIHRvIGtlZXAKCSAgbG9vcGluZyB0aHJvdWdoIHRoZSBpdGVtcyB1bnRpbCB0aGUgcmlnaHQgcG9zaXRpb24gaXMgZm91bmQuIEN1cnJlbnRseSwKCSAgdGhlIGNvZGUgc3RvcHMgYXMgc29vbiBhcyBhbiBldmVudCBpcyBmb3VuZCBpbiB0aGUgcXVldWUuCgkgIFJlZ2FyZGluZyBldmVudHMsIHdlIHNob3VsZCBvbmx5IG1vdmUgcGFja2V0cyBiZWZvcmUgYW4gZXZlbnQgaWYgdGhlcmUKCSAgaXMgYW5vdGhlciBwYWNrZXQgYmVmb3JlIHRoZSBldmVudCB0aGF0IGhhcyBhIGxhcmdlciBzZXFudW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAwNzgKCjIwMTQtMDQtMTcgMTM6MDQ6MDAgKzAwMDAgIEFkcmllbiBTQ0ggPGFkcmllbi5zY2h3YXJ0emVudHJ1YmVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCB0aGUgbWVtb3J5IGxlYWsgb2YgbGFuZ3VhZ2UgYXR0cmlidXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MTgKCjIwMTQtMDUtMTMgMTM6NDQ6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHJlZ3Jlc3Npb24gaW4gb2Zmc2V0IGV4dHJhcG9sYXRpb24KCSAgV2hlbiBleHRyYXBvbGF0aW5nIHRoZSBvZmZzZXQsIHdlIG5lZWQgdG8gdXNlIHRoZSBleHRyYXBvbGF0ZQoJICBzdHJpZGUgcmF0aGVyIHRoZW4gdGhlIGJhc2Ugc3RyaWRlLiBUaGlzIHNob3VsZCBmaXggc3VwcG9ydCBmb3IgZm9ybWF0CgkgIHdpdGggbW9yZSB0aGVuIHR3byBwbGFuZXMgKEk0MjAsIFk0MkIsIGV0YykuCgoyMDE0LTA1LTEyIDE4OjAzOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogVXNlIGRlZmF1bHQgVmlkZW9JbmZvIGZvciBmcmFtZSBvcGVyYXRpb24KCSAgV2hlbiBkb2luZyBmcmFtZSBvcGVyYXRpb24sIHdlIG5lZWQgdG8gdXNlIHRoZSBkZWZhdWx0IFZpZGVvSW5mbwoJICBhbmQgbGV0IHRoZSBmcmFtZSBBUEkgcmVhZCB0aGUgdmlkZW8gbWV0YSBpbiBvcmRlciB0byBnZXQgdGhlIHN0cmlkZQoJICBhbmQgb2Zmc2V0IHJpZ2h0LiBDdXJyZW50bHkgd2Ugd2hlcmUgdXNpbmcgdGhlIHNwZWNpYWxpemVkIFZpZGVvSW5mbwoJICB3aGljaCByZWZsZWN0cyB3aGF0IHRoZSBIVyBpcyBzZXR1cCB0by4KCjIwMTQtMDUtMTIgMTc6MjM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IG1pbm9yIEdWYWx1ZSBoYW5kbGluZyBvcHRpbWlzYXRpb24gaW4gcHJvYmluZyBjb2RlCgoyMDE0LTA1LTEyIDE3OjIwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhdm9pZCBsaXN0cyB3aXRoIG9uZSBzaW5nbGUgZnJhbWVyYXRlIGluIHByb2JlZCBjYXBzCgkgIFNpbXBsaWZ5IGZyYW1lcmF0ZSBmaWVsZCBpZiBwb3NzaWJsZSwgc28gd2UgZG9uJ3QgZW5kIHVwIHdpdGgKCSAgZS5nLiBmcmFtZXJhdGUgPSAoZnJhY3Rpb24pIHsgMzAvMSB9LiBNYXliZSB0aGUgaGVscGVyIGZ1bmN0aW9uCgkgIHNob3VsZCBiZSBtb3ZlZCB0byBjb3JlLCBidXQgd2UgY2FuIGRvIHRoaXMgbGF0ZXIuCgoyMDE0LTA1LTEyIDE2OjU2OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBsZWFrIG9mIHBhbGV0dGVfZGF0YSBpbiBlcnJvciBjYXNlcwoJICBDSUQgIzEyMTIxNTEKCjIwMTQtMDUtMTIgMTY6NTM6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIG5vZGVfaGVhZGVyIGluIGVycm9yIGNhc2VzCgkgIENJRCAjMTIxMjEzNAoKMjAxNC0wNS0xMiAxMzo0NjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCB1c2UgV0FSTklORyBmb3Igbm90LWxpbmtlZCBmbG93IHJldHVybgoJICBQb2xsdXRlcyBkZWJ1ZyBsb2dzIGZvciBubyByZWFzb24uIEl0J3Mgb25seSBhbiBlcnJvciBpZiBhbGwgcGFkcwoJICByZXR1cm4gbm90LWxpbmtlZAoKMjAxNC0wNS0xMiAxMzo0NTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFNraXAgdW5rbm93biB0YWdzIGluIHB1c2gtbW9kZQoJICBXZSBhZGQgYSBuZXcgbW9kZSAoU0tJUCkgaW4gcHVzaC1tb2RlIHRvIHNraXAgdGFncyB0aGF0IHdlIGRvbid0IGtub3duIGFib3V0CgkgIFBhcnRpYWxseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNzEyCgoyMDE0LTA1LTEwIDA5OjE0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBBZGQgc3VwcG9ydCBmb3IgdmFyaWFibGUgYmxvY2sgc2l6ZSBmaWxlcyBhbmQgcmVtb3ZlIGRlYWQgY29kZQoJICBUaGlzIGRlYWQgY29kZSB3YXNuJ3QgdXNlZCBzaW5jZSB0aGUgMS4wIHBvcnQgYW5kIHdvdWxkIG5lZWQgdG8KCSAgYmUgbW9kaWZpZWQgaGVhdmlseSBmb3IgdmFyaWFibGUgYmxvY2sgc2l6ZSBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk0CgoyMDE0LTA1LTA5IDEyOjE0OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4IE5VTEwgY2hlY2sgY29weSBwYXN0ZSBlcnJvcgoJICBDSUQgMTIxMjEyOQoKMjAxNC0wNS0wOSAxMjoxMTo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgZHVlIHRvIG1pc3NpbmcgYnJlYWsKCSAgQ0lEIDEyMTIxMzEKCjIwMTQtMDUtMDkgMTg6MDE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGluY3JlbWVudCBhY2NlcHRlZCBwYWNrZXRzIGFmdGVyIGxvc3MKCSAgV2hlbiB3ZSBkZXRlY3QgYSBsb3N0IHBhY2tldCwgZXhwZWN0IHBhY2tldHMgd2l0aCBoaWdoZXIKCSAgc2VxbnVtIG9uIHRoZSBpbnB1dC4KCSAgQWxzbyB1cGRhdGUgdGhlIHVuaXQgdGVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTUyNAoKMjAxNC0wNS0wNCAxMToxMjo1NCAtMDYwMCAgSmFzb24gTGl0emluZ2VyIDxqbGl0emluZ2VyZGV2QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgQWRkIG5ldyB0ZXN0IGNhc2UuCgoyMDE0LTA1LTA5IDE2OjE0OjIxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IG5vIG5lZWQgdG8gYWN0aXZhdGUgcGFkcwoJICBBY3RpdmF0aW9uIHdpbGwgaGFwcGVuIGluIHRoZSBzdGF0ZSBjaGFuZ2UKCjIwMTQtMDUtMDkgMTI6MTA6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGNvbmZpZyBzdHJ1Y3R1cmUKCSAgdGhpcyBmaXhlcyBhIGxlYWsgb2YgdGhlIGNvbmZpZyBzdHJ1Y3R1cmUgYW5kIHRha2UgY2FyZSBvZiBtYWtpbmcgc3VyZQoJICBjYXBzIGNhbid0IHJlYWNoIHJlZiAwIGJlZm9yZSB3ZSBhcmUgZG9uZSBkb2luZyBvdXIgY2hlY2suCgkgIENJRCAxMjEyMTQ0CgoyMDE0LTA1LTA5IDEyOjA4OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVtb3ZlIHVuZWVkZWQgY2FzdCBmb3IgY29kZSBjbGFyaXR5CgoyMDE0LTA1LTA5IDExOjU2OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBGaXggbGVhayBvZiBjb25maWcgc3RydWN0dXJlIGluIGVycm9yIGNhc2UKCSAgQ0lEcyAxMjEyMTY3IGFuZCAgMTIxMjE2NwoKMjAxNC0wNS0wOSAxMTo1MToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCB1c2Ugb2YgdW5pdGlsaXplZCBwb29sIHBvaW50ZXIKCSAgQ0lEICMxMjEyMTczCgoyMDE0LTA1LTA5IDE2OjQ4OjU4ICswMjAwICBFcmljIFRyb3Vzc2V0IDxldHJvdXNzZXRAYXdveC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcmVzcG9uZCB0byBhIHBvc2l0aW9uIHF1ZXJ5IGluIEJZVEUgZm9ybWF0IHdpdGggYSBUSU1FIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTMKCjIwMTQtMDUtMDkgMTQ6MjI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBkb2N0eXBlIHN0cmluZyBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQ0lEIDEyMTIxNDUuCgoyMDE0LTA1LTA2IDEzOjM3OjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVhZGJhY2sgcG9vbCBjb25maWcgaWYgdXNlZCB3aXRoaW4gdGhlIGJhc2VjbGFzcwoKMjAxNC0wNS0wNiAxMjo1ODo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBSZXBsYWNlIG1pc3MtdXNlIG9mIGNyb3AgbWV0YSBpbiBmYXZvdXIgb2YgcHJvcGVyIG9mZnNldAoJICBUaGlzIG1vdmVzIGF3YXkgZnJvbSBjb3B5aW5nIGluZm9ybWF0aW9uIGFuZCBzdG9yZSBldmVyeXRoaW5nIGluc2lkZQoJICB0aGUgR3N0VmlkZW9JbmZvIHN0cnVjdHVyZS4gVGhlIGFsaWduZW1lbnQgZXhwb3NlZCBieSB2NGwyIGFwaQoJICBpcyBub3cgaGFuZGxlZCB1c2luZyBwcm9wZXIgb2Zmc2V0LgoKMjAxNC0wNS0wNiAxMjo1NTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFN0eWxlIGZpeAoKMjAxNC0wNS0wNSAxMjozODozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGltcG9ydGVkIGJ1ZmZlciBzaXplIHdpdGggZXhwZWN0ZWQgc2l6ZQoJICBUaGlzIGVuc3VyZSB0aGF0IHRoZSBidWZmZXIgcG9vbCB3b24ndCBhbHdheXMgZGlzY2FyZCBidWZmZXIgd2l0aCB0aGVzZQoJICBtZW1vcnkgd2hlbiB0aGV5IGFyZSByZWxlYXNlZC4KCjIwMTQtMDUtMDUgMTI6Mzc6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXNldCBmbHVzaGVkIGdyb3VwCgkgIFRoaXMgZW5zdXJlIHRoYXQgYSBmbHVzaGVkIGdyb3VwIG1lbW9yeSBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB3aGVuIHRoZXkKCSAgd2hlcmUgb3JpZ2luYWxseSBhbGxvY2F0ZWQgLyBpbXBvcnRlZC4KCjIwMTQtMDUtMDUgMTI6MDc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEdldCBudW1iZXIgb2YgYWxsb2NhdGVkIGJ1ZmZlcnMgZnJvbSBhbGxvY2F0b3IKCSAgVGhlIHZhbHVlIG9mIG51bV9hbGxvY2F0ZWQgYnVmZmVyIHdvdWxkIGdldCBjb25mdXNlZCB3aGVuCgkgIGJ1ZmZlciBhcmUgYmVpbmcgZGlzY2FyZGVkLgoKMjAxNC0wNS0wNSAxMjowNjo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIGEgbWV0aG9kIHRvIHJlYWQgbnVtYmVyIG9mIGFsbG9jYXRlZCBncm91cAoKMjAxNC0wNS0wNCAyMDoyMzo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTQtMDUtMDQgMTk6NTE6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVuc3VyZSB3ZSBkb24ndCByZS1lbnF1ZXVlIGJ1ZmZlciBkdXJpbmcgZmx1c2gKCjIwMTQtMDUtMDQgMTk6MTM6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbml0aWxpYWxpemUgZGVidWcgY2F0ZWdvcnkKCjIwMTQtMDUtMDQgMTY6MTE6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggbGlidjRsMiBzdXBwb3J0CgkgIE5lZWQgdG8gaW5jbHVkZSBjb25maWcuaCwgb3RoZXJ3aXNlIHdlIGVuZHVwIGRpcmVjdGx5IHVzaW5nIHRoZQoJICBpb2N0L21tYXAvbXVubWFwIGNhbGxzIGFuZCBuZWVkIHRvIHZhbGwgdjRsMl9tdW5tYXAuCgoyMDE0LTA1LTAxIDEzOjA0OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFNldCB0aGUgZmxhZ3Mgb24gdGhlIG9iamVjdAoJICBXZSB3aGVyZSBub3Qgc2V0dGluZyB0aGUgcHJvYmVkIGZsYWdzIG9uIHRoZSBhbGxvY2F0b3IsIHdoaWNoIG1lYW4gZXZlbiBpZgoJICBDUkVBVEVfQlVGUyB3YXMgc3VwcG9ydGVkIG9uIHNvbWUgZHJpdmVyLCBpdCB3b3VsZCBlbmR1cCBiZWluZyBpZ25vcmVkLgoKMjAxNC0wNC0yOSAxNjo0OTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlLWVucXVldWUgYnVmZmVyIGF0IHN0cmVhbSBzdGFydAoKMjAxNC0wNC0yOSAxNjowNjowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBUaGVyZSBpcyBub3QgZ3JvdXAgb24gZXJyb3IKCjIwMTQtMDQtMjkgMTQ6NTY6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSGFuZGxlIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTQtMDQtMjkgMTM6MDU6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBY3F1aXJlIGNhbm5vdCByZXR1cm4gYSBidWZmZXIgZnJvbSBhbm90aGVyIHBvb2wKCSAgUmV0dXJuIGEgYnVmZmVyIGZyb20gYW4gb3RoZXJwb29sIGhhcyB1bndhbnRlZCBzaWRlIGVmZmVjdHMgdGhhdCBsZWFkIHRvIGxlYWtzIGFuZAoJICBwcmV2ZW50cyBkZWFjdGl2YXRpbmcgdGhlIHBvb2wuIEluc3RlYWQsIHdlIGNoYW5nZSB0aGUgX3Byb2Nlc3MoKSBBUEkgc28gaXQgY2FuCgkgIHJlcGxhY2UgdGhlIGludGVybmFsIGJ1ZmZlciB3aXRoIHRoZSBidWZmZXIgZnJvbSB0aGUgZG93bnN0cmVhbSBwb29sLiBUaGlzIGltcGxpZWQKCSAgbW92aW5nIGZyb20gX2ZpbGwoKSB0byBfY3JlYXRlKCkgbWV0aG9kIGluIHRoZSBzcmMuCgoyMDE0LTA0LTI5IDEzOjAwOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVtb3ZlIHVucmVhY2hlZCBhY3F1aXJlIGNvZGUKCSAgVGhlIGFjcXVpcmUgaXMgZG9uZSBpbiBfcHJlcGFyZSBub3cuCgoyMDE0LTA0LTI5IDEyOjU3OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogU2FuZXRpemUgYnVmZmVyIHJlZm91bnQgaGFuZGxpbmcKCSAgQnVmZmVyIHJlZmNvdW50aW5nIGlzIGEgYml0IGhhcmQsIGJlY2F1c2Ugb2YgdGhlIGR1YWxpdHkgYmV0d2VlbiBDQVBUVVJFIGFuZAoJICBPVVRQVVQgbW9kZS4gSW4gdGhlIGxvbmcgdGVybSwgd2Ugc2hvdWxkIGNvbnNpZGVyIGhhdmluZyB0d28gc2VwZXJhdGUgcG9vbAoJICBpbnN0ZWFkIG9mIHRoaXMgbWVzcy4gQXQgbGVhc3Qgc3RhdGUgc2hvdWxkIGJlIGJldHRlciBrZXB0IHRoaXMgd2F5LgoKMjAxNC0wNC0yOSAxMjo0ODowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBBZGQgbW9yZSB0cmFjZXMKCjIwMTQtMDQtMjggMDg6NDg6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyLWFsbG9jYXRvcjogQWRkIFMgdG8gUkVRQlVGUy9DUkVBVEVfQlVGUyBlbnVtCgkgIEFsbCBlbnVtIHRoYXQgaGFzIFJFUUJVRlMgYW5kIENSRUFURV9CVUZTIHdoZXJlIG1pc3NpbmcgUywgd2hpY2ggd2FzCgkgIGNvbmZ1c2luZyBzaW5jZSB0aGV5IGFyZSBzdXBwb3NlZCB0byBtYXRjaCB3aXRoIGFzc29jaWNhdGVkIGlvY3RsIG5hbWUuIFRoaXMKCSAgYWxzbyBmaXhlcyB0aGUgeWV0IHVudXNlZCBDQU5fUkVRVUVTVCBmbGFnIGNoZWNrLgoKMjAxNC0wNC0xOCAxNzo1MTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbmFibGVkIFFvUwoKMjAxNC0wNC0xOCAxNzowMjo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEZpeHVwIFVTRVJQVFIvRE1BQlVGIGNhcHR1cmUgc3VwcG9ydAoKMjAxNC0wNC0xOCAxNDo0NTowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBJbXByb3ZlIHNlbGVjdG9uIG9mIG1pbi9tYXggaW4gZGVjaWRlIGFsbG9jYXRpb24KCjIwMTQtMDQtMTggMTM6MDk6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVcGRhdGUgY29uZmlnIGlmIG1ldGEgaXMgbWlzc2luZwoJICBSYXRoZXIgdGhlbiBoYXJkIGZhaWx1cmUsIHdlIHNob3VsZCB1cGRhdGUgdGhlIGNvbmZpZyB3aXRoIHRoZSBtZXRhIG9wdGlvbiB3ZQoJICBuZWVkIGFuZCByZXR1cm4gZmFsc2UuCgoyMDE0LTA0LTExIDE3OjEwOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEFkZCBETUFCVUYgYW5kIFVTRVJQVFIgaW1wb3J0YXRpb24KCjIwMTQtMDQtMTcgMjE6NDU6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogVmFsaWQgRkQgYXJlIGJpZ2dlciBvciBlcXVhbCB0byB6ZXJvCgoyMDE0LTA0LTE2IDE3OjA0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgZG93bnN0cmVhbSBwb29sIGluIHByb3Bvc2VfYWxsb2NhdGlvbgoJICBwYXJzZV9udGhfYWxsb2NhdGlvbl9wb29sKCkgZ2l2ZSBhIHJlZiBvbiB0aGUgcG9vbCwgd2UgbmVlZCB0byB1bnJlZiBpdAoJICB3aGVuIGRvbmUuCgoyMDE0LTA0LTE0IDEyOjE5OjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogSW50cm9kdWNlIERNQUJVRl9JTVBPUlQgSU8gbW9kZQoKMjAxNC0wNC0xMCAxNjoyNjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEFkZCBkbWFidWYgZXhwb3J0IHN1cHBvcnQKCSAgVGhpcyBjYW4gYmUgZW5hYmxlZCBzaW5nIGlvLW1vZGU9ZG1hYnVmLiBUaGlzIHdpbGwgZW5hYmxlZCBtbWFwIGJhc2UKCSAgZHJpdmVycyB0byBleHBvcnQgdGhlIGJ1ZmZlcnMgYXMgZG1hYnVmLgoKMjAxNC0wNC0xNiAxNTo1MTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBHdWFyYW50eSBxdWV1ZWQgc3RhdGUgaW50ZWdyZXR5CgkgIEJlY2F1c2Ugb2YgdGhlIGJ1ZiBpbiB2aWRlb2J1ZjIsIGRxYnVmIG1heSBsZWF2ZSB0aGUgRE9ORSBmbGFnIGJlaW5nLAoJICB3aGljaCB3b3VsZCBpbXBsaWVkIHRoYXQgdGhlIGJ1ZmZlciBpcyBxdWV1ZWQuIEFzIHRoaXMgaGFzIGJlZW4gYnJva2VuCgkgIGZvciA0IHllYXJzLCBzaW1wbHkgZ3VhcmFudHkgdGhlIHN0YXRlIGZsYWdzIGludGVncml0eSB3aGVuIGRvaW5nCgkgIHFidWYvZHFidWYuCgkgIFNlZSBodHRwczovL3BhdGNod29yay5saW51eHR2Lm9yZy9wYXRjaC8yMzY0MS8KCjIwMTQtMDQtMTUgMTc6MzE6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSW1wbGVtZW50IG9wZW4vY2xvc2UKCjIwMTQtMDQtMTUgMTY6NDM6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIG91dHB1dCBwb29sIGlzIGNvbmZpZ3VyZWQKCjIwMTQtMDQtMTUgMTY6NDM6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5oOgoJICB2NGwydHJhbnNmb3JtOiBDaGVjayBpZiBjYXBzIGhhdmUgY2hhbmdlcyBiZWZvcmUgYXNzZXJ0aW5nCgkgIEluIHNldF9jYXBzLCBub3cgY2hlY2tzIGlmIGNhcHMgYWN0dWFsbHkgY2hhbmdlZCBhbmQgc3VjY2VlZCBpZiB0aGV5IGRpZG4ndAoJICBjaGFuZ2UuCgoyMDE0LTA0LTE1IDE2OjQxOjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgcG9vbCBpcyBjb25maWd1cmVkCgoyMDE0LTA0LTA4IDE4OjU0OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsd2F5cyBzZXQgYSBzaXplIHdoZW4gZGVjaWRpbmcgYWxsb2NhdGlvbgoKMjAxNC0wNC0wOCAxODoyMDoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBJbXByb3ZlZCBkZWNpZGUgYWxsb2NhdGlvbgoJICBJbXByb3ZlIGRlY2lkZSBhbGxvY2F0aW9uIHNvIGl0IHByb3Blcmx5IGNvbmZpZ3VyZSBib3RoIGxvY2FsIGFuZCBkb3duc3RyZWFtCgkgIGJ1ZmZlciBwb29scy4gQWxzbyByZWFkIGJhY2sgdGhlIHBvb2wgY29uZmlnIGlmIGl0IHdhcyBjaGFuZ2VkIHRvIHRvIGRyaXZlcgoJICBsaW1pdGF0aW9ucy4KCjIwMTQtMDQtMTUgMTM6MzA6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEbyBub3QgcHJlLWNvbmZpZ3VyZSB0aGUgcG9vbAoJICBQcmUtY29uZmlndXJpbmcgdGhlIHBvb2wgaXMgZXJyb3IgcHJvbmUsIHNpbmNlIGl0IG1heSBoaWRlIGEgY29uZmlndXJhdGlvbiBmYWlsdXJlIGFuZAoJICBlbmR1cCB3aXRoIGEgcG9vbCB0aGF0IGlzIG5vdCBjb25maWd1cmVkIHRoZSB3YXkgaXQgc2hvdWxkIChlLmcuIG5vIHZpZGVvIG1ldGEsIHdyb25nCgkgIHF1ZXVlIHNpemUsIGV0Yy4pCgoyMDE0LTA0LTE1IDEzOjIzOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUHJlc2VydmUgZG93bnN0cmVhbSBtaW5pbXVtIGV2ZW4gaW4gUlcKCjIwMTQtMDQtMTUgMTM6MjA6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBUdXJuIGNyb3BtZXRhIGludG8gYSBjdXN0b20gb3B0aW9uCgkgIFR1cm4gY3JvcCBtZXRhIGludG8gYSBjdXN0b20gb3B0aW9uIGFuZCBtYWtlIHN1cmUgaXQncyB0aGVyZSBpcyBuZWVkZWQuCgoyMDE0LTA0LTA5IDEyOjUzOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJidWZmZXJwb29sOiBFYXJseSBjYXRjaCBzaG9ydCBhbGxvY2F0aW9uCgkgIENhdGNoIHNob3J0IGFsbG9jYXRpb24gYWZ0ZXIgc2F2aW5nIHRoZSBmb3JtYXQuIFRoaXMgaXMgbm90IGEgY2F0Y2ggYWxsLCBidXQgc2hvdWxkIGNhdGNoCgkgIG1vc3Qgb2YgdGhlIG1pc3MtYmVoYXZpbmcgZHJpdmVycyB3aGVuIGRvaW5nIFNfRk1UL0dfRk1UIGFuZCBhdm9pZCBwb3RlbnRpYWwgY3Jhc2guCgoyMDE0LTA0LTA0IDIyOjQ2OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byB1c2UgR3N0VjRsMkFsbG9jYXRvcgoKMjAxNC0wNC0wNCAyMjozNTo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIEltcGxlbWVudCBWNGwyIEFsbG9jYXRvcgoJICBUaGlzIGdvYWwgb2YgdGhpcyBhbGxvY2F0b3IgaXMgbWFpbmx5IHRvIGFsbG93IHRyYWNraW5nIHRoZSBtZW1vcnkuCgkgIEN1cnJlbnRseSwgd2hlbiBhIGJ1ZmZlciBtZW1vcnkgaGFzIGJlZW4gbW9kaWZpZWQsIHRoZSBidWZmZXIgYW5kIGl0J3MKCSAgbWVtb3J5IGlzIGRpc3Bvc2VkIGFuZCBsb3N0IHVudGlsIHRoZSBzdHJlYW0gaXMgcmVzdGFydGVkLgoKMjAxNC0wNC0xNiAxNjozNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBhZHZlcnRpc2UgY3JvcCBtZXRhCgkgIEN1cnJlbnRseSB3ZSBhZHZlcnRpc2UgY3JvcCBtZXRhLCBidXQgbm90IGVsZW1lbnQgaGFuZGxlIHN1cHBvcnQgdGhpcyBtZXRhLgoKMjAxNC0wNC0wOCAxODoxODo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBTZXR1cCBwb29sIGFscmVhZHkgc2VuZCBlbGVtZW50IGVycm9yCgoyMDE0LTA0LTA4IDE4OjE3OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFdvcmthcm91bmQgZGVjb2RlciB0aGF0IHNldCBudW1fcGxhbmVzIHRvIDAgaW4gdGhlIGZvcm1hdAoJICBTb21lIHdlbGwga25vd24gZGVjb2RlciB3cm9uZ2x5IHNldCBudW1fcGxhbmVzIHRvIDAgaW4gdGhlaXIgZm9ybWF0IGluc3RlYWQgb2YKCSAgb25lLiBJbiB0aGlzIGNhc2Ugd2Ugd291bGQgZW5kdXAgd2l0aCBubyBzaXplIHdoZW4gZGVjaWRpbmcgYnVmZmVyIGFsbG9jYXRpb24uCgoyMDE0LTA0LTA4IDE3OjM0OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEVuc3VyZSBzaXplIGJlZm9yZSBjb25maWd1cmluZyB0aGUgcG9vbAoKMjAxNC0wNC0wNCAyMjozODowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTZXQgbWluaW11bSBidWZmZXJzIHRvIDIKCSAgQWxsIHRoZSBlbGVtZW50IHJlcXVpcmVzIGF0IGxlYXN0IHR3byBidWZmZXJzLiBUaGlzIGlzIG5vdCB1c2VkIGZvciBSVyBtb2RlLgoKMjAxNC0wNC0wNCAyMjozNzoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgdW51c2VkIE1BWF9CVUZGRVJTIGRlZmluZQoKMjAxNC0wNC0wNCAyMjozNjozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBoYXJkY29kZSBtaW4vbWF4IHVzZSBkZWZhdWx0IGluc3RlYWQKCjIwMTQtMDQtMTAgMTc6NDk6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSW5zdGFsbCBQUk9QX0NBUFRVUkVfSU9fTU9ERSB3aXRoIHJpZ2h0IElECgoyMDE0LTA0LTA4IDE4OjU0OjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGRlY2lkZV9hbGxvY2F0aW9uIHJldHVybnMgYSBib29sZWFuCgoyMDE0LTA0LTEwIDE3OjQ5OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbnN0YWxsIFBST1BfQ0FQVFVSRV9JT19NT0RFIHdpdGggcmlnaHQgSUQKCjIwMTQtMDMtMjcgMTM6MjE6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogQWRkIHByb3Bvc2VfYWxsb2NhdGlvbgoJICBUaGlzIHNob3VsZCByZW1vdmUgMSBjb3B5IGJldHdlZW4gdGhlIGRlY29kZXIgYW5kIHRoZSB0cmFuc2Zvcm0uCgoyMDE0LTAzLTI3IDEzOjIwOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogTW92ZSBwcm9wb3NlIGFsbG9jYXRpb24gdG8gdjRsMm9iamVjdAoKMjAxNC0wMy0yMCAxNzoyNjowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXh1cCBjYXBzIHF1ZXJ5CgoyMDE0LTAzLTIwIDE1OjMxOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBTZXR1cCBjcm9wcGluZyBpZiBuZWVkZWQKCjIwMTQtMDMtMTkgMTc6MjU6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMnRyYW5zZm9ybTogRXhwb3NlIEJHUkEgYW5kIEFSR0IgZm9ybWF0cwoKMjAxNC0wMy0xOCAxNzozMzozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgb3V0cHV0IHBvb2wgaXMgYWN0aXZhdGVkCgkgIFRoYXQgcG9vbCBtYXkgYmUgZGlmZmVyZW50IHRoZW4gdGhlIGludGVybmFsIHBvb2wuCgoyMDE0LTAzLTE2IDE5OjExOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBpbnRlcm5hbCBidWZmZXIgcG9vbHMgYWN0aWNhdGlvbgoKMjAxNC0wMy0xNiAxMTozNjoxOSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBNb3ZlIHN1Ymluc3RhbmNlIHN1YmNsYXNzIGluaXQgbmVhciBvdGhlciBpbml0CgoyMDE0LTAzLTE1IDE4OjU2OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFN0b3Agc3RyZWFtIGJlZm9yZSBjbG9zaW5nIHRoZSBkZXZpY2VzLgoKMjAxNC0wMy0xNSAxNjo1Mzo1NCArMDAwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGNvcHkgbWV0ZGF0YQoKMjAxNC0wMy0wNCAxODozMToyNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uaDoKCSAgSW1wbGVtZW50IEdzdFY0bDJUcmFuc2Zvcm0KCSAgSW1wbGVtZW50IGEgdjRsMiBlbGVtZW50IHRoYXQgd3JhcHMgSFcgdmlkZW8gY29udmVydGVycy4KCjIwMTQtMDMtMjcgMTg6NDE6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBQcm9iZSBmb3IgQ1JFQVRFX0JVRlMgaW4gb3JkZXIgdG8gY29ycmVjdGx5IHNldCBwb29sIG1pbi9tYXgKCSAgSW4gb3JkZXIgdG8gY29ycmVjdGx5IHNldCB0aGUgcG9vbCBtaW4vbWF4LCB3ZSBuZWVkIHRvIHByb2JlIGZvciBDUkVBVEVfQlVGUwoJICBpb2N0bC4gVGhpcyBjYW4gYmUgZG9uZSBhcyBzb29uIGFzIHRoZSBmb3JtYXQgaGFzIGJlZW4gbmVnb3RpYXRlZCB1c2luZyBhCgkgIGNvdW50IG9mIDAuCgoyMDE0LTAzLTI1IDE1OjIxOjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogTW92ZSBjYXB0dXJlIGVvcyBoYW5kbGluZyBpbiBfcHJvY2VzcygpCgkgIE5vdyB0aGF0IHdlIG1pZ2h0IGJlIGNvcHlpbmcgb3V0IGJ1ZmZlciAoZS5nLiBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgdmlkZW8KCSAgbWV0YSBidWcgd2UgbmVlZCBpdCkgd2UgbmVlZCB0byBtb3ZlIHRoZSBFT1MgaGFuZGxpbmcgaW5zaWRlIHRoZSBwcm9jZXNzCgkgIG1ldGhvZC4KCjIwMTQtMDMtMjUgMTA6NDk6MzkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHN1cHBvcnQgZm9yIHBsYW5hciBmb3JtYXQgaW4gMSB2NGwyIG1wbGFuZQoJICBTbyBmYXIgd2Ugd2hlcmUgb25seSBzZXR0aW5nIHNhdmluZyB0aGUgZmlyc3QgcGxhbmUgc3RyaWRlIGluIHRoZSBtZXRhLiBUaGlzIHdhcwoJICBsZWFkaW5nIHRvIHdyb25nIHZhbHVlcyBpbiBHc3RWaWRlb01ldGEuCgoyMDE0LTAzLTE5IDE3OjUyOjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDbGVhbmx5IGZhaWwgaWYgc2V0X2Zvcm1hdCBpcyBuZXZlciBjYWxsZWQKCjIwMTQtMDMtMTkgMTc6MDA6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEV4cG9zZSBSR0IzMiBmb3JtYXRzIHdpdGggYW5kIHdpdGhvdXQgYWxwaGEKCSAgQXMgc29vbiBhIHRoZSBhbHBoYSBjb21wb25lbnQgY2FuIGJlIHNldCwgd2UgY2FuIGV4cG9zZSB0aGUgUkdCMzIgYW5kIEJHUjMyCgkgIGZvcm1hdCBhcyBBUkdCIGFuZCBCR1JBIGFzIGxvbmcgd2UgY2FuIGRldGVybWluaXN0aWNhbGx5IHNldCB0aGUgYWxwaGEgcGFkZGluZwoJICB2YWx1ZS4KCjIwMTQtMDMtMTggMTU6NDk6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQ29ycmVjdGx5IGNoZWNrIGlmIHZpZGVvIG1ldGEgaXMgbmVlZGVkCgkgIENvcnJlY3RseSBjaGVjayBpZiB2aWRlbyBtZXRhIGlzIG5lZWRlZC4gSW4gYnVmZmVyIHBvb2wsIHRydXN0IG5lZWRfdmlkZW9fbWV0YQoJICBmbGFnIGluIG9yZGVyIHRvIGRlY2lkZSBpZiBjb25maWd1cmF0aW9uIHNob3VsZCBzdWNjZWVkLgoKMjAxNC0wMy0xOCAxNTo0NToxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggdGlsZWQgc3RyaWRlIHJlcXVlc3QKCSAgRml4IHN0cmlkZSByZXF1ZXN0IGZvciB0aWxlZCBmb3JtYXQgYW5kIGltcHJvdmUgbG9nZ2luZy4KCjIwMTQtMDMtMTggMTE6NTM6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIHZpZGVvIGFuZCBjcm9wIG1ldGEgYXJlIGVuYWJsZWQgaWYgbmVlZGVkCgkgIEluIGNlcnRhaW4gY2FzZXMgd2UgY2Fubm90IGxpdmUgd2l0aG91dCB2aWRlbyBtZXRhIGFuZC9vciBjcm9wIG1ldGEKCSAgYmVpbmcgZW5hYmxlZCBpbiBvdXIgaW50ZXJuYWwgYnVmZmVyIHBvb2wuIEVuc3VyZSB0aGlzIGlzIGFsd2F5cyB0aGUgY2FzZSwKCSAgcmVnYXJkbGVzcyBvZiBoYXZpbmcgc3VwcG9ydCBmb3IgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTQtMDMtMTYgMTg6Mzk6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBpbnRlcm5hbCBwb29sIGFyZSBhY3RpdmF0ZWQKCjIwMTQtMDMtMTYgMTc6MDE6MTAgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENoZWNrIHRoYXQgcG9vbCB3aGVyZSBhbGxvY2F0ZWQgYmVmb3JlIGZsdXNoaW5nIHRoZW0KCSAgVXBvbiBlcnJvciwgdGhlIHBvb2xzIG1pZ2h0IG5vdCBoYXZlIGJlZW4gYWxsb2NhdGVkIHlldCwgaGVuY2Ugd2Ugc2hvdWxkIG5vdAoJICB0cnkgYW5kIGZsdXNoIHRoZW0gKGV2ZW4gdGhvdWdoIHdlIHN0aWxsIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSBwcm9jZXNzaW5nIHRocmVhZAoJICBpcyBmdWxseSBzdG9wcGVkKS4KCjIwMTQtMDMtMTYgMTY6NTU6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJidWZmZXJwb29sOiBFbmZvcmNlIGFjdGl2YXRpb24gb3V0c2lkZSBvZiBwcm9jZXNzCgkgIEVuZm9yY2UgcG9vbCBiZWluZyBhY3RpdmF0ZSBmcm9tIGJlZm9yZSBjYWxsaW5nIHBvb2wgcHJvY2Vzcy4gVGhpcyBzaG91bGQKCSAgaGVscCBjYXRjaGluZyBiYXNpYyBlcnJvcnMgaW4gdGhlIHVzYWdlIG9mIGJ1ZmZlciBwb29sLgoKMjAxNC0wMy0xNiAxMjo0NDoxNCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkb24ndCB1c2Ugb3duIHBvb2wgaWYgZG93bnN0cmVhbSBkb24ndCBzdXBwb3J0IHZpZGVvIG1ldGEKCjIwMTQtMDMtMTQgMDA6MzE6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVc2Ugb2JqLT5uX3Y0bDJfcGxhbmVzIGZvciBjb3JyZWN0IG51bWJlciBvZiBwbGFuZXMKCSAgQnVmZmVyIHBvb2wgd2FzIGd1ZXNzaW5nIHdyb25nbHkgdGhlIG51bWJlciBvZiBwbGFuZXMgcmF0aGVyCgkgIHRoZW4gcmVhZGluZyB0aGUgdmFsdWUgZnJvbSBvYmotPm5fdjRsMl9wbGFuZXMuIFRoaXMgd2FzIGNhdXNpbmcKCSAgZm9ybWF0IFlVMTIgKEk0MjApIHRvIGZhaWwgdXBvbiBjaGVjay4KCjIwMTQtMDMtMDcgMTY6Mzk6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IGhhbmRsaW5nIG9mIGNvbnRpdW91cyB2cyBub24tY29udGlndW91cyBzdXBwb3J0CgkgIFRoZSBjb21wbGV4IG1lY2hhbmljIHRvIHRyeSBhbmQgY2hvb3NlIHRoZSByaWdodCB0aGluZyBkaWQgbm90IHdvcmsuIEluc3RlYWQsCgkgIHNpbXBseSBwcm9iZSB0aGUgbm9uLWNvbnRpZ3VvdXMgZm9ybWF0IGZpcnN0IGFuZCB0aGVuIHRoZSBjb250aWd1b3VzIG9uZS4KCSAgVGhpcyBpcyBpbiBmYWN0IHZlcnkgbG93IG92ZXJoZWFkLCBhcyB0aGVyZSBpcyBhIHJlbGF0aXZlbHkgc21hbGwgbnVtYmVyIG9mCgkgIHBpeGVsIGZvcm1hdCBzdXBwb3J0ZWQgYnkgZWFjaCBkZXZpY2VzLgoKMjAxNC0wNC0xNSAxNTowNzoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhbGlnbm1lbnQgYW5kIGNyb3BwaW5nCgoyMDE0LTAzLTEzIDE5OjI0OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJvYmplY3Q6IFJlbmFtZSBzZXR1cF9mb3JtYXQoKSBtZXRob2QgaW50byBhY3F1aXJlX2Zvcm1hdCgpCgkgIFRoZSBzZXR1cF9mb3JtYXQoKSB3YXMgY29uZnVzaW5nIHNpbmNlIGl0IGRvZXMgbm90IHNldCBhbnl0aGluZywgaW4gZmFjdAoJICBpdCByZWFkcyB0aGUgc2V0dXAgZnJvbSB0aGUgZHJpdmVyIGFuZCBzYXZlIGl0LgoKMjAxNC0wMy0xMyAxODoyMTo0MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIHR5cGUgZGVjbGFyYXRpb24gdG8gdGhlIHRvcAoKMjAxNC0wMy0xMiAxODowNzozOCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJvdGVjdCBOVUxMIHBvb2wgd2hpbGUgZ29pbmcgdG8gUkVBRFkKCSAgV2hlbiB0aGUgcGlwZWxpbmUgZmFpbHMgZWFybHksIHRoZSBwb29sIG1pZ2h0IGJlIHVuc2V0IGJlZm9yZSB0aGUgcHJvY2Vzc2luZwoJICB0aHJlYWQgaGFzIHJ1biBvbmNlLiBBZGQgcHJvdGVjdGlvbiBhZ2FpbnN0IHRoYXQuCgoyMDE0LTAzLTEyIDE4OjAxOjA5ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZhaWwgY2xlYW5seSBpZiBwaXhlbCBmb3JtYXQgaXMgdW5rb3duIG9yIG5vdCByYXcgdmlkZW8KCSAgQ2VydGFpbiBkZWNvZGVyIGhhcyBiZWVuIGZvdW5kIHRvIG5vdCBjaG9vc2UgYSBmb3JtYXQgYXV0b21hdGljYWxseS4gUnVubmluZwoJICB2NGwydmlkZW9kZWMgb24gdGhlc2Ugd291bGQgYXNzZXJ0LiBUaGlzIHBhdGNoIHdpbGwgbWFrZSBpdCBmYWlsIGNsZWFubHkKCSAgaW5zdGVhZC4KCjIwMTQtMDMtMTIgMTc6NTY6MTggKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENsZWFyIHRoZSBpbnB1dCBzdGF0ZSBwb2ludGVyIGFmdGVyIHVucmVmCgkgIElmIGNhcHMgYXJlIHNldCBhZ2Fpbiwgd2UgaGF2ZSBhIHJpc2sgb2QgcmV0dXJuaW5nIGZyb20gc2V0X2Zvcm1hdCB3aXRoIGEKCSAgaW5wdXRfc3RhdGUgcG9pbnRpbmcgdG8gZGVhZCBtZW1vcnkuIENsZWFyaW5nIHRoZSBwb2ludGVyIGFmdGVyIHVucmVmIGZpeAoJICB0aGlzIGlzc3VlLgoKMjAxNC0wMy0xMiAxNzoxMToxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogaGFuZGxlIHN0b3AgYmVpbmcgY2FsbGVkIHdpdGhvdXQgZmx1c2gKCSAgVXBwb24gY2VydGFpbiBkb3duc3RyZWFtIGVycm9yLCBzdG9wKCkgaXMgY2FsbGVkIHdpdGhvdXQgYSBmbHVzaCgpLiBUaGlzIG1lYW4gdGhhdAoJICB0aGUgc3RyZWFtaW5nIHRocmVhZCBtYXkgc3RpbGwgYmUgcnVubmluZyBldmVuIHRob3VnaCB1bmxvY2sgaGFzIGJlZW4gY2FsbGVkLgoJICBOb3cgY2FsbGluZyBmbHVzaCB0byByZXNldCB0aGUgZGVjb2RlciBzdGF0ZSBpZiB3ZSBhcmUgcHJvY2Vzc2luZy4KCjIwMTQtMDMtMDYgMTg6MTM6MTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERlZmF1bHQgdG8gdGVtcGxhdGUgaW4gY2FwcyBxdWVyeQoKMjAxNC0wMy0xMSAxNDoyMzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIHByb2Nlc3NpbmcgdGhyZWFkIGhhcyBzdG9wcGVkIHdoZW4gZHJhaW5pbmcKCjIwMTQtMDMtMTEgMTQ6MDE6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERvbid0IGRyYWluIGlmIHByb2Nlc3NpbmcgdGhyZWFkIGlzIGluYWN0aXZlCgoyMDE0LTA1LTA4IDA5OjQ5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IENsZWFuIHVwIGFsbCBwZW5kaW5nIG9wZXJhdGlvbnMgZnJvbSBsaWJzb3VwIGJlZm9yZSB1bnJlZmZpbmcgb3VyIGNvbnRleHQKCSAgV2hlbiB3ZSBjYW5jZWwgY29ubmVjdGlvbiBhdHRlbXB0cyBhbmQgc2ltaWxhciB0aGluZ3MsIHRoZXJlIGFyZSBzdGlsbAoJICBzb21lIG9wZXJhdGlvbnMgcGVuZGluZyBvbiBvdXIgbWFpbiBjb250ZXh0IGZyb20gdGhlIEdDYW5jZWxsYWJsZXMuIFdlCgkgIHNob3VsZCBsZXQgdGhlbSBhbGwgcnVuIGJlZm9yZSB1bnJlZmZpbmcgb3VyIGNvbnRleHQsIG90aGVyd2lzZSB3ZSBsZWFrCgkgIGZpbGUgZGVzY3JpcHRvcnMuCgkgIFVuZm9ydHVuYXRlbHkgdGhpcyByZXF1aXJlcyBsaWJzb3VwIDIuNDcuMCBvciBuZXdlciBhcyBlYXJsaWVyIHZlcnNpb25zCgkgIHN0ZWFsIG91ciBtYWluIGNvbnRleHQgZnJvbSB1cyBhbmQgd2UgY2FuJ3QgdXNlIGl0IGZvciBjbGVhbnVwIGxhdGVyCgkgIHdpdGhvdXQgYXNzZXJ0aW9ucyBhbmQgZnVubnkgY3Jhc2hlcy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBEbWl0cnkgU2hhdHJvdiA8c2hhdHJvdkBnbWFpbC5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzOTQ0CgoyMDE0LTA1LTA3IDE1OjQ5OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBzb3VwaHR0cHNyYyB0ZXN0IGZvciBsaWJzb3VwIDIuNDAgZm9yIHJlYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyOQoKMjAxNC0wNS0wNyAxMzoyMzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2Ygc291cGh0dHBzcmMgdGVzdCBmb3IgbGlic291cCAyLjQwCgkgIFNPVVBfQ0hFQ0tfVkVSU0lPTiB3YXMgb25seSBhZGRlZCBpbiAyLjQxLCBidXQgd2Ugb25seQoJICBkZXBlbmQgb24gMi40MC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyOQoKMjAxNC0wNS0wNyAwMDo1ODoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2tpcCBQSUNUVVJFIGhlYWRlcnMgd2l0aG91dCBhbnkgaW1hZ2UgZGF0YQoJICBGaXhlcyB3YXJuaW5nIGlmIHRoZSBpbWFnZSBsZW5ndGggaXMgMC4KCjIwMTQtMDUtMDYgMDk6MjI6MTggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBYMTEgZGV0ZWN0aW9uIG1hY3JvIGZyb20gY29tbW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MjEKCjIwMTQtMDQtMzAgMTE6MTM6MTIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIHJ0cC9SRUFETUU6IHVwZGF0ZSBwaXBlbGluZXMgdG8gd29yayB3aXRoIDEuMAoJICAtIFVzZSBnc3QtbGliYXYgZW5jb2RlcnMvZGVjb2RlcnMgaW5zdGVhZCBvZiBnc3QtZmZtcGVnCgkgIC0gZ3N0cnRwaml0dGVyYnVmZmVyIC0+IHJ0cGppdHRlcmJ1ZmZlcgoJICAtIGdzdC1sYXVuY2gtMC4xMCAtPiBnc3QtbGF1bmNoLTEuMAoJICAtIEFkZCAndmlkZW9jb252ZXJ0JyBlbGVtZW50CgkgIC0geHZpbWFnZXNpbmsgLT4gYXV0b3ZpZGVvc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjQ3CgoyMDE0LTA1LTA1IDE0OjQxOjA1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiByZWppZyB0ZXN0IHRvIGF2b2lkIHVuZGVmaW5lZCBzaGlmdCBiZWhhdmlvcgoJICBDb3Zlcml0eSAxMTk1MTIxLCAxMTk1MTIwCgoyMDE0LTA1LTA1IDE0OjMzOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogZG8gbm90IGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcgoJICBDb3Zlcml0eSAxMTk3NzAzCgoyMDE0LTA1LTA1IDE0OjMyOjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGVuc3VyZSB3ZSBkb24ndCBkZXJlZmVyZW5jZSBhIE5VTEwgcG9pbnRlcgoJICB3aGlsZSB3b3JraW5nIG91dCB0aGUgY29kZWMgSUQuCgkgIENvdmVyaXR5IDExOTUxNDgKCjIwMTQtMDUtMDUgMTI6MDc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IG1pbm9yIGZpeCBmb3IgY2xvc2luZyB0aGUgZmQKCSAgVGhlIGZkIHJldHVybmVkIGJ5IG9wZW4oKSBjb3VsZCB0aGVvcmV0aWNhbGx5IGJlIDAgYXMgd2VsbC4KCSAgQ292ZXJpdHkgQ0lEIDEyMTE4MjMuCgoyMDE0LTA1LTA0IDIwOjIzOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cGF1eC9ydHBydHg6IE1ha2UgdGVzdHMgbm9uLXJhY3kKCSAgRml4IHRoZSByYWNpbmVzcyBieSBpdGVyYXRpbmcgb24gYSBjb25kaXRpb24gaW5zdGVhZCBvZiB1c2luZyB0aGUgZ21haW5sb29wLgoJICBEb24ndCB1c2UgdGhlIEVPUyBhcyB0aGUgdGFyZ2V0LCBvdGhlcndpc2UgdGhlIHJldHJhbnNtaXNzaW9uIG9mIHRoZSBsYXN0CgkgIHBhY2tldHMgYXJlIGxvc3QuIEFsc28gY291bnQgdGhlIHJldHJhbm1pc3Npb25zIHJlcXVlc3RzIHRoYXQgYXJlIGRyb3BwZWQuCgkgIENoZWNrIHRoZSBjb25kaXRpb24gYmVmb3JlIGJsb2NraW5nIG9uIHRoZSBHQ29uZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTAxCgoyMDE0LTA1LTA0IDIyOjMyOjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSAgcnRwcnR4cmVjZWl2ZTogV2FpdCB1bnRpbCB0aW1lb3V0IHRvIGNsZWFyIGFzc29jaWF0aW9uIHJlcXVlc3RzCgkgIElmIHR3byBzdHJlYW1zIHJlcXVlc3QgYSByZXRyYW5taXNzaW9uIGZvciB0aGUgc2FtZSBTU1JDLCBpZ25vcmUgdGhlIHNlY29uZAoJICBvbmUgaWYgdGhlIGZpcnN0IG9lbiBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCBvbGQsIG90aGVyd2lzZSB0aW1lIG91dCB0aGUgZmlyc3QKCSAgb25lIGFuZCBpZ25vcmUgdGhlIHNlY29uZC4KCjIwMTQtMDUtMDQgMTg6NTk6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBBbHdheXMgbGV0IHVwc3RyZWFtIGNob3NlIHRoZSBzc3JjIGlmIGl0IHdpc2hlcwoKMjAxNC0wNS0wNCAxMzozNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXZvaWQgc3RhbGwgYnkgY29ycnVwdGVkIHNlcW51bSBhY2NvdW50aW5nCgoyMDE0LTA1LTA0IDAxOjE0OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuaDoKCSAgcHVsc2VkZXZpY2Vtb25pdG9yOiBJbmRleCBhcmUgcGVyIGZhY2lsaXR5LCBub3QgZ2xvYmFsCgkgIFNvIG5lZWQgdG8ga2VlcCB0aGUgdHlwZSBvZiBkZXZpY2UgaW4gdGhlIGRldmljZSBvYmplY3QKCjIwMTQtMDUtMDQgMDE6MTM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSAgcHVsc2VkZXZpY2Vtb25pdG9yOiBwYV9zdWJzY3JpcHRpb25fZXZlbnRfdCBhcmUgZW51bXMsIG5vdCBmbGFncwoJICBDb3Zlcml0eSAxMTk1MTMyCgoyMDE0LTA1LTAyIDIyOjQyOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkgIHY0bDJkZXZpY2Vtb25pdG9yOiBQb3J0IHRvIHVzZSBHc3RWNGwySXRlcmF0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAyMTozODozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwyOiBVc2Ugc2luZ2xlIHBhc3MgaXRlcmF0b3IgZm9yIE0yTSBwcm9iZQoJICBJbnN0ZWFkIG9mIGhhdmluZyBlYWNoIE0yTSBjbGFzcyBkbyB0aGVpciBvd24gcHJvYmluZywgdXNlIHRoZQoJICBHc3RWNGwySXRlcmF0b3IgYW5kIHByb2JlIGFsbCBkZXZpY2VzIGluIGEgc2luZ2xlIHBhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDIgMTY6NTU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuaDoKCSAgdjRsMjogQWRkIGEgY29tbW9uIGRldmljZSBlbnVtZXJhdG9yCgkgIFRoaXMgd2lsbCBhbGxvdyByZW1vdmluZyBjb2RlIGR1cGxpY2F0aW9uIChoZW5jZSBidWdzIGR1cGxpY2F0aW9uKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wMy0xNiAxMTozODowNyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwydmlkZW9kZWM6IFNpbXBsaWZ5IHN1Yi1pbnN0YW5jaWF0aW9uIG1lY2hhbmlzbQoJICBTaW1wbGlmeSBzdWItaW5zdGFuY2lhdGlvbiBieSBkZWZpbmluZyBhbiBhYnNyYWN0IHR5cGUgYW5kIHVzaW5nIHN1YnR5cGUKCSAgY2xhc3MgYW5kIGluc3RhbmNlIGluaXQgY2FsbGJhY2suIFRoaXMgYWxzbyBmaXhlcyBhIGJ1ZyB3aGVyZSB0aGUgdGVtcGxhdGUKCSAgcGFkcyBnZXQgaW5pdGlhbGl6ZWQgdG9vIGxhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDIgMTg6MTg6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBDbGVhbnVwIHBsdWdpbiByZWdpc3RyYXRpb24KCSAgVGhlcmUgaXMgbm8gcGxhbiB0byBpbnRyb2R1Y2Ugc3BlY2lhbCBzb3VyY2VzIGZvciBqcGVnLCB0ZSB2NGwyc3JjIHdvcmtzIGZpbmUKCSAgZm9yIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDMgMTg6MzA6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICBydHBzZXNzaW9uOiBLZWVwIGxvY2FsIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBpbiB0aGUgc2Vzc2lvbgoJICBBcyB3ZSBub3cgcmVwbGFjZSB0aGUgbG9jYWwgUlRQU291cmNlIG9uIGEgY29uZmxpY3QsIGl0J3Mgbm8gbG9uZ2VyIHBvc3NpYmxlCgkgIHRvIGtlZXAgbG9jYWwgY29uZmxpY3RzIGluIHRoZSBSVFBTb3VyY2UsIHNvIHRoZXkgaW5zdGVhZCBuZWVkIHRvIGJlIGtlcHQKCSAgaW4gdGhlIFJUUFNlc3Npb24uCgkgIEFsc28gZml4IHRoZSBydHBjb2xsaXNpb24gdGVzdCB0byBnZW5lcmF0ZSBtdWx0aXBsZSBjb2xsaXNpb25zIGluc3RlYWQgb2YKCSAgb25lIGJ5IGNoYW5nZSB0aGUgYWRkcmVzcywgYXMgb3RoZXJ3aXNlIHdlIGRldGVjdGVkIHRoYXQgaXQgd2FzIGEgc2luZ2xlIG9uZS4KCjIwMTQtMDUtMDMgMjA6NDg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4xID09PQoKMjAxNC0wNS0wMyAxODowMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMQoKMjAxNC0wNS0wMyAxODowMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0wMyAxNzoyMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vbHYucG86CgkqIHBvL25iLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3IucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNS0wMyAxMTo0MzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFNlbmQgaW5pdGlhbCBldmVudHMgYWZ0ZXIgc2V0dGluZyB0aGUgZWxlbWVudHMgdG8gUExBWUlORwoJICBPdGhlcndpc2Ugd2Ugc2VuZCB0aGVtIHRvbyBlYXJseSwgYW5kIHNldHRpbmcgdGhlIGVsZW1lbnRzIHRvIFBMQVlJTkcKCSAgYWZ0ZXJ3YXJkcyB3aWxsIGRyb3AgYWxsIHRoZSBldmVudHMgYWdhaW4uCgoyMDE0LTA1LTAzIDEwOjE1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiY2IxNTE4IHRvIDIxMWZhNWYKCjIwMTQtMDUtMDIgMTc6MTI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBzZWdtZW50IHBvc2l0aW9uIHRvIHRoZSBzdG9wIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIKCjIwMTQtMDUtMDIgMTc6MTA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFByb3Blcmx5IHJlcG9ydCBlcnJvcnMgYmVmb3JlIHN0b3BwaW5nIHRoZSBzcmNwYWQgdGFzawoKMjAxNC0wNS0wMiAxNzowMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRXJyb3Igb3V0IGlmIHdlIGhhdmUgbm8gY2FwcyB5ZXQKCjIwMTQtMDUtMDIgMTQ6NDk6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBhdm9pZCBkaXZpZGluZyBieSBhIDAgYmxvY2thbGlnbgoJICBUaGlzIGNhbiBiZSAwLiBJbiB0aGF0IGNhc2UsIGRvIG5vdCB0cnkgdG8gY3V0IG9mZiB0aGUgbGFzdCBmZXcKCSAgYnl0ZXMgZnJvbSB0aGUgbGFzdCBidWZmZXIuCgkgIENvdmVyaXR5IDExNDY5NzEKCjIwMTQtMDUtMDIgMTQ6MjU6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1aW5pdGlhbGl6ZWQgY2x1dCBvbiBlcnJvcgoJICBJZiB3ZSdyZSBtaXNzaW5nIHBhcnQgb2YgdGhlIGNsdXQsIGRvIG5vdCB0cnkgdG8gdXNlIGl0LiBJdCBzZWVtcwoJICB2ZXJ5IGxpa2VseSB0aGUgYnJlYWsgd2FzIG1lYW50IHRvIGJyZWFrIG91dCBvZiB0aGUgc3dpdGNoIHJhdGhlcgoJICB0aGFuIGZyb20gdGhlIGxvb3AuCgkgIENvdmVyaXR5IDExMzk4NzgKCjIwMTQtMDUtMDIgMTQ6MTg6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBmaXggaW50ZWdlciBvdmVyZmxvdwoJICBDb3Zlcml0eSAxMTM5ODU5CgoyMDE0LTA1LTAyIDE0OjA5OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSAgcnRwcWRtZGVwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2hlY2sKCSAgQmVzaWRlcywgdGhlIHBvaW50ZXIgd2FzIGRlcmVmZXJlbmNlZCBlYXJsaWVyIGFueXdheS4KCSAgQ292ZXJpdHkgMTEzOTg1MwoKMjAxNC0wNS0wMiAxNDowNjoyNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBkdXBsaWNhdGUgdGVzdAoJICBpdGVtIHdhcyBkZXJlZmVyZW5jZSBwcmV2aW91c2x5LgoJICBXaGlsZSB0aGVyZSwgcmVvcmRlciBzb21lIHRlc3QgZm9yIGZhc3RlciBlYXJseSBvdXQuCgkgIENvdmVyaXR5IDExMzk4NDQKCjIwMTQtMDUtMDIgMTQ6MDI6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBndWFyZCBhZ2FpbnN0IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBDb3Zlcml0eSAxMTM5ODM4CgoyMDE0LTA1LTAyIDEzOjU5OjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHRoZW9yZXRpY2FsIGludGVnZXIgb3ZlcmZsb3cKCSAgVGhpcyBjb2RlIGlzbid0IGFjdHVhbGx5IHVzZWQgYXQgdGhlIG1vbWVudCwgdW5zdXJlIGlmIEkgc2hvdWxkCgkgIGp1c3QgcmVtb3ZlIGl0IG9yIG5vdC4uLgoJICBDb3Zlcml0eSAxMTM5ODExCgoyMDE0LTA1LTAyIDEzOjMzOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBibGluZGx5IGZpeCB3cml0aW5nIHZhcmlhYmxlIGxlbmd0aCBuZWdhdGl2ZSB2YWx1ZXMKCSAgU3BvdHRlZCB3aGlsZSBmaXhpbmcgc29tZXRoaW5nIGVsc2UgaW4gdGhlIGFyZWEuCgkgIE5vdGhpbmcgY2FsbHMgdGhpcyB3aXRoIGEgbmVnYXRpdmUgdmFsdWUuCgoyMDE0LTA1LTAyIDEzOjI5OjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgbG9zZSB0aGUgdG9wIGJpdHMgd2hlbiB3cml0aW5nIGEgPiAzMiBiaXQgdmFsdWUKCSAgQ292ZXJpdHkgMTEzOTgwNgoKMjAxNC0wNS0wMiAxMjoxMDoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogYWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoCgkgIENvdmVyaXR5IDExMzk3NTUKCjIwMTQtMDUtMDIgMTE6Mzk6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgdHJ5IHRvIGNhbGwgZ3N0X3BhZF9xdWVyeV9kZWZhdWx0IG9uIGEgTlVMTCBwYWQKCSAgZ3N0X21hdHJvc2thX3BhcnNlX3F1ZXJ5IGNhbiBiZSBjYWxsZWQgZXhwbGljaXRlbHkgd2l0aCBhIE5VTEwgcGFkLgoJICBJZiB3ZSByZWFjaCB0aGlzIHBvaW50IHdpdGggYSBOVUxMIHBhZCwgZmFpbCB0aGUgcXVlcnkuCgkgIENvdmVyaXR5IDExMzk3MTUKCjIwMTQtMDUtMDIgMTE6Mjg6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgcmV0dXJuIEdTVF9GTE9XX09LIGlmIHdlIGRpZCBub3QgZ2V0IGEgYnVmZmVyCgkgIENvdmVyaXR5IDExMzk3MTQgKHdoaWNoIHdpbGwgbGlrZWx5IGNvbWUgYmFjayBpbiBhbm90aGVyIGd1aXNlLAoJICBhcyB0aGUgX3JlYWRfaW5pdCBjYWxsIGNhbiBoYXZlIGEgZmFpbGluZyBfbWFwKQoKMjAxNC0wNS0wMiAxMToyMDozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogY2F0Y2ggZmFpbHVyZSB0byBtYXAgYnVmZmVyCgkgIEF2b2lkcyBkZXJlZmVyZW5jaW5nIE5VTEwuCgkgIENvdmVyaXR5IDExMzk3MTIKCjIwMTQtMDUtMDIgMTA6NTI6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiByZWZ1c2UgY2FwcyB3aXRoIGludmFsaWQgZnJhbWVyYXRlCgkgIENvdmVyaXR5IDExMzk3MDEKCjIwMTQtMDUtMDIgMTA6MjE6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIDAgc2l6ZSBwYWNrZXRzIHdpdGhvdXQgZGl2aWRpbmcgYnkgMAoJICBDb3Zlcml0eSAxMTM5NjkxCgoyMDE0LTA1LTAyIDA5OjQ5OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBndWFyZCBhZ2FpbnN0IGludmFsaWQgZnJhbWUgc2l6ZSB0byBhdm9pZCBkaXZpc2lvbiBieSAwCgkgIENvdmVyaXR5IDExMzk2OTAKCjIwMTQtMDUtMDIgMDk6NDk6MTcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRyaXZpYWwgdHlwbyBmaXgKCjIwMTQtMDUtMDIgMDk6NDM6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiByZW1vdmUgZGVhZCBjb2RlCgkgIGZwcCBjYW4gbmV2ZXIgZXF1YWwgMCBoZXJlLCBvciB0aGUgbG9vcCB3b3VsZCBub3QgZXhlY3V0ZSBhdCBhbGwuCgkgIFplcm8gZnBwIHdhcyBwb3NzaWJsZSBiZWZvcmUgYXMgdGhlIGxvb3AgY29uZGl0aW9uIHdhcyBhbGxvd2luZwoJICBpdCBzcGVjaWZpY2FsbHksIGJ1dCBubyBtb3JlLgoJICBDb3Zlcml0eSAxMTM5NjgxCgoyMDE0LTA1LTAyIDA5OjQxOjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgb3NzNDogcmVtb3ZlIGRlYWQgbWl4ZXIgY29kZQoJICBUaGlzIHdhcyBwYXJ0bHkgcmVtb3ZlZCBpbiB0aGUgcG9ydCB0byAwLjExLiBJZiBzdGlsbCBuZWVkZWQsCgkgIGl0J3Mgc3RpbGwgdGhlcmUgaW4gdGhlIGhpc3RvcnkuCgkgIENvdmVyaXR5IDExMzk2ODcKCjIwMTQtMDUtMDIgMDk6MzM6NTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICBvc3M0OiBmaXggYSBtaXNzaW5nIHVubG9jayBhbmQgYSByZXR1cm4tb25seS13aGVuLWFzc2VydGlvbnMtZW5hYmxlZAoJICBTcG90dGVkIG9uIHRoZSBzaWRlIHdoaWxlIGxvb2tpbmcgYXQgYW5vdGhlciBpc3N1ZS4KCjIwMTQtMDMtMDcgMTc6MzE6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQ29ycmVjdGx5IG1hcCBSR0IzMiBmb3JtYXQKCSAgSW4gdjRsMiBzcGVjaWZpY2F0aW9uLCBSR0IzMiBoYXMgdGhlIGFscGhhLCBvciBwYWRpbmcsIGZpcnN0LCBub3QgbGFzdC4KCSAgU2VlIGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL3BhY2tlZC1yZ2IuaHRtbCAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA5NDEKCjIwMTQtMDQtMzAgMTg6MDY6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZvciA4IGJpdCB3aWR0aCwgd2UgYWx3YXlzIGhhdmUgZGVwdGg9PWdkZXB0aD09d2lkdGg9PTguCgkgIENvdmVyaXR5IDExMzk2NzgKCjIwMTQtMDQtMzAgMTc6NDg6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVtb3ZlIGRlYWQgY29kZQoJICBBIHN0cmljZXIgY2hlY2sgaXMgYWxyZWFkeSBkb25lIGVhcmxpZXIsIGFuZCBpbnRlZ2VyIG92ZXJmbG93cwoJICBkbyBub3Qgc2VlbSBwb3NzaWJsZSBoZXJlLgoJICBDb3Zlcml0eSAxMTM5Njc1CgoyMDE0LTA0LTMwIDE0OjUwOjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBndWFyZCBhZ2FpbnN0IHBhdGhvbG9naWNhbCAibm8gc3BhY2UiIGNvbmRpdGlvbgoJICBFdmVuIGlmIG9uZSB3b3VsIGhvcGUgb25lIHBpeGVsIGNhbiBmaXQgaW4gYSBNVFUsIGVuc3VyZSB3ZSBkbyBub3QKCSAgb3ZlcndyaXRlIGEgYnVmZmVyIGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlLgoJICBTcG90dGVkIHdoaWxlIGxvb2tpbmcgYXQgQ292ZXJpdHkgMTIwODc4NgoKMjAxNC0wNC0zMCAxMTo1MjoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IHNhbml0eSBjaGVjayBmb3IgTlVMTCBxdGFibGUKCSAgQ2FuIGhhcHBlbiAoYXQgbGVhc3QgaW4gY3JhZnRlZCBzdHJlYW0pCgkgIENvdmVyaXR5IDEyMDg3NzgKCjIwMTQtMDQtMzAgMDE6MDg6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHBhc3Mgb24gdGFncyBmcm9tIHVwc3RyZWFtIGlmIHRoZXJlIGFyZSBhbnkKCSAgRG9uJ3QganVzdCBpZ25vcmUgdXBzdHJlYW0gdGFncyBmcm9tIGUuZy4gYW4gSUQzIHRhZyBiZWZvcmUKCSAgdGhlIC53YXYgZGF0YSwgcGFzcyB0aGVtIG9uIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyMjMKCjIwMTQtMDQtMjkgMTY6MjY6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogb3B0aW1pemUgdGltZXIgdXBkYXRlCgkgIFdoZW4gd2UgYXJlIG5vdCBkb2luZyByZXRyYW5zbWlzc2lvbiwgd2UganVzdCBuZWVkIHRvIGZpbmQgdGhlIGN1cnJlbnQKCSAgc2VxbnVtIHNvIHdlIGNhbiBzdG9wIHdoZW4gd2UgZm91bmQgaXQuCgoyMDE0LTA0LTI5IDE2OjIxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBzbWFsbCBvcHRpbWl6YXRpb25zCgkgIFNtYWxsIG9wdGltaXphdGlvbnMgd2hlcmUgd2UgY2FuLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxNC0wNC0yOSAxNjoxNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzaWduYWwgd2hlbiBuZXh0X3NlcW51bSBjaGFuZ2VkCgkgIFNpZ25hbCB0aGUgcHVzaGluZyB0aHJlYWQgd2hlbiB0aGUgbmV4dF9zZXFudW0gY2hhbmdlZCBhbmQgd2UgbWlnaHQgYmUKCSAgYWJsZSB0byBwdXNoIGEgYnVmZmVyIG5vdy4KCjIwMTQtMDQtMjkgMTY6MTI6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogb25seSBzaWduYWwgZXZlbnQgd2hlbiBoZWFkIGNoYW5nZWQKCSAgQWZ0ZXIgYWRkaW5nIGEgYnVmZmVyLCBvbmx5IHNpZ25hbCB0aGUgcHVzaGluZyB0aHJlYWQgd2hlbiB0aGUgaGVhZAoJICBidWZmZXIgY2hhbmdlZCBvciBlbHNlIHdlIGNhdXNlIGEgdXNlbGVzcyB3YWtldXAuCgoyMDE0LTA0LTI5IDE1OjI5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXdvcmsgcGFja2V0IGluc2VydAoJICBSZXdvcmsgdGhlIHBhY2tldCBxdWV1ZSBzbyB0aGF0IHRoZSBtb3N0IGNvbW1vbiBhY3Rpb24gKGluc2VydCBhIHBhY2tldAoJICBhdCB0aGUgdGFpbCBvZiB0aGUgcXVldWUpIGdvZXMgdmVyeSBmYXN0LgoJICBSZXBvcnQgaWYgYSBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSBoZWFkIGluc3RlYWQgb2YgdGhlIHRhaWwgc28gdGhhdAoJICB3ZSBjYW4ga25vdyB3aGVuIHRvIHJldHJ5IF9wb3Agb3IgX3BlZWsuCgoyMDE0LTA0LTI4IDE0OjQxOjEwICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3OiB1c2UgcGxhbmUgcG9pbnRlcnMgd2hlbiBuZWVkZWQKCSAgUGFjay91bnBhY2sgcGxhbmFyIGZvcm1hdHMgdG8vZnJvbSB0aGUgZmlyc3QgcGxhbmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNTgKCjIwMTQtMDQtMjggMDk6NDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogUmVtZW1iZXIgaWYgYSByZWRpcmVjdCBpcyBwZXJtYW5lbnQgb3Igbm90IGFuZCBzdG9yZSBpdCBpbiB0aGUgcXVlcnkKCjIwMTQtMDQtMjcgMjE6NTc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkgIGdvb206IFJlbW92ZSBmcmVuY2ggY29tbWVudCBzYXlpbmcgdG8gcHJlZml4IGZ1bmN0aW9ucwoJICBBbGwgbm9uLXN0YXRpYyBmdW5jdGlvbiBpbiB0aGlzIGZpbGUgYXJlIGFscmVhZHkgcHJlZml4ZWQgd2l0aCBnb29tXy4KCjIwMTQtMDQtMjggMDA6MjA6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb206IGZpeCBjb21waWxhdGlvbiBvbiBpb3MtYXJtNy0xMC45IGFuZCBvc3gteDg2XzY0CgkgIHVpbnQgaXMgbm90IGEgc3RhbmRhcmQgdHlwZSwgYW5kIHRoZSByZXN0IG9mIHRoZSBjb2RlIHVzZXMKCSAgVWludCB3aGljaCBpcyBsb2NhbGx5IHR5cGVkZWZlZCB0byB1bnNpZ25lZCBpbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNjcKCjIwMTQtMDQtMjcgMTg6Mjk6MTEgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb206IGZpeCB1bmRlZmluZWQgYmVoYXZpb3VyIG9mIGxlZnQtc2hpZnQKCSAgRG9uJ3QgbGVmdC1zaGlmdCBpbnRvIHRoZSBzaWduIGJpdCwgdGhlIHJlc3VsdCBpcyB1bmRlZmluZWQgYW5kIHBvdGVudGlhbGx5CgkgIGFuIG92ZXJmbG93IGNvdWxkIGZsaXAgdGhlIHNpZ24uCgoyMDE0LTA0LTI2IDIwOjUxOjM2IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHJldHVybiBmcm9tIHF0X2RlbXV4X3ZpZGVvX2NhcHMKCSAgTm93IHF0ZGVtdXhfdmlkZW9fY2FwcygpIGNhbiByZXR1cm4gTlVMTC4gV2UgbmVlZCB0byBjaGVjayB0aGlzIHJldHVybiBiZWZvcmUKCSAgdXNpbmcgaXQncyB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk4NwoKMjAxNC0wNC0yNiAyMzozNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIGRvY3M6IHJlbW92ZSBvdXRkYXRlZCBhbmQgcG9pbnRsZXNzICdMYXN0IHJldmlld2VkJyBsaW5lcyBmcm9tIGRvY3MKCSAgVGhleSBhcmUgdmVyeSBjb25mdXNpbmcgZm9yIHBlb3BsZSwgYW5kIG1vcmUgb2Z0ZW4gdGhhbiBub3QKCSAgYWxzbyBqdXN0IG5vdCB2ZXJ5IGFjY3VyYXRlLiBTZWVpbmcgJ2xhc3QgcmV2aWV3ZWQ6IDIwMDUnIGluCgkgIHlvdXIgZG9jcyBpcyBub3QgdmVyeSBjb25maWRlbmNlLWluc3BpcmluZy4gTGV0J3MganVzdCByZW1vdmUKCSAgdGhvc2UgY29tbWVudHMuCgoyMDE0LTA0LTI1IDE3OjU4OjQyIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgY2FwcyBwb2ludGVyIHRvIG51bGwKCSAgTWFrZSBzdXJlIHRoZSBjYXBzIHBvaW50ZXIgcmV0dXJucyBpbml0aWFsaXplZCB3aGVuIHVzaW5nIGl0IGluCgkgIHF0ZGVtdXhfcGFyc2VfdHJlZSAoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk4NwoKMjAxNC0wNC0yMiAxNzowNzozOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDbGVhciBsYXN0X3B0IG9uIGZsdXNoLXN0b3AuCgkgIE90aGVyd2lzZSwgd2UgZG9uJ3QgcmVjaGVjayB0aGUgYnVmZmVyIGNhcHMgZm9yIGNsb2NrLXJhdGUKCSAgcHJvcGVybHkgb24gdGhlIG5leHQgY2hhaW4uCgoyMDE0LTA0LTIyIDE3OjI5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RkZWludGVybGFjZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RlaW50ZXJsYWNlX291dHB1dF9mcmFtZSc6CgkgIGdzdGRlaW50ZXJsYWNlLmM6MTUzNzo1NzogZXJyb3I6ICdwYXR0ZXJuLmxlbmd0aCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIFRoaXMgYWN0dWFsbHkgaXMgYWx3YXlzIGluaXRpYWxpemVkIGJlZm9yZSBpdCBpcyB1c2VkIHRoZXJlLCBidXQKCSAgbGV0J3MganVzdCBzaWxlbmNlIGdjYyBoZXJlLgoKMjAxNC0wNC0yMSAxNTo1ODo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggYnVmZmVyIGxpc3QgZHJvcCBjaGVjawoJICBXaGlsZSBwb3J0aW5nIHRvIDAuMTEsIHRoZSBjaGVjayB3YXMgbWlzdGFrZW5seSBtYWRlIGNvbnN0YW50LAoJICBpbnN0ZWFkIG9mIHRlc3RpbmcgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgcHJvY2Vzc19idWZmZXJfbG9ja2VkLgoJICBDb3Zlcml0eSAxMTM5NjYzCgoyMDE0LTA0LTIxIDEzOjQ0OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZml4IGNvbnRlbnQgZW5jb2Rpbmcgc2NvcGUgdmFsaWRpdHkgY2hlY2sKCSAgSXQncyAzIGJpdHMsIGFuZCBodHRwOi8vbWF0cm9za2Eub3JnL3RlY2huaWNhbC9zcGVjcy9pbmRleC5odG1sCgkgIHNheXMgaXQgY2FuJ3QgYmUgMC4KCSAgQ292ZXJpdHkgMTEzOTY2MAoKMjAxNC0wNC0yMSAxMzozNDozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggUEFSIGZyYWN0aW9uIHNhbml0eSBjaGVjawoJICBJdCB3YXMgY2hlY2tpbmcgcGFyX251bSB0d2ljZSwgYW5kIG5ldmVyIHBhcl9kZW51bS4KCSAgQ292ZXJpdHkgMTEzOTYzNAoKMjAxNC0wNC0yMSAxMzozMjo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aWlkcHNpbms6IHdhcm4gd2hlbiBzZXRzb2Nrb3B0IGZhaWxzCgkgIFRoaXMgZG9lc24ndCBzZWVtIHRvIGJlIGZhdGFsLCBidXQgaXQncyBnb29kIHRvIGxldCB0aGUgdXNlciBrbm93CgkgIGluIHRoZSBsb2dzLgoJICBDb3Zlcml0eSAxMTM5NjMwCgoyMDE0LTA0LTIxIDEzOjI3OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxhY2U6IGNhdGNoIGZhaWx1cmUgdG8gY3JlYXRlIGF1ZGlvIGluZm8gZnJvbSBjYXBzCgkgIENvdmVyaXR5IDExMzk2MjcsIDExMzk2MjgKCjIwMTQtMDMtMTMgMDk6Mzc6NDggKzAxMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBnc3RydHBoMjY0cGF5OiBSZXNldCBzcHMgcHBzIHZhcmlhYmxlIHdoZW4gc3RhdGUgY2hhbmdlLgoJICBSZXNldCBsYXN0X3Nwc3BwcyBhbmQgc3BzL3BwcyBhcnJheXMgIHdoZW4gc3RhdGUgdHJhbnNpdGlvbgoJICBHU1RfU1RBVEVfQ0hBTkdFX1BBVVNFRF9UT19SRUFEWS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjAxNQoKMjAxNC0wNC0xOCAxMToxMToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgRU9TIGhhbmRsaW5nCgkgIE1ha2UgYSBuZXcgbWV0aG9kIHRvIGRpc2FibGUgdGhlIGppdHRlcmJ1ZmZlciBidWZmZXJpbmcuCgkgIFJld29yayB0aGUgdXBkYXRlX2VzdGltYXRlZF9lb3MoKSBtZXRob2QuIENhbGN1bGF0ZSBob3cgbXVjaCB0aW1lCgkgIHRoZXJlIGlzIGxlZnQgdG8gcGxheS4gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gdGhlIGRlbGF5IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIHdlIGRpc2FibGVkIGJ1ZmZlcmluZyBiZWNhdXNlIHdlIG1pZ2h0IG5ldmVyIGJlIGFibGUgdG8KCSAgZmlsbCB0aGUgY29tcGxldGUgaml0dGVyYnVmZmVyIGFnYWluLgoJICBJZiB3ZSByZWNlaXZlIGFuIEVPUyBldmVudCwgZGlzYWJsZSBidWZmZXJpbmcuIFdlIHdpbGwgZHJhaW4gdGhlCgkgIGJ1ZmZlciBhbmQgZXZlbnR1YWxseSBwdXNoIHRoZSBFT1MgZXZlbnQgb3V0LgoJICBXaGVuIHdlIHJlYWNoIHRoZSBlc3RpbWF0ZWQgTlBUIHRpbWVvdXQgYW5kIHdlIGRpZG4ndCByZWNlaXZlIGFuIEVPUwoJICBldmVudCwgbWFrZSBvbmUgYW5kIHF1ZXVlIGl0IHNvIHRoYXQgaXQgY2FuIGJlIHB1c2hlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODAxNwoKMjAxNC0wNC0xOCAxMDoyMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBzZW5kIHJlY29uZmlndXJlIHdoZW4gaW50ZXJuYWwtc3NyYyBjaGFuZ2VzCgkgIFdoZW4gdGhlIGludGVybmFsLXNzcmMgcHJvcGVydHkgY2hhbmdlcywgd2Ugd2FudCB0byBzZW5kIGEgcmVjb25maWd1cmUKCSAgdXBzdHJlYW0gdG8gbWFrZSBwYXlsb2FkZXJzIHVzZSB0aGUgbmV3IHN1Z2dlc3RlZCBzc3JjLgoJICBVc2luZyB0aGUgaW50ZXJuYWwtc3NyYyBwcm9wZXJ0eSB0byBjaGFuZ2UgdGhlIFNTUkMgb2YgYSBzdHJlYW0gaXMgbm90IGEKCSAgZ29vZCBpZGVhIGFuZCBkb2Vzbid0IHdvcmsgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgc2VuZGVycywgd2Ugd2FudCB0bwoJICBzZXQgdGhlIFNTUkMgZGlyZWN0bHkgb24gdGhlIHBheWxvYWRlcnMuIFRoZXJlZm9yZSwgZGVwcmVjYXRlIHRoaXMKCSAgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUzNjEKCjIwMTQtMDQtMTggMDQ6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXNzdW1lIGEgZnVsbCBidWZmZXIgd2hlbiBlb3MKCSAgUmV3b3JrIHRoZSBsb2dpYyB0byBtYWtlIGJ1ZmZlcmluZyBtZXNzYWdlcyBhIGxpdHRsZSwgbWFrZSBzdXJlIHdlCgkgIGRvbid0IG1ha2UgdGhlIHNhbWUgbWVzc2FnZSBtdWx0aXBsZSB0aW1lcy4KCSAgQ29uc2lkZXIgdGhlIGJ1ZmZlciBmdWxsIHdoZW4gRU9TIHdhcyByZWNlaXZlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODAxNwoKMjAxNC0wNC0xNyAxODowNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHg6IERvbid0IGZvcmdldCB0byB1bm1hcCBydHAgYnVmZmVyIGluIHRoZSB0ZXN0CgoyMDE0LTA0LTE3IDE3OjU4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBSZXF1aXJlIGNsb2NrLXJhdGUgaW4gdGhlIGNhcHMgYW5kIGhhbmRsZSBubyBzc3JjIGluIHRoZSBjYXBzIHByb3Blcmx5CgoyMDE0LTA0LTE3IDE3OjQzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eDogUHJvdmlkZSBhbiBzc3JjIGluIHRoZSB0ZXN0CgkgIEFuZCBpbmNyZWFzZSB0aW1lb3V0IHRvIGFsbG93IGFsbCB0ZXN0cyB0byBydW4gaW4gdmFsZ3JpbmQuCgoyMDE0LTA0LTE3IDE3OjMzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggbWVtb3J5IGxlYWtzIGluIHRlc3QKCjIwMTQtMDQtMTcgMTc6MjY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggaHVuZHJlZHMgb2YgbWVtb3J5IGxlYWtzIGluIHRoZSB0ZXN0CgoyMDE0LTA0LTE3IDE3OjAwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogVW5yZWYgY2xvY2sgaWQgd2hlbiB3YWl0aW5nIGZvciB0aGUgY2xvY2sgaXMgaW50ZXJydXB0ZWQKCjIwMTQtMDQtMTcgMTY6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgcnRwY29sbGlzaW9uOiBGaXggbWVtb3J5IGxlYWtzIGluIHVuaXQgdGVzdAoKMjAxNC0wNC0xNiAyMTo0MDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IG5hbWUgY29sbGVjdHBhZHMgb2JqZWN0IGJhc2VkIG9uIHZpZGVvbWl4ZXIgbmFtZQoJICBNYWtlcyBpdCBlYXNpZXIgdG8gdHJhY2sgdGhpbmdzIGluIGRlYnVnIGxvZ3Mgd2hlbiB0aGVyZQoJICBhcmUgbXVsdGlwbGUgbWl4ZXJzIGFuZCBtdXhlcnMuCgoyMDE0LTA0LTE2IDIxOjM3OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYmV0dGVyIGxvZ2dpbmcgb2YgaW5jb21pbmcgZXZlbnRzCgkgIFRoZSBwYWQgYW5kIHBhcmVudCBuYW1lcyBhcmUgYWxyZWFkeSBsb2dnZWQgYXMgcGFydCBvZiBsb2dnaW5nCgkgIHRoZSBvYmplY3QuIEluc3RlYWQgbG9nIHRoZSBmdWxsIGV2ZW50IGRldGFpbHMuCgoyMDE0LTA0LTE2IDE5OjAzOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggbWVtb3J5IGxlYWsgaW4gdW5pdCB0ZXN0CgoyMDE0LTA0LTE2IDE4OjQ5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBVc2UgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIHNhbXBsZXMgdG8gaXRlcmF0ZSBvdmVyIHRoZSBpbnB1dCBhcnJheQoJICBGaXhlcyBpbnZhbGlkIG1lbW9yeSBhY2Nlc3NlcyBhbmQgYWNjZXNzZXMgdG8gdW5pbml0aWFsaXNlZCBkYXRhLgoKMjAxNC0wNC0xNiAxODowMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogVW5yZWYgZHJvcHBlZCBldmVudHMKCjIwMTQtMDQtMTYgMTc6Mjk6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogZml4IGNoZWNrIGZvciBhbW91bnQgb2YgZGF0YSB0byByZWFkCgkgIEhpc3Rvcnkgc2hvd3MgbGVuZ3RoPT0wIHNob3VsZCBzZXQgZGF0YSB0byBOVUxMIGFuZCByZXR1cm4sCgkgIHNvIHdlIGRvIHRoYXQgdG9vIGluc3RlYWQgb2YgdHJ5aW5nIHRvIHJlYWQgbm90aGluZy4KCSAgQ292ZXJpdHkgMjA2MjA1CgoyMDE0LTA0LTE2IDE3OjI1OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHNpZ24gY29tcGFyaXNvbgoJICBoaXN0b3J5X2NvdW50IGlzIHVuc2lnbmVkLCBzbyB0aGUgd2hvbGUgY29tcGFyaXNvbiB3aWxsIGJlIG1hZGUKCSAgYXMgdW5zaWduZWQsIGFuZCBmYWlsIHRvIHJlamVjdCB3aGF0IGl0IHdhcyBtZWFudCB0by4KCSAgQ292ZXJpdHkgMjA2MjA0CgoyMDE0LTA0LTE2IDE3OjA0OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUKCSAgc3ViIG1heSBub3QgYmUgTlVMTCBpbiB0aGlzIHN3aXRjaCwgdGhlcmUgaXMgYSBiYWlsIG91dCBqdXN0CgkgIGJlZm9yZSBpdCBpZiBzby4KCSAgQ292ZXJpdHkgMjA2MDk4CgoyMDE0LTA0LTE2IDE2OjU5OjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmVtb3ZlIGRlYWQgY29kZQoJICBUaGUgYmxvY2tfc2l6ZSA9PSAwIHdhcyBzaG9ydGN1dCBlYXJsaWVyLCBhbmQgdGhlIHZhcmlhYmxlIGlzIG5vdAoJICBtb2RpZmllZCBpbiB0aGUgbWVhbnRpbWUuCgkgIENvdmVyaXR5IDIwNjA5NwoKMjAxNC0wNC0xNiAxNjo1Njo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogcmVtb3ZlIGRlYWQgY29kZQoJICBXaGlsZSBpdCBzZWVtcyB0byBrZWVwIGEgY29tcGlsZSB0aW1lIHNlbGVjdGlvbiwgSSB0cmFjZWQgaXQKCSAgdG8gc29tZSBjb2RlIGNvcGllZCBmcm9tIHZpZGVvY29udmVydCwgd2hlcmUgaXQgd2FzIHJlbW92ZWQsCgkgIHdpdGggdGhlIGZvbGxvd2luZyBjb21tZW50OgoJICBBbHNvIHJlbW92ZSB0aGUgaGlnaC1xdWFsaXR5IEk0MjAgdG8gQkdSQSBmYXN0LXBhdGggYXMgaXQgbmVlZHMKCSAgdGhlIHNhbWUgZml4LCB3aGljaCBjYXVzZXMgYW4gYWRkaXRpb25hbCBpbnN0cnVjdGlvbiwgd2hpY2ggY2F1c2VzCgkgIG9yYyB0byBlbWl0IG1vcmUgdGhhbiA5NiB2YXJpYWJsZXMsIHdoaWNoIHRoZW4ganVzdCBjcmFzaGVzLgoJICBUaGlzIGNhbiBvbmx5IGJlIGZpeGVkIGluIG9yYyBieSBicmVha2luZyBBQkkgYW5kIGFsbG93aW5nIG1vcmUKCSAgdmFyaWFibGVzLgoJICBUaHVzLCBJIHJlbW92ZSBpdCBoZXJlIGFzIHdlbGwuCgkgIENvdmVyaXR5IDIwNjA2NAoKMjAxNC0wNC0xNiAxNjo1MDozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBmaXggaW5jb3JyZWN0IG1hc2tpbmcgZm9yIG11bHRpcGxlIHRhZ3MKCSAgQ292ZXJpdHkgMjA2MDU4CgoyMDE0LTA0LTE2IDE2OjQ1OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiBmaXggd3JvbmcgYXRvbSBmbGFncyBzZXQgd2hlbiBhZGRpbmcgc2FtcGxlcwoJICBDb3Zlcml0eSAyMDYwNTcKCjIwMTQtMDQtMTYgMTY6NDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IGNvbXBhcmlzb24gb2YgZGVsdGEgdGltZSB0byBhIHRocmVzaG9sZAoJICBDb3Zlcml0eSAyMDYwNTUKCjIwMTQtMDQtMTYgMTY6MzI6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkbyBub3QgcmVseSBvbiBjYWxsIGZhaWx1cmUga2VlcGluZyByZXR1cm4gZGF0YSB1bm1vZGlmaWVkCgkgIFRoaXMgaXMgY2xlYXJlciB0aGlzIHdheSB0b28uCgkgIENvdmVyaXR5IDIwNjAyOQoKMjAxNC0wNC0xNiAxNjoyODo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgaXNvbXA0OiBjYXRjaCBmc2VlayBlcnJvcgoJICBDb3Zlcml0eSAyMDYwMjgKCjIwMTQtMDQtMTYgMTY6MjU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IHJlcG9ydCBmYWlsdXJlcyB0byBjYWxsZXIKCSAgQ292ZXJpdHkgMjA2MDI3CgoyMDE0LTA0LTE2IDE4OjA1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZnVzZSBzZXJpYWxpZWQgcXVlcnkgd2hlbiBidWZmZXJpbmcKCSAgV2hlbiB3ZSBhcmUgYnVmZmVyaW5nLCB3ZSBjYW4ndCBibG9jayBhbmQgd2FpdCBmb3IgdGhlIHNlcmlhbGl6ZWQgcXVlcnkKCSAgdG8gY29tcGxldGUgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbm90IHRyeSB0byBmb3J3YXJkIHRoZSBxdWVyeQoJICB3aGlsZSBidWZmZXJpbmcuIEluc3RlYWQsIGp1c3QgcmVmdXNlIHRoZSBxdWVyeS4KCjIwMTQtMDQtMTYgMTY6NTE6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZnJlZSB0aGUgc2VyaWFsaXplZCBxdWVyeQoJICBXZSBzaG91bGQgbmV2ZXIgZnJlZSBhIHNlcmlhbGl6ZWQgcXVlcnkgaW4gdGhlIHF1ZXVlLCBpdCBpcyB0aGUgdXBzdHJlYW0KCSAgY2FsbGVyIHRoYXQgd2lsbCBmcmVlIGl0LgoKMjAxNC0wNC0xNiAxNzozNTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbWVtb3J5IGxlYWsgaW4gdGhlIHRlc3QKCjIwMTQtMDQtMTYgMTc6MzM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBDcmVhdGUgaGFzaHRhYmxlIG9ubHkgd2hlbiB3ZSBhY3R1YWxseSB1c2UgaXQKCSAgSW4gZXJyb3IgY2FzZXMgd2UgcHJldmlvdXNseSByZXR1cm5lZCB3aXRob3V0IGZyZWVpbmcgaXQuCgoyMDE0LTA0LTE2IDE3OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgZGlzcG9zZSBmdW5jdGlvbgoKMjAxNC0wNC0xNiAxNzoyMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEluaXRpYWxpc2UgaW9jdGwgc3RydWN0IHdpdGggemVyb2VzIGJlZm9yZSBwYXNzaW5nIGl0IHRvIGlvY3RsKCkKCjIwMTQtMDQtMTYgMTM6NDc6NDMgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGNvcnJlY3QgTE9HIG1zZyBmb3IgLTEKCSAgU2lnbmVkLW9mZi1ieTogTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCjIwMTQtMDQtMTUgMjE6MzY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCBuZWdvdGlhdGlvbiB0byB3b3JrIGF0IGFsbCBhZ2FpbgoJICBUaGUgY2FwcyBxdWVyeSBoYW5kbGluZyBmdW5jdGlvbiBmb3IgdGhlIHNpbmtwYWRzIHdhcyBjYWxsZWQgZm9yCgkgIHRoZSBzcmNwYWQsIGFuZCB0aGUgc2lua3BhZHMgaGFkIG5vbmUuIFRoaXMgY29tbWl0IG1vdmVzIGl0IHRvIHRoZQoJICByaWdodCBwYWQsIGJ1dCBub25ldGhlbGVzcyB0aGUgbmVnb3RpYXRpb24gc3RpbGwgbG9va3Mgd3JvbmcuCgkgIFRoaXMgbWFrZXMgdGhlIHRlc3QgcGFzcyBhZ2FpbiBhZnRlciB0aGUgcmVjZW50IGNvdmVyaXR5IGZpeAoJICBhbmQgYWxzbyBhbGxvd3MgaW50ZXJsZWF2ZSB0byB3b3JrIGFnYWluLCBidXQgc29tZW9uZSBzaG91bGQKCSAgcmVhbGx5IHJldmlldyB0aGUgbmVnb3RpYXRpb24gY29kZSBhbmQgZml4IGl0LgoKMjAxNC0wNC0xMyAwOTowMzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IE1heGltdW0gbnVtYmVyIG9mIGNoYW5uZWxzIHN1cHBvcnQgaXMgOAoJICBBdm9pZHMgZG9pbmcgcG90ZW50aWFsIG92ZXJ3cml0ZXMgaW4gY2hfbGF5b3V0ICh3aGljaCBvbmx5IGhhcyA4CgkgIGZpZWxkcykuCgkgIENJRCAjMTEzOTgyNgoKMjAxNC0wNC0xMiAyMjoxNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBTZXQgcmFuayB0byBNQVJHSU5BTAoJICBJZiBhdmFpbGFibGUgd2UgcHJlZmVyIHVzaW5nIGdsaW1hZ2VzaW5rIG92ZXIgb3N4dmlkZW9zaW5rLiBJdCBzdXBwb3J0cwoJICBtb3JlIGZvcm1hdHMgYW5kIGluIGdlbmVyYWwgaGFzIG1vcmUgZmVhdHVyZXMgdGhhbiBvc3h2aWRlb3NpbmsuCgoyMDE0LTA0LTExIDE4OjE5OjQ5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IG9ubHkgZ3Vlc3MgQVUgYm91bmRhcmllcyB3aGVuIGFyZW4ndCBpbmRpY2F0ZWQgYnkgbWFya2VyCgkgIFRoZSBtYXJrZXIgYml0IGlzbid0IG1hbmRhdG9yeSBhbmQgd2UgaGFkIGluIHBsYWNlIGNvZGUgdG8gZ3Vlc3MgQVUKCSAgYm91bmRhcmllcyBieSBkZXRlY3RpbmcgYSBuZXcgcGljdHVyZSBzdGFydC4gVGhpcyBndWVzc2luZyBjb2RlCgkgIGRpZG4ndCB3b3JrIHdpdGggaW50ZXJsYWNlZCBjb250ZW50IHRoYXQgaGFzIHByb3BlciBtYXJrZXIgYml0cwoJICB0byBpbmRpY2F0ZSB0aGUgQVUgYm91bmRhcmllcy4gSXQgd2FzIGxlYWtpbmcgdGhlIGZpcnN0IGZpZWxkIGJ1ZmZlcgoJICBhbmQgcHJvZHVjaW5nIGEgY29ycnVwdGVkIG91dHB1dC4KCSAgZml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgwNDEKCjIwMTQtMDQtMTAgMTA6Mzg6MTkgLTAzMDAgIFJhZmHFgiBNdcW8ecWCbyA8Z2FsdGdlbmRvQG8yLnBsPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBlbmFibGUgbGlicG5nIGludGVybGFjZWQgcGljdHVyZSBoYW5kbGluZwoJICBNYWtlcyBsaWJwbmcgZGVpbnRlcmxhY2UgQWRhbTcgaW50ZXJsYWNlZCBwaWN0dXJlcwoJICBieSBkZWZhdWx0LiBJdCBpcyB0aGUgb25seSBpbnRlcmxhY2VkIGZvcm1hdCBhdmFpbGFibGUKCSAgYW5kIGlmIHRoZSBwaWN0dXJlIGlzbid0IGludGVybGFjZWQgdGhlIGNvZGUgc2hvdWxkIGJlaGF2ZQoJICBhcyBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxNjEKCjIwMTQtMDQtMTEgMTM6Mjc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogT25seSBrZWVwLWFsaXZlIHRoZSBjb25uZWN0aW9uIGluIHN0b3AoKSBpZiB3ZSBoYXZlIGZpbmlzaGVkIGFsbCBwcmV2aW91cyBtZXNzYWdlcwoJICBBZnRlciBjYW5jZWxsaW5nIGEgcmVxdWVzdCB3ZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBjb25uZWN0aW9uLgoKMjAxNC0wNC0xMSAxMTo1NDoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogRG9uJ3Qgc2V0IGJvZ3VzIHRpbWVzdGFtcC9kdXJhdGlvbgoJICBUaGlzIHdpbGwgaGFwcGVuIGlmIHdlIGhhdmUgYW4gaW5jb21pbmcgc3RyZWFtIHdpdGggYSBub24tVElNRSBzZWdtZW50CgkgIENvdWxkIGJlIGltcHJvdmVkIGxhdGVyIHRvIGZpZ3VyZSBvdXQgcHJvcGVyIHB0cy9kdXJhdGlvbi4KCSAgQ0lEICMxMTk5NzAyCgkgIENJRCAjMTE5OTcwMwoKMjAxNC0wNC0xMSAxMTo1Mzo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogUHJvcGVybHkgcmVmdXNlIGluY29taW5nIHN0cmVhbSB3aXRob3V0IGZyYW1lcmF0ZQoJICBUaGUgcmV0dXJuIHZhbHVlIHdhc24ndCBwcm9wZXJseSBwcm9wYWdhdGVkIGJhY2sgaWYgdGhlIGNhcHMKCSAgZGlkbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUKCjIwMTQtMDQtMTAgMTY6MzU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWxzbyByZXRyeSBvbiB1bmV4cGVjdGVkIG5ldHdvcmsgZmFpbHVyZXMKCjIwMTQtMDQtMTAgMTU6NDU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogTmV3IHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJpZXMgYmVmb3JlIHdlIGdpdmUgdXAKCjIwMTQtMDMtMTMgMTA6NTY6MTEgKzAxMDAgIEFsZXhhbmRlciBaYWxsZXNvdiA8emFsbGVzb3ZAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IENoYW5nZSBkZWZhdWx0IHRpbWVvdXQgdG8gMTUgc2Vjb25kcwoJICBJZiBub3RoaW5nIGhhcHBlbnMgYWZ0ZXIgMTUgc2Vjb25kcywgY2hhbmNlcyBhcmUgZ29vZCB0aGF0CgkgIG91ciBjb25uZWN0aW9uIHdpbGwgbmV2ZXIgd2lsbCB3b3JrLiBTdG9wIGFmdGVyIDE1IHNlY29uZHMKCSAgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsIHRoZSBzeXN0ZW0ncyBkZWZhdWx0IHRpbWVvdXQsIHdoaWNoCgkgIGNhbiBiZSA+IDEgbWludXRlLgoKMjAxNC0wNC0wOSAxNzozMDo1NCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlcGxhY2UgZHVwbGljYXRlZCB2YXJpYWJsZSB3aGVuIHBhcnNpbmcgdHJleCBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NzgKCjIwMTQtMDQtMDkgMTA6NTY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIEdTVF9GTE9XX0ZMVVNISU5HIHdoZW4gZmx1c2hpbmcsIG5vdCBHU1RfRkxPV19FT1MKCSAgLi4uIGFuZCByZXNldCBpdCBwcm9wZXJseSBhZnRlciBmbHVzaGluZyBpcyBkb25lLiBGaXhlcyBwbGF5YmFjawoJICBpbiBtYW55IGNhc2VzIHdoZW4gYnVmZmVyaW5nIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MjEKCjIwMTQtMDQtMDkgMDg6NTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUHJvcGVybHkgcmV0dXJuIHN0cmVhbSBmbGFncyB3aGVuIHBhcnNpbmcgdHJleCBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NjcKCjIwMTQtMDMtMTkgMTk6MTg6MTEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB1c2UgdGhlIHZpZGVvIGZyYW1lIEFQSSBpbnN0ZWFkIG9mIHRoZSB2aWRlbyBtZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NzM4CgoyMDE0LTAzLTE5IDE4OjQ3OjM5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkdmVydGl6ZSB2aWRlbyBtZXRhIEFQSSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3MzcKCjIwMTQtMDQtMDggMTE6MzE6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFRoZSBjYXBzIHF1ZXJ5IGlzIGhhbmRsZWQgZW50aXJlbHkgYWxyZWFkeSBiZWZvcmUuCgkgIENJRCAjMTEzOTc1NwoKMjAxNC0wNC0wNiAxODowMzoxMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHVzZSBTb3VwS25vd25TdGF0dXNDb2RlIGlmIG5lZWRlZAoJICBGcm9tIGxpYnNvdXAgZG9jczoKCSAgUHJpb3IgdG8gMi40NCBTb3VwU3RhdHVzIHdhcyBjYWxsZWQgU291cEtub3duU3RhdHVzQ29kZSwKCSAgYnV0IHRoZSBpbmRpdmlkdWFsIHZhbHVlcyBoYXZlIGFsd2F5cyBoYWQgdGhlIG5hbWVzIHRoZXkKCSAgaGF2ZSBub3cuCgkgIEZpeGVzOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA0LTA3IDEyOjU4OjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVzZSBmcmFtZXMsIG5vdCBieXRlcywgZm9yIHBvc2l0aW9uIHF1ZXJ5IGluIFZCUiBzdHJlYW1zCgkgIENvdmVyaXR5IDExMzk2NDgKCjIwMTQtMDQtMDcgMTI6NDI6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmaXggY29weS9wYXN0ZSBlcnJvciBjYXVzaW5nIHVubWFwIG9uIHdyb25nIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NjQ3CgoyMDE0LTA0LTA3IDEyOjE2OjE3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZ3VhcmQgYWdhaW5zdCBmaW5kaW5nIG5vIHN1aXRhYmxlIHBhdHRlcm4KCSAgVGhlIGNvZGUgaGFuZGxlcyBhIC0xIHBhdHRlcm4gaW5kZXgsIGFuZCBpdCBzZWVtcyBwbGF1c2libGUKCSAgdGhhdCBhIHBhdHRlcm4gbWlnaHQgYmUgZm91bmQgbGF0ZXIsIHNvIGl0IHNlZW1zIGJlc3QgdG8gbm90CgkgIHNlbmQgYW4gZWxlbWVudCBlcnJvciBoZXJlLgoJICBDb3Zlcml0eSAxMTM5NzY2CgoyMDE0LTA0LTA0IDE3OjM4OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXBkYXRlIGZvciBuZXcgTUlLRVkgQVBJCgoyMDE0LTA0LTAzIDE3OjQwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZW5kIHNlbmRlciBTU1JDIGluIHRoZSBNSUtFWSBtZXNzYWdlCgkgIEFsbG9jYXRlIGEgbmV3IFNTUkMgZm9yIG91ciBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBhbmQgc2V0CgkgIHRoaXMgaW4gdGhlIE1JS0VZIG1lc3NhZ2UuCgoyMDE0LTA0LTAzIDE3OjM5OjMwICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSByYW5kb20gbnVtYmVyIGZvciB0aGUgQ1NCCgkgIEFzIHJlY29tbWVuZGVkIGluIHRoZSBSRkMKCjIwMTQtMDMtMjYgMTI6MTA6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBwdXQgc3BhY2VzIGluIGtleW1nbXQgaGVhZGVyCgoyMDE0LTAzLTI1IDE3OjQ3OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIHNlbmQgdGhlIFJUQ1AgZW5jcnlwdGlvbiBrZXkKCSAgQ3JlYXRlIGFuZCBtYWtlIGEga2V5IGZvciBlbmNyeXB0aW5nIHRoZSBSVENQIHBhY2tldHMgYmFjayB0byB0aGUgc2VydmVyCgkgIGFuZCB3cmFwIHRoaXMgaW4gYSBNSUtFWSBtZXNzYWdlIHRoYXQgd2Ugc2VuZCBhcyBhIGhlYWRlciBpbiB0aGUgU0VUVVAKCSAgcmVxdWVzdC4KCjIwMTQtMDQtMDMgMTI6MTg6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmcmVlIHRoZSBzcnRwZGVjIGVsZW1lbnQKCjIwMTQtMDQtMDMgMTI6MTY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhbnVwIHN0cmVhbV9mcmVlIGZ1bmN0aW9uCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBOVUxMIGFsbCBmaWVsZHMsIHdlIHdpbGwgZnJlZSB0aGUgc3RyZWFtIGFueXdheS4KCjIwMTQtMDQtMDMgMTI6MDc6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZGVtb3RlIHdhcm5pbmcgdG8gZGVidWcKCSAgRm9yIFRDUCwgaXQgaXMgbm9ybWFsIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0aW1lc3RhbXBzIHNvIGRvbid0IFdBUk4gb24KCSAgaXQuCgoyMDE0LTAzLTI5IDE5OjEzOjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogRml4IHN1cHBvcnQgZm9yIGNhcHMgd2l0aG91dCB3aWR0aCwgaGVpZ2h0LCBmcmFtZXJhdGUgb3IgZm9ybWF0CgkgIEZvciBmb3JtYXQgbGlrZSBtcGVndHMsIHdpZHRoIGFuZCBoZWlnaHQgaXMgcmFyZWx5IGluIHRoZSBuZWdvdGlhdGVkIGNhcHMuIFRoaXMKCSAgcGF0Y2ggZml4ZXMgZmFpbHVyZSB3aGVuIHNldHRpbmcgZm9ybWF0LCBhbmQgcHJldmVudCBpbnRyb2R1Y2luZyB3aWR0aCwgaGVpZ2h0LAoJICBmcmFtZXJhdGUgYW5kIGZvcm1hdCB0byB0aGUgY2FwcyB3aGVuIGZpeGF0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODYwCgoyMDE0LTAzLTMxIDE4OjM0OjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IEFsd2F5cyBzZXQgUFRTPURUUyBvbiByYXcgdmlkZW8gc3RyZWFtcwoKMjAxNC0wMy0zMSAxODozMToyMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQWx3YXlzIHNldCBwaXhlbC1hc3BlY3QtcmF0aW8gb24gcmF3IHZpZGVvIHN0cmVhbXMKCSAgVGhhdCBmaWVsZCBpcyBtYW5kYXRvcnkgaW4gY2FwcyBhbmQgaWYgaXQgaXMgbm90IHByZXNlbnQgaW4gdGhlCgkgIEFWSSBjb250YWluZXIsIGl0IG1lYW5zIHNxdWFyZSBwaXhlbHMgdGh1cyAxLzEuCgoyMDE0LTAzLTMwIDAwOjM1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IGFkZCBtYXBwaW5nIGZvciBPcHVzIGF1ZGlvCgkgIE1pZ2h0IHdhbnQgdG8gY29uc2lkZXIgYWRkaW5nIGNoYW5uZWxzL3JhdGUKCSAgcmVxdWlyZW1lbnQgdG8gdGVtcGxhdGUgY2FwcywgYnV0IHJlcXVpcmVzCgkgIGZpeGluZyB1cCBvZiBlbmNvZGVyIGFuZCBwYXJzZXIgZmlyc3QuCgoyMDE0LTAzLTMwIDAwOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2EtZGVtdXg6IGFkZCBtYXBwaW5nIGZvciBPcHVzIGF1ZGlvIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTQtMDMtMjkgMTc6MjE6MTcgLTA0MDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBGaXggc3VwcG9ydCBmb3IgbXBlZ3RzIHN0cmVhbXMKCSAgSXQgc2VlbXMgdGhhdCBHU3RyZWFtZXIncyBtcGVndHMgZWxlbWVudHMgKHRzZGVtdXgsIHRzcGFyc2UpIHJlcXVpcmUgY2FwcwoJICBgdmlkZW8vbXBlZ3RzLHN5c3RlbXN0cmVhbT10cnVlYC4gIEFzIGZhciBhcyBJIGNhbiBzZWUgdGhlIHNpZ25pZmljYW5jZQoJICBvZiBzeXN0ZW1zdHJlYW0gaXMgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIGlzIGEgY29udGFpbmVyIGZvcm1hdCByYXRoZXIgdGhhbgoJICBhbiBlbGVtZW50YXJ5IHN0cmVhbS4gIEFzIHRoaXMgaXMgdGhlIGNhc2UgKGFuZCBJIGNhbid0IHVuZGVyc3RhbmQgaG93IGl0CgkgIGNvdWxkIG5vdCBiZSB0aGUgY2FzZSB3aXRoIG1wZWd0cykgSSBhZGQgc3lzdGVtc3RyZWFtPXRydWUgdG8gdjRsMnNyYydzCgkgIGNhcHMuCgkgIFRoaXMgYWxsb3dzIHY0bDJzcmMgdG8gYmUgbGlua2VkIHdpdGggdHNkZW11eCBmb3IgcGxheWJhY2sgZnJvbSBteQoJICBIYXVwcGF1Z2UgSEQtUFZSIHdpdGggdGhlIHBpcGVsaW5lOgoJICB2NGwyc3JjICEgcXVldWUgISB0c2RlbXV4ICEgdmlkZW8veC1oMjY0ICEgZGVjb2RlYmluICEgeHZpbWFnZXNpbmsKCSAgSW4gY29tYmluYXRpb24gd2l0aCB0aGUgbmV4dCBjb21taXQgdGhpcyBmaXhlcyB1c2luZyBIYXVwcGF1Z2UgSEQtUFZSIHdpdGgKCSAgR1N0cmVhbWVyIDEuMCsuCgoyMDE0LTAxLTE0IDE0OjQ4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYXR0ZW1wdCB0byBmaXggaW5maW5pdGUgKGZvciBzbWFsbCB2ZXJzaW9uIG9mIGluZmluaXRlKSBsb29wCgoyMDE0LTAzLTI5IDEzOjIwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cG1hbmFnZXI6IGNvcHkgc3RpY2t5IGV2ZW50cyB3aGVuIGV4cG9zaW5nIHBhZHMgaW4gbW9yZSBwbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxMgoKMjAxNC0wMy0yOCAyMDoxMTozNiArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDI6IGZpeCBkaXN0Y2hlY2sKCSAgTWFrZSBzdXJlIGV4dC8qLmggYXJlIGRpc3QnZWQKCjIwMTQtMDMtMjcgMTk6NTE6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IG9ubHkgZXh0cmFwb2xhdGUgYWxwaGEgbWFzayBmb3IgMzItYml0IGRlcHRoCgkgIEluc3RlYWQgb2YgcGFzc2luZyBib2d1cyBhbHBoYSBtYXNrIHZhbHVlcyB3aGVuIHRoZXJlJ3Mgbm8gYWxwaGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MzMKCjIwMTQtMDMtMjEgMTM6MDM6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogQWRkIEFSR0IvQkdSQSBzdXBwb3J0CgoyMDE0LTAzLTIwIDE1OjI4OjI2ICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IGNvbnNpZGVyIGhlYWRlciBsZW4gd2hlbiBjYWxjdWxhdGluZyBwYXlsb2FkIGxlbgoJICBGaXhlZCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2Nzc3CgoyMDE0LTAzLTI2IDA4OjAzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBbGwgZnJhbWVzIGFyZSBzeW5jIHBvaW50cwoKMjAxNC0wMy0yNiAwODowMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQWxsIGZyYW1lcyBhcmUgc3luYyBwb2ludHMKCjIwMTQtMDMtMjIgMTc6MDc6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZWdtZW50IGNsb3Npbmcgbm90IG5lZWRlZCBpbiAxLngKCSAgLi4uIGFzIHNlbmRlciBzaG91bGQga2VlcCB0cmFjayBvZiBzZWdtZW50IGJhc2UgYWNjdW11bGF0aW9uLgoJICBSYXRoZXIsIGl0IG1heSBoYXZlIHNvbWUgYWR2ZXJzZSBlZmZlY3RzIGFzIGEgc3B1cmlvdXMgc2VnbWVudCBldmVudCwKCSAgZS5nLiBpbiBjb2xsZWN0cGFkcy4KCjIwMTQtMDMtMjIgMTc6MDU6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBlYXJseSBzZW5kaW5nIHBlbmRpbmcgY29kZWMtZGF0YSBmb3IgYWxsIHN0cmVhbXMKCSAgLi4uIGF0IGxlYXN0IGJlZm9yZSBzeW5jaW5nIGFjcm9zcyBhbGwgc3RyZWFtcyBtaWdodCBjYXVzZSBzb21lIGdhcAoJICBhY3Rpdml0eSBvbiBhbnkgb2YgdGhvc2Ugc3RyZWFtcywgbm90YWJseSBzcGFyc2Ugc3RyZWFtcy4KCSAgU2VlIGFsc28gIzcxMjEzNAoKMjAxNC0wMy0yMiAxNzowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogaGFuZGxlIGJvdGggc3RpY2t5IGFuZCBub24tc3RpY2t5IGN1c3RvbSBldmVudAoKMjAxNC0wMy0yNSAxMTo0NDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgZXhwb3NlIHN0cmVhbXMgb24gZGF0YWZsb3cKCSAgT25seSBwcm9iZSBvbiBidWZmZXJzLCB3ZSBkb24ndCB3YW50IHRvIGV4cG9zZSB0aGUgc3RyZWFtcyBvbiBldmVudHMuCgoyMDE0LTAzLTI1IDExOjM2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNvcHkgc3RpY2t5IGV2ZW50cyB0byBnaG9zdHBhZAoJICBXaGVuIHdlIGV4cG9zZSBpbnRlcm5hbCBwYWRzIGFzIGdob3N0cGFkcywgZmlyc3QgY29weSB0aGUgc3RpY2t5IGV2ZW50cwoJICBzbyB0aGF0IHdlIGhhdmUgdGhlIGNhcHMgYW5kIHNlZ21lbnQgZXRjLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzEyCgoyMDE0LTAzLTI0IDE0OjI1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzcnRwIGhhbmRsaW5nCgoyMDE0LTAzLTI1IDEwOjIzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFNTUkMgb24gY2FwcyBpZiBrbm93bgoKMjAxNC0wMy0yNCAxNjo1ODoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHB1dCBjYXBzIG9uIHVkcHNyYyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBzaWduYWxzCgkgIFRyeSB0byBhdm9pZCB1c2luZyB0aGUgcmVxdWVzdC1wdC1tYXAgdG8gZ2V0IGNhcHMgYnV0IHNldCB0aGVtIGRpcmVjdGx5CgkgIG9uIHRoZSB1ZHBzcmMgZWxlbWVudC4gVGhhdCB3YXksIHRoZSBjYXBzIGdldCBuaWNlbHkgdHJhbnNmb3JtZWQgYXMgdGhleQoJICBwYXNzIHRocm91Z2ggdGhlIGRpZmZlcmVudCBlbGVtZW50cyBpbiB0aGUgcnRwYmluLCBpbmNsdWRpbmcgdGhlIEFVWCBhbmQKCSAgZGVjb2Rlci9lbmNvZGVyIGVsZW1lbnRzLgoKMjAxNC0wMy0yNCAxNTozNTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBwcm9maWxlIHRvIHNldCBydGNwIGNhcHMKCSAgVXNlIHRoZSBuZWdvdGlhdGVkIHByb2ZpbGUgdG8gc2V0IHgtcnRjcCBvciB4LXNydGNwIGNhcHMKCjIwMTQtMDMtMjQgMTU6MzQ6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgdWRwc3JjIHRvIFJFQURZCgkgIFJFQURZIGlzIGVub3VnaCB0byBhbGxvY2F0ZSBwb3J0cyBub3cKCjIwMTQtMDMtMjQgMTQ6MjU6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBpbXByb3ZlIGNhcHMgaGFuZGxpbmcKCSAgUHJvdGVjdCBjYXBzIHdpdGggdGhlIGxvY2suCgkgIERvbid0IHB1c2ggdGhlIGNhcHMgZXZlbnQgZnJvbSB0aGUgc2V0X3Byb3BlcnR5IGZ1bmN0aW9uIGJ1dCBtYXJrIHRoZQoJICBwYWQgZm9yIHJlY29uZmlndXJhdGlvbiBzbyB0aGF0IGl0IHdpbGwgcmVuZWdvdGlhdGUgYW5kIHB1c2ggdGhlIG5ldwoJICBjYXBzIGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxNC0wMy0yNCAxNToxNTozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG9wZW4vY2xvc2Ugc29ja2V0IGluIE5VTEw8LT5SRUFEWSBzdGF0ZQoJICBXZSBzaG91bGQgb3BlbiB0aGUgc29ja2V0IHdoZW4gZ29pbmcgdG8gTlVMTDwtPlJFQURZIGFuZCBub3QgaW4gdGhlCgkgIHN0YXJ0L3N0b3AgdmVtdGhvZCwgd2hpY2ggaXMgY2FsbGVkIGluIFJFQURZPC0+UEFVU0VELiBUaGlzIG1ha2VzIGl0CgkgIHBvc3NpYmxlIHRvIGFsbG9jYXRlIGEgc29ja2V0IHdpdGhvdXQgZ29pbmcgdG8gUEFVU0VEIChhbmQgc3RhcnRpbmcgdGhlCgkgIG5lZ290aWF0aW9uKS4KCjIwMTQtMDMtMjQgMTQ6MzU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmcmVlIGNhcHMgaW4gcHRtYXAgYXJyYXkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjY5NgoKMjAxNC0wMy0yMCAxMToxMjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBOVUxMIHJ0cG1hcCBhbmQgcGFyc2UgZXJyb3IgYmV0dGVyCgoyMDE0LTAzLTE2IDIzOjQ2OjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEb24ndCBjaGVjayBmb3IgZ3VkZXYgaWYgdmlkZW80bGludXgyIGlzIG5vdCBwcmVzZW50CgoyMDE0LTAzLTE2IDIzOjE5OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEb24ndCBmYWlsIGlmIGd1ZGV2IGlzIG5vdCBwcmVzZW50CgkgIFBLR19DSEVDS19NT0RVTEVTIGhhcyB0aGUgYmFkIGhhYml0IG9mIGZhaWxpbmcgdGhlIGJ1aWxkIGlmIGl0IGRvZXNuJ3QKCSAgZ2V0IHdoYXQgaXQgd2FudHMsIHByZXZlbnQgdGhhdC4KCjIwMTItMTEtMDIgMTM6MzM6MTMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmg6CgkgIHY0bDI6IEltcGxlbWVudCBHc3REZXZpY2VNb25pdG9yIHN1YmNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTMtMDgtMTIgMTE6NDk6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmg6CgkgIHB1bHNlOiBBZGQgZGV2aWNlIG1vbml0b3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTQtMDMtMTYgMTk6MjQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBSZW1vdmUgR3N0UHJvcGVydHlQcm9iZSBsZWZ0b3ZlcnMKCjIwMTQtMDItMTkgMDM6MDQ6MDMgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogUG9ydCB0byBuZXcgY29sbGVjdHBhZHMgQVBJCgkgIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcwNQoKMjAxNC0wMy0xNiAxNToyNjowNCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZXh0L3R5cGVzLWNvbXBhdC5oOgoJKiBzeXMvdjRsMi9leHQvdmlkZW9kZXYyLmg6CgkgIHY0bDI6IEFkZCB0eXBlcyBjb21wYXRpYmxpdHkgZm9yIG90aGVyIE9TCgkgIEFkZHMgdHlwZSBjb21wYXRpYmxpdHkgd2l0aCBvdGhlciBPUyBsaWtlIEJTRC4gVGhpcyB1c2VzIHR5cGVzIG1hcHBpbmcgbWFjcm8gdG8KCSAgYXZvaWQgY29uZmxpY3Qgd2l0aCBleGlzdGluZyBkZWZpbmVkIHR5cGVzLiBXZSByZXN1c2UgZ2xpYiB0eXBlcyBhcyB0aGVzZSBhcmUKCSAgYWxyZWFkeSBhdmFpbGFibGUgb24gc3VwcG9ydGVkIHBsYXRmb3Jtcy4gVGhpcyBpcyBHQ0Mgb25seSBiZWNhdXNlIG9mIHRoZQoJICBsZTMyIHR5cGUgdGhhdCB1c2VzIGJpdHdpc2UgYXR0cmlidXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDUzCgoyMDE0LTAzLTE2IDE1OjU1OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogZml4IGZvcm1hdCBpbmZvIHRvIGNhcHMgY29udmVyc2lvbiBmb3IgbXVsYXcKCjIwMTMtMDgtMTMgMTI6MTA6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogTWFrZSBnc3RfcHVsc2VfZm9ybWF0X2luZm9fdG9fY2FwcygpIHNoYXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDAyCgoyMDE0LTAzLTE1IDE4OjQxOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHY0bDI6IEZpeCB0eXBvIFY0TF9ESVIgaW50ZWFkIG9mIFY0TDJfRElSCgoyMDE0LTAzLTE1IDE4OjA1OjMyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDItYnVpbGQ6IFNldCBIQVZFX0dTVF9WNEwyIGlmIGhlYWRlcnMgYXJlIHByZXNlbnQKCSAgVGhlIG5hbWUgb2YgSEFWRV8gbmVlZCB0byBtYXRjaCB0aGUgVVNFXy4gTm93IHNldCBIQVZFX0dTVF9WNEwyIGlmCgkgIHZpZGVvZGV2Mi5oIGlzIGZvdW5kLgoKMjAxNC0wMy0xNSAxNjo0Nzo1MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHY0bDI6IEFjdHVhbGx5IGJ1aWxkIHRoZSBwbHVnaW4KCSAgVGhlIGNoZWNrcyB3ZXJlIHJlbW92ZWQgaW5hZHZlcnRlZGx5IGluIHByZXZpb3VzIHBhdGNoIGFuZCBub3QgcmVwbGFjZWQuCgkgIFJlLWludHJvZHVjZSB0aGUgY29uZmlndXJlIGNoZWNrcyBhbmQgc29tZSBvZiB0aGUgY2hlY2tzIGluIG9yZGVyIHRvIGVuYWJsZQoJICB0aGlzIHBsdWdpbiBhZ2Fpbi4gV2Ugb25seSBjaGVjayBpZiB2aWRlb2RldjIuaCBleGlzdCBvbiB0aGUgcGxhdGZvcm0gdG8KCSAgYXZvaWQgYnVpbGRpbmcgb24gV2luZG93cyBvciBPU1gsIHRob3VnaCB3ZSBidWlsZCBhZ2FpbnN0IG91ciBvd24gY29weS4gVGhpcwoJICB3YXMgYnJlYWtpbmcgdGhlIGJ1aWxkIG9uIGJ1aWx0LWJvdC4KCjIwMTQtMDMtMTUgMTM6NDc6NDIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgdHJhbnNsYXRpb246IFBPIGZpbGUgY2hhbmdlcyBjYXVzZWQgYnkgUE9URklMRS5pbiB1cGRhdGUKCjIwMTQtMDMtMTUgMTM6MTc6MjEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkgIHY0bDI6IFJlbW92ZSBYViBzdXBwb3J0CgkgIFhWIHN1cHBvcnQgZm9yIHY0bDIgbmV2ZXIgYmVjYW1lIHVwc3RyZWFtIGFuZCBlbmRlZCB1cCBiZWluZwoJICBjb21tZW50ZWQgb3V0IHdpdGggYW4gdW5kZWYgZm9yIGEgbG9uZyB0aW1lIG5vdy4KCjIwMTQtMDMtMTUgMTE6MTM6MDUgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbW1vbi5oOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb250cm9scy5oOgoJKiBzeXMvdjRsMi9leHQvdmlkZW9kZXYyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHY0bDI6IFVzZSBhIGNvcHkgb2YgdmlkZW9kZXYyLmggaGVhZGVyCgkgIFdpdGggeWVhcnMgdGhlIGFtb3VudCBvZiBpZmRlZiBoYXZlIGdyb3duIHVwIGFuZCB3ZSBhcmUgbm90IGV2ZW4gc3VyZSBpZiB0aGUKCSAgb2xkIGNvZGUgcGF0aCBjb21waWxlcy4gRWFjaCB0aW1lIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSB2NGwyIGZyYW1ld29yayB0byBhZGQKCSAgdGhlIG5ldyBmZWF0dXJlLCB3ZSBicmVhayBjb21waWxhdGlvbiBvbiBvbGRlciBrZXJuZWwuIFdpdGggZXhjZXB0aW9uIG9mIHR3bwoJICBjb250cm9scyBpbiB0aGUgdmlkZW8gb3JpZW50YXRpb24gY29udHJvbCwgdGhpcyBwYXRjaCBnZXQgcmlkIG9mIGFsbCBpZmRlZiBieQoJICBpbmNsdWRpbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHZpZGVvZGV2Mi5oIGluc2lkZSBHU3RyZWFtZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM0NDYKCjIwMTQtMDMtMTIgMTU6MzI6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBTU0wvVExTIGNlcnRpZmljYXRlIGNoZWNraW5nCgkgIEFuZCBieSBkZWZhdWx0IHByb3Blcmx5IGNoZWNrIGNlcnRpZmljYXRlcyBhZ2FpbnN0IHRoZSBzeXN0ZW0ncyBDQQoJICBjZXJ0aWZpY2F0ZXMuIEV2ZXJ5dGhpbmcgZWxzZSBpcyBub3QgYSBnb29kIGRlZmF1bHQgYXQgYWxsLgoKMjAxNC0wMy0xMSAxNDo1NjozMCArMDEwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBhc3NlcnQgb24gZnBzIGxvd2VyIHRoYW4gMQoJICBGaXhlcyBhc3NlcnQgY2F1c2VkIGJ5IGdzdF9kdXJhdGlvbl90b19mcmFjdGlvbiBjYWxsaW5nCgkgIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgd2l0aCBhIGRlbm9taW5hdG9yIG9mIDAgd2hlbiBmcHMgaXMgbGVzcwoJICB0aGFuIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxMDYKCjIwMTQtMDMtMTEgMDA6NDY6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHN0b3JlIHZpZGVvIGluZm8gd2l0aCBidWZmZXJzIHRvIGtlZXAgaXQgaW4gc3luYwoJICBJbnN0ZWFkIHRoZSBxdWV1ZWQgYnVmZmVyIG1pZ2h0IGhhdmUgYW4gb2xkIGNhcHMgd2hpbGUgdGhlIHBhZAoJICBpcyBhbHJlYWR5IHN0b3JpbmcgdGhlIGluZm9ybWF0aW9uIGZvciBhIG5ldyBjYXBzLiBNaXhpbmcgdGhvc2UKCSAgd2hpbGUgaGFuZGxpbmcgYnVmZmVycyB3aWxsIG9mdGVuIGxlYWQgdG8gaXNzdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU5NDgKCjIwMTQtMDMtMDggMTk6Mjk6NTggLTA1MDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBGaXggdHlwbyBjb250b2wgLT4gY29udHJvbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjMyCgoyMDE0LTAzLTA0IDAxOjE1OjQ5ICswMDAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogTm9ybWFsaXNlIGNvbnRyb2wgbmFtZXMgaW4gdGhlIHNhbWUgd2F5IGFzIHY0bDItY3RsCgkgIFY0TDIga2VybmVsIGRyaXZlcnMgYWxsb3cgY29uZmlndXJhdGlvbiBvZiB0aGUgaGFyZHdhcmUgc2V0dGluZ3MgdmlhIGEKCSAgbWVjaGFuaXNtIGNhbGxlZCBjb250cm9scy4gIFRoZXNlIGNhbiBiZSByZWZlcnJlZCB0byBieSBuYW1lIHN1Y2ggYXMKCSAgIkJyaWdodG5lc3MiIGFuZCAiV2hpdGUgQmFsYW5jZSBUZW1wZXJhdHVyZSIuICBUaGUgdXNlci1zcGFjZSBjb21tYW5kIGxpbmUKCSAgY2xpZW50IGZvciBzZXR0aW5nIHRoZXNlIGNvbnRyb2xzICh2NGwyLWN0bCkgbm9ybWFsaXNlcyB0aGVzZSBuYW1lcyBzdWNoCgkgIHRoYXQgdGhleSBvbmx5IGNvbnRhaW4gbG93ZXIgY2FzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdGhlCgkgIHVuZGVyc2NvcmUgJ18nLiAgZS5nOgoJICBLZXJuZWwgICAgICAgICAgICAgICAgICAgICB2NGwyLWN0bAoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgIEJyaWdodG5lc3MgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MKCSAgV2hpdGUgQmFsYW5jZSBUZW1wZXJhdHVyZSAgd2hpdGVfYmFsYW5jZV90ZW1wZXJhdHVyZQoJICBGb2N1cyAoYWJzb2x1dGUpICAgICAgICAgICBmb2N1c19hYnNvbHV0ZQoJICBHU3RyZWFtZXIgc2VlbXMgdG8gd2FudCB0byBmb2xsb3cgdGhpcyBwYXR0ZXJuIGJ1dCBmYWlsZWQgZm9yIGNvbnRyb2xzIHdpdGgKCSAgbW9yZSB0aGFuIG9uZSBjb25zZWN1dGl2ZSBub24tYWxwaGFudW0gY2hhcmFjdGVyLiAgZS5nLiBHU3RyZWFtZXIgd291bGQKCSAgcHJvZHVjZSAiZm9jdXNfX2Fic29sdXRlXyIgcmF0aGVyIHRoYW4gImZvY3VzX2Fic29sdXRlIi4KCSAgVGhpcyBjb21taXQgZml4ZXMgdGhhdCBpc3N1ZS4gIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGlzIHByZXNlcnZlZCBieQoJICBub3JtYWxpc2luZyBhbGwgY29udHJvbCBuYW1lcyBiZWZvcmUgY29tcGFyaXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTYzMgoKMjAxNC0wMy0wNyAxNjoxNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBNYWtlIHN1cmUgdG8gbm90IHJldHVybiBFT1MgaW1tZWRpYXRlbHkgaWYgd2UgZmluaXNoZWQgYSByYW5nZSByZXF1ZXN0CgkgIE9ubHkgcmV0dXJuIEVPUyB0aGUgbmV4dCB0aW1lIGNyZWF0ZSgpIGlzIGNhbGxlZCwgaWYgYXQgYWxsLiBiYXNlc3JjCgkgIHNob3VsZCBhbHJlYWR5IHRha2UgY2FyZSBvZiBub3QgY2FsbGluZyBpdCBhZ2Fpbi4KCSAgQWxzbyBhbHdheXMgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHRoZSBwcmV2aW91cyBmbG93IHJldHVybiB3YXMKCSAgbm90IE9LLiBUaGlzIGluZGljYXRlcyBhbiBlcnJvciBzb21ld2hlcmUuCgoyMDE0LTAzLTA2IDEyOjA2OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGNhcHMgcmVzdHJpY3Rpb25zIGZyb20gUlRQIGRlcGF5bG9hZGVyIHNpbmsgY2FwcwoJICBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBkZWZhdWx0IGFuZCBhcmUgbm90CgkgIHJlcXVpcmVkIGluIFNEUC4gV2l0aCB0aGUgbmV3IHVzYWdlIG9mIGhhdmluZyBwYWRzIHJlcXVpcmUgYSBzdWJzZXQKCSAgb2YgdGhlIGNhcHMsIHRoZXkgd2lsbCBtYWtlIHRoZSBuZWdvdGlhdGlvbiBmYWlsLgoKMjAxNC0wMy0wNiAxMTowMjowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHBzcGVleGRlcGF5OiBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgZm9yIGRlcGF5bG9hZGVyCgkgIFRoZSAiZW5jb2RpbmctcGFyYW1zIiBpcyBvcHRpb25hbCBpbiB0aGUgU0RQLCBiZWNhdXNlIHdlIG5vdyByZXF1aXJlCgkgIGEgc3Vic2V0IG9mIHRoZSBjYXBzLCBpdCB3b3VsZCBmYWlsIGNhcHMgbmVnb3RpYXRpb2luIGlmIGl0IHdhc24ndCBwcmVzZW50LgoJICBTbyByZW1vdmVkIGl0IGZyb20gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDE0LTAzLTA2IDEzOjM4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGZvcmdldCB0byBxdWl0IG1haW5sb29wIGFmdGVyIHdlIGNhbmNlbGxlZCB3aGVuIHdlIGdvdCBkYXRhIGFmdGVyIHRoZSBzdG9wIHBvc2l0aW9uCgoyMDE0LTAzLTA2IDEzOjM1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IElmIHdlIGhhZCBhIHN0b3AgcG9zaXRpb24sIGFsbG93IGZvciB0aGUgc2VydmVyIHRvIGZpbmlzaCBvdXIgY29ubmVjdGlvbiBpbnN0ZWFkIG9mIGp1c3QgY2FuY2VsbGluZwoJICBPdGhlcndpc2Uga2VlcC1hbGl2ZSBkb2VzIG5vdCBtYWtlIG11Y2ggc2Vuc2UgYW5kIGFsc28gdGhlIHNlcnZlciB3aWxsIGhhdmUKCSAgY29uZnVzaW5nIHRoaW5ncyBpbiB0aGUgbG9ncy4KCjIwMTQtMDMtMDYgMTI6MjQ6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNraXAgc3RyZWFtcyB3aXRoIHNhbWUgY29udHJvbCB1cmwKCSAgS2VlcCB0cmFjayBvZiB3aGF0IHN0cmVhbXMgd2UgZGlkIHRoZSBTRVRVUCBmb3IuIFdlIG9ubHkgbmVlZCB0bwoJICBjb25maWd1cmUgY2Fwcywgd2FpdCBmb3IgcGFkcyBhbmQgcHVzaCBldmVudHMgb24gc2V0dXAgc3RyZWFtcy4gV2UgY2FuCgkgIHJlbW92ZSB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHN0cmVhbSBhbmQgc2ltcGxpZnkgc29tZSBjaGVja3MuCgkgIEFmdGVyIHdlIHNldHVwIGEgc3RyZWFtLCBza2lwIHRoZSBvdGhlciBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZQoJICBjb250cm9sIHVybC4gVXNlIGEgc2tpcHBlZCBmbGFnIHRvIG1hcmsgc3RyZWFtcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkLgoKMjAxNC0wMy0wNiAxMjoyMjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBvYnNvbGV0ZSBjb2RlCgoyMDE0LTAzLTA1IDE2OjE5OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBqdXN0IHVzZSB0aGUgU0RQIGluZGV4IGFzIHRoZSBzdHJlYW0gaWQKCSAgVXNlIHRoZSBpbmRleCBvZiB0aGUgbWVkaWEgc3RyZWFtIGluIHRoZSBTRFAgYXMgdGhlIHN0cmVhbSBpZCBpbnN0ZWFkIG9mCgkgIGtlZXBpbmcgYSBzZXBhcmF0ZSBjb3VudGVyLgoKMjAxNC0wMy0wNSAxMzozNToxOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBmaXggYnVpbGQgb24gTWFjIE9TWCBNYXZlcmlja3MgYW5kIHB1dCBuZXcgd2luZG93IGluIGZyb250CgkgIEdldEN1cnJlbnRQcm9jZXNzL1NldEZyb250UHJvY2Vzcy9UcmFuc2Zvcm1Qcm9jZXNzVHlwZSB3YXMgZGVwcmVjYXRlZAoJICBhbmQgbm93IHJlbW92ZWQgaW4gTWFjIE9TWCAxMC45LiBvcmRlckZyb250UmVnYXJkbGVzcyBpcyB1c2VkIHRvIG1ha2UKCSAgdGhlIHZpZGVvIHdpbmRvdyB0aGUgbW9zdCBmcm9udCB3aW5kb3cuCgoyMDE0LTAzLTA1IDE3OjMzOjU2ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgZG9jcyBkaXJlY3RvcnkgdG8gc3BlYyBmaWxlCgoyMDE0LTAzLTA1IDE1OjQ0OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgY29udHJvbCB1cmxzIGJldHRlcgoKMjAxNC0wMy0wNSAxNDoyODoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHNtYWxsIGNsZWFudXBzCgkgIEl0J3MgbmljZXIgdG8gZXhwbGljaXRseSBjaGVjayBmb3IgTlVMTCBvbiBwb2ludGVyIHR5cGVzIHRvIG1ha2UgaXQKCSAgY2xlYXIgdGhhdCBpdCdzIGEgcG9pbnRlciBhbmQgbm90IGEgYm9vbGVhbi4KCjIwMTQtMDMtMDUgMTQ6MjY6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBoYW5kbGUgdW5rbm93biBTU1JDIGluIEZJUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NzEyCgoyMDE0LTAzLTA1IDExOjM5OjA5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNlZWtpbmcKCSAgQ2FsbCBnc3RfcnRzcHNyY19jb25uZWN0aW9uX2ZsdXNoIChzcmMsIEZBTFNFKSB0byByZXNldCBjb25uZWN0aW9ucyBhcwoJICBub24tZmx1c2hpbmcgYmVmb3JlIHNlbmRpbmcgUEFVU0UgYW5kIFBMQVkgd2l0aCB0aGUgbmV3IG5wdCByYW5nZS4gV2l0aG91dCB0aGlzCgkgIHBhdGNoLCB0aG9zZSBjb21tYW5kcyB3b3VsZCBmYWlsIHdpdGggRUlOVFIgYXMgdGhlIGNvbm5lY3Rpb25zIHdlcmUgc3RpbGwKCSAgZmx1c2hpbmcuCgoyMDE0LTAzLTAzIDE2OjM5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogZXhwb3NlIHhzdWIgYXMgYSBzdWJ0aXRsZSBpbnN0ZWFkIG9mIGFzIGEgdmlkZW8KCSAgSXQgaXMgcGxhY2VkIGluc2lkZSBhICd2aWRzJyBzdHJ1Y3QsIHNvIGl0IHdhcyBiZWluZyBleHBvc2VkIG9uCgkgIGEgcGFkIG5hbWVkIHZpZGVvXyVkLiBYU1VCIGFyZSBzdWJ0aXRsZXMgYW5kIHRoaXMgcGF0Y2ggYWRkcwoJICBhbiBzcGVjaWFsIGNhc2UgZm9yIGl0IHRvIGJlIGV4cG9zZWQgaW4gYSBzdWJwaWN0dXJlXyVkIHBhZAoKMjAxNC0wMy0wMyAxNjozODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgdHJ5IHRvIGFkZCBhIHRhZyB3aXRoIHRhZ19uYW1lIHNldCB0byBOVUxMCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGVyZSBhcmUgc3VidGl0bGVzIGluIHRoZSBzdHJlYW0sIGxlYWRpbmcgdG8KCSAgYW4gYXNzZXJ0aW9uCgoyMDE0LTAzLTA0IDE2OjQwOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcwoJICBBIG1lZGlhIHN0cmVhbSBjYW4gaGF2ZSBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzLiBQYXJzZSBhbGwgdGhlIHBheWxvYWQKCSAgdHlwZXMgYW5kIGNvbGxlY3QgdGhlIGNhcHMgaW5mb3JtYXRpb24uIFdlIHRoZW4gaGF2ZSB0byBzdG9yZSB0aGUKCSAgcHQ8LT5jYXBzIG1hcHBpbmcgaW5zdGVhZCBvZiAxIHB0IGFuZCAxIGNhcHMuCgkgIFBhcnNlIHRoZSBwcm9maWxlIGZyb20gdGhlIFNEUCBhbmQgdXNlIHRoYXQgdG8gbmVnb3RpYXRlIHRoZSB0cmFuc3BvcnQKCSAgaW5zdGVhZCBvZiBhbHdheXMgdXNpbmcgQVZQLgoJICBSZXdvcmsgaG93IHdlIGRvIHNvbWUgdHdlYWtzIGZvciBBU0YgYW5kIFJlYWxtZWRpYS4KCjIwMTQtMDMtMDQgMTE6MzQ6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWZhY3RvciBwYXlsb2FkIGhhbmRsaW5nCgoyMDE0LTAzLTAzIDExOjM0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBidWZmZXIgbGV2ZWwgd2l0aCBpbnZhbGlkIERUUwoJICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBEVFMgaXMgaW52YWxpZCAod2hlbiB3ZSByZWNlaXZlIFJUUCBwYWNrZXRzIGZyb20KCSAgVENQLCBmb3IgZXhhbXBsZSkuIEFzIGEgZmFsbGJhY2ssIHVzZSB0aGUgcmVjb25zdHJ1Y3RlZCBQVFMgdmFsdWUgdG8KCSAgY2FsY3VsYXRlIHRoZSBidWZmZXIgbGV2ZWwuCgoyMDE0LTAzLTAyIDA1OjEwOjEzICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZ2NvdiBpbnRlcm1lZGlhdGUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQ4MAoKMjAxNC0wMi0yOCAwOTozNDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmUxNjcyZSB0byBiY2IxNTE4CgoyMDE0LTAyLTI3IDIzOjE1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogcHV0IGNvZGVjIGRhdGEgb24gY2FwcyBmb3IgbG9hcyBmb3JtYXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ1OWNmM2UwMWEwOGYxYTNlZjFmYjk1NGE0MWNmYTM2YjNlNTEwYy4KCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IGFjY2lkZW50LCB0aGUgYnVnIHNob3VsZCBsaWtlbHkgYmUgZml4ZWQgaW4KCSAgbGliYXYgaHR0cHM6Ly9idWd6aWxsYS5saWJhdi5vcmcvc2hvd19idWcuY2dpP2lkPTY0NAoKMjAxNC0wMi0yNyAxODo1NTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IG1hcmsgYWxsIHBhcnNlZCBmcmFtZXMgYXMgc3luYyBwb2ludHMKCSAgYWxsIGpwZWcgZnJhbWVzIGFyZSBzeW5jIHBvaW50cywgc28gbWFyayB0aGVtIGFzIHN1Y2ggc28KCSAgcmV2ZXJzZSBwbGF5YmFjayBjYW4gcHJvcGVybHkgd29yayB3aXRoIHRoZSB2aWRlbyBkZWNvZGVyCgkgIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEwNAoKMjAxNC0wMi0yNSAwMToxMjowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBwdXQgY29kZWMgZGF0YSBvbiBjYXBzIGZvciBsb2FzIGZvcm1hdAoJICBnc3QtbGliYXYgYXVkaW8gZGVjb2RlciBhbHNvIG5lZWRzIGNvZGVjIGRhdGEgZm9yIExPQVMgZm9ybWF0LCBvdGhlcndpc2UKCSAgaXQgd2lsbCBjb21wbGFpbiBhYm91dCBub3QgaGF2aW5nIGEgZGVjb2RlciBjb25maWcgYW5kIHNraXAgYWxsIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5Njc3MgoKMjAxNC0wMi0yNyAwMDo0Mzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhbGlnbiByYXcgYXVkaW8gbWVtb3J5IHRvIHBvd2VycyBvZiB0d28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTAwOAoKMjAxNC0wMi0yNyAwMDozNzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYWxjdWxhdGUgYWxpZ25tZW50IHByb3Blcmx5IGZvciBhdWRpbyBkZXB0aHMgbm90IGEgbXVsdGlwbGUgb2YgOAoKMjAxNC0wMi0yMyAxOTowOToyNCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggY3Jhc2ggd2l0aCAyNC1iaXQgcmF3IGF1ZGlvCgkgIERvIG5vdCB0cnkgdG8gYWxpZ24gYXVkaW8gYnVmZmVycyB0byBvZGQgbnVtYmVycywKCSAgd2hpY2ggd2lsbCBnZXQgdXMgYSBOVUxMIGJ1ZmZlciB3aGljaCB3ZSB0aGVuCgkgIGNyYXNoIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDA4CgoyMDE0LTAyLTI3IDAwOjExOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIHJ0cG1hbmFnZXI6IHJlLWVuYWJsZSAtV2Vycm9yCgoyMDE0LTAyLTI3IDAwOjExOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluIGZ1bmN0aW9uICdnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCc6CgkgIGdzdHJ0cGppdHRlcmJ1ZmZlci5jOjI5Nzg6MzogZXJyb3I6ICdyZXN1bHQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICB3aGlsZSAocmVzdWx0ID09IEdTVF9GTE9XX09LKTsKCSAgXgoKMjAxNC0wMi0yNiAyMjoxMTo0MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWEwN2RhOSB0byBmZTE2NzJlCgoyMDE0LTAyLTI2IDIxOjExOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0yNiAwNzozMjozMiAtMDUwMCAgSmFrZSBGb3l0aWsgPGpha2UuZm95dGlrQGlwY29uZmlndXJlLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJlbW92ZSByYXcgY29tcGFyaXNvbnMgb2YgUlRQIHNlcXVlbmNlIG51bWJlcnMKCSAgU2V2ZXJhbCBjb25kaXRpb25hbCBzdGF0ZW1lbnRzIHBlcmZvcm0gY29tcGFyaXNvbiBvbiBSVFAgc2VxdWVuY2UKCSAgbnVtYmVycyB3aXRob3V0IHRha2luZyB0aGUgc2VxdWVuY2UgbnVtYmVyIHJvbGxvdmVyIGludG8gYWNjb3VudC4KCSAgSW5zdGVhZCwgdXNlIHRoZSBnc3RfcnRwX2J1ZmZlcl9jb21wYXJlX3NlcW51bSBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZQoJICBjb21wYXJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTU5CgoyMDE0LTAyLTAzIDAxOjQ0OjIxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IERvbid0IGJ1aWxkIGRpc2FibGVkIHBsdWdpbnMnIGNoZWNrIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MDIKCjIwMTQtMDItMjYgMTE6Mjk6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBpbnN0YWxsIHByZWJ1aWx0IHBsdWdpbiBkb2NzIGlmIGd0ay1kb2MgaXMgZGlzYWJsZWQKCSAgU3luYyB0byB0aGUgTWFrZWZpbGUuYW0gZnJvbSBnc3QtcGx1Z2luLWJhc2Ugd2hlcmUgaXQgaXMgZG9uZSByaWdodC4KCSAgRml4ZXMgIzcyNTAzNAoKMjAxNC0wMi0yNSAxNjoxMDo1NCAtMDUwMCAgSHVndWVzIEZydWNoZXQgPGh1Z3Vlcy5mcnVjaGV0QHN0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZG8gbm90IGVtaXQgInBhcnNlZCIgY2FwcyBmb3IgdnA4CgkgIFZQOCBkb2Vzbid0IHJlcXVpcmUgcGFyc2luZyAodnA4cGFyc2UgZG9lc24ndCBleGlzdCwgc28gbmVnb3RpYXRpb24gd2l0aCBkZW11eCBmYWlscwoJICBpZiAicGFyc2VkIiBpcyBzZXQgaW4gY2FwcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2MzYKCjIwMTQtMDItMTEgMTY6Mjc6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRG9uJ3QgcmVxdWlyZSBwYXJzZXIgZm9yIFZQOAoJICBVbnRpbCBHU3RyZWFtZXIgaGFzIG9uZSAoc2VlIGJ1ZzcyMjc2MCksIHdlIHNob3VsZCBub3QgcmVxdWlyZSBhIHBhcnNlciBmb3IgVlA4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDE0LTAyLTEwIDE3OjA4OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IENBUFRVUkVfTVBMQU5FIGlzIHdlbGwgdGVzdGVkIG5vdwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTEyLTE4IDA5OjU2OjM1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMnZpZGVvZGVjOiBDcmVhdGUgb25lIGVsZW1lbnQgcGVyIGRldmljZQoJICBGb3IgZWFjaCB2aWRlb0NkZXZpY2UgcHJvYmUgaXQgaW5wdXQvb3V0cHV0IGNhcGFiaWxpdGllcwoJICBpZiBpdCBtYXRjaCB3aXRoIHZpZGVvIGRlY29kZXIgcmVxdWlyZW1lbnQgcmVnaXN0ZXIgYSBuZXcgZWxlbWVudC4KCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTItMTkgMTU6MjY6NTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDYWxjdWxhdGUgbGF0ZW5jeSBmcm9tIGRldmljZSBpbmZvcm1hdGlvbgoJICBEZWNvZGVycyBvciBvdGhlciBkZXZpY2VzIHRoYXQgZXhwb3NlIGEgbWluaW11bSBidWZmZXJzIHJlcXVpcmVkIHByb2R1Y2UKCSAgYW4gZmlyc3Qgb3V0cHV0LiBXZSB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBjYWxjdWxhdGUgbGF0ZW5jeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMS0yOCAxNzoxNDoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJ2aWRlb2RlYzogSW1wbGVtZW50IHY0bDJ2aWRlb2RlYwoJICBJbXBsZW1lbnQgYW4gZWxlbWVudCB0aGF0IGNhbiBkcml2ZXIgVjRMMiBNMk0gZGVjb2RlciBkZXZpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTQtMDItMTEgMTI6NDE6MjkgKzAxMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBvbmx5IHVwZGF0ZSBsYXN0X3Nwc3BwcyB0aW1lIGlmIGFsbCBzcHMvcHBzIGdvdCBzZW50IHN1Y2Nlc3NmdWxseQoJICBUaGlzIGZpeGVzIGFuIGlzc3VlIHdpdGggZ3N0LXJ0c3Atc2VydmVyIHdoZXJlIG5vIHNwcyBhbmQgcHBzIGFyZQoJICBzZW50IGZvciB0aGUgZmlyc3QgaW50cmEgZnJhbWUsIGJlY2F1c2UgdGhlIHBheWxvYWRlciBzdGFydHMgd29ya2luZwoJICBhbHJlYWR5IHdoZW4gcmVjZWl2aW5nIERFU0NSSUJFIGJ1dCB0aGVyZSBpcyBubyB0cmFuc3BvcnRzIHNvIGl0IHRyaWVzCgkgIHRvIHNlbmQgc3BzIGFuZCBwcHMsIGJ1dCB0aGF0IGZhaWxzIHdpdGggYSBGTFVTSElORyBmbG93LiBCdXQgdGhlIHRpbWUKCSAgZm9yIGxhc3Qgc2VudCBzcHMgYW5kIHBwcyB3b3VsZCBzdGlsbCBiZSBzZXQsIHNvIHdoZW4gUExBWSBhcnJpdmVzIGFuZAoJICB0aGUgZmlyc3QgaW50cmEgZnJhbWUgaXMgdG8gYmUgc2VudCB0aGVyZSBpcyBubyBzcHMgYW5kIHBwcyBzZW50IGR1ZSB0bwoJICB0aGF0IHRpbWUgc2luY2UgbGFzdCBzcHMgcHBzIGlzIGxlc3MgdGhhbiBzcHNwcHNfaW50ZXJ2YWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQyMTMKCjIwMTQtMDItMjUgMDk6MDA6NDUgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggZGVhZGxvY2sgd2hlbiB0YXNrIGNyZWF0aW9uIGlzIG5vIHN1Y2Nlc3NmdWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEyNAoKMjAxNC0wMi0yMiAyMDoxOTo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogZGVtb3RlIGNhbmRpZGF0ZSBlcnJvciB0byB3YXJuaW5nIGFuZCBwbHVnIGZha2V7c2luayxzcmN9CgkgIEluIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgbm8gc3VpdGFibGUgY2FuZGlkYXRlIHdlIHBvc3QgYSB3YXJuaW5nIGFuZCBwbHVnIGEKCSAgZmFrZS1lbGVtZW50LiBEbyB0aGUgc2FtZSB3aGVuIG5vbiBvZiB0aGUgY2FuZGlkYXRlIHdvcmsuCgkgIFRoaXMgaXMgbW9yZSBjb25zaXN0ZW50IGFuZCBwbHVnaW4gdGhlIGZha2VzaW5rIGFzIGEgZmFsbGJhY2sgaXMgcHJvYmFibHkKCSAgaGVscGZ1bCBmb3IgcnVubmluZyB1bml0IHRlc3RzIHdpdGhvdXQgcmVxdWlyaW5nIGhhcmR3YXJlIHNyYy9zaW5rIGVsZW1lbnRzLgoJICBGaXhlcyAjNzIyOTgxCgoyMDE0LTAyLTIzIDEyOjM0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFrZSBzb21lIG1vcmUgY29udHJvbHMgY29uZmlndXJhYmxlCgkgIC4uLiBhdCBsZWFzdCBpZiBvbmUgdHJpZXMgaGFyZCBlbm91Z2ggdXNpbmcgZXh0cmEtY29udHJvbHMgcHJvcGVydHkuCgoyMDE0LTAyLTIzIDEwOjM5OjIwICswMTAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyOiBSZXF1aXJlIG1wbGFuYXIgc3VwcG9ydCBmb3Igbm93IGluIGNvbmZpZ3VyZQoJICBUaGUgY29kZSBmYWlscyB0byBjb21waWxlIHdpdGhvdXQgY3VycmVudGx5LCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoJICBJdCdzIGJldHRlciB0byBkaXNhYmxlIGl0IGluc3RlYWQgb2YgZmFpbGluZyBjb21waWxhdGlvbgoJICB1bnRpbCB0aGlzIGlzIGZpeGVkIHByb3Blcmx5LgoKMjAxNC0wMi0yMyAwMDoxNDowNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiBhZGQgc29tZSBzaW1wbGUgbG9nIGhhbmRsZXJzIGZvciBqYWNrCgkgIEFkZCBsb2cgaGFuZGxlcnMgZm9yIGphY2sgdGhhdCB3cml0ZSB0byB0aGUgZ3N0IGRlYnVnIGxvZy4gVGhpcyBhdm9pZHMgc3BhbW1pbmcKCSAgdGhlIGNvbnNvbGUgd2hlbiBlLmcuIHVzaW5nIGF1dG9hdWRpb3NpbmssIGhhdmluZyB0aGUgamFjayBlbGVtZW50cyBpbnN0YWxsZWQsCgkgIGJ1dCBub3QgcnVubmluZyBqYWNrLgoKMjAxNC0wMi0yMiAyMTozMToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBoYW5kbGUgb2xkIGFuZCBvZGQgZHJpdmVyIGJlaGF2aW91ciB3aGVuIGxpc3RpbmcgY29udHJvbHMKCjIwMTMtMTEtMjggMTY6NTQ6NTggLTA4MDAgIERhcnJ5bCBHYW1yb3RoIDxkZ2Ftcm90aEB1dmljLmNhPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VpaXJmaWx0ZXI6IGNoZWNrIGlmIGNvZWZmaWNpZW50cyBhcmUgcHJvdmlkZWQgaW5zaWRlIGZpbHRlciBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1MjQKCjIwMTQtMDItMjEgMTk6NDY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBhbHNvIHVuc2V0IElOVEVSTEFDRUQgZmxhZyBvbiBidWZmZXJzIGlmIGZyYW1lIGlzIG5vdCBpbnRlcmxhY2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4OTkKCjIwMTQtMDItMjEgMTQ6MzE6NTkgKzAwMDAgIFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogRmxhZyBpbnRlcmxhY2VkIGJ1ZmZlcnMgYXMgaW50ZXJsYWNlZC4KCSAgV2UgY29ycmVjdGx5IGluZGljYXRlIHRoZSBmaWVsZCBvcmRlcmluZyBvbiBpbnRlcmxhY2VkIGJ1ZmZlcnMsIGJ1dCBmYWlsIHRvCgkgIGZsYWcgdGhlbSBhcyBjb250YWluaW5nIGludGVybGFjZWQgdmlkZW8sIHdoaWNoIHdlIG5lZWQgdG8gZG8gaGVyZSBiZWNhdXNlCgkgIHdlIHNpZ25hbCBpbnRlcmxhY2UtbW9kZT1taXhlZCBpbiBvdXIgY2Fwcy4gVGhpcyBtZWFucyB0aGF0IGRvd25zdHJlYW0KCSAgZWxlbWVudHMgKGxpa2UgdmFhcGlwb3N0cHJvYyBmcm9tIGdzdHJlYW1lci12YWFwaSkgZG9uJ3QgcmVjb2duaXNlIHRoZXNlCgkgIGJ1ZmZlcnMgYXMgaW4gbmVlZCBvZiBkZWludGVybGFjaW5nLgoJICBGaXggdGhpcyBieSBzZXR0aW5nIHRoZSBpbnRlcmxhY2VkIGZsYWcgb24gYWxsIGludGVybGFjZWQgYnVmZmVycy4KCSAgU2lnbmVkLW9mZi1ieTogU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4OTkKCjIwMTQtMDItMTkgMTM6NTY6MzcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYmUgbW9yZSBzdHJpY3QgYXQgQURUUyBoZWFkZXIgcGFyc2luZwoJICBBZGRzIHR3byBleHRyYSBjaGVja3M6CgkgIC0gU2FtcGxpbmcgZnJlcXVlbmN5IG9uIGhlYWRlciBjYW4ndCBiZSAxNS4KCSAgLSBGcmFtZSBzaXplIHNob3VsZCBiZSBhdCBsZWFzdCA5IG9yIDcsIGRlcGVuZGluZwoJICBvbiB3aGV0aGVyIENSQyBwcm90ZWN0aW9uIGlzIHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2MzgKCjIwMTQtMDItMTkgMTM6MzU6NTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIEFEVFMgZGF0YQoJICBXZSBuZWVkIGF0IGxlYXN0IDYgYnl0ZXMgdG8gcGFzcyBvdmVyIHRvIF9nZXRfZnJhbWVfbGVuKCkKCSAgYnV0IHdlIHdlcmUganVzdCBjaGVja2luZyBmb3IgYSBtaW5pbXVtIG9mIDIgYnl0ZXMgZm9yIHRoZQoJICBzeW5jd29yZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzOAoKMjAxNC0wMi0yMCAyMjo1Mjo1NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJICBhdXRvZGV0ZWN0OiBjaGVjayBpZiB0aGUga2lkIGhhcyBhIHN5bmMgcHJvcGVydHkKCSAgcHJldmlvdXNseSBhdXRvdmlkZW9zcmMgZGlkIG5vdCBoYXZlIGEgc3luYyBwcm9wZXJ0eSBhbmQgdjRsMnNyYyBoYXMgbm9uZSBlaXRoZXIuCgoyMDE0LTAyLTE5IDIxOjU1OjUyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkgIGF1dG9kZXRlY3Q6IHVzZSBhIGNvbW1vbiBiYXNlY2xhc3MKCSAgVGhpcyBtYWtlcyB0aGUgYWN0dWFsIGVsZW1lbnRzIHN1cGVyIHNpbXBsZS4gV2UncmUgdXNpbmcgdGhlIEVMRU1FTlRfRkxBRyB0bwoJICBjb25maWd1cmUgc291cmNlL3NpbmsgYW5kIGEgc3RyaW5nIGZvciB0aGUgQXVkaW8vVmlkZW8gdHlwZS4KCjIwMTQtMDItMTQgMTc6MTQ6NDIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCB0bHMtZGF0YWJhc2UgcHJvcGVydHkKCSAgQWRkIHN1cHBvcnQgZm9yIGEgbmV3IHByb3BlcnR5OiB0bHMtZGF0YWJhc2UuIElmIHRoZSBwcm9wZXJ0eSBpcyBzZXQsCgkgIHRoZSBjZXJ0aWZpY2F0ZSBkYXRhYmFzZSB3aWxsIGJlIGdpdmVuIHRvIHRoZSBydHNwIGNvbm5lY3Rpb24gaWYgVExTCgkgIHByb3RvY29sIGlzIGJlaW5nIHVzZWQuIElmIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUgY2FuJ3QgYmUgdmVyaWZpZWQgd2l0aAoJICB0aGUgZGVmYXVsdCBkYXRhYmFzZSwgdGhpcyBhZGRpdGlvbmFsIGRhdGFiYXNlIHdpbGwgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDM5NgoKMjAxNC0wMi0xOSAyMjoyMTo1NCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpbzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDItMTkgMjE6MjY6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogZXh0cmFjdCBjb21tb24gaGVscGVyIGNvZGUKCSAgVGhlIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBwcmV0dHkgbmFtZXMgaXMgYmFzaWNhbGx5IHRoZSBzYW1lLiBVc2Ugb25lIGFuZCBhZGQKCSAgYSBwYXJhbWV0ZXIuCgoyMDE0LTAyLTE5IDIxOjAxOjM5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogaW1wcm92ZSB0aGUgdGVzdHMKCSAgQWRkIGZha2UgYXVkaW8vdmlkZW8gc2lua3MuIFByZXZpb3VzbHkgcnVubmluZyB0aGUgdGVzdCBtaWdodCBiZSBmbGFreSBkdWUgdG8KCSAgdGhlIHVzZSBvZiByZWFsIGVsZW1lbnRzIChoYXJkd2FyZSBpbiB1c2UpLCB3aGljaCB3ZSBkb24ndCB3YW50IHRvIHRlc3QgaGVyZS4KCSAgQWRkIHR3byBtb3JlIHRlc3RzIHRoYXQgY2hlY2sgdGhhdCB0aGUgZmFrZXMgYXJlIGNob3Nlbi4KCjIwMTQtMDItMTkgMTU6MTk6MzAgKzAxMDAgIEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG8gbm90IGVtaXQgZXJyb3Igd2hlbiBjb25uZWN0aW9uIHdpdGggdW5rbm93biBzaXplIGVuZHMKCSAgQ29tbWl0IDQ2ZmQxMmFlNWVjNTMyMDBiMTZkZmQ3ZjE3MDQ4ZDZiYzYwZmJmYmMgaW50cm9kdWNlZCBjb25uZWN0aW9uCgkgIHJlY292ZXJ5LiBCdXQgd2hlbiBzZXJ2ZXIgZG9lcyBub3Qgc3BlY2lmeSBjb250ZW50LXNpemUsCgkgIHNvdXBodHRwc3JjIHRyaWVzIHRvIHJlY29ubmVjdCBldmVuIGFmdGVyIHJlZ3VsYXIgZW5kIG9mIHN0cmVhbS4KCSAgSHR0cCBzZXJ2ZXIgcmVwbGllcyAgd2l0aCBTT1VQX1NUQVRVU19SRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFCgkgIGJ1dCBzb3VwaHR0cHNyYyBzdGlsbCBlbWl0cyBlcnJvciBpbnN0ZWFkIG9mIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxNwoJICBTaWduZWQtb2ZmLWJ5OiBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKMjAxNC0wMi0xOSAxMToyNjoyMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogZml4IHRoZSBkaXNhYmxlZCB0ZXN0CgkgIFVzZSBhIHNoYXJlZCBoZWxwZXIgZm9yIGJvdGggdGVzdHMuIEl0IHR1cm5zIG91dCB0aGF0IHRoZSB2YWxncmluZCB2YXJpYW50IGlzCgkgIGZpbmUgKG1heWJlIGR1ZSB0byBwaWNraW5nIHVwIHB1bHNlc2luayB0aG91Z2gpLgoKMjAxNC0wMi0xOSAxMTowNTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogcmVtb3ZlIGNydWZ0IGZyb20gdGhlIHRlc3QKCSAgUmVtb3ZlIHRoZSBvYnNvbGV0ZSB2ZXJzaW9uIGNoZWNrIGFuZCB1c2UgdGhlIGlnbm9yZSBtYWNybyBmb3IgdGhlIGRpc2FibGVkIHRlc3QuCgoyMDE0LTAyLTE4IDIyOjU0OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBkb2NzOiB1c2UgZG9jYm9vayBtYXJrdXAgZm9yIHhpOmluY2x1ZGUKCSAgSXQgdHVybnMgb3V0IHRoYXQgdGhlIGNoYW5nZSBpbiBndGstZG9jLTEuMjAgd2hpY2ggd3JhcHMgdGhlIHxbXXwgY29udGVudCBpbgoJICBDREFUQSBicmVhayB4aTppbmxjdWRlIGV4YW1wbGVzLiBBcyBpbiBhIHdob2xlIGpoYnVpbGQgY2hlY2tvdXQgdGhlc2Ugd2hlcmUKCSAgdGhlIG9ubHkgNCwgd2UncmUgZml4aW5nIHRoZW0gaW5zdGVhZC4KCjIwMTQtMDItMTggMjI6MzU6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJICBpc29tcDRtdXg6IGZpeCBjb3B5IGFuZCBwYXN0ZQoJICBUaGlzIGZpeGVzIGRvYyB3YXJuaW5ncy4KCjIwMTQtMDItMTggMjE6NDQ6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgZG9jczogdXNlIHRoZSBndGstZG9jIHN5bnRheCB0byBsaW5rIHRvIHByb3BlcnRpZXMKCSAgRG9uJ3QgdXNlIGRvY2Jvb2sgdW5sZXNzIG5lZWRlZC4gQWxzbyBzdGlwIG90aGVyIGRvY2Jvb2sgdGFncyBpbiB0aGUgdGhlIGZpbGVzIHdlIGZpeC4KCjIwMTQtMDItMTggMTE6Mjg6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNyYXNoIHdoZW4gZ2V0dGluZyB0aGUgY3VycmVudC1kZXZpY2UgaW4gTlVMTC0+UkVBRFkKCSAgVGhlICJnb3RvIHVubG9jayIgaXMgd3JvbmcgYXMgaW4gdGhpcyBjb2RlIHBhdGggd2UgaGF2ZW4ndCB0YWtlIHRoZSBsb2NrIHlldC4KCSAgRml4ZXMgIzcyNDYxOQoKMjAxNC0wMi0xNCAyMjo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291cDogV2UgbmVlZCBsaWJzb3VwID49IDIuNDAgZm9yIHByb3BlciB1c2FnZSBvZiB0aGUgY29udGVudCBkZWNvZGVyCgkgIFByZXZpb3VzIHZlcnNpb25zIGRpZCBub3QgY29uc2lkZXIgb3VyIGNodW5rIGFsbG9jYXRvciBhbmQgYWxsb2NhdGVkCgkgIG1lbW9yeSBieSB0aGVtc2VsdmVzLCB3aGljaCBjYXVzZWQgY3Jhc2hlcyBhbmQgYnJva2VuIGJlaGF2aW91ci4KCjIwMTQtMDItMTQgMTU6Mjc6MjAgLTA1MDAgIFdpbGxpYW0gSm9uIE1jQ2FubiA8d2lsbGlhbS5qb24ubWNjYW5uQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IGZpeCBtaXNtYXRjaGVkIHBhcmEgdGFncwoJICBuZXdlciBndGtkb2MgaXMgbW9yZSBzZW5zaXRpdmUgdG8gbWlzbWF0Y2hlZCBkb2Nib29rIHRhZ3MuCgkgIFRoaXMgZml4ZXMgdGhlIGJ1aWxkIGluIG1hc3Rlci4KCjIwMTQtMDItMTQgMTU6NTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIHNlcmlhbGl6ZWQgcXVlcmllcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg1MAoKMjAxNC0wMi0xNCAxNTo1Mzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IHR5cGVjYXN0IHRvIGZpeCBjb21waWxhdGlvbgoKMjAxNC0wMi0xNCAxMjowMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHByb3h5IGNhcHMgYW5kIGFsbG9jYXRpb24gb24gUlRQIHBhZHMKCSAgcmVjdl9ydHBfc2luazogYWxsb3cgcHJveHlpbmcgb2YgdGhlIGFsbG9jYXRpb24gcXVlcnkuCgkgIHNlbmRfcnRwX3Npbms6IGFsbG93IHByb3h5aW5nIG9mIGNhcHMgYW5kIGFsbG9jYXRpb24uIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHF1ZXJ5IGNhcHMgZG93bnN0cmVhbSBhcyB3ZWxsIGFzIGdldCBhbiBhbGxvY2F0b3IgZnJvbSBkb3duc3RyZWFtLgoJICBzZW5kX3J0cF9zcmM6IGFsbG93IHByb3h5IG9mIGNhcHMsIHRoaXMgbWFrZXMgdGhlIGNhcHMgcXVlcnkgZG8KCSAgdXBzdHJlYW0uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODUwCgoyMDE0LTAyLTEzIDEyOjI5OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgdGFncyBpbiBtYWMgZW5jb2RpbmcKCSAgQ2hlY2sgdGhlIGNoYXJzZXQgZnJvbSAoQykqKiogdGFncyBhbmQgc2V0IHRoZSBjaGFyc2V0CgkgIHRvIGNvbnZlcnQgZnJvbSBNQUMgZW5jb2RpbmcgaWYgc3VpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxNjYKCjIwMTQtMDItMTMgMTI6MDk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIG5ldyBhdXRvbWF0aWNfZW9zIEFQSSBmcm9tIGJhc2VzcmMKCSAgV2Ugd2FudCB0byBub3RpY2Ugb3Vyc2VsdmVzIHRoYXQgd2UncmUgRU9TLiBPdGhlcndpc2Ugd2Ugd2lsbAoJICBhbHdheXMgY2FuY2VsIHJlcXVlc3RzIGluIHRoZSB2ZXJ5IGVuZCBhbmQgY29uZnVzZSB0aGUgc2VydmVyLi4uCgkgIGFuZCBhbHNvIG1ha2UgaXQgaW1wb3NzaWJsZSB0byB1c2UgcGVyc2lzdGVudCBjb25uZWN0aW9ucy4KCjIwMTQtMDItMTMgMTE6MTE6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ29uc2lzdGVudGx5IHVzZSBoYXZlX3NpemUgaW5zdGVhZCBvZiBjb250ZW50X3NpemUhPTAKCjIwMTQtMDItMTMgMTA6MzA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRnJlZSBleHRyYSBoZWFkZXJzIHdoZW4gZmluYWxpemluZyB0aGUgZWxlbWVudAoJICBJdCdzIHNldCBhcyBwcm9wZXJ0eSBieSB0aGUgYXBwbGljYXRpb24sIHdlIHNob3VsZCBub3QganVzdCByZXNldAoJICBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWS4KCjIwMTQtMDItMTMgMTA6Mjg6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogUHJvcGVybHkgY2xvc2UgdGhlIHNlc3Npb24gd2hlbiBnb2luZyBiYWNrIHRvIE5VTEwKCSAgRG9uJ3Qgd2FpdCBmb3IgdGhhdCB1bnRpbCB0aGUgZWxlbWVudCBpcyBkaXNwb3NlZC4KCjIwMTMtMDItMjggMTI6MjA6NTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHN1cHBvcnQgZm9yIGtlZXAtYWxpdmUgc2Vzc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNgoKMjAxNC0wMi0xMiAxMzowMDoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgImNvbXByZXNzIiBwcm9wZXJ0eSB0byBlbmFibGUvZGlzYWJsZSBhdXRvbWF0aWMgZ3ppcC9kZWZsYXRlIGNvbnRlbnQgZW5jb2RpbmcgaGFuZGxpbmcKCjIwMTQtMDItMTIgMTI6Mzk6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogUmV0cnkgY29ubmVjdGlvbiBpZiB3ZSdyZSBmaW5pc2hlZCBiZWZvcmUgdGhlIGNvbnRlbnQgc2l6ZSBvbmx5IGlmIHdlIGFjdHVhbGx5IGhhdmUgYSBjb250ZW50IHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE4NQoKMjAxNC0wMi0xMiAxMDowODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5jOgoJICBzb3VwdXRpbHM6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHNvdXB1dGlscy5jOjM1OjI1OiBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCA5IHdpdGggZXhwcmVzc2lvbiBvZiB0eXBlCgkgICdTb3VwTG9nZ2VyTG9nTGV2ZWwnIGlzIGFsd2F5cyBmYWxzZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZV0KCjIwMTQtMDEtMDcgMjM6MDA6NTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuYzoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmg6CgkgIHNvdXBodHRwKjogYWRkIGFiaWxpdHkgdG8gZG8gSFRUUCBzZXNzaW9uIGxvZ2dpbmcKCSAgVGhpcyBjaGFuZ2VzZXQgYWRkcyB0aGUgbG9nZ2luIGluZnJhc3RydWN0dXJlIGFuZAoJICBtb2RzIGJvdGggc291cGh0dHBzcmMgYW5kIHNvdXBodHRjbGllbnRzaW5rIHRvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTc2NAoKMjAxNC0wMi0wNyAxNDowMDoxNSArMDEwMCAgZGl2aGFlcmUgPGRpcmsudmFuaGFlcmVuYm9yZ2hAdWdlbnQuYmU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogYWRkIHN1cHBvcnQgZm9yIEdSQVk4LCBCR1IgYW5kIFJHQiB2aWRlbyBjb2xvdXJzcGFjZXMgaW4gVl9VTkNPTVBSRVNTRUQgY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg0OQoKMjAxNC0wMi0xMSAxMzoyNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBZGQgbWFwcGluZyBmb3IgTk9UX0ZPVU5EIGFuZCBOT1RfQVVUSE9SSVpFRCBlcnJvcnMKCjIwMTQtMDItMTEgMTM6MjU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZHVwbGljYXRlIHN0YXR1c19jb2RlIHRvIEdTdHJlYW1lciBlcnJvciBtYXBwaW5nCgoyMDE0LTAyLTA5IDIzOjM4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmM6CgkgIGdvb206IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDE0LTAyLTA5IDIzOjIxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIGZ1bmN0aW9ucyB1c2VkIG9ubHkgZnJvbSB0aGUgY29tbWVudGVkIG91dCBwdWxsLW1vZGUgY29kZQoKMjAxNC0wMi0wOCAyMTowMTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggYW5vdGhlciBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTA4IDE3OjQzOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBpbXBsaWNpdCBlbnVtIGNvbnZlcnNpb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUKCSAgJ1NvdXBTdGF0dXMnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdTb3VwS25vd25TdGF0dXNDb2RlJwoKMjAxNC0wMi0wOCAxNzo0MToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdAoJICBlcnJvcjogdmFyaWFibGUgJ21hc2snIGlzIHVzZWQgdW5pbml0aWFsaXplZAoJICB3aGVuZXZlciAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxNzoyNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogdmFyaWFibGUgJ2ltYWdlX3R5cGUnIGlzIHVzZWQgdW5pbml0aWFsaXplZAoJICB3aGVuZXZlciAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxNzoyNToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgb3NzNDogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmQKCSAgZXJyb3I6ICdHU1RfT1NTNF9BVURJT19IJyBpcyB1c2VkIGFzIGEgaGVhZGVyIGd1YXJkIGhlcmUsCgkgIGZvbGxvd2VkIGJ5ICNkZWZpbmUgb2YgYSBkaWZmZXJlbnQgbWFjcm8gWy1XZXJyb3IsLVdoZWFkZXItZ3VhcmRdCgoyMDE0LTAyLTA4IDE3OjI0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICB2YXJpYWJsZSAncnR4X3NzcmMnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlcgoJICAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxNzoyMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgcnRwYWMzZGVwYXk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDItMDggMTc6MTk6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSAgZmx4OiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZAoJICBlcnJvcjogJ19fR1NUX0ZMWF9GTVRfX0hfXycgaXMgdXNlZCBhcyBhIGhlYWRlciBndWFyZCBoZXJlLAoJICBmb2xsb3dlZCBieSAjZGVmaW5lIG9mIGEgZGlmZmVyZW50IG1hY3JvIFstV2Vycm9yLC1XaGVhZGVyLWd1YXJkXQoKMjAxNC0wMi0wNyAxMDowNzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBoYXZlX2R0cyBmbGFnIGZyb20gcGFkcwoJICBJdCB3YXMgdXNlZCBpbiB0aGUgcGFzdCBpbiAwLjEwIHdoZW4gdGhlcmUgd2FzIG5vIGV4cGxpY2l0IERUUwoJICBmaWVsZCBpbiBidWZmZXJzLCBub3cgd2UgaGF2ZSBpdCBpbiAxLnggc2VyaWVzIGFuZCB3ZSBjYW4KCSAgY2hlY2sgaXQgZGlyZWN0bHkgd2l0aCBHU1RfQlVGRkVSX0RUU19JU19WQUxJRAoKMjAxNC0wMi0wNyAwMTo0OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGltcHJvdmUgc3VwcG9ydCBmb3Igc3BhcnNlIHN0cmVhbXMKCSAgRG8gbm90IHRyeSB0byB1c2Ugc3Vic2VxdWVudCBidWZmZXIgdGltZXN0YW1wcyB0byBjYWxjdWxhdGUKCSAgc3BhcnNlIHN0cmVhbXMgZHVyYXRpb25zIGJlY2F1c2UgdGhlIHN0cmVhbSBpcyBzcGFyc2UgYW5kCgkgIHRoZSBidWZmZXJzIG1pZ2h0IG5vdCBiZSAndGltZSBhZGphY2VudCcuIFNvIHJlbHkgb24gdGhlCgkgIGR1cmF0aW9uIGFuZCBnaXZlIHRoZSBvcHRpb24gdG8gdGhlIHBhZCB0byBwcm92aWRlCgkgIGN1c3RvbSAnZW1wdHknIGJ1ZmZlcnMgdG8gcmVwcmVzZW50IHRoZSBnYXBzIGluIHRoZQoJICBzdHJlYW0sIHRoaXMgY2FuIHZhcnkgb24gaG93IHRoZSBkYXRhIGlzIHJlcHJlc2VudGVkLgoJICBSaWdodCBub3csIHRoZSBvbmx5IHNwYXJzZSBzdHJlYW0gc3VwcG9ydGVkIGlzIHR4M2cgc3VidGl0bGVzLgoKMjAxNC0wMi0wNiAxMjoxNToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBzdXBwb3J0IGZvciB0ZXh0L3gtcmF3IHN1YnRpdGxlcwoJICBBZGRzIGl0IHRvIG1wNG11eCwgcXRtdXggYW5kIGdwcG11eC4KCSAgQnVmZmVycyBuZWVkIHRvIGJlIHByZWZpeGVkIHdpdGggMiBieXRlcyBmb3IgdGhlIHRleHQgbGVuZ3RoIGJlZm9yZQoJICBiZWluZyBtdXhlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMi0wNiAxMjowOTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBzdXBwb3J0IGZvciB0aGUgVFgzRyBhdG9tcwoJICBBZGRzIGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgYW5kIHNldHRpbmcgdmFsdWVzIHJlbGF0ZWQgdG8gdGhlCgkgIHR4M2cgYXRvbSBmb3IgcmF3IHRleHQgc3VidGl0bGUgc3VwcG9ydC4KCSAgUVRGRiBzcGVjIGhhcyBpbmZvcm1hdGlvbiBvbiB0aG9zZSBhdG9tcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAyLTA1IDEwOjI3OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBzdWJ0aXRsZSBzdXBwb3J0IHRvIHF0bXV4bWFwIHN0cnVjdHVyZXMKCSAgYWRkcyBiYXNpYyBzdHVicyBmb3Igc3VidGl0bGUgc3VwcG9ydCBhcm91bmQgdGhlIHF0bXV4IGFuZAoJICBxdG11eG1hcCBzdHJ1Y3R1cmVzLiBTdGlsbCBubyByZWFsIHN1YnRpdGxlIGltcGxlbWVudGVkLCBidXQKCSAgYmFzaWMgZnVuY3Rpb25zIGluIHBsYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDEtMjAgMTc6MzE6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogZmFjdG9yIG91dCByZWFkIGNvbnRleHQgaW5pdC9yZXNldAoJICBXaGlsZSBhdCB0aGlzLCBtb3ZlIF90cmFja19yZXNldCgpIHRvIHRyYWNrLWlkcwoJICBzbyBpdCBjYW4gYmUgY2FsbGVkIGZyb20gdGhlIGNvbW1vbiByZWFkIGNvbnRleHQKCSAgcmVzZXQgcm91dGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjcwNQoKMjAxNC0wMi0wNiAxMjoyMTowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgZWZmZWN0djogZml4IGRvYyBzZWN0aW9uIG9mIHJldnR2IGVsZW1lbnQKCjIwMTQtMDItMDUgMTI6NDY6NTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvOiBGaXggbGlidG9vbCB1c2FnZQoJICAtLXRhZz1DQyBpcyBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZAoKMjAxNC0wMS0xNiAxMToyNjo0MSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZG8gbm90IHRyeSBzZXQgZGVpbnRlcmxhY2UgbWV0aG9kIGlmIHBhc3N0aHJvdWdoIGlzIGVuYWJsZWQKCSAgRml4ZXMgYW4gaXNzdWUgd2l0aCBwcm9ncmVzc2l2ZSBjb250ZW50IGFuZCB1bnN1cHBvcnRlZCB2aWRlbyBmb3JtYXRzCgkgIGZvciB0aGUgZGVpbnRlcmxhY2UgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjM2CgoyMDE0LTAyLTA0IDIxOjI2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvcmRlciBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcyBieSBwcmVmZXJlbmNlCgkgIFRvIG1pbmltaXNlIHJpc2sgb2YgYmFkIGZpeGF0aW9uLCB0aG91Z2ggYXVkaW9jb252ZXJ0CgkgIGF0IGxlYXN0IHNob3VsZCBiZSBzbWFydCBlbm91Z2ggdG8gYXZvaWQgaXQuCgoyMDE0LTAyLTAyIDA5OjU3OjAzIC0wODAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyOiBSZW1vdmUgb2Jzb2xldGUgZGVmaW5pdGlvbiBHU1RfVjRMMl9NSVNTSU5HX0JVRkRFQ0wKCSAgVGhlIG9ubHkgdXNlIHdhcyByZW1vdmVkIGJ5IDllZGMwYzAzNjVmNzlhYjA3ZmYyZTY1NDYxYzY2OTZlMzkzMWEzZjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoKMjAxNC0wMi0wNCAxMzo0Mzo1NiArMDEwMCAgUmFmYcWCIE11xbx5xYJvIDxnYWx0Z2VuZG9AbzIucGw+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgZ3N0OiBEb24ndCB1c2UgZW5kaWFubmVzcy1zcGVjaWZpYyBTOCBhdWRpbyBmb3JtYXQKCSAgSXQgZG9lcyBub3QgZXhpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzMzEKCjIwMTQtMDEtMzEgMTQ6MTc6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IGFkZCBzdXBwb3J0IGZvciBSR0IxNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjg5CgoyMDE0LTAxLTMwIDA5OjQzOjUwICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IEZpeCBjb25zdGFudGx5IGdyb3dpbmcgdXNlZCB1aWQgbGlzdAoJICBNb3ZlcyB0aGUgdXNlZCB1aWQgbGlzdCB0byB0aGUgY2xhc3MgdG8gYXZvaWQgaGF2aW5nIGl0IGdyb3cgZm9yZXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI2OQoKMjAxNC0wMS0zMCAxMDo0NDowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDQ4YmVkMyB0byAxYTA3ZGE5CgoyMDE0LTAxLTI0IDAxOjUyOjA4ICswMDAwICBNaWtlIFNoZWxkb24gPGVsbGVvQGdudS5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IElnbm9yZSBCcm9hZGNhc3QgV2F2ZSBGb3JtYXQgKEJXRikgdGFncyB3aGVuIHNlYXJjaGluZyBmb3IgJ2ZtdCcgY2h1bmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzEyNQoKMjAxNC0wMS0yOSAxMDozNzo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICBjaGVjazogVXNlIGZha2VzaW5rIHN5bmM9VHJ1ZSBpbnN0ZWFkIG9mIGFuIGF1ZGlvIHNpbmsKCSAgRW5zdXJlcyB0aGUgdGVzdCBjYW4gcnVuIG9uIHN5c3RlbXMgd2l0aG91dCBhbHNhIChvciBhbnkgYXVkaW8gb3V0cHV0IGZvcgoJICB0aGF0IG1hdHRlciksIGFuZCB3aWxsIGF2b2lkIHBlb3BsZSBydW5uaW5nIGJ1aWxkIHNsYXZlcyB3b25kZXJpbmcgd2hhdAoJICB0aGUgaGVsbCB3YXMgYmVlcGluZyBkdXJpbmcgdGhlIG5pZ2h0IDopCgoyMDE0LTAxLTI3IDIwOjA1OjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjdXN0b20gZ2V0X3NpbmtfY2FwcyBoYW5kbGluZyBmb3IgcHJpdmF0ZSBzdHJlYW0gY2FwcwoJICAuLi4gbm93IHRoYXQgdGhvc2UgYXJlIHRyYW5zZm9ybWVkIHJhdGhlciB0aGFuIHBhcnNlZCwgc29tZSB0cmFuc2Zvcm1pbmcKCSAgb2YgY2FwcyBpcyByZXF1aXJlZCBhcyB3ZWxsIHRvIG1ha2UgYXV0by1wbHVnZ2luZyBzdWNjZWVkLgoKMjAxNC0wMS0yNSAwMjowNjowMCAtMDUwMCAgUnlhbiBMb3J0aWUgPGRlc3J0QGRlc3J0LmNhPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBndWFyZCB1c2Ugb2YgRU5PREFUQSB3aXRoICNpZmRlZgoJICBOb3QgYWxsIHN5c3RlbXMgd2l0aCB2NGwgaGF2ZSBFTk9EQVRBIGRlZmluZWQsIHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBpdAoJICBiZWZvcmUgYXR0ZW1wdGluZyB0byB1c2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI5NTMKCjIwMTQtMDEtMjQgMTI6Mzc6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUmV2ZXJ0ICJydHNwc3JjOiBQcm94eSBydHBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWY3YjExMjhiMWYwMGEyYjg3YTIzMmZmODkwODY3NTQ5YWI5NWJhNS4KCSAgVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGJlIHJ0c3BzcmMgaWYgdGhlIEFWUEYgcHJvZmlsZQoJICBpcyB1c2VkLCBhbmQgbWFudWFsIGVuYWJsaW5nIG9mIGl0IGNhbiBiZSBkb25lIHdpdGggdGhlIG5ldy1tYW5hZ2VyCgkgIHNpZ25hbC4KCjIwMTQtMDEtMjQgMTA6MjE6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBuZXcgbWFuYWdlcgoJICBTbyB0aGF0IHlvdSBjYW4gY29uZmlndXJlIGFuZCBjb25uZWN0IHRvIHNpZ25hbHMgb24gdGhlIHJ0cGJpbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI4NjYKCjIwMTQtMDEtMjMgMTU6MTc6NTggLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHJ0cGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyODY2CgoyMDE0LTAxLTIxIDE3OjUyOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGhhbmRsZSBleHBlY3RlZCBwYWNrZXQgYmVpbmcgYW4gUlRYIHBhY2tldAoJICBJZiB0aGUgZXhwZWN0ZWQgcGFja2V0IChkb19uZXh0X3NlcW51bSBpcyBUUlVFKSBpcyB0aGUgb25lIHdlIHJlcXVlc3RlZAoJICBmb3IgcmV0cmFubWlzc2lvbiBlYXJsaWVyLCBkbyB0aGUgbG9naWMgdG8gdXBkYXRlIHRoZSByZXRyYW5zbWlzc2lvbgoJICBzdGF0aXN0aWNzIGFzIHdlbGwgYmVmb3JlIHNldHRpbmcgdXAgdGhlIHRpbWVycyBmb3IgdGhlIG5leHQgZXhwZWN0ZWQKCSAgcGFja2V0LgoJICBBbHNvIHJlc2V0IHRoZSByZXRyYW5zbWlzc2lvbiBjb3VudGVyIGlmIHRoZSB0aW1lciBpcyByZXVzZWQgZm9yIGFub3RoZXIKCSAgc2VxbnVtLgoKMjAxNC0wMS0yMSAxNTo0ODoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgYSBjYXBzIGFjY3VtdWxhdG9yIGZvciB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsCgkgIEFkZCBhbiBhY2N1bXVsYXRvciB0aGF0IHN0b3BzIHRoZSBzaWduYWwgZW1pc3Npb24gYXMgc29vbiBhcyBhIGNhcHMgaGFzCgkgIGJlZW4gcmV0cmlldmVkLiBPdGhlcndpc2UgdGhlIGRlZmF1bHQgaGFuZGxlciB3b3VsZCBjb250aW51ZSBlbWl0dGluZwoJICB0aGUgc2lnbmFsIGFuZCBwb3NzaWJseSBvdmVyd3JpdGUgdGhlIHJlc3VsdCB3aXRoIE5VTEwgYWdhaW4uCgoyMDE0LTAxLTIxIDE1OjI1OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnR4cmVjZWl2ZTogY29weSBmbGFncyBhbmQgdGltZXN0YW1wcyBmcm9tIG9yaWdpbmFsIGJ1ZmZlcgoKMjAxNC0wMS0yMSAxNToyNDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpZ25vcmUgaW52YWxpZCB0aW1lc3RhbXBzIGluIHJ0dCBjYWxjdWxhdGlvbgoJICBXaGVuIHRoZSBpbnB1dCBidWZmZXIgZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcCwgZG9uJ3QgdHJ5IHRvCgkgIGNhbGN1bGF0ZSB0aGUgcm91bmQtdHJpcC10aW1lLgoKMjAxNC0wMS0xNiAxNDoyMzoxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FwYXJzZTogYmV0dGVyIGRlZmF1bHQgY2FwcyB3aGVuIG5vbmUgc2V0CgkgIFVzZXMgaW5mb3JtYXRpb24gZ2F0aGVyZWQgZHVyaW5nIEVCTUwgcGFyc2luZyB0bwoJICBmb3JnZSBhIG1vcmUgc3VpdGFibGUgc2V0IG9mIGNhcHMgaW5zdGVhZCBvZiBibGluZGx5CgkgIGFzc3VtaW5nIGV2ZXJ5dGhpbmcgaXMgdmlkZW8veC1tYXRyb3NrYS4KCSAgRm9yIGNvbnNpc3RlbmN5LCBzdHJlYW0gdHlwZSByZXNldCB3YXMgYWRkZWQgdG8KCSAgbWF0cm9za2EtZGVtdXggdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzExCgoyMDE0LTAxLTE1IDE3OjI5OjM1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uOiByZW1vdmUgdXNlbGVzcyBjb2RlIGZvciB0cmlnZ2VyaW5nIHJldHJhbnNtaXNzaW9uCgkgIFRoZXJlIGlzIG5vIG5lZWQgYW55bW9yZSB0byBwdXNoIHlldCBhbm90aGVyIGJ1ZmZlciBpbiBydHhzZW5kCgkgIGluIG9yZGVyIHRvIHRyaWdnZXIgdGhlIHByZXZpb3VzbHkgcmVxdWVzdGVkIHJldHJhbnNtaXNzaW9ucwoJICB0byBhY3R1YWxseSBoYXBwZW4uCgoyMDE0LTAxLTE1IDE3OjI3OjE5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMTc6MTc6NTcgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhzZW5kZXJfcGFja2V0X3JldGVudGlvbjogZml4IHJhY2UgY29uZGl0aW9uCgkgIE5vdyB3aXRoIHJ0cHJ0eHNlbmQgcHVzaGluZyBydHggYnVmZmVycyBmcm9tIGEgZGlmZmVyZW50IHRocmVhZCwKCSAgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpcyBkZXRlcm1pbmlzdGljLgoJICBUaGlzIGNvZGUgbWFrZXMgdXNlIG9mIEdzdENoZWNrJ3MgZ2xvYmFsIEdNdXRleCBhbmQgR0NvbmQgdGhhdCBhcmUKCSAgYmVpbmcgdXNlZCBpbnNpZGUgR3N0Q2hlY2sncyBzaW5rIHBhZCBjaGFpbigpIGZ1bmN0aW9uIGluIG9yZGVyCgkgIHRvIHN5bmNocm9uaXplIHdpdGggaXQuCgoyMDE0LTAxLTE1IDExOjI2OjMzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcHVzaF9mb3J3YXJkX3NlcTogZml4IHJhY2UgY29uZGl0aW9uCgkgIE5vdyB3aXRoIHJ0cHJ0eHNlbmQgcHVzaGluZyBydHggYnVmZmVycyBmcm9tIGEgZGlmZmVyZW50IHRocmVhZCwKCSAgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpcyBkZXRlcm1pbmlzdGljLgoJICBUaGlzIGNvZGUgbWFrZXMgdXNlIG9mIEdzdENoZWNrJ3MgZ2xvYmFsIEdNdXRleCBhbmQgR0NvbmQgdGhhdCBhcmUKCSAgYmVpbmcgdXNlZCBpbnNpZGUgR3N0Q2hlY2sncyBzaW5rIHBhZCBjaGFpbigpIGZ1bmN0aW9uIGluIG9yZGVyCgkgIHRvIHN5bmNocm9uaXplIHdpdGggaXQuCgoyMDE0LTAxLTE1IDA5OjQ3OjAzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcHVzaF9mb3J3YXJkX3NlcTogZml4IGJ1ZmZlciByZWZjb3VudGluZwoKMjAxNC0wMS0yMSAxMzo0MjozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogZW5zdXJlIHRoYXQgbm8gcnR4IGJ1ZmZlcnMgYXJlIHNlbnQgYWZ0ZXIgRU9TCgkgIFRvIGRvIHRoYXQsIGVucXVldWUgdGhlIEVPUyBldmVudCB0byBiZSBzZW50IGZyb20gdGhlIHNyY3BhZCB0YXNrCgkgIHRocmVhZCBhbmQgZmx1c2ggdGhlIHF1ZXVlIHJpZ2h0IGFmdGVyd2FyZHMsIHNvIHRoYXQgbm8gbW9yZSBydHgKCSAgYnVmZmVycyBjYW4gYmUgc2VudCwgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSByZXF1ZXN0cyBjb21pbmcgaW4uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzNzAKCjIwMTQtMDEtMTUgMDk6NDY6MTQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogcnVuIGEgbmV3IEdzdFRhc2sgb24gdGhlIHNyYyBwYWQKCSAgVGhlIHJlYXNvbiBiZWhpbmQgdGhpcyBpcyB0byBtaW5pbWl6ZSB0aGUgcmV0cmFuc21pc3Npb24gZGVsYXkuCgkgIFByZXZpb3VzbHksIHdoZW4gYSBOQUNLIHdhcyByZWNlaXZlZCwgcnRwcnR4c2VuZCB3b3VsZCBwdXQgYQoJICByZXRyYW5zbWlzc2lvbiBwYWNrZXQgaW4gYSBxdWV1ZSBhbmQgaXQgd291bGQgc2VuZCBpdCBmcm9tIGNoYWluKCksCgkgIGkuZS4gb25seSBhZnRlciBhIG5ldyBidWZmZXIgd291bGQgYXJyaXZlLgoJICBUaGlzIHVuZm9ydHVuYXRlbHkgd2FzIGNhdXNpbmcgYmlnIGRlbGF5cywgaW4gdGhlIG9yZGVyIG9mIDYwLTEwMCBtcywKCSAgd2hpY2ggY2FuIGJlIGNyaXRpY2FsIGZvciB0aGUgcmVjZWl2ZXIgc2lkZS4KCSAgQnkgaGF2aW5nIGEgc2VwYXJhdGUgR3N0VGFzayBmb3IgcHVzaGluZyBidWZmZXJzIG91dCBvZiBydHhzZW5kLAoJICB3ZSBjYW4gcHVzaCBidWZmZXJzIG91dCByaWdodCBhZnRlciByZWNlaXZpbmcgdGhlIGV2ZW50LCB3aXRob3V0CgkgIHdhaXRpbmcgZm9yIGNoYWluKCkgdG8gZ2V0IGNhbGxlZC4KCjIwMTQtMDEtMDMgMTc6NDc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBlcnJvciBvdXQgaWYgbm8gY2FwcyB3ZXJlIHJlY2VpdmVkCgkgIEluc3RlYWQgb2YgYXNzdW1pbmcgdGhhdCBpbnB1dCBpcyBvZ2cuCgoyMDE0LTAxLTAzIDE3OjMwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogYWNjZXB0IGF1ZGlvL3dlYm0sIGF1ZGlvL29nZyBhbmQgdmlkZW8vb2dnIGFzIHdlbGwKCSAgVGhvc2UgYXJlIGFkdmVydGlzZWQgaW4gdGhlIHRlbXBsYXRlIGNhcHMsIGJ1dCB0aGUKCSAgc2V0Y2FwcyBoYW5kbGVyIGRpZG4ndCBoYW5kbGUgdGhlbS4gQnV0IHRoZW4gb2dnbXV4CgkgIGFuZCBvZ2dwYXJzZSBhdCBsZWFzdCBmb3Igbm93IHN0aWxsIGFsd2F5cyBvdXRwdXQKCSAgYXBwbGljYXRpb24vb2dnIGFueXdheSwgc28gdGhhdCB3YXNuJ3QgYSByZWFsIHByb2JsZW0uCgoyMDE0LTAxLTIwIDEwOjEyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjQxNAoKMjAxNC0wMS0xOSAxNzo0MDo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiByZXNldCBzb21lIG1vcmUgYXVkaW8gcGFkIGRhdGEgd2hlbiBuZWVkZWQKCjIwMTQtMDEtMTkgMTc6Mzg6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogd3JpdGUgY29ycmVjdCBibG9ja2FsaWduIGZvciB2YnIgYXVkaW8KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDY1OQoKMjAxNC0wMS0xNiAxNzozNjoxMiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkbyBub3QgZHJvcCBzZXJpYWxpemVkIGV2ZW50cyB3aGVuIGxhdGVuY3kgaXMgc2V0CgkgIFNlcmlhbGl6ZWQgZXZlbnRzIGFyZSBub3cgcXVldWVkIGluIHRoZSBqaXR0ZXIgYnVmZmVyLCBzbyB3ZSBkb24ndAoJICB3YW50IHRvIGRyb3AgdGhlbSBldmVuIGxhdGVuY3kgaXMgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzcyCgoyMDEzLTEyLTExIDA5OjM2OjIyICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG9uJ3QgbWFrZSB0aGUgYnVmZmVyIHdyaXRhYmxlIHVubGVzcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzk2CgoyMDEzLTA5LTEyIDE2OjU2OjU2ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHNldCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB3aGVuIGFwcHJvcHJpYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTQKCjIwMTQtMDEtMTcgMDc6NDY6MDkgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRvbid0IHJlZiB0aGUgbmV3bHkgY3JlYXRlZCBhbGxvY2F0b3IKCSAgT3RoZXJ3aXNlIHRoZSBhbGxvY2F0b3Igd2lsbCBuZXZlciBiZSBkZWxldGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjEyCgoyMDE0LTAxLTE1IDIyOjQ3OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHNraXAgYWxsIHZpZGVvIGZyYW1lcyB1bnRpbCB0aGUgZmlyc3Qga2V5ZnJhbWUKCSAgSW5zdGVhZCBkbyBpdCBsaWtlIGFsbCBvdGhlciBkZW11eGVycyBhbmQgbGV0IHBhcnNlcnMgYW5kIGRlY29kZXJzCgkgIGhhbmRsZSB0aGF0LiBUaGUga2V5ZnJhbWUgaW5mb3JtYXRpb24gaW5zaWRlIHRoZSBjb250YWluZXIgbWlnaHQKCSAgYmUgY29tcGxldGVseSB3cm9uZyBsaWtlIGluIHRoZSBzYW1wbGUgZmlsZSBvZiB0aGUgYnVnIHJlcG9ydCwKCSAgYW5kIGlmIGl0IGlzIGNvcnJlY3QgYW5kIHdlIHB1c2ggbm8ga2V5ZnJhbWVzLCB0aGVuIHRoZSBwYXJzZXJzCgkgIGFuZCBkZWNvZGVycyB3aWxsIGhhbmRsZSB0aGF0IHByb3Blcmx5IGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjI3NgoKMjAxNC0wMS0xMyAxMDowODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlbW92ZSBlbHN0X29mZnNldCB2YXJpYWJsZXMKCSAgVGhleSBhcmUgbm90IHVzZWQgYW55bW9yZQoKMjAxNC0wMS0wNiAyMTozNjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtZW1iZXIgcmV2ZXJzZSBwbGF5YmFjayB3aGVuIHZlcmlmeWluZyB0aGUgc2VnbWVudCBlbmQKCSAgQ2hlY2sgaWYgdGhlIHJhdGUgaXMgcG9zaXRpdmUgb3IgbmVnYXRpdmUgdG8gY29ycmVjdGx5IGNvbXBhcmUgdGhlIGN1cnJlbnQKCSAgcG9zaXRpb24gd2l0aCB0aGUgc2VnbWVudCB0byBtYWtlIHJldmVyc2UgcGxheWJhY2sgd29yawoKMjAxNC0wMS0wMyAxMDo1OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGRvIG5vdCBpZ25vcmUgZW1wdHkgc2VnbWVudHMKCSAgTWFrZSBzdXJlIGVtcHR5IHNlZ21lbnRzIGFyZSB1c2VkIGFuZCBwdXNoZWQgd2l0aCBhIGdhcCBldmVudAoJICB0byByZXByZXNlbnQgaXRzIGRhdGEgKG9yIGxhY2sgb2YgaXQpCgkgIEVhY2ggUXRTZWdtZW50IGlzIG1hcHBlZCBpbnRvIGEgR3N0U2VnbWVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nCgkgIG1lZGlhIHJhbmdlLiBGb3IgZW1wdHkgUXRTZWdtZW50cyBhIGdhcCBldmVudCBpcyBwdXNoZWQgaW5zdGVhZAoJICBvZiBHc3RCdWZmZXJzIGFuZCBpdCBhZHZhbmNlcyB0byB0aGUgbmV4dCBRdFNlZ21lbnQuCgkgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggc2Vla3MsIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3RhcnRpbmcKCSAgJ2Jhc2UnIHRvIG1ha2Ugc3VyZSBpdCByZW1haW5zIGNvbnNpc3RlbnRseSBpbmNyZWFzaW5nIHdoZW4KCSAgcHVzaGluZyBuZXcgc2VnbWVudCBldmVudHMuCgkgIEZvciBleGFtcGxlOiBpZiBhIHNlZWsgbWFrZXMgcXRkZW11eCBzdGFydCBmcm9tIDVzLCB0aGUgZmlyc3QKCSAgc2VnbWVudCB3aWxsIGhhdmUgYSBiYXNlPTAuIFdoZW4gdGhlIG5leHQgc2VnbWVudCBpcyBhY3RpdmF0ZWQsCgkgIGl0cyBiYXNlIHRpbWUgd2lsbCBiZSBRdFNlZ21lbnQudGltZSAtIHF0ZGVtdXguc2VnbWVudF9iYXNlIHNvCgkgIHRoYXQgaXQgZG9lc24ndCBpbmNsdWRlIHRoZSBmaXJzdCA1cyB0aGF0IHdlcmVuJ3QgcGxheWVkIGFuZAoJICBzaG91bGRuJ3QgYmUgYWNjb3VudGVkIG9uIHRoZSBydW5uaW5nIHRpbWUKCSAgVGhpcyBwdXJwb3NlZGx5IHdpbGwgcmVtb3ZlIHRoZSBmaXggbWFkZSBmb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI2NCwgYXQgdGhpcwoJICBwb2ludCBpdCB3YXMgZGVjaWRlZCB0byByZXNwZWN0IHRoZSBnYXBzLCBldmVuIGlmIHRoZXkgY2F1c2UKCSAgYSBkZWxheSBvbiBwbGF5YmFjaywgYmVjYXVzZSB0aGF0J3MgdGhlIHdheSB0aGUgZmlsZSB3YXMgY3JhZnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTgzMAoKMjAxMy0xMi0xMiAyMzowNTo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogUmVtb3ZlIHVzYWdlIG9mIHRoZSBzeXN0ZW0gY2xvY2sgZnJvbSB0aGUgcnRwcnR4IHRlc3QKCjIwMTMtMTItMTIgMjM6MjI6NDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHM6IEluaXRpYWwgc2VnbWVudCBpbiBydHBjb2xsaXNpb24gdGVzdAoKMjAxNC0wMS0xNCAxNTo1Njo0MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzLyotcnRwYXV4OiBzcGVjaWZ5IHBheWxvYWQgdHlwZSBhc3NvY2lhdGlvbiBmb3IgdGhlIGF1ZGlvIHN0cmVhbSwgc28gdGhhdCBydHggd29ya3MgYWxzbyBmb3IgYXVkaW8KCjIwMTQtMDEtMTQgMTM6MDg6MTggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSB3cm9uZyBjaGVjayBmb3IgcGF5bG9hZCB0eXBlIG5vdCBoYXZpbmcgYmVlbiBzZXQKCSAgMSkgcHQgY2FuIGJlIGxvd2VyIHRoYW4gOTYKCSAgMikgdGhlcmUgaXMgbm8gcG9pbnQgaW4gY2hlY2tpbmcgdGhhdCBiZWNhdXNlIHJ0cHJ0eHNlbmQgd2lsbCBub3QKCSAgZXZlbiBzdG9yZSBidWZmZXJzIGZvciBwYXlsb2FkIHR5cGVzIHRoYXQgaXQgZG9lc24ndCBrbm93IGFib3V0LAoJICBzbyB0aGlzIGNhc2Ugd2lsbCBuZXZlciBiZSByZWFjaGVkCgoyMDE0LTAxLTE0IDEzOjAxOjQxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBmaXggZGF0YSBsb2NraW5nIHdoZW4gY3JlYXRpbmcgcnR4IHBhY2tldHMKCSAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgY3JlYXRpb24gb2YgcnR4IHBhY2tldHMgdG8gYmUgZG9uZSBlYXJseSwKCSAgaW4gdGhlIHNyY19ldmVudCgpIGZ1bmN0aW9uLCB3aGVuIHRoZXkgYXJlIHJlcXVlc3RlZC4gVGhlIHB1cnBvc2UKCSAgaXMgdG8gcnVuIGdzdF9ydHBfcnR4X2J1ZmZlcl9uZXcoKSB3aXRoIHRoZSBvYmplY3QgbG9ja2VkIHRvCgkgIHByb3RlY3QgaW50ZXJuYWwgZGF0YSwgYmVjYXVzZSBpZiBpdCBpcyBkb25lIGF0IHRoZSBwdXNoaW5nIHN0YWdlLAoJICB3ZSB3b3VsZCBoYXZlIHRvIGxvY2sgYW5kIHVubG9jayBtdWx0aXBsZSB0aW1lcyBpbiBhIHJvdyB3aGlsZSB3ZQoJICBhcmUgcHVzaGluZyB0aGUgcnR4IGJ1ZmZlcnMuCgkgIFByZXZpb3VzbHkgdGhlcmUgd2FzIG5vIGxvY2tpbmcgYXQgYWxsLCB3aGljaCB3YXMgdGVycmlibHkgd3JvbmcuCgoyMDE0LTAxLTE0IDEyOjUwOjIzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBsb2NrIGFjY2VzcyB0byBpbnRlcm5hbCBkYXRhIGluIHNpbmtfZXZlbnQoKSBmdW5jdGlvbgoKMjAxNC0wMS0xNCAxMjo0NDowNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNhbGwgdG8gcmVzZXQoKSBmcm9tIGZpbmFsaXplKCkKCSAgLi4uYW5kIHVzZSBfZnJlZV9mdWxsKCkgb24gdGhlIHBlbmRpbmcgYnVmZmVycyBxdWV1ZSBub3cgdGhhdAoJICByZXNldCgpIGlzIG5vdCBiZWluZyBjYWxsZWQKCjIwMTQtMDEtMTQgMTI6Mzg6NTEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSB1bnVzZWQgcGFyYW1ldGVyIGZyb20gdGhlIGludGVybmFsIHJlc2V0KCkgbWV0aG9kCgoyMDE0LTAxLTE0IDEyOjMyOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBVc2UgZ19zbGljZV8qIGZvciBhbGxvY2F0aW5nIGludGVybmFsIHN0cnVjdHVyZXMKCjIwMTQtMDEtMTQgMTI6Mjg6MDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IHJlbW92ZSBzdHVwaWQgbXV0ZXggdW5sb2NrIGluIHRoZSBtaWRkbGUgb2YgY2hhaW4oKQoKMjAxNC0wMS0xNCAxMjoyNTozNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogdXNlIEdTVF9ERUJVR19PQkpFQ1QgLyBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZiBHU1RfREVCVUcgLyBnX3dhcm5pbmcKCjIwMTQtMDEtMTQgMTI6MTk6NTggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IGZpeCBpbnRlZ2VyIGZvcm1hdCBzcGVjaWZpZXJzIGluIEdTVF9ERUJVRwoJICBzZXFudW0gaW4gdGhpcyBmdW5jdGlvbiBpcyAzMi1iaXQsIHNvIEdfR1VJTlQxNl9GT1JNQVQgd291bGQKCSAgcHJvZHVjZSB1bmRlZmluZWQgb3V0cHV0IG9uIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxNC0wMS0xNCAxMjoxMzo0OSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBjaGFuZ2UgdGhlIHJ0eF9wdF9tYXAgZGlyZWN0bHkgaW4gc2V0X3Byb3BlcnR5KCkgaW5zdGVhZCBvZiBkZWxheWluZyBpdCBmb3IgY2hhaW4oKQoJICBUaGUgc2FtZSBsb2NrIGlzIGhlbGQsIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIGNvbXBsaWNhdGluZyBpdC4uLgoKMjAxNC0wMS0xNCAxMjowNzo1OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiBjaGFuZ2UgdGhlIHJ0eF9wdF9tYXAgZGlyZWN0bHkgaW4gc2V0X3Byb3BlcnR5KCkgaW5zdGVhZCBvZiBkZWxheWluZyBpdCBmb3IgY2hhaW4oKQoJICBUaGUgc2FtZSBsb2NrIGlzIGhlbGQsIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIGNvbXBsaWNhdGluZyBpdC4uLgoKMjAxNC0wMS0xNCAxMTo1NTowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogc2ltcGxpZnkgdGhlIGNvZGUgb2YgZmluYWxpemUoKQoKMjAxNC0wMS0xNCAxMTo1MjoyMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiB1c2UgdGhlIEdzdE9iamVjdCBsb2NrIGluc3RlYWQgb2YgYSBuZXcgb25lCgoyMDE0LTAxLTE0IDExOjQ1OjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZCBvZiBhIG5ldyBvbmUKCjIwMTMtMTItMTAgMTQ6Mjk6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIE5WMTJfNjRaMzIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI3CgoyMDE0LTAxLTE0IDE5OjA4OjQ5ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzaGVscGVyOiBEb24ndCBsZWFrIGZkIHdoZW4gZ2V0dGluZyBjYXJkIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE2MwoKMjAxNC0wMS0xNCAwOTo0MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IHJlbGF4IHRoZSBkZXRlY3Rpb24gb2YgQURUUyIKCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IG1pc3Rha2UgYWxvbmcgd2l0aCB0aGUgVjRMMiBmaXguCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGViNGIwMzJiZWY0NDQzOTdjNGQyMTFmMjA5NWMxNzNiYTExNDE4Ny4KCjIwMTQtMDEtMTQgMTU6NDI6MDEgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgcnRwZzcyNnBheTogZG9uJ3QgbGVhayBlbmNvZGluZ19uYW1lIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU5CgoyMDE0LTAxLTEzIDA5OjE0OjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IGJ1aWxkIGJyZWFrIHVzaW5nIFY0TDJfQ0FQX1ZJREVPX00yTV9NUExBTkUKCSAgVGhpcyBtYXkgbm90IGJlIGRlZmluZWQuIFNpbmNlIHRoZSBwcmV2aW91cyB2ZXJzaW9uIHVzZWQKCSAgb25seSB0aGUgb3RoZXIgZGVmaW5lIChWNEwyX0NBUF9WSURFT19PVVRQVVRfTVBMQU5FKSwgZmFsbAoJICBiYWNrIG9uIHRoaXMgb25seSB3aGVuIG5vdCBhdmFpbGFibGUuCgoyMDEzLTAyLTI3IDAxOjQ1OjUyICswOTAwICBBa2loaXJvIFRzdWthZGEgPGF0c3VrYWRhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHJlbGF4IHRoZSBkZXRlY3Rpb24gb2YgQURUUwoJICBBY2NvcmRpbmcgdG8gSVNPL0lFQyAxMzgxOC03LCAiY2hhbm5lbF9jb25maWciIGZpZWxkIGluIEFEVFMgaGVhZGVyCgkgIG1heSBoYXZlIHZhbHVlIG9mIDAsIGFzIGluIHRoZSBjYXNlIG9mIGZyYW1lIHdpdGggUENFLgoJICBnc3RfYWFjX3BhcnNlX2RldGVjdF9zdHJlYW1zKCkgcmV0dXJuZWQgRkFMU0UgZm9yIHRob3NlIGZyYW1lcwoJICBhbmQgZGlzY2FyZGVkIHRoZW0uCgoyMDE0LTAxLTA3IDExOjU4OjIzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjaGVjayBzZXRfY29uZmlnIHJldHVybiB2YWx1ZSBpbiBnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxMjo0MDozMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgcGFyc2VkPTEgZmllbGQgZm9yIGVuY29kZWQgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMTAgMTI6Mzk6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBlbXB0eSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMDggMTY6NTE6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRvIG5vdCBzdG9wIGEgc3RyZWFtIG5vdCBwcmV2aW91c2x5IHN0YXJ0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNjoyNzoyMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBlbmZvcmNlIGRpbWVuc2lvbiBmaWVsZCBvbiBlbmNvZGVkIGZvcm1hdHMKCSAgRG9uJ3QgZW5mb3JjZSBoYXZpbmcgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlIGluIHRlbXBsYXRlIGNhcHMgZm9yIGVuY29kZWQKCSAgZm9ybWF0cy4gVGhlc2UgZG9uJ3QgYWx3YXlzIG5lZWQgdG8gYmUgZXhwb3NlZCBhbmQgbWF5IGJyZWFrIG5lZ290aWF0aW9uIGZvcgoJICBkZWNvZGVyIGFuZCBkZWNvZGluZyBzaW5rLiBJZiBuZWVkZWQsIHRoZXNlIGZpZWxkIHdpbGwgYmUgYXV0b21hdGljYWxseSBhZGRlZAoJICB3aGVuIHByb2JlZCBjYXBzIGFyZSBrbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNzowOTo1OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHVucmVmIGRvd25zdHJlYW0gcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTE4IDEzOjM3OjIzIC0wNTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBhZGQgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmx1c2gKCSAgU1RSRUFNT0ZGIHNldCBhbGwgdjRsMmJ1ZmZlcnMgdG8gREVRVUVVRSBzdGF0ZS4KCSAgVGhlbiBmb3IgQ0FQVFVSRSB3ZSBjYWxsIFFCVUYgb24gZWFjaCBidWZmZXIuCgkgIEZvciBPVVRQVVQgdGhlIGJ1ZmZlcnMgYXJlIGp1c3QgcHVzaCBiYWNrIGluIHRoZSBHc3RCdWZmZXJQb29sCgkgIGJhc2UgY2xhc3MgJ3MgcXVldWUuCgkgIEJ1dCB0aGUgbG9vcCBhY3R1YWxseSBsb29rcyBsaWtlIHRoZSBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTE2IDE3OjI5OjMwIC0wNTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIHZwOCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTY6NDY6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgZm9yY2UgZnJhbWVyYXRlIGZpZWxkIGZvciBPVVRQVVQKCSAgSWYgdGhlcmUgaXMgbm90aGluZyB0aGF0IHNlZW1zIHRvIGZvcmNlIGEgY2VydGFpbiBmcmFtZXJhdGUgb24gb3V0cHV0IGRldmljZSwgaXQgaXMKCSAgcHJlZmVyYWJsZSB0byBzaW1wbHkgbm90IHNldCB0aGF0IGZlaWxkLiBUaGlzIGFsbG93IG5lZ290aWF0aW9uIHdpdGggdHNkZW11eCBpbiBhCgkgIGRlY29kZXIgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTQ6MDc6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUoKSBjYW4gYmUgc3RhdGljCgkgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHVzZWQgYW55bW9yZSBvdXRzaWRlIHY0bDJvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTQ6MjI6MjYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIE1QRUcxLzIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDEyOjE4OjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFzayBmb3IgYSBkZWNlbnQgYnVmZmVyIHNpemUgd2hlbiBkZWFsaW5nIHdpdGggZW5jb2RlZCBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDcgMTQ6MDM6NTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBPbiB3YXJuIG9uIHNpemUgY2hhbmdlIGlmIG5fcGxhbmVzID4gMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTMxIDE2OjM4OjA5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogY2hlY2sgaWYgdHJhbnNsYXRlZCBmb3JtYXQgaXMgdmFsaWQKCSAgQWxzbyBhZGQgYSBGSVhNRSBpbiBnc3RfdjRsMl9vYmplY3Rfc2V0dXBfZm9ybWF0CgkgIHRvIG5vdGUgdGhhdCB0aGUgd2hvbGUgZnVuY3Rpb24gaGFzIHRvIGJlIGltcHJvdmVkCgkgIGluIG9yZGVyIHRvIHN1cHBvcnQgRU5DT0RFRCBmb3JtYXRzLgoJICBJdCByZXF1aXJlcyB0byBoYXZlIGFuIGVuY29kZXIgZGV2aWNlIHdoaWNoIHdlIGRvIG5vdAoJICBoYXZlIHJpZ2h0IG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNyAxMDozMToxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBWYWxpZGF0ZSByZXR1cm5lZCBkaW1lbnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzY6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIG1heCBpcyBub3Qgc21hbGxlciB0aGVuIG1pbiBpbiBkZWNpZGVfYWxsb2NhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE5OjM2OjA2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGtlZXAgdGhlIG1heCBwYXJhbXRlciB3aGVuIHVzaW5nIG91ciBvd24gcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE5OjM0OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVzcGVjdCB0aGUgc3VnZ2VzdGVkIG1pbiBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0ODo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbGxvY2F0ZSBwb29sIGlmIG5lZWRlZCBpbiBkZWNpZGVfYWxsb2NhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ5OjE5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBWNEwyX0NJRF9NSU5fQlVGRkVSU19GT1JfQ0FQVFVSRSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDg6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IE1vdmUgZGVjaWRlIGFsbG9jYXRpb24gaW50byB2NGwyb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTM6NTE6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBJbXBsZW1lbnQgX3NldHVwX2Zvcm1hdCgpCgkgIFRoaXMgbWV0aG9kIGFsbG93IHNldHRpbmcgdXAgdGhlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBmb3JtYXQgb24gdGhlCgkgIGRldmljZS4gVGhpcyBpcyB1c2VmdWwgZm9yIE0yTSBlbGVtZW50IHdoZXJlIGlucHV0IGRhdGEgZGVjaWRlcyB0aGUgZm9ybWF0IHRoYXQgd2lsbAoJICBiZSBzZXQgb24gY2FwdHVyZSBzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEwIDE0OjM0OjE3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNwbGl0IG91dCBzYXZpbmcgZm9ybWF0IGZyb20gc2V0X2Zvcm1hdCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMzEgMTU6Mzc6MjYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgb25seSBvbmUgcGxhbmUgZm9yIGVuY29kZWQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTY6NDk6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBjb2RlIGJsb2NrIHdoZXJlIGl0IGJlbG9uZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjoyNjoxMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBjaGVjayBmb3JtYXQgc3BlY2lmaWMgaW5mb3JtYXRpb24KCSAgVGhlIG51bWJlciBvZiBwbGFuZSwgYW5kIHRoZSBzdHJpZGUgZG9lcyBub3QgcmVwcmVzZW50IGEgY2FwYWJpbGl0eSBjaGFuZ2UuIFNhbWUgY2FwcwoJICBjYW4gaGF2ZSBkaWZmZXJlbnQgc3RyaWRlIGZyb20gdGhlIGRlZmF1bHQgR3N0VmlkZW9JbmZvIGFuZCB0aGUgbnVtYmVyIG9mIHBsYW5lcyB3aWxsCgkgIG5ldmVyIGNoYW5nZSBmb3IgMSBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTY6MjM6MTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSB0aGUgZXh0cmFwb2xhdGlvbiBvZiBzdHJpZGUgYXQgdGhlIHJpZ2h0IHBsYWNlCgkgIE5vdyB0aGF0IHdlIGhhdmUgYSBzdHJpZGUgYXJyYXksIHdlIHNob3VsZCBleHRyYXBvbGF0ZSBvbmx5IHdoZW4KCSAgZWVkZWQgKG5vbiBtdWx0aS1wbGFuYXIgYnVmZmVyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNTowOTo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIGJhY2sgYXNzZXJ0aW9ucyB3aGVyZSB0aGV5IHNob3VsZCBiZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE1OjA5OjEwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgbXBsYW5lIGxvZ2ljIGludG8gZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzX2luZm8oKQoJICBJdCBtYWtlcyB0aGUgZ3N0X3Y0bDJfb2JqZWN0X3NldF9mb3JtYXQoKSBzbGlnaHRseSBzaW1wbGllciBhbmQgd2lsbCBtYWtlIHRoYXQKCSAgbG9naWMgcmV1c2FibGUuIE5vdGUgdGhhdCBnc3RfdjRsMl9vYmplY3RfaGFzX21wbGFuZSgpIHdpbGwgYWx3YXlzIHJldHVybiB0aGUKCSAgc2FtZSB2YWx1ZSBmb3Igb25lIGRldmljZS4gVGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBhZ2FpbnN0IHRoZSBjYXBzIGFzIHRoaXMKCSAgaGFzIGFscmVhZHkgYmVlbiBkb25lIGJ5IF9vcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAzIDE4OjI3OjQ3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3BsaXQgX3Y0bDJmb3VyY2NfdG9fdmlkZW9fZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDIgMTg6MDU6MTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXF1ZXN0IGJ1ZmZlcnMgb25seSBvbmNlCgkgIFZJRElPQ19SRVFCVUZTIGFsbG9jYXRlcyBidWZmZXIsIGl0IGhhcyBubyBwbGFjZSBpbnNpZGUgc2V0X2NvbmZpZy4gQWxzbywgc29tZSBkcml2ZXIgZG8KCSAgbm8gYWxsb3cgbXVsdGlwbGUgY2FsbHMgdG8gdGhpcyBpb2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMiAxNToyNjo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCB2YWxpZGF0ZSBkaW1lbnNpb24gZm9yIGVuY29kZWQgZm9ybWF0CgkgIFdlIHNldCB0aGUgZGltZW5zaW9ucyBqdXN0IGluIGNhc2UgYnV0IGRvbid0IHZhbGlkYXRlIHRoZW0KCSAgYWZ0ZXJ3YXJkcy4gRm9yIHNvbWUgY29kZWNzIHRoZSBkaW1lbnNpb25zIGFyZSAqbm90KiBpbiB0aGUKCSAgYml0c3RyZWFtLCBJSVJDIFZDMSBpbiBBU0YgbW9kZSBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzoxMDoyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFF1aXJrcyBmb3IgZGV2IHdpdGhvdXQgaW5pdGlhbCBmb3JtYXQKCSAgTW9zdCBNMk0gaGF2ZSB1bmRlZmluZWQgYmVoYXZpb3VyIGluaXRpYWxseSB3aGVuIFZJRElPQ19HX0ZNVCBpcyBjYWxsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTc6MDk6MjYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBBZGQgZ3N0X3Y0bDJfb2JqZWN0X29wZW5fc2hhcmVkKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzowNzowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDJvYmplY3Q6IEltcGxlbWVudCBnc3RfdjRsMl9kdXAoKQoJICBUaGlzIHdpbGwgZHVwbGljYXRlZCB0aGUgRkQgZnJvbSBhbm90aGVyIG9iamVjdCBhbmQgY29weSBvdmVyIHRoZSBwcm9iZWQgcmVzdWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE2OjU5OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogbWFrZSBJT19NT0RFIGVudW0gcHVibGljCgkgIFRoaXMgaXMgdG8gYWxsb3cgYWRkaW5nIGEgc2Vjb25kIGlvLW1vZGUgcHJvcGVydHkgb24gTTJNIGRldmljZSBsaWtlIGRlY29kZXIgc28KCSAgaW5wdXQgYW5kIG91dHB1dCBjYW4gYmUgY29udHJvbGxlZCBzZXBhcmF0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMDYtMDQgMjM6NDI6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYmV0dGVyIGhhbmRsZSBxdWlya3MgYWN0aXZhdGlvbgoJICBUaGlzIHdheSB3ZSBjYW4gYWN0aXZhdGUgZGVhY3RpdmF0ZSB0aG9zZSBxdWlya3MgYWxsIGF0IG9uY2UgYXQgb25lCgkgIHBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTA2LTA0IDIzOjM0OjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRml4IGgyNjQgY2FwcwoJICBWNEwyX1BJWF9GTVRfSDI2NCBpcyBkb2N1bWVudGF0ZWQgYXMgYnl0ZS1zdHJlYW0gKHdpdGggc3RhcnQgY29kZSkuIFRoZSBlbnN1cmUgcHJvcGVyCgkgIG5lZ290aWF0aW9uIHdpdGggZWxlbWVudCBsaWtlIGgyNjRwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNiAxNDo0NDo1MSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNwbGl0IGNhcHMgaW4gZGlmZmVyZW50IGNhdGVnb3JpZXMKCSAgVGhpcyBpcyBuZWVkIHRvIGNvcnJlY3RseSBleHBvc2UgY2FwYWJpbGl0aWVzIG9uIHNwZWNpYWxpemVkIGRldmljZXMKCSAgbGlrZSBkZWNvZGVycyBhbmQgZW5jb2RlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMTAgMTQ6MTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBUT0MgY2hhcHRlciBsaXN0CgoyMDE0LTAxLTEwIDA4OjUyOjE2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBvYnNvbGV0ZSB3cml0ZS1kdW1teS1hbmQtb3ZlcndyaXRlLW9uLWVvcyBjb2RlCgkgIFRoZSBuZWVkIGZvciByZXdyaXRpbmcgYXBwYXJlbnRseSBpcyBvYnNvbGV0ZSAwLjEwIGxlZnRvdmVyLgoJICBXZSBub3cgaGF2ZSBjYXBzIGZvciBzdWJ0aXRsZXMgd2hlbiB3ZSBjcmVhdGUgdGhlIGhlYWRlcnMsCgkgIHNvIHdlIGFsd2F5cyB3cml0ZSB0aGUgY29ycmVjdCBkYXRhIGluIHRoZSBmaXJzdCBwbGFjZS4KCjIwMTQtMDEtMDkgMjM6NTU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSBDSUQgMTE1MTY4MAoKMjAxNC0wMS0wOSAxODoyNTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB3cml0ZSBzdWJ0aXRsZSBjb2RlYyBJRCBhbmQgZGF0YSBhdCBzdGFydCB3aGVuIGtub3duCgkgIFRoaXMgYXZvaWRzIGlzc3VlcyB3aXRoIHdyaXRpbmcgZHVtbXkgZGF0YSBmaXJzdCwgdGhlbiBoYXZpbmcKCSAgdG8gY29tZSBiYWNrIGFuZCB3cml0ZSBjb3JyZWN0IGRhdGEgbGF0ZXIuIERvaW5nIHNvIHByZXZlbnRzCgkgIHRoZSBtdXhlZCBzdHJlYW0gZnJvbSBiZWluZyBhY3R1YWxseSBzdHJlYW1hYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMTM0CgoyMDE0LTAxLTA5IDE3OjMyOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEluY2x1ZGUgQXZhaWxhYmlsaXR5TWFjcm9zLmggZm9yIG9zeHZpZGVvIGNoZWNrCgkgIE90aGVyd2lzZSBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCBtaWdodCBub3QgYmUgZGVmaW5lZAoKMjAxNC0wMS0wOSAxMTo1NjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSAgcXRtdXg6IHJlc3BlY3QgdGhlIEhETFIgYm94IHN0cmluZyBmb3JtYXQgZm9yIG1vdiBhbmQgaXNvbWVkaWEKCSAgTW92IHNwZWMgc2F5cyBpdCB1c2VzIGEgcGFzY2FsIHN0eWxlIHN0cmluZywgd2hpbGUgaXNvbWVkaWEgdXNlcwoJICBhIG51bGwgdGVybWluYXRlZCBvbmUuIFN0b3JlIHRoZSBjdXJyZW50IGF0b21zIGZsYXZvciBpbnRvIHRoZSBIRExSCgkgIHRvIGJlIGFibGUgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3Qgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTgyCgoyMDE0LTAxLTA4IDExOjI4OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgUmV2ZXJ0ICJtYXRyb3NrYW11eDogVXNlIHRoZSBydW5uaW5nIHRpbWUgZm9yIGNvbnRhaW5lciB0aW1lc3RhbXBzLCBub3QgYnVmZmVyIHRpbWVzdGFtcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjNhYTg3NTVmZTA3NjM5ZjIyZTQxMDRmNDkzMmQ3NjlkNmM5MDc1YS4KCSAgV2UgYXJlIGFscmVhZHkgdXNpbmcgdGhlIHJ1bm5pbmctdGltZSBiZWNhdXNlIHRoZXkgd2VyZSBwbGFjZWQgb24gdGhlCgkgIGJ1ZmZlcnMgd2l0aCBnc3RfY29sbGVjdF9wYWRzX2NsaXBfcnVubmluZ190aW1lKCkuIEFyZ3VhYmx5IGl0IHdvdWxkIGJlCgkgIGJldHRlciB0byBub3QgbW9kaWZ5IHRoZSBpbmNvbW1pbmcgYnVmZmVycyBidXQgY29sbGVjdHBhZHMgc2VlbXMgdG8gd2FudAoJICB0byB1c2UgYWJzb2x1dGUgdGltZXN0YW1wcyBmcm9tIHRoZSBidWZmZXJzIGZvciBmaW5kaW5nIHRoZSBiZXN0IGJ1ZmZlcgoJICAodGhpcyBjYW4gYmUgY2hhbmdlZCB3aXRoIGEgY3VzdG9tIGNvbXBhcmUgZnVuY3Rpb24uLikuCgoyMDE0LTAxLTA4IDEwOjQxOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBBQ19DT01QSUxFX0lGRUxTRSB1c2FnZQoKMjAxNC0wMS0wOCAxMDozMToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4dmlkZW9zaW5rOiBJbXByb3ZlIGNvbmZpZ3VyZSBjaGVjayBmb3IgT1NYID49IDEwLjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxNC0wMS0wNyAxMjoxMzo1MSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgdW51c2VkIGxpc3Qgb2YgZGVjb2RlcnMKCSAgcmVtb3ZlIGxpc3Qgb2YgZGVjb2RlcnMsIHdoaWNoIGFyZSBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGxpc3Qgb2YgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk5MzgKCjIwMTQtMDEtMDggMDk6NDY6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBFcnJvciBvdXQgaWYgQURQQ00gY2FwcyBkb24ndCBjb250YWluIHRoZSBsYXlvdXQgZmllbGQKCjIwMTQtMDEtMDMgMTU6MjU6MjMgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIGc3MjYgQURQQ00KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDk5NQoKMjAxNC0wMS0wNyAxNTowNDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBuZXcgbWV0aG9kIHRvIGdldCBtZWRpYS10eXBlCgkgIFVzZSB0aGUgbmV3IG1ldGhvZCB0byBnZXQgdGhlIG1lZGlhIHR5cGUgb2YgYSB0cmFuc3BvcnQuCgoyMDE0LTAxLTA2IDIxOjEyOjE3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNwbGl0IHRoZSB0ZXN0CgkgIFRoaXMgd2F5IG9uZSBmYWlsdXJlIHdvbid0IHNoYWRvdyB0aGUgb3RoZXIgdGVzdCBhbmQgYWxzbyBpZiBvbmUgZmFpbHMgd2UgZ2V0CgkgIGJldHRlciBkaXNnbm9zdGljcyB0aHJvdWdoIHRoZSB0ZXN0LW5hbWUuCgoyMDE0LTAxLTA2IDE0OjU0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIEhFVkMgLyBoMjY1IHN1cHBvcnQKCjIwMTQtMDEtMDYgMTQ6NTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNiAxMzozNjozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVtb3ZlIGlmZGVmJ2VkIGNvZGUKCSAgV2UgZG8gaGF2ZSBhZHRsIGFuZCBjdWUgcGFyc2UgYXMgcGFydCBvZiB0b2MgaGFuZGxpbmcgYWxyZWRheS4gVGhlIGZtdCBjb2RlIGlzIGEgbGVmdCBvdmVyIGZyb20gPDAuMTAgdGltZXMuCgoyMDE0LTAxLTA2IDEzOjMyOjU4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpZGVtdXgsIHdhdmVwYXJzZTogbW9yZSBsb2dnaW5nIGZvciB1bmhhbmRsZWQgY2h1bmtzCgkgIEFsd2F5cyBwcmludCBhIHdhcm5pbmcgd2l0aCB0aGUgdGFnIGFuZCBpZiBwb3NzaWJsZSBkbyBhIG1lbWR1bXAuCgoyMDE0LTAxLTA1IDIyOjQ3OjQyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZXhwb3NlICdzdHJuJyAtIHN0cmVhbSBuYW1lIC0gYXMgdGl0bGUgdGFnCgoyMDE0LTAxLTA1IDIyOjQxOjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcGFyc2UgZnVqaSBzdHJkCgkgIFdlIGNhbiBnZXQgbWFrZXIsIG1vZGVsIGFuZCBjYXB0dXJlIGRhdGUgZnJvbSB0aGlzIGNodW5rLgoJICBGaXhlcyAjNjM2MTQzCgoyMDE0LTAxLTA1IDIxOjQ2OjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogLi4uIGFuZCB1c2UgdGhlIGxvY2FsIGFwaSBib3RoIHRpbWVzCgoyMDE0LTAxLTA1IDIxOjM4OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY29weSB0aGUgcmlmZiBhcGkgZm9yIG5jZHQgaW50byB0aGUgZWxlbWVudAoJICBUaGlzIGNodW5rIGlzIGF2aSBzcGVjaWZpYywgbm8gbmVlZCB0byBleHBvc2UgdGhpcyBhcyBwdWJsaWMgYXBpLgoKMjAxNC0wMS0wNSAxMDoyODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBtaXNzaW5nIHNlbWljb2xvbiBmcm9tIGxhc3QgY29tbWl0CgoyMDE0LTAxLTA1IDEwOjIyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIHRoZSBydW5uaW5nIHRpbWUgZm9yIGNvbnRhaW5lciB0aW1lc3RhbXBzLCBub3QgYnVmZmVyIHRpbWVzdGFtcHMKCSAgQnVmZmVyIHRpbWVzdGFtcHMgaGF2ZSBubyByZWFsIG1lYW5pbmcgaGVyZSwgYW5kIGZvciBzZWxlY3RpbmcgdGhlIG5leHQKCSAgYnVmZmVyIHdlIGFscmVhZHkgdXNlIHRoZSBydW5uaW5nIHRpbWUgYW55d2F5LgoKMjAxNC0wMS0wNCAyMTozNDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiB1c2UgbmV3IHJpZmYgYXBpIHRvIGV4dHJhY3Qgbmlrb24gbWV0YWRhdGEKCSAgRml4ZXMgIzYzNjE0MwoKMjAxMy0xMS0wMSAxNjo0MTo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICBydHBydHhzZW5kL3J0cHJ0eHJlY2VpdmU6IGdlbmVyYXRlIGd0ayBkb2MKCjIwMTMtMTItMDIgMTE6MjY6MDkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdC9jaGVjazogVmVyaWZ5IHJ0cHJ0eHNlbmQ6OnNzcmMtbWFwIHByb3BlcnR5IHdvcmtzIGFzIGV4cGVjdGVkCgoyMDEzLTExLTI5IDE5OjM1OjQ0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSAgcnRwcnR4cmVjZWl2ZTogbW9kaWZ5IHRvIHVzZSBhIHBheWxvYWQtdHlwZSBtYXAgbGlrZSBydHBydHhzZW5kCgoyMDEzLTExLTI5IDE5OjU4OjI2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBkbyBub3Qga2VlcCBoaXN0b3J5IG9mIHBhY2tldHMgd2l0aCBhbiB1bmtub3duIHBheWxvYWQgdHlwZQoJICBUaGlzIGFsbG93cyB0byBkaXNhYmxlIHJldHJhbnNtaXNzaW9uIHBlciBwYXlsb2FkIHR5cGUgYnkgbm90IHB1dHRpbmcKCSAgYSBjZXJ0YWluIHBheWxvYWQgdHlwZSBpbiB0aGUgbWFwLgoKMjAxNC0wMS0wMiAxNToxODo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgcnRwcnR4c2VuZDogQWxsb3cgU1NSQy1tdWx0aXBsZXhpbmcgYW5kIG11bHRpcGxlIHBheWxvYWQgdHlwZXMgaW4gdGhlIG9yaWdpbmFsIHN0cmVhbQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmMKCjIwMTMtMTEtMjUgMTU6MDA6NDUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IEFkZCBhbiBydHgtc3NyYyBwcm9wZXJ0eSB0byBhbGxvdyBleHRlcm5hbCBjb250cm9sIG9mIHRoZSBzc3JjCgkgIFRoaXMgaXMgdXNlZnVsIHdoZW4gb25lIG5lZWRzIHRvIGtub3cgdGhlIFNTUkMgYmVmb3JlaGFuZHMsIHNvIHRoYXQgaXQgY2FuCgkgIGJlIHVzZWQgZm9yIFNSVFAgZm9yIGV4YW1wbGUuCgoyMDEzLTExLTEzIDE1OjExOjM1IC0wNTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXM6IHJ0cDogQWRkIGVuZC10by1lbmQgcnRwYmluIGV4YW1wbGUgd2l0aCBSVFggZWxlbWVudHMKCSAgVGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlcyBob3cgdG8gdXNlIHJ0cGJpbiB3aXRoIHJldHJhbnNtaXNzaW9uIChydHgpCgkgIGVsZW1lbnRzIHNldCBpbiB0aGUgcGxhY2Ugb2YgcnRwYmluJ3MgImF1eCIgZWxlbWVudHMgaW4gb3JkZXIgdG8KCSAgZW5hYmxlIFJUUCByZXRyYW5zbWlzc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIG9mIFJGQzQ1ODguCgoyMDEzLTExLTA1IDE3OjM1OjAxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwYXV4aWxpYXJ5LnR4dDoKCSAgZG9jOiBhZGQgZGVzaWduLXJ0cGF1eGlsaWFyeS50eHQgdG8gZGVzY3JpYmUgaG93IHJ0cGJpbiBkZWFscyB3aXRoIGF1eGlsaWFyeSBlbGVtZW50cwoKMjAxNC0wMS0wMiAxNDo0ODo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFsc28gcHVzaCBFT1MgZXZlbnQgdG8gUlRDUCBzcmNwYWQKCjIwMTQtMDEtMDIgMTQ6NDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcGxhY2UgU1NSQyBpbiBSZXRyYW5zbWlzc2lvbiBldmVudAoKMjAxMy0xMS0wMSAxNjo1NzoxNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwYXV4Ojp0ZXN0X3NpbXBsZV9ydHBiaW5fYXV4CgkgIEl0IHNob3dzIGhvdyB0byB1c2UgInNldC1hdXgtcmVjZWl2ZSIgYW5kICJzZXQtYXV4LXNlbmQiCgkgIHByb3BlcnRpZXMgb2YgcnRwYmluIHRvIHNldCBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlCgkgIEJ1aWxkIDIgcGlwZWxpbmVzLCBvbmUgZm9yIHJ0cGJpbiBhcyBhIHNlbmRlciBhbmQgb25lIGZvcgoJICBydG9iaW4gYXMgYSByZWNlaXZlLiBUaGVuIHRyYW5zbWl0IGFuIGF1ZGlvIHN0cmVhbS4KCSAgSXQgYWxzbyBkcm9wcyBzb21lIHBhY2tldHMgdG8gYWN0aXZhdGUgcmVzdHJhbnNtaXNzaW9uIGFuZAoJICBjaGVjayB0aGV5IGFyZSBhY3R1YWxseSByZXRyYW5zbWl0ZWQuCgoyMDEzLTExLTAxIDE3OjA5OjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cGNvbGxpc2lvbjo6dGVzdF9ydHhfc3NyY19jb2xsaXNpb24gdW5pdCB0ZXN0CgkgIGNoZWNrIHRoYXQgcnR4cnRwc2VuZCBjaGFuZ2VzIGl0cyByZXRyYW5zbWlzc2lvbiBzc3JjIHdoZW4KCSAgY29sbGlzaW9uIGhhcHBlbnMKCjIwMTMtMTEtMDYgMTI6MzQ6MTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uCgkgIFRoaXMgdW5pdCB0ZXN0IHZlcmlmaWVzIHRoYXQgcmV0cmFuc21pdHRlZCBydHAgcGFja2V0cyBjb21pbmcgb3V0CgkgIG9mIHJ0cHJ0eHJlY2VpdmUgYXJlIHRoZSBzYW1lIGFzIHRoZSBvcmlnaW5hbCBvbmVzLgoKMjAxMy0xMS0wNSAwOTozMzo1MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogdXNlIGEgcmVhbGlzdGljIGxpbWl0IGZvciB0aGUgdmFsdWUgb2YgbWF4LXNpemUtcGFja2V0cwoJICBHX01BWElOVDE2IGlzIGNob3NlbiBiZWNhdXNlIGlmIHRoZSBxdWV1ZSBjb250YWlucyBtb3JlIHRoYW4KCSAgR19NQVhJTlQxNiBwYWNrZXRzLCBzZXFudW0gY29tcGFyaXNvbiB3aWxsIG5vdCB3b3JrIHByb3Blcmx5LgoKMjAxMy0xMS0wNCAyMDowNTowMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiB1c2UgYSBHU2VxdWVuY2UgdG8gaW1wbGVtZW50IHRoZSBidWZmZXIgcXVldWUKCSAgVGhpcyBoYXMgdGhlIGFkdmFudGFnZSB0aGF0IHNlYXJjaGluZyB0aGUgcXVldWUgdG8gZmluZCB0aGUKCSAgYnVmZmVyIHdpdGggdGhlIHJlcXVlc3RlZCBzZXFudW0gaXMgZG9uZSB3aXRoIGJpbmFyeSBzZWFyY2guCgoyMDEzLTExLTA0IDE4OjM4OjI0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHhzZW5kOiByZXRyYW5zbWl0IHBhY2tldHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIHJ0eCByZXF1ZXN0cwoKMjAxMy0xMS0wMiAxOTo1Njo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogQWRkIHVuaXQgdGVzdCBmb3IgcnR4c2VuZCdzIG1heF9zaXplX3RpbWUgcHJvcGVydHkKCjIwMTMtMTAtMjkgMTg6Mjc6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogSGFuZGxlIHRoZSBtYXhfc2l6ZV90aW1lIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgYnVmZmVycwoJICB0byBrZWVwIGluIHRoZSByZXRyYW5zbWlzc2lvbiBxdWV1ZSBleHByZXNzZWQgYXMgdGltZSAobXMpCgkgIGluc3RlYWQgb2YgYnVmZmVyIGNvdW50ICh3aGljaCBpcyB0aGUgbWF4X3NpemVfYnVmZmVycyBwcm9wZXJ0eSkuCgoyMDEzLTExLTAyIDE1OjIxOjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBrZWVwIGltcG9ydGFudCBidWZmZXIgaW5mb3JtYXRpb24gaW4gYSBwcml2YXRlIHN0cnVjdHVyZQoJICBUaGlzIGlzIHRvIGF2b2lkIG1hcHBpbmcgYSBidWZmZXIgZXZlcnkgdGltZSB3ZSBuZWVkIHRvIHJlYWQgYSBzZXFudW0KCSAgb3IgYSB0aW1lc3RhbXAuCgoyMDEzLTExLTAxIDExOjU4OjQ3ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBBZGQgcnRwcnR4Ojp0ZXN0X3J0eHNlbmRlcl9wYWNrZXRfcmV0ZW50aW9uCgkgIFRoaXMgdW5pdCB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHJ0eHNlbmQgZWxlbWVudCBjb3JyZWN0bHkgbWFpbnRhaW5zCgkgIGEgYnVmZmVyIG9mIGFscmVhZHkgdHJhbnNtaXR0ZWQgcnRwIHBhY2tldHMgYW5kIHRoYXQgaXQgY2FuCgkgIHJlLXRyYW5zbWl0IGFsbCBvZiB0aGVtIGNvcnJlY3RseSBvbiBkZW1hbmQuIEl0IGFsc28gdmVyaWZpZXMKCSAgdGhhdCB0aGUgbGltaXQgb2YgdGhpcyBidWZmZXIgKG1heC1zaXplLXBhY2tldHMgcHJvcGVydHkpIGlzIHJlc3BlY3RlZC4KCjIwMTMtMTEtMDEgMTY6MjI6MTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X2Ryb3BfbXVsdGlwbGVfc2VuZGVyIHVuaXQgdGVzdAoJICBTZXZlcmFsIHNlbmRlcnMgLyBvbmUgcmVjZWl2ZXIKCSAgU2ltaWxhciB0aGFuIHRlc3RfZHJvcF9vbmVfc2VuZGVyIGJ1dCB3aXRoIG11bHRpcGxlIHNlbmRlcnMKCSAgbWl4ZWQgdGhyb3VnaCB0aGUgZnVubmVsIGVsZW1lbnQuCgkgIEl0IGRyb3BzIHNvbWUgcGFja2V0cyBhbmQgY2hlY2tzIHRoYXQgdGhleSBhcmUgcmV0cmFuc21pdGVkCgkgIGNvcnJlY3RseS4KCjIwMTMtMTEtMDEgMTY6MjE6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X2Ryb3Bfb25lX3NlbmRlciB1bml0IHRlc3QKCSAgVGVzdCBmb3Igb25lIHNlbmRlciAvIG9uZSByZWNlaXZlcgoJICBCdWlsZCB0aGUgcGlwZWxpbmUKCSAgdmlkZW90ZXN0c3JjICEgcnRwdnJhd3BheSAhIHJ0cHJ0eHNlbmQgISBydHBydHhyZWNlaXZlICEgZmFrZXNpbmsKCSAgYW5kIGRyb3Agc29tZSBidWZmZXJzIGJldHdlZW4gcnRwcnR4c2VuZCBhbmQgcnRwcnR4cmVjZWl2ZQoJICBUaGVuIGl0IGNoZWNrcyB0aGF0IGV2ZXJ5IGRyb3BwZWQgcGFja2V0IGhhcyBiZWVuIHJlLXNlbnQuCgkgIEl0IGFsc28gY2hlY2tzIHRoYXQgbm90IHRvbyBtdWNoIHJlcXVlc3RzIGhhcyBiZWVuIHNlbnQuCgoyMDEzLTExLTAxIDE2OjE3OjUxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfcHVzaF9mb3J3YXJkX3NlcQoJICBhZGQgc2ltcGxlIHVuaXQgdGVzdCB0aGF0IG1hbnVhbGx5IHB1c2ggYnVmZmVycwoJICBpbiBydHBydHhzZW5kIGNvbm5lY3RlZCB0byBydHBydHhyZWNlaXZlLgoJICBEcm9wcyBzb21lIGJ1ZmZlcnMgYW5kIG1ha2Ugc3VyZSB0aGV5IGFyZSByZXRyYW5zbWlzdGVkLgoKMjAxMy0xMS0wMSAxNTo1MjowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cG1hbmFnZXI6IGFkZCBuZXcgcnRwcnR4c2VuZCAvIHJ0cHJ0eHJlY2VpdmUgZWxlbWVudHMKCSAgVGhlIHB1cnBvc2Ugb2YgdGhlIHNlbmRlciBSVFggb2JqZWN0IGlzIHRvIGtlZXAgYSBoaXN0b3J5CgkgIG9mIFJUUCBwYWNrZXRzIHVwIHRvIGEgY29uZmlndXJhYmxlIGxpbWl0IChpbiB0aW1lKS4gSXQgd2lsbAoJICBsaXN0ZW4gZm9yIGN1c3RvbSByZXRyYW5zbWlzc2lvbiBldmVudHMgZnJvbSBkb3duc3RyZWFtLiBXaGVuCgkgIGl0IHJlY2VpdmVzIGEgcmVxdWVzdCBmb3IgcmV0cmFuc21pc3Npb24sIGl0IHdpbGwgbG9vayB1cCB0aGUKCSAgcmVxdWVzdGVkIHNlcW51bSBpbiBpdHMgbGlzdCBvZiBzdG9yZWQgcGFja2V0cy4gSWYgdGhlIHBhY2tldAoJICBpcyBhdmFpbGFibGUsIGl0IHdpbGwgY3JlYXRlIGEgUlRYIHBhY2tldCBhY2NvcmRpbmcgdG8gUkZDIDQ1ODgKCSAgYW5kIHNlbmQgdGhpcyBhcyBhbiBhdXhpbGlhcnkgc3RyZWFtLgoJICBUaGUgcmVjZWl2ZXIgd2lsbCBsaXN0ZW4gdG8gdGhlIGN1c3RvbSByZXRyYW5zbWlzc2lvbiBldmVudHMKCSAgZnJvbSB0aGUgZG93bnN0cmVhbSBqaXR0ZXJidWZmZXIgYW5kIHdpbGwgcmVtZW1iZXIgdGhlIFNTUkMxCgkgIG9mIHRoZSBzdHJlYW0gYW5kIHNlcW51bSB0aGF0IHdhcyByZXF1ZXN0ZWQuIFdoZW4gaXQgc2VlcyBhCgkgIHBhY2tldCB3aXRoIG9uZSBvZiB0aGUgc3RvcmVkIHNlcW51bSwgaXQgYXNzb2NpYXRlcyB0aGUgU1NSQzIKCSAgb2YgdGhlIHN0cmVhbSB3aXRoIHRoZSBTU1JDMSBvZiB0aGUgbWFzdGVyIHN0cmVhbS4gRnJvbSB0aGVuCgkgIG9uIGl0IGtub3dzIHRoYXQgU1NSQzIgaXMgdGhlIHJldHJhbnNtaXNzaW9uIHN0cmVhbSBvZiBTU1JDMS4KCSAgVGhpcyBhbGdvcml0aG0gaXMgc3RhdGVkIGluIFJGQyA0NTg4LiBGb3IgdGhpcyBhbGdvcml0aG0gdG8KCSAgd29yaywgUkZDNDU4OCBhbHNvIHN0YXRlcyB0aGF0IG5vIHR3byBwZW5kaW5nIHJldHJhbnNtaXNzaW9uCgkgIHJlcXVlc3RzIGNhbiBleGlzdCBmb3IgdGhlIHNhbWUgc2VxbnVtIGFuZCBkaWZmZXJlbnQgU1NSQ3Mgb3IKCSAgZWxzZSBpdCB3b3VsZCBiZSBpbXBvc3NpYmxlIHRvIGFzc29jaWF0ZSB0aGUgcmV0cmFuc21pc3Npb24gd2l0aAoJICB0aGUgb3JpZ2luYWwgcmVxdWVzdGVyIFNTUkMuCgkgIFdoZW4gdGhlIFJUWCByZWNlaXZlciBoYXMgYXNzb2NpYXRlZCB0aGUgcmV0cmFuc21pc3Npb24gcGFja2V0cywKCSAgaXQgY2FuIGRlcGF5bG9hZCBhbmQgZm9yd2FyZCB0aGVtIHRvIHRoZSBzb3VyY2UgcGFkIG9mIHRoZSBlbGVtZW50LgoJICBSVFggaXMgU1NSQy1tdWx0aXBsZXhlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDg0CgoyMDEzLTExLTA1IDE2OjM2OjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwcmV0cmFuc21pc3Npb24udHh0OgoJICBkb2M6IGFkZCBkZXNpZ24gZm9yIHJ0cCByZXRyYW5zbWlzc2lvbgoJICBEZXNjcmliZSBob3cgcnRwcnR4c2VuZCBhbmQgcnRwcnR4cmVjZWl2ZSBnZW5lcmFsbHkgd29yawoJICBidXQgYWxzbyBob3cgdGhlIGFzc29jaWF0aW9uIGFsZ29yaXRobSBpcyBpbXBsZW1lbnRlZC4KCjIwMTQtMDEtMDIgMjA6MjM6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHVzZSBzdGF0dXMgY29kZSBtYWNybyBpbnN0ZWFkIG9mIDQwNwoJICBSZXN0IG9mIHRoZSBjb2RlIGlzIHVzaW5nIHRoZSBfUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQKCSAgbWFjcm8gdG9vLiBFYXNpZXIgdG8gdW5kZXJzdGFuZCBpZiB5b3UgZG9uJ3QgcmVjYWxsIEhUVFAKCSAgZXJyb3IgY29kZXMgYnkgaGVhcnQuCgoyMDEzLTEyLTMxIDIxOjMxOjQzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IGNoYW5nZSBhdWRpb19mb3JtYXQgZmllbGQgdG8gZm9ybWF0CgkgIFRoaXMgZWxlbWVudCBhbmQgdGhlIHVuZGVybHlpbmcgbGlic2hvdXQyIGxpYnJhcnkKCSAgY2FuIGhhbmRsZSB2aWRlbyBtZWRpYSBmaWxlcyB0b28uIFRoZSBjb2RlIGFscmVhZHkKCSAgaGFuZGxlcyB2aWRlby93ZWJtIHNvIHRoZSBuYW1lIGdldHMgY29uZnVzaW5nLiBBbHNvCgkgIGFkZCBhbmQgdXNlIERFRkFVTFRfRk9STUFUIG1hY3JvIEluc3RlYWQgb2YgaGFyZHdpcmluZwoJICBTSE9VVF9GT1JNQVRfVk9SQklTIGF0IGluaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0zMSAyMDowOToyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBjbGFyaWZ5IG1lYW5pbmcgb2YgdGhlIFVSTCBwcm9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNDIKCjIwMTMtMTItMjcgMTI6Mjc6MzIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGRvY3MsIGFkZCBhIHNhbXBsZSBwaXBlbGluZQoJICBBbmQgZmluaXNoIGFkZGluZyBzaG91dDJzZW5kIHRvIHRoZSBkb2NzIHdoaWxlIGF0IGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNDIKCjIwMTMtMTItMzEgMTU6MDA6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiByZW1vdmUgc3B1cmlvdXMgQHNlZV9hbHNvCgoyMDEzLTEyLTA2IDE3OjA4OjU0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzdXBwb3J0IGFueSB2aWRlbyBmb3JtYXRzIGFuZCBhbnkgY2FwcyBmZWF0dXJlcyBpZiBkZWludGVybGFjZSBtb2RlIGFsbG93cyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjM2CgoyMDEzLTEyLTMxIDEzOjMxOjUyICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEhhbmRsZSB2NGwyX2lvY3RsKCkgZXJyb3JzIGV2ZW4gaW4gZXJyb3IgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI2OAoKMjAxNC0wMS0wMSAxMjoxMTo0MyAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IHVuaWZkZWYgLURSVU5fTlNfQVBQX1RIUkVBRAoKMjAxNC0wMS0wMSAxMjoxMDowMSAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW86IEFzc3VtZSBTREsgYW5kIGRlcGxveW1lbnQgdGFyZ2V0IGFyZSBhdCBsZWFzdCBTbm93IExlb3BhcmQKCjIwMTQtMDEtMDEgMTI6MjM6NTAgLTA4MDAgIEplcmVteSBIdWRkbGVzdG9uIFNlcXVvaWEgPGplcmVteWh1QGFwcGxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEaXNhYmxlIG9zeHZpZGVvIG9uIExlb3BhcmQgYW5kIGVhcmxpZXIKCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSAib3RoZXIgcGxhdGZvcm1zIiBjaGVjayBpbiBPUyBYIHZpZGVvIHRvIGJlZm9yZSB0aGUKCSAgdmFyaWFibGUgaXMgcmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDEzLTEyLTMxIDE0OjU3OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIEFVWCByZWNlaXZlciB1bml0IHRlc3QKCjIwMTMtMTItMzEgMTM6MjA6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBpbXByb3ZlIHJ0cGJpbiB0ZXN0CgoyMDEzLTEyLTMxIDEzOjE2OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBzb21lIGRvY3MgYWJvdXQgQVVYIGVsZW1lbnRzCgoyMDEzLTEyLTMxIDEzOjAxOjIyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIEFVWCBzZW5kZXIgdW5pdCB0ZXN0CgoyMDEzLTEyLTMxIDEyOjMxOjI1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgc3VwcG9ydCBmb3IgQVVYIHNlbmRlciBhbmQgcmVjZWl2ZXIKCSAgQVVYIGVsZW1lbnRzIGFyZSBlbGVtZW50cyB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbnRvIHRoZSBydHBiaW4KCSAgcGlwZWxpbmUgcmlnaHQgYmVmb3JlIG9yIGFmdGVyIDEgb3IgbW9yZSBzZXNzaW9uIGVsZW1lbnRzLgoJICBUaGUgQVVYIGVsZW1lbnRzIGFyZSBlc3NlbnRpYWwgZm9yIGltcGxlbWVudGluZyBmdW5jdGlvbmFsaXR5IHN1Y2gKCSAgYXMgZXJyb3IgY29ycmVjdGlvbiAoRkVDKSBhbmQgcmV0cmFuc21pc3Npb24gKFJUWCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODcKCjIwMTMtMTItMzEgMTI6MjI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgZGVjb2RlciB0ZXN0CgoyMDEzLTEyLTMwIDE3OjM2OjQyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IG1ha2UgcmVxdWVzdF9lbGVtZW50IG1ldGhvZCBpbnRlcm5hbGx5CgkgIFdlIGNhbiB1c2UgdGhlIHNhbWUgbWV0aG9kIHRvIGNyZWF0ZSBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzLCB0aGV5CgkgIGFyZSBqdXN0IGludGVybmFsIGVsZW1lbnRzIHRoYXQgd2UgY3JlYXRlLgoKMjAxMy0xMi0zMSAxMDoyNToyOCArMDEwMCAgU3TDqXBoYW5lIENlcnZlYXUgPHNjZXJ2ZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogU2tpcCBpZDMgdGFnCgkgIFNraXAgaWQzIHRhZyBkdXJpbmcgd2F2IHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQxCgoyMDEzLTEyLTMxIDEwOjEwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3g6IE1ha2UgT1NYIHZlcnNpb24gY2hlY2tzIG1vcmUgY29uc2lzdGVudAoJICBBbmQgZXNwZWNpYWxseSBhbHNvIGNvbnNpZGVyIHVwZGF0ZSB2ZXJzaW9ucywgZS5nLiAxMC41IHdpdGggdXBkYXRlcwoJICB3aWxsIGJlIDEwNTEgb3Igc2ltaWxhciBhbmQgdGh1cyBiaWdnZXIgdGhhbiBNQUNfT1NfWF9WRVJTSU9OXzEwXzUgYnV0CgkgIHN0aWxsIHdvbid0IGhhdmUgdGhlIEFQSSB3ZSB3YW50IHRvIHVzZS4KCjIwMTMtMTItMzEgMTA6MDc6MjIgKzAxMDAgIEplcmVteSBIdWRkbGVzdG9uIDxqZXJlbXlodUBmcmVlZGVza3RvcC5vcmc+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkIG9uIHVwZGF0ZWQgT1MgWCBMZW9wYXJkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTMtMTItMzAgMTc6MjM6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIEkgZ3Vlc3Mgbm8tb25lIG5vdGljZWQgd2Ugbm8gbG9uZ2VyIGNvdWxkIG11eCBXTVYzIC4uLgoJICBDT1ZFUklUWSBDSUQgMTEzOTc1OQoKMjAxMy0xMi0zMCAxNzoyMDozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBBZGQgbWlzc2luZyBicmVhawoJICBDT1ZFUklUWSBDSUQgMTEzOTc2MgoKMjAxMy0xMi0zMCAxNzowMDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGludGVybmFsLXNzcmMgaXMgbm8gbG9uZ2VyIGRlcHJlY2F0ZWQKCjIwMTMtMTItMzAgMTY6NTk6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIFNpbmNlIHRhZ3MKCjIwMTMtMTItMzAgMTY6NTI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBzaWduYWwgZm9yIG5ldyBqaXR0ZXJidWZmZXIKCSAgRW1pdCBhIHNpZ25hbCB3aGVuIGEgbmV3IGppdHRlcmJ1ZmZlciBpcyBjcmVhdGVkIHNvIHRoYXQgdGhlIGFwcCBjYW4KCSAgaGF2ZSBhIGNoYW5jZSB0byBjb25maWd1cmUgaXQuCgoyMDEzLTEyLTMwIDE2OjI4OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBoYW5kbGUgbXVsdGlwbGUgZW5jb2RlciBpbnN0YW5jZXMKCSAgS2VlcCB0cmFjayBvZiBlbGVtZW50cyB0aGF0IGFyZSBhZGRlZCB0byBtdWx0aXBsZSBzZXNzaW9ucyBhbmQgbWFrZSBzdXJlCgkgIHdlIG9ubHkgYWRkIHRoZW0gdG8gdGhlIHJ0cGJpbiBvbmNlIGFuZCB0aGF0IHdlIGNsZWFuIHRoZW0gd2hlbiBubwoJICBzZXNzaW9uIHJlZmVycyB0byB0aGVtIGFueW1vcmUuCgoyMDEzLTEyLTMwIDE1OjE2OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgZW5jb2RlciBlbGVtZW50CgoyMDEzLTEyLTMwIDE1OjE1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBtZW1vcnkgbGVha3MKCjIwMTMtMTItMzAgMTU6MDM6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBmaXggbGVhawoKMjAxMy0xMi0zMCAxNTowMDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBleHBlY3QgdGhlIHBhZHMgb24gdGhlIGVuY29kZXJzCgkgIERvbid0IHVzZSByZXF1ZXN0IHBhZHMgZm9yIHRoZSBlbmNvZGVyIGVsZW1lbnRzLCB0aGUgc2lnbmFsIGhhbmRsZXIKCSAgc2hvdWxkIHJlcXVlc3QgdGhlIHBhZHMgYW5kIG1ha2Ugc3VyZSB0aGV5IGFyZSBhdmFpbGFibGUgd2l0aCB0aGUgcmlnaHQKCSAgbmFtZS4KCjIwMTMtMTItMzAgMTQ6NTY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHJlcXVlc3QtcnRwLWVuY29kZXIgYXJlIG5vIGFjdGlvbiBzaWduYWxzCgkgIFRoZSByZXF1ZXN0LXJ0cC1lbmNvZGVyIHNpZ25hbHMgYXJlIG5vdCBhY3Rpb24gc2lnbmFscyBzbyBtYXJrIHRoZW0KCSAgY29ycmVjdGx5IGFuZCB1c2UgYW4gYWNjdW11bGF0b3IgdG8gY29sbGVjdCB0aGUgcmVzdWx0IHZhbHVlLgoKMjAxMy0xMi0zMCAxNDozNjo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZW1pdCBtaWRpLWJhc2Utbm90ZSB0YWcgZnJvbSBkYXRhIGluICdzbXBsJyBjaHVuawoJICBBZGQgcGFyc2luZyBvZiB0aGUgJ3NtcGwnIGNodW5rLiBSaWdodCBub3cgd2Ugb25seSBncmFiIHRoZSBtaWRpLWJhc2Utbm90ZSBhbmQKCSAgZW1pdCBpdCBhcyBhIHRhZy4KCjIwMTMtMTItMjYgMTI6MDU6MTkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IHN1Z2dlc3QgdXBzdHJlYW0gdG8gdXNlIHRoZSBuZXcgImludGVybmFsLXNzcmMiIGFmdGVyIGEgY29sbGlzaW9uCgkgIFdoZW4gYSBjb2xsaXNpb24gaXMgZm91bmQgb24gdGhlIGludGVybmFsIHNzcmMsIHdlIGhhdmUgdG8gY2hhbmdlIGl0LgoJICBJZGVhbGx5LCB3ZSB3YW50IGFsc28gdGhlIHBheWxvYWRlciB1cHN0cmVhbSB0byBmb2xsb3cgdGhpcyBjaGFuZ2UgYW5kIHVzZQoJICB0aGUgbmV3IGludGVybmFsIHNzcmMuIElkZWFsbHkgd2Ugd2FudCB0aGlzIGNvbmRpdGlvbiB0byBiZSBhbHdheXMgbWV0OgoJICBpZiB0aGVyZSBpcyBvbmUgcGF5bG9hZGVyIHNlbmRpbmcgb24gdGhpcyBzZXNzaW9uLCBpdHMgc3NyYyBzaG91bGQgbWF0Y2ggdGhlCgkgIGludGVybmFsIHNzcmMuCgoyMDEzLTEyLTI2IDExOjA0OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhbGxvdyBzZXR0aW5nIGludGVybmFsLXNzcmMgYWdhaW4KCjIwMTMtMTItMzAgMTM6MzE6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmNvZGU6IFJlbW92ZSBkZWFkIGNvZGUKCSAgc2V0L2dldCBwcm9wZXJ0eSBpc24ndCB1c2VkCgoyMDEzLTEyLTMwIDEzOjMwOjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cHFjZWxwZGVwYXk6IFJlbW92ZSB1bmVlZGVkIHZhcmlhYmxlCgoyMDEzLTEyLTA1IDE1OjUzOjUyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHJ0cGJpbjogYWxsb3cgZHluYW1pYyBSVFAvUlRDUCBlbmNvZGVycy9kZWNvZGVycwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5bY2hdOiBmb3VyIG5ldyBhY3Rpb24gc2lnbmFscyBoYXZlIGJlZW4KCSAgYWRkZWQgKHJlcXVlc3QtcnRwLWVuY29kZXIsIHJlcXVlc3QtcnRwLWRlY29kZXIsIHJlcXVlc3QtcnRjcC1lbmNvZGVyCgkgIGFuZCByZXF1ZXN0LXJ0Y3AtZGVjb2RlcikuIFRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBwcm92aWRlIGVuY29kZXJzCgkgIG9yIGRlY29kZXJzIGR5bmFtaWNhbGx5LiBUaGUgZW5jb2RlcnMgbXVzdCBmb2xsb3cgdGhlIHNydHBlbmMgQVBJIGFuZAoJICB0aGUgZGVjb2RlcnMgdGhlIHNydHBkZWMgQVBJLiBIYXZpbmcgc2VwYXJhdGUgc2lnbmFscyBmb3IgUlRQIGFuZCBSVENQCgkgIGFsbG93cyB0aGUgdXNlciB0byB1c2UgZGlmZmVyZW50IGVuY29kZXJzL2RlY29kZXJzIG9yIHByb3ZpZGUgdGhlIHNhbWUKCSAgb25lIChlLmcuIHRoYXQgd291bGQgYmUgdGhlIGNhc2UgZm9yIHNydHBlbmMpLgoJICBBbHNvLCBydHBiaW4gbm93IGFsbG93cyBhcHBsaWNhdGlvbi94LXNydHAgaW4gaXRzIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk5MzgKCjIwMTMtMTItMjcgMTY6NTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZHluYW1pY2FsbHkgcmVjYWxjdWxhdGUgUlRYIHBhcmFtZXRlcnMKCSAgVXNlIHRoZSByb3VuZC10cmlwLXRpbWUgYW5kIGF2ZXJhZ2Ugaml0dGVyIHRvIGR5bmFtaWNhbGx5IGNhbGN1bGF0ZSB0aGUKCSAgcmV0cmFuc21pc3Npb24gaW50ZXJ2YWwgYW5kIGV4cGVjdGVkIHBhY2tldCBhcnJpdmFsIHRpbWUuCgkgIEJhc2VkIG9uIHBhdGNoZXMgZnJvbSBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDEyCgoyMDEzLTEyLTI3IDE2OjUwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNhbGN1bGF0ZSBhdmVyYWdlIGppdHRlcgoKMjAxMy0xMi0yNyAxNjo0ODo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1c2UgUlRUIGZyb20gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50CgkgIFBsYWNlIHRoZSBlc3RpbWF0ZWQgUlRUIGluIHRoZSBSZXRyYW5zbWlzc2lvbiBldmVudCBhbmQgbGV0IHRoZSBzZXNzaW9uCgkgIG1hbmFnZXIgdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgaGFyZGNvZGVkIHZhbHVlLgoKMjAxMy0xMi0yNyAxNTo1NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB0YWtlIG1vcmUgYWNjdXJhdGUgcnVubmluZy10aW1lIGZvciBOQUNLCgkgIERvbid0IHVzZSB0aGUgY3VycmVudCB0aW1lIGNhbGN1bGF0ZWQgZnJvbSB0aGUgdG1pZW91dCBsb29wIGZvciB3aGVuIHdlCgkgIGxhc3Qgc2NoZWR1bGVkIHRoZSBOQUNLIGJlY2F1c2UgaXQgbWlnaHQgYmUgdW5zY2hlZHVsZWQgYmVjYXVzZSBvZiBhIG1heAoJICBwYWNrZXQgbWlzb3JkZXIgYW5kIHRoZW4gd2UgZG9uJ3QgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgdGltZS4KCSAgSW5zdGVhZCwgdGFrZSB0aGUgY3VycmVudCBlbGVtZW50IHJ1bm5pbmcgdGltZSB1c2luZyB0aGUgY2xvY2suCgoyMDEzLTEyLTMwIDExOjA2OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBTZW5kIGEgQ0FQUyBldmVudCBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEzLTEyLTI3IDAyOjE0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wcm92ZSBtc3NfbW9kZS9mcmFnbWVudGVkIHNwZWNpYWwgaGFuZGxpbmcKCSAgTWFrZSBpdCBjbGVhciB3aGF0IHNob3VsZCBiZSBoYW5kbGVkIHB1cmVseSBieSBtc3MgbW9kZToKCSAgMSkgRXhwb3NlIHRoZSBzdHJlYW1zIG9uIHRoZSBmaXJzdCBtb29mIGFzIHRoZXJlIGFyZSBubyBtb292IGF0b21zCgkgIDIpIFByb3Blcmx5IGNsZWFudXAgc3RyZWFtcyBvbiBmbHVzaGVzCgkgIEFkZCBhIG5vdGUgYWJvdXQgdGhlIG1lYW5pbmcgb2YgdXBzdHJlYW1fbmV3c2VnbWVudCBhbmQgbXNzX21vZGUKCSAgZm9yIGZ1dHVyZSByZWZlcmVuY2UuCgkgIE1ha2UgYWxsIG90aGVyIHNwZWNpYWwgZnJhZ21lbnQgaGFuZGxpbmcgc2hhcmVkIGZvciBib3RoIGRhc2gKCSAgYW5kIG1zcyBzdHJlYW1zLgoKMjAxMy0xMi0xMiAxMDo1MDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZHJhaW4gdGhlIGFkYXB0ZXIgYmVmb3JlIHB1c2hpbmcgRU9TCgkgIEluIGEgZnJhZ21lbnRlZCBzY2VuYXJpbywgcXRkZW11eCBpcyBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlCgkgIGFuZCBpdCBnZXRzIGEgZnJhZ21lbnRlZCBidWZmZXIuIFdoaWxlIHByb2Nlc3NpbmcgaXRzIGRhdGEKCSAgZG93bnN0cmVhbSBnZXRzIHVubGlua2VkIChvciBhIGlucHV0LXNlbGVjdG9yIGNoYW5nZXMgaXRzCgkgIGFjdGl2ZSBwYWQgYW5kIHJldHVybnMgbm90LWxpbmtlZCkuIFF0ZGVtdXggc3RvcHMgcHJvY2Vzc2luZwoJICB0aGlzIGZyYWdtZW50IGFuZCByZXR1cm5zIG5vdC1saW5rZWQgdXBzdHJlYW0sIGxlYXZpbmcgdGhlCgkgIHJlbWFpbmluZyBkYXRhIGluIGl0cyBhZGFwdGVyLgoJICBXaGVuIGl0IGdldHMgYW4gRU9TIGl0IHNob3VsZCBtYWtlIHN1cmUgdGhhdCBhbGwgdGhlIGRhdGEgaXQKCSAgaGFkIHJlY2VpdmVkIGlzIHB1c2hlZCBiZWZvcmUgcHVzaGluZyBFT1MuCgoyMDEzLTEyLTI2IDIzOjIxOjQ3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGRyb3AgSVAgb25seSByZXF1aXJlbWVudCBmb3IgX3NldF9ob3N0KCkKCSAgbGlic2hvdXQyICh3ZSByZXF1aXJlID4gMi4wIGF0IGNvbmZpZyB0aW1lKSBzdXBwb3J0cwoJICBib3RoIElQIGFuZCBob3N0bmFtZSBmb3IgX3NldF9ob3N0KCkuIERyb3BwZWQgYW4KCSAgb3V0ZGF0ZWQgRklYTUUgcmVnYXJkaW5nIHRoaXMgbGltaXRhdGlvbiwgYWRqdXN0ZWQKCSAgc29tZSBjb21tZW50cyBhbmQgY2hhbmdlZCB0aGUgcGFyYW0gYmx1cmIgdG8gcmVmbGVjdAoJICB0aGlzIHRvby4KCjIwMTMtMTItMjYgMjE6NDM6MzQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogUmV0YXJnZXQgRklYTUUgdG8gMi4wCgoyMDEzLTEyLTI2IDExOjIxOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIGFnZ3JlZ2F0ZSBjb250cm9sIGZvciBQTEFZL1BBVVNFL1RFQVJET1dOCgkgIFVzZSB0aGUgYWdncmVnYXRlIGNvbnRyb2wgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgcmVxdWVzdCB1cmwgdG8gcGVyZm9ybQoJICBQQVVTRS9QTEFZIGFuZCBURUFSRE9XTi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAwMwoKMjAxMy0xMi0yNCAxNDo0MDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogUHJveHkgQ0FQUywgQUxMT0NBVElPTiwgU0NIRURVTElORyBhbmQgc3JjcGFkIGV2ZW50cyBwcm9wZXJseQoKMjAxMy0xMi0yNCAwMDo0MzozOSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZHBjbSBtYXggYmxvY2sgYWxpZ24gaXMgODE5MgoKMjAxMy0xMi0yMyAxMjoyMzoyNyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnA5ZGVjOiBSZXF1aXJlIHZweCA+PSAxLjMuMCBmb3IgYnVpbGRpbmcgdnA5ZGVjIGFuZCB2cDllbmMKCSAgUHJldmlvdXMgdmVyc2lvbnMgZGlkIG5vdCBoYXZlIGEgc3RhYmxlIGJpdHN0cmVhbSBmb3IgVlA5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTg2CgoyMDEzLTEyLTIzIDE1OjQ2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIGNvcnJlY3QgY29kZWMgaWQgZm9yIEFEUENNL0RWSQoKMjAxMy0xMi0yMyAxNTo0NDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGVjayBmb3IgdGhlIGNvcnJlY3Qgc2l6ZSBvZiBjb2RlY19kYXRhIGluIHRoZSBBQ00gY2FzZQoKMjAxMi0wMS0xNCAxOTo1ODoxNyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBiYXNpYyBhZHBjbSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQzMzkKCjIwMTMtMTItMjAgMTE6NDU6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkgIHF0ZGVtdXg6IEZpeCBjYWxjdWF0aW9uIG9mIGRlc2NyaXB0b3IgbGVuZ3RoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA4MTMKCjIwMTMtMTItMjIgMjI6MzM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRiZWRhYTAgdG8gZDQ4YmVkMwoKMjAxMy0xMi0yMiAyMTo1NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogc2V0IGdldHRleHQgZG9tYWluIGluIE1ha2V2YXJzIHNvIHdlIGRvbid0IGhhdmUgdG8gcGF0Y2ggdGhlIGdlbmVyYXRlZCBNYWtlZmlsZS5pbi5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDU1CgoyMDEzLTEyLTE5IDE2OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBvbiByZWNlaXZlIGVycm9yIG9ubHkgdW5tYXAgYW5kIHVucmVmIGJ1ZmZlciBpZiBvbmUgd2FzIGFsbG9jZWQgYW5kIG1hcHBlZAoJICBjb3Zlcml0eSBDSUQgMTEzOTg2Ni4KCjIwMTMtMTItMTkgMTI6NDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBtaXNsZWFkaW5nIGNvbW1lbnQKCSAgVGhvc2UgYXJlIG5vdCBhbGxvY2F0ZWQgb24gdGhlIHN0YWNrLgoKMjAxMy0xMi0xNyAxODoyODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnB4OiBNYXJrIFZQOSBzdXBwb3J0IGFzIG5vbi1leHBlcmltZW50YWwKCSAgVGhlcmUgd2FzIGEgbGlidnB4IHJlbGVhc2Ugd2l0aCBWUDkgc3VwcG9ydCBub3cgYW5kIHRoZSBiaXRzdHJlYW0KCSAgaXMgZnJvemVuIHRvby4KCjIwMTMtMTItMTUgMjE6MDQ6MTEgLTA4MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIFNvbWUgY29tcGlsZXIgd2FybmluZyBmaXhlcyB0byBzYXRpc2Z5IFhDb2RlIGNvbXBpbGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MTMKCjIwMTMtMTItMTYgMTY6MTc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogU2V0IHBpY3R1cmUgdHlwZSBpbiB0aGUgQVBJQyBmcmFtZXMKCjIwMTMtMTItMTYgMTY6MTQ6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogU2V0IGltYWdlLWRlc2NyaXB0aW9uIGZyb20gdGhlIGluZm8gc3RydWN0LCBub3QgdGhlIGNhcHMKCjIwMTMtMTItMTYgMTA6MDI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJICB3YXZwYWNrcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjAwOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmg6CgkgIHNiY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo1ODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMgoKMjAxMy0xMi0xNiAwOTo1NjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQ5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0NjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBVc2UgcGJ1dGlscyBmdW5jdGlvbmFsaXR5IHRvIGNyZWF0ZSB0aGUgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTEzIDE3OjM2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgZXJyb3IgbWVzc2FnZSBpZiB0aGUgYXBwIHRyaWVzIHRvIHNldCB0aGUgaW50ZXJuYWwtc3NyYwoKMjAxMy0xMi0xMyAxNjowODozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSBjb3VudCBuYWNrcyB3aGVuIGEgbmFjayBwYWNrZXQgaXMgcmVjZWl2ZWQKCSAgTm90IHdoZW4gYW55IFJUQ1AgZmVlZGJhY2sgcGFja2V0IGlzLgoKMjAxMy0xMi0xMiAyMzoyMjo0MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogSW5pdGlhbGl6ZSBzZWdtZW50IGluIHJ0cGNvbGxpc2lvbiB0ZXN0CgoyMDEzLTEyLTEzIDE1OjU3OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBQcm9jZXNzIFBTRkIgRklSIHJlcXVlc3RzIHdoaWNoIGxhY2sgdGhlIG1lZGlhIHNzcmMKCSAgQWNjb3JkaW5nIHRvIFJGQyA1MTA0IHNlY3Rpb24gNC4zLjEuMiwgUlRDUCBQU0ZCIEZJUiBtZXNzYWdlIFNIQUxMCgkgIGhhdmUgYSBtZWRpYV9zc3JjIGZpZWxkIHNldCB0byAwLiBUaGUgYWN0dWFsIG1lZGlhIHNzcmMgaXMgaW4gdGhlIEZDSS4KCSAgU28gaW4gdGhhdCBjYXNlLCB3ZSBpZ25vcmUgdGhlIHJldGFpbmVkIGZlZWRiYWNrIGFuZCBqdXN0IGxldCBpdCB0aHJvdWdoCgkgIHRvIHRoZSBydHBfc2Vzc2lvbl9wcm9jZXNzX2ZpcigpIGZ1bmN0aW9uIHdoaWNoIHdpbGwgY2hlY2sgZm9yIHRoZSBhY3R1YWwKCSAgU1NSQyBpbnNpZGUgdGhlIEZDSS4KCSAgRml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IDU3YzI3ZWMzCgoyMDEzLTExLTE0IDE2OjE5OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IGZpeCByYiBibG9ja3MgZGlzYXBwZWFyaW5nIGFmdGVyIHRoZSBmaXJzdCBydGNwIGN5Y2xlIHdpdGggbXVsdGlwbGUgc2VuZGVycwoJICBQcmV2aW91c2x5LCB3aGVuIHRoZSBzZXNzaW9uIGhhZCBtdWx0aXBsZSBpbnRlcm5hbCBzZW5kZXIgU1NSQ3MsIGl0IHdvdWxkCgkgIGlzc3VlIFNSIHJlcG9ydHMgd2l0aCBSQiBibG9ja3Mgb25seSBvbiB0aGUgZmlyc3QgUlRDUCB0aW1lb3V0IGFuZCBhZnRlcndhcmRzCgkgIFNSIHJlcG9ydHMgd291bGQgYmUgc2VudCBlbXB0eS4gVGhpcyB3YXMgYmVjYXVzZSB0aGUgImdlbmVyYXRpb24iIG51bWJlcgoJICBpbiBSVFBTb3VyY2Ugd291bGQgaW5jcmVhc2UgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBzYW1lIGN5Y2xlIGFuZCBhZnRlcndhcmRzCgkgIGl0IHdvdWxkIGFsd2F5cyBiZSBncmVhdGVyIHRoYW4gdGhlIHNlc3Npb24ncyBnZW5lcmF0aW9uLCB3aGljaCB3b3VsZCBjYXVzZQoJICBpdCB0byBiZSBza2lwcGVkIGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gUkJzLgoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGlzIHByb2JsZW0gYnk6CgkgIDEpIEluY3JlYXNpbmcgdGhlIFJUUFNvdXJjZSBnZW5lcmF0aW9uIG9ubHkgYXQgdGhlIGVuZCBvZiBlYWNoIGN5Y2xlLAoJICB3aGljaCBlc3NlbnRpYWxseSBmaXhlcyB0aGUgcHJvYmxlbSBidXQgb25seSB3aGVuIHRoZSBpbnRlcm5hbCBzZW5kZXJzCgkgIGFyZSBsZXNzIHRoYW4gR1NUX1JUQ1BfTUFYX1JCX0NPVU5ULgoJICAyKSBLZWVwaW5nIGZvciBlYWNoIFJUUFNvdXJjZSBhIHNldCBvZiBTU1JDcyB3aGljaCBzdG9yZXMgd2hpY2ggU1NSQydzCgkgIFNSIHRoZSBnaXZlbiBSVFBTb3VyY2UgaGFzIGJlZW4gcmVwb3J0ZWQgaW4sIHdoaWNoIGFsc28gZml4ZXMgdGhlIHByb2JsZW0KCSAgd2hlbiB0aGUgaW50ZXJuYWwgc2VuZGVycyBhcmUgbW9yZSB0aGFuIEdTVF9SVENQX01BWF9SQl9DT1VOVC4gVGhpcyBpcwoJICBuZWNlc3NhcnkgYmVjYXVzZSBvZiB0aGUgZmFjdCB0aGF0IGFueSBSVFBTb3VyY2UgaXMgbWFya2VkIGFzIHJlcG9ydGVkCgkgIGluIGl0c2VsZidzIFNSIGFuZCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIGtub3cgaWYgaXQgaGFzIGJlZW4gcmVwb3J0ZWQKCSAgaW4gb3RoZXIgU1JzIHRvbyBvciBub3QsIGFuZCB3aGljaC4KCjIwMTMtMTEtMTQgMTY6MjM6MzUgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgYW4gcnRwc2Vzc2lvbiB1bml0IHRlc3QgdG8gdmVyaWZ5IGFsbCBSQnMgYXJlIGluY2x1ZGVkIGluIGFsbCBTUnMsIHJvdW5kcm9iaW4KCSAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHdoZW4gd2UgaGF2ZSBtdWx0aXBsZSBpbnRlcm5hbCBzZW5kZXIgc291cmNlcwoJICBpbiBydHBzZXNzaW9uLCBTUnMgY29udGFpbiBSQnMgZm9yIGV2ZXJ5IG90aGVyIHNlbmRlciBzb3VyY2UsIGFuZCB0aGF0CgkgIHRoZXkgYXJlIGluY2x1ZGVkIHJvdW5kcm9iaW4gd2hlbiB0aGV5IGV4Y2VlZCBTVF9SVENQX01BWF9SQl9DT1VOVCwKCSAgd2hpY2ggaXMgdGhlIG1heCBudW1iZXIgb2YgUkJzIHRoYXQgY2FuIGZpdCBpbiBhIFNSLgoKMjAxMy0xMi0xMiAxNjowMToxMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwY29sbGlzaW9uLnR4dDoKCSAgZG9jczogaW1wcm92ZSBkb2NzCgoyMDEzLTExLTA1IDE4OjAzOjQ4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwY29sbGlzaW9uLnR4dDoKCSAgZG9jOiBhZGQgZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQgdGhhdCBleHBsYWlucyB3aGVuIEdzdFJUUENvbGxpc2lvbiBpcyBjcmVhdGVkCgkgIEl0IGFsc28gdGFsa3MgYWJvdXQgIkJZRSBvbmx5IHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSwgbm90IHRoZSB3aG9sZSBzZXNzaW9uLiIKCjIwMTMtMTEtMDUgMTI6MzE6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBpbXByb3ZlIHJ0cGNvbGxpc2lvbjo6dGVzdF9tYXN0ZXJfc3NyY19jb2xsaXNpb24gdG8gZW5zdXJlIHRoYXQgYSBjb2xsaXNpb24gZG9lcyBub3QgQllFIHRoZSB3aG9sZSBzZXNzaW9uCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmMKCjIwMTMtMTEtMDEgMTc6MDc6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cGNvbGxpc2lvbjo6dGVzdF9tYXN0ZXJfc3NyY19jb2xsaXNpb24gdW5pdCB0ZXN0CgkgIEl0IGNoZWNrcyB0aGUgcGF5bG9hZGVyIGNoYW5nZXMgaXRzIHNzcmMgd2hlbiBjb2xsaXNpb24gaGFwcGVucwoKMjAxMy0xMi0xMiAxMDozODo0MyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBrZWVwIGV4dHJhIHN0YXRzIGZvciBzY2hlZHVsaW5nIEJZRQoJICBLZWVwIGFuIGV4dHJhIHN0YXRzIHN0cnVjdHVyZSBmb3Igc2NoZWR1bGluZyB0aGUgQllFIHBhY2tldHMuIFdoZW4gd2UKCSAgZGVjaWRlIHRvIHNjaGVkdWxlIEJZRSwgbWFrZSBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgc3RhdHMgaW50byB0aGUKCSAgYnllX3N0YXRzLiBUaGVuIHdoaWxlIHdlIHNjaGVkdWxlIHRoZSBCWUUsIHVwZGF0ZSBhbmQgdXNlIG9ubHkgdGhlCgkgIGJ5ZV9zdGF0cy4gV2hlbiB3ZSBmaW5pc2hlZCBzY2hlZHVsaW5nIHRoZSBCWUUgcGFja2V0LCB3ZSB1c2UgdGhlCgkgIHJlZ3VsYXIgc3RhdHMgYWdhaW4uCgoyMDEzLTEyLTEyIDEwOjM0OjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB3aGVuIHdlIHNjaGVkdWxlIEJZRSwgb25seSBkZWFsIHdpdGggQllFIHNvdXJjZXMKCSAgV2hlbiB3ZSBhcmUgZG9pbmcgdGhlIFJUQ1AgdGltZW91dCB0byBzY2hlZHVsZSBCWUUgcGFja2V0cywgZG9uJ3QKCSAgZ2VuZXJhdGUgUlRDUCBmb3IgYWxsIHNvdXJjZXMgYnV0IG9ubHkgZm9yIHRoZSBzb3VyY2VzIG1hcmtlZCBhcyBCWUUuCgoyMDEzLTEyLTEyIDEwOjMyOjQ4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZXNldCBzdGF0ZSBhZnRlciBzY2hlZHVsaW5nIEJZRQoJICBBZnRlciB3ZSBkbyBSVENQLCB3ZSBhcmUgbm90IHNjaGVkdWxpbmcgYnllIGFueW1vcmUuCgoyMDEzLTEyLTEyIDEwOjMxOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhbHNvIGNvdW50IE5BQ0tTIHdoZW4gbm8gc2lnbmFsIHdhcyBwZW5kaW5nCgoyMDEzLTEyLTEyIDEwOjA5OjI1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpZ25vcmUgUlRDUCBwYWNrZXRzIGZvciB0aGUgQllFIHNvdXJjZXMKCSAgV2hlbiB3ZSBhcmUgc2NoZWR1bGluZyBCWUUgcGFja2V0cywgaWdub3JlIGFsbCBSVENQIGZvciB0aGUgc291cmNlcyB0aGF0CgkgIGFyZSBzY2hlZHVsaW5nIGEgQllFIHBhY2tldC4gT3RoZXIgc291cmNlcyB0aGF0IGFyZSBub3Qgc2NoZWR1bGluZyBCWUUKCSAgc2hvdWxkIGNvbnRpbnVlIHJlY2VpdmluZyBSVENQIHBhY2tldHMgYXMgdXN1YWwuCgoyMDEzLTExLTA0IDExOjQ4OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBkZXRlcm1pbmUgaWYgdGhlIHNlc3Npb24gaXMgZG9pbmcgcG9pbnQtdG8tcG9pbnQKCSAgSW4gdGhpcyBjYXNlIFRfZGl0aGVyX21heCBpcyBzZXQgdG8gMCBhY2NvcmRpbmcgdG8gUkZDIDQ1ODUKCjIwMTMtMTItMTAgMTE6NTc6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNlcmlhbGl6ZSBldmVudHMgaW4gdGhlIGJ1ZmZlcgoJICBTZXJpYWxpemUgZXZlbnRzIGludG8gdGhlIGppdHRlcmJ1ZmZlciBieSBpbnNlcnRpbmcgdGhlbSB3aXRoIGEgLTEKCSAgc2VxbnVtLgoJICBVcGRhdGUgdW5pdCB0ZXN0IHRvIGV4cGVjdCBldmVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mjk4NgoKMjAxMy0xMi0xMCAxMTowNDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkZXRlY3QgLTEgc2VxbnVtCgkgIEtlZXAgdGhlIHNlcW51bSBhcyBhIGZ1bGwgZ3VpbnQgc28gdGhhdCB3ZSBjYW4gY2hlY2sgZm9yIC0xIGVudHJpZXMgYW5kCgkgIGRlYWwgd2l0aCB0aGVtIGNvcnJlY3RseS4KCSAgSW1tZWRpYXRlbHkgdHJ5IHRvIHB1c2ggLTEgc2VxbnVtLgoKMjAxMy0xMi0xMCAxMTowMTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW9yZ2FuaXplIGppdHRlcmJ1ZmZlciBpdGVtcwoJICBLZWVwIHRoZSBvbGRlc3QgaXRlbSBhdCB0aGUgaGVhZCBhbmQgdGhlIG5ld2VzdCBpdGVtcyBvbiB0aGUgdGFpbC4gVGhpcwoJICBtYWtlcyBpdCBlYXNpZXIgdG8gZGVhbCB3aXRoIC0xIHNlcW51bXMuCgoyMDEzLTEyLTA5IDIzOjM0OjEwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBjb3JyZWN0bHkgY2hlY2sgZm9yIGludmFsaWQgdmFsdWVzCgkgIENoZWNrIGZvciAtMSBvbiB0aGUgZ3VpbnQgZnJvbSB0aGUgYnVmZmVyIGl0ZW0gaW5zdGVhZCBvZiBvbiB0aGUgZ3VpbnQxNgoJICBvciBndWludDMyLgoJICBBbHNvIGluc2VydCAtMSBzZXFudW0gYXQgdGhlIGhlYWQgb2YgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMTMtMTItMDggMTY6NDk6NTUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2VnZmF1bHQgd2hlbiBkZWFsaW5nIHdpdGggcGFkZGVkIGZyYW1lcwoJICBGaXhlcyBjcmFzaGVzIHdpdGggdnRkZWMgISBvc3h2aWRlb3Npbmsgd2hlcmUgVmlkZW9Ub29sYm94IG91dHB1dHMgcGFkZGVkIFVZVlkKCjIwMTMtMTItMDUgMTI6MTU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjE1OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxMzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDExOjQyOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4OiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDQgMTY6MjM6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSBkZXZpY2VfaW5mbyBpbiBhY2NlcHRzIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgxMQoKMjAxMy0xMi0wNCAyMTo1Nzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogRG9uJ3Qgc2VuZCBoZWFkZXJzIHR3aWNlIGlmIHdlIGdvdCB0aGVtIGZyb20gdGhlIGNhcHMgYWxyZWFkeQoKMjAxMy0xMi0wNCAyMTo1NzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogRG9uJ3QgbGVhayBjb25maWcgZGF0YSB3aGVuIHJlY2VpdmluZyBhIHNlY29uZCBDQVBTIGV2ZW50CgoyMDEzLTEyLTA0IDIxOjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBEb24ndCBzZW5kIGhlYWRlcnMgdHdpY2UgaWYgd2UgZ290IHRoZW0gZnJvbSB0aGUgY2FwcyBhbHJlYWR5CgoyMDEzLTEyLTA0IDIxOjU0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBEb24ndCBsZWFrIGNvbmZpZyBkYXRhIHdoZW4gcmVjZWl2aW5nIGEgc2Vjb25kIENBUFMgZXZlbnQKCjIwMTMtMTItMDQgMjE6MTc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuaDoKCSAgcnRwc3RyZWFtZGVwYXk6IEFkZCBSRkM0NTcxIFJUUCBzdHJlYW0gZGVwYXlsb2FkaW5nIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgyOQoKMjAxMy0xMi0wNCAxMDoxMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtcGF5Lmg6CgkgIHJ0cHN0cmVhbXBheTogQWRkIFJGQzQ1NzEgUlRQIHN0cmVhbSBwYXlsb2FkaW5nIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgyOQoKMjAxMy0xMi0wMyAxNTowODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZnJhZ21lbnQtc3RhcnQgdHJhY2tpbmcKCSAgU29tZSBidWZmZXJzIGNhbiBoYXZlIG11bHRpcGxlIG1vb3YgYXRvbXMgaW5zaWRlIGFuZCB0aGUgc3RyYXRlZ3kKCSAgb2YgdXNpbmcgdGhlIGdzdF9hZGFwdGVyX3ByZXZfcHRzIHRpbWVzdGFtcCB0byBnZXQgdGhlIGJhc2UgdGltZXN0YW1wCgkgIGZvciB0aGUgbWVkaWEgb2YgdGhlIGZyYWdtZW50IHdvdWxkIGZhaWwgYXMgaXQgd291bGQgcmV1c2UgdGhlIHNhbWUKCSAgYmFzZSB0aW1lc3RhbXAgZm9yIGFsbCBtb29mcyBpbiB0aGUgYnVmZmVyIGluc3RlYWQgb2YgYWNjdW11bGF0aW5nCgkgIHRoZSBkdXJhdGlvbnMgZm9yIGFsbCBvZiB0aGVtLgoJICBIZXJlcyBhIGJldHRlciBleHBsYW5hdGlvbiBvZiB0aGUgaXNzdWU6CgkgIHF0ZGVtdXggcmVjZWl2ZXMgYSBidWZmZXIgd2hlcmUgUFRTKGJ1ZikgPSBYCgkgIGJ1ZiAtPiBtb29mQSB8IG1vb2ZCIHwgbW9vZkMKCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgUFRTKGJ1Zikgd2FzIHVzZWQgYXMgdGhlIGJhc2UgdGltZXN0YW1wIGZvcgoJICBhbGwgMyBtb29mcywgY2F1c2luZyBhbGwgYnVmZmVycyB0byBiZSBYIGJhc2VkLiBJbiB0aGlzIGNhc2Ugd2Ugd2FudAoJICBvbmx5IG1vb2ZBIHRvIGJlIFggYmFzZWQgYXMgaXQgaXMgd2hhdCB0aGUgUFRTIG9uIGJ1ZiBtZWFucywgYW5kIHRoZQoJICBvdGhlciBtb29mQiBhbmQgbW9vZkMganVzdCB1c2UgdGhlIGFjY3VtdWxhdGVkIHRpbWVzdGFtcCBmcm9tIHRoZQoJICBwcmV2aW91cyBtb29mcyBkdXJhdGlvbnMuCgkgIFRvIHNvbHZlIHRoaXMsIHRoaXMgcGF0Y2ggdXNlcyBnc3RfYWRhcHRlcl9wcmV2X3B0cyBkaXN0YW5jZQoJICByZXN1bHQsIHRoaXMgYWxsb3dzIHF0ZGVtdXggdG8gY2FsY3VsYXRlIGlmIGl0IHNob3VsZCB1c2UgdGhlCgkgIHJlc3VsdGluZyBwdHMgb3IganVzdCBhY2N1bXVsYXRlIHRoZSBzYW1wbGVzIGFzIGl0IGNhbiBpZGVudGlmeQoJICBpZiB0aGUgbW9vZnMgYmVsb25nIHRvIHRoZSBzYW1lIHVwc3RyZWFtIGJ1ZmZlciBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3ODMKCjIwMTMtMTEtMjEgMTI6Mjk6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGFkZCBzdXBwb3J0IGZvciBtdWx0aS1wbGFuYXIgVjRsMiBBUEkgaW4gRE1BQlVGIG1vZGUKCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTEtMTkgMTc6MTY6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogcmVmYWN0b3IgYnkgZW11bGF0aW5nIG9uZSB2NGwyX3BsYW5lIGluIG5vbi1NUExBTkUgbW9kZQoJICBzbyB0aGF0IHRoZSBidWZmZXIgaW5mb3JtYXRpb25zIGNhbiBiZSByZXRyaWV2ZWQgdGhlIHNhbWUgd2F5CgkgIGluIGJvdGggTVBMQU5FIGFuZCBub24tTVBMQU5FIG1vZGUuCgkgIEhlcmUgImVtdWxhdGluZyIgbWVhbnMgIm1hbnVhbGx5IGZpbGwgaW4gdGhlIHBsYW5lIi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTEtMTMgMTI6MDU6NDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWRkIHN1cHBvcnQgZm9yIG11bHRpLXBsYW5hciBWNEwyIEFQSQoJICBUaGlzIGFwaSBpcyBpbiBsaW51eCBrZXJuZWwgc2luY2UgdmVyc2lvbiAyLjYuMzksCgkgIGFuZCBwcmVzZW50IGluIGFsbCB2ZXJzaW9uIDMuCgkgIFRoZSBjb21taXQgdGhhdCBhZGRzIHRoZSBBUEkgaW4gbWFzdGVyIGJyYW5jaCBvZiB0aGUKCSAgbGludXgga2VybmVsIHNvdXJjZSBpczoKCSAgaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2NvbW1pdC9mOGYzOTE0Y2Y5MjJmNWY5ZTFkNjBlOWUxMGY2ZmI5Mjc0MjkwN2FkCgkgIHY0bDIgZG9jOiAiU29tZSBkZXZpY2VzIHJlcXVpcmUgZGF0YSBmb3IgZWFjaCBpbnB1dAoJICBvciBvdXRwdXQgdmlkZW8gZnJhbWUgdG8gYmUgcGxhY2VkIGluIGRpc2NvbnRpZ3VvdXMKCSAgbWVtb3J5IGJ1ZmZlcnMiCgkgIFRoZXJlIGFyZSBuZXdlciBzdHJ1Y3R1cmVzICdzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0X21wbGFuZScKCSAgYW5kICdzdHJ1Y3QgdjRsMl9wbGFuZScuCgkgIFNvIHRoZSBwaXhlbCBmb3JtYXQgaXMgbm90IHNldHVwIHdpdGggdGhlIHNhbWUgQVBJIHdoZW4gdXNpbmcKCSAgbXVsdGktcGxhbmFyLgoJICBBbHNvIGZvciBnc3QtdjRsMiwgb25lIG9mIHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgaW4gR3N0VjRsMk1ldGEKCSAgdGhlcmUgYXJlIG5vdyBvbmUgbWVtIHBvaW50ZXIgZm9yIGVhY2ggbWFwZWQgcGxhbmUuCgkgIFdoZW4gbm90IHVzaW5nIG11bHRpLXBsYW5hciwgdGhpcyBjb21taXQgdGFrZXMgY2FyZSBvZiBrZWVwaW5nCgkgIHRoZSBzYW1lIGNvZGUgcGF0aCB0aGFuIHByZXZpb3VzbHkuIFNvIHRoYXQgdGhlIDIgY2FzZXMgYXJlCgkgIGluIHR3byBkaWZmZXJlbnQgYmxvY2tzIHRyaWdnZXJlZCBmcm9tIFY0TDJfVFlQRV9JU19NVUxUSVBMQU5BUi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTItMDQgMDk6MTI6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9uJ3QgbGVhayB0ZW1wbGF0ZSBjYXBzCgoyMDEzLTEyLTAzIDIxOjQxOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIEFDQ0VQVF9JTlRFUlNFQ1QgZmxhZwoJICBUaGUgcGFyc2VyIGNhbiBhY2NlcHQgaW5wdXQgdGhhdCBpcyBub3QgY29tcGxldGVseSBzcGVjaWZpZWQuIFVzZSB0aGUKCSAgQUNDRVBUX0lOVEVSU0VDVCBmbGFnIG9uIHRoZSBzaW5rcGFkIHRvIHR3ZWFrIHRoZSBhY2NlcHRjYXBzIGZ1bmN0aW9uIHRvCgkgIGNoZWNrIGZvciBpbnRlcnNlY3Rpb24gb25seS4gVGhpcyBhbGxvd3MgdXMgdG8gcHJveHkgZG93bnN0cmVhbQoJICBjb25zdHJhaW50cyB3aGlsZSBzdGlsbCBhbGxvd2luZyBub24tc3Vic2V0IGNhcHMgYXMgaW5wdXQuCgkgIFdlIGNhbiB0aGVuIGFsc28gcmVtb3ZlIHRoZSBhcHBlbmRlZCB0ZW1wbGF0ZSBjYXBzIHdvcmthcm91bmQuCgkgIE1ha2UgYSB1bml0LXRlc3QgdG8gY2hlY2sgdGhlIG5ldyBmZWF0dXJlLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI2MDQwZWUzOGNiOWU3YzQyZjNkOWEwMjgyYjNlNWNhY2U3Y2E0MmQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAyNAoKMjAxMy0xMi0wMyAyMTozNjo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgZmllbGRzIGZyb20gZmlsdGVyCgkgIFdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBmaWVsZHMgZnJvbSB0aGUgZmlsdGVyIHdoZW4gd2UgY2FuIGNvbnZlcnQKCSAgYmV0d2VlbiB0aGVtLgoKMjAxMy0xMi0wMyAyMToyOToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBjb2RlIHRvIHJlbW92ZSBjYXBzIGZpZWxkcwoKMjAxMy0xMi0wMiAwMDoxMDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHNvbWUgdW5uZWNlc3NhcnkgR1ZhbHVlIGNvcGllcwoKMjAxMy0xMi0wMSAyMzozMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG9mZi1ieS1vbmUgY3Jhc2ggd2hlbiBkb3duc3RyZWFtIGNhcHMgY29udGFpbiBhIGxpc3Qgb2YgZnJhbWVyYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTQ0CgoyMDEzLTExLTI5IDExOjI2OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbW9vZiBhcyB0aGUgYmFzZSBmcmFnbWVudCBzdGFydAoJICBJbiBTbW9vdGhTdHJlYW1pbmcgZnJhZ21lbnRlZCBzY2VuYXJpbywgdGhlIHRpbWVzdGFtcHMgYXJlIGNhbGN1bGF0ZWQKCSAgc3RhcnRpbmcgZnJvbSB0aGUgZnJhZ21lbnQgYnVmZmVyIHRpbWVzdGFtcC4gV2hlbiB0aGVyZSBpcyBhIG5vdC1saW5rZWQKCSAgcmV0dXJuIGZyb20gZG93bnN0cmVhbSwgcXRkZW11eCB3aWxsIHJldHVybiB1cHN0cmVhbSBhbmQgd2lsbCBrZWVwIHRoZQoJICBub24tcHVzaGVkIGRhdGEgaW50byBpdHMgYWRhcHRlci4KCSAgT24gYSBuZXcgZnJhZ21lbnQgYnVmZmVyIHB1c2hlZCB0byBxdGRlbXV4LCB0aGUgbmV3IGJ1ZmZlciB0aW1lc3RhbXAKCSAgd291bGQgb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBvbmUgdGhhdCBzaG91bGQgYmUgdXNlZCBvbiB0aGUgc3RpbGwKCSAgdG8gYmUgcHVzaGVkIGJ1ZmZlcnMuIEJlY2F1c2Ugb2YgdGhpcywgdGhpcyBwYXRjaCB3aWxsIGFsc28KCSAgdXBkYXRlIHRoZSBmcmFnbWVudF9zdGFydCB0aW1lc3RhbXAgZnJvbSB0aGUgYWRhcHRlciBsYXN0IHB0cwoJICB0byBtYWtlIHN1cmUgdGhlIG1vb2YgYW5kIHRpbWVzdGFtcHMgYXJlIGluIHN5bmMgYW5kIHdpbGwgcmVzdWx0CgkgIGluIGNvcnJlY3QgdGltZXN0YW1wcyBmb3IgYWxsIGZyYWdtZW50cy4KCjIwMTMtMTEtMTUgMDg6NTQ6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhdm9pZCByZS1yZWFkaW5nIHRoZSBzYW1lIG1vb3YgYW5kIGVudGVyaW5nIGludG8gbG9vcAoJICBJbiB0aGUgc2NlbmFyaW8gb2YgIm1kYXQgfCBtb292ICh3aXRoIGZyYWdtZW50ZWQgYXJ0aWZhY3RzKSIgcXRkZW11eAoJICBjb3VsZCByZWFkIHRoZSBtb292IGFnYWluIGFmdGVyIHRoZSBtZGF0IGJlY2F1c2UgaXQgd2FzIGNvbnNpZGVyaW5nIHRoZQoJICBtZWRpYSBhcyBhIGZyYWdtZW50ZWQgb25lLgoJICBUbyBhdm9pZCB0aGlzIGxvb3AgdGhpcyBwYXRjaCBtYWtlcyBpdCBzdG9yZQoJICB0aGUgbGFzdCBwcm9jZXNzZWQgbW9vdl9vZmZzZXQgdG8gYXZvaWQgcGFyc2luZyBpdCBhZ2Fpbi4KCSAgQW5kIGl0IGFsc28gY2hlY2tzIGlmIHRoZXJlIGFyZSBhbnkgc2FtcGxlcyB0byBwbGF5IGJlZm9yZQoJICByZXN0dXJuaW5nIHRvIHRoZSBtZGF0LCBzbyB0aGF0IGl0IGtub3dzIHRoZXJlIGlzIG5ldyBkYXRhIHRvIGJlIHBsYXllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0xMS0xNSAwMDo1Mjo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IGZyZWUgc3RyZWFtcyBpZiB0aGV5IHdlcmUgbm90IGNyZWF0ZWQgbG9jYWxseQoJICBXaGVuIHBhcnNpbmcgYSB0cmFrIG9ubHkgZnJlZSBzdHJlYW1zIG9uIGZhaWx1cmVzIGlmIHRob3NlIHN0cmVhbXMKCSAgd2VyZSBjcmVhdGVkIGxvY2FsbHkuIFRoZXkgY291bGQgaGF2ZSBiZWVuIGNyZWF0ZWQgZnJvbSBhIHByZXZpb3VzCgkgIGZyYWdtZW50LCBpbiB0aGlzIGNhc2Ugd2UgdGhleSBoYXZlIHZhbGlkIGluZm8gZnJvbSB0aGUgb3RoZXIgZnJhZ21lbnQuCgkgIEluY2x1ZGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTExLTI5IDE5OjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogU2ltcGxpZnkgTlYxMi8yMSBibGVuZGluZyBjb2RlIG1hY3JvcwoKMjAxMy0xMS0yOSAxOTo1MDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzZWdmYXVsdCB3aGVuIGZpbGxpbmcgdGhlIGJhY2tncm91bmQgb2YgYSBVWVZZIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI0MDEKCjIwMTMtMTEtMjkgMDk6MjE6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGF0aW9uIHdpdGggZ3N0IGRlYnVnaW5nIGRpc2FibGVkCgkgIHF0ZGVtdXguYzo5NDUyOjE6IGVycm9yOiBsYWJlbCBhdCBlbmQgb2YgY29tcG91bmQgc3RhdGVtZW50CgoyMDEzLTExLTI3IDE3OjAyOjAwICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBNYXAgaW5idWZmZXIgb25jZSBvbmx5CgkgIERvIG5vdCBjYWxsIGdzdF9idWZmZXJfZXh0cmFjdCgpIHR3aWNlIHNpbmNlIGVhY2ggY2FsbCB3aWxsIG1hcCBhbmQKCSAgdW5tYXAgdGhlIGJpZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQzNAoKMjAxMy0xMS0yOCAxMTo1ODo0MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9mbGlwOiBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgJ2F1dG9tYXRpYycgbWV0aG9kCgkgIFRoZXNlIG5ldyB0ZXN0cyBzZW5kIGEgdGFnIGV2ZW50IGJlZm9yZSBzZWRpbmcgdGhlIGJ1ZmZlci4gVGVzdGVkIGNhc2UgYXJlIGFuCgkgIGVtcHR5IHRhZyBsaXN0LCBhIHRhZyBsaXN0IHdpdGggb3JpZW50YXRpb24tMTgwIHNldCBhbmQgYW4gaW52YWxpZCBvcmllbnRhdGlvbiB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQ5NwoKMjAxMy0xMS0yOCAxNjowOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBkb24ndCBjcmFzaCBvbiB0YWcgZXZlbnRzIHdpdGhvdXQgb3JpZW50YXRpb24gdGFnCgkgIFdvdWxkIGNyYXNoIGluIGdfZnJlZSgpIHRyeWluZyB0byBmcmVlIGFuIHVuaW5pdGlhbGlzZWQgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQ5NwoKMjAxMy0xMS0yOCAxNjo1MDo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IHVucmVmIGJ1ZmZlciB0d2ljZQoJICBDbGVhbmluZyB0aGUgcGFja2V0IGluZm8gd2lsbCBhbHJlYWR5IHVucmVmIHRoZSBidWZmZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUwNzgKCjIwMTMtMTEtMjggMjI6MzU6MDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBIeWRyb2dlbkF1ZGlvIFJlcGxheUdhaW4gdGFncwoJICBJZGVudGljYWwgdG8gdGhlIGl0dW5lcyAodG0pIHZlcnNpb24sIGJ1dCBsYWJlbGxlZCB3aXRoCgkgIG9yZy5oeWRyb2dlbmF1ZGlvLnJlcGxheWdhaW4gYXMgdGhlIHByb2R1Y2VyLgoKMjAxMy0xMS0yNyAxNjoxNToxMiArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBleHBsaWNpdGx5IGZhaWwgd2hlbiBhbHBoYSBpbmZvcm1hdGlvbiB3b3VsZCBoYXZlIGJlZW4gbG9zdC4KCjIwMTMtMDUtMjkgMTY6MDY6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBVcGRhdGVkIHRvIGlnbm9yZSAqLnN3cCBhbmQgLmRpcnN0YW1wCgoyMDEzLTExLTI2IDExOjE3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBBbGxvdyBhIGJpdCBtb3JlIHZhcmlhdGlvbiB3aGVuIGRldGVjdGluZyBjb21tb24gZnJhbWVyYXRlcwoJICBJbnN0ZWFkIG9mICsvLSAxbnMgd2UgYWxsb3cgMm5zIG5vdy4gRHVlIHRvIHJvdW5kaW5nIGVycm9ycyB0aGVyZSBhcmUKCSAgc29tZSBNYXRyb3NrYSBmaWxlcyBvdXQgdGhlcmUgd2l0aCAzMy4zMzMzMzFtcyBwZXIgZnJhbWUgZm9yIDMwZnBzLgoKMjAxMy0xMS0yNiAxMDoyMDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogVXNlIGdzdF91dGlsX2RvdWJsZV90b19mcmFjdGlvbigpIGluc3RlYWQgb2YgR1ZhbHVlIG1hZ2ljCgoyMDEzLTExLTI1IDE0OjAzOjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogU2V0IGRlZmF1bHQgbWV0aG9kIGF0IGNvbnRydWN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMzMKCjIwMTMtMDUtMjkgMTU6NTc6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVc2Ugc3BhY2UgaW5zdGVhZCBvZiB0YWJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMDUtMjkgMTU6NDQ6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBGaXggaGVhZGVyIGluZGVudGF0aW9uIHNvIGl0J3MgcmVhZGFibGUgYWdhaW4KCSAgSXQncyB1bmZvcnR1bmF0ZSB0byBoYXZlIHRvIGRvIHRoaXMsIGJ1dCB3aXRoIHRoZSBtaXggb2YgdGFicyBhbmQgc3BhY2UsIHBsdXMgYWxsIHRoZSByYW5kb20KCSAgaW5kZW50YXRpb24gdGhpcyBoZWFkZXIgaGFzIGJlY29tZSB2ZXJ5IGhhcmQgdG8gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0yNSAxNzozODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGZpeCBqaXR0ZXJidWZmZXIgY2hlY2sKCSAgRG9uJ3QgYWR2YW5jZSB0aGUgY2xvY2sgdG8gMjQwbXMgdG9vIGVhcmx5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMDEzCgoyMDEzLTExLTI1IDExOjQ1OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZGVwcmVjYXRlIG1heC1lcnJvcnMKCSAgVGhlIHByb3BlcnR5IHdhc24ndCB1c2UgaW50ZXJuYWxseSwgbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSB0aGUKCSAgbnVtYmVyIG9mIGVycm9ycyB0byB0b2xlcmF0ZS4KCjIwMTMtMTEtMjUgMTU6NDk6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgY2xlYXItcHQtbWFwIGhhbmRsaW5nCgkgIERvbid0IHJlc2V0IHRoZSBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gY2xlYXJpbmcgdGhlIHB0IG1hcCBiZWNhdXNlIHRoaXMKCSAgY291bGQgc3RhbGwgdGhlIGppdHRlcmJ1ZmZlciBmb3JldmVyLgoJICBBZGQgYSB1bml0IHRlc3QgZm9yIHRoaXMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk4MDAKCjIwMTMtMTAtMjggMjE6MzM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBsZXQgdGhlIGJhc2UgY2xhc3MgZGVjaWRlIHdoZW4gdG8gcmV0dXJuIGFuIGVycm9yCgkgIFRoZSBiYXNlIHZpZGVvZGVjb2RlciBjbGFzcyBoYXMgYW4gZXJyb3IgY291bnRpbmcgZmVhdHVyZSB0byB0b2xlcmF0ZQoJICBhIGZldyBlcnJvcnMgYmVmb3JlIHBvc3RpbmcgYW4gZXJyb3IgbWVzc2FnZS4gU28gZG9uJ3QgZm9yY2UgdGhlCgkgIGVycm9yIGFuZCBsZXQgdGhlIGJhc2UgY2xhc3MgZGVjaWRlIHdoZW4gaXQgc2hvdWxkIGhhcHBlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzYyCgoyMDEzLTEwLTI4IDIxOjI4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWRkIGRhdGEgc2tpcHBpbmcgb24gaW5wdXQKCSAgQWRkIG1pc3NpbmcgYnl0ZXMgc2tpcHBpbmcgd2hlbiBiYWQgaW5wdXQgaXMgcmVjZWl2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NjIKCjIwMTMtMTEtMjUgMTI6MTM6NDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERpc2NhcmQgMiBieXRlIHN1YnBpY3R1cmUgcGFja2V0cwoJICBBcyBmb3IgdGV4dCBzdWJ0aXRsZXMgYW5kIGFzIHN1Z2dlc3RlZCBpbiAjNzEyNjQzLCB0aHJvdwoJICBhd2F5IHRoZSAyIGJ5dGUgdGVybWluYXRvciBwYWNrZXRzIHRoYXQgc29tZSBlbmNvZGVycyBpbnNlcnQuCgkgIFRoaXMgd2lsbCBtYWtlIHRoaW5ncyBiZXR0ZXIgd2hlbiByZW11eGluZyBhbmQgY2F1c2VzIGdlbmVyYXRpb24KCSAgb2YgZ2FwIGV2ZW50cy4KCjIwMTMtMTEtMjUgMDA6MzQ6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggd2FrZS11cCB3aGVuIG5ldyBidWZmZXJzIGNvbWUgaW4gYWZ0ZXIgcnVubmluZyBlbXB0eQoJICBTcG90dGVkIGJ5ICdncmF0aWFzJyBvbiBJUkMuIFByb2JhYmx5IGludHJvZHVjZWQgaW4gcmVjZW50IHJlZmFjdG9yaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MDM5CgoyMDEzLTExLTIzIDEyOjE1OjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBjb3JyZWN0bHkgaGFuZGxlIG5lZ2F0aXZlIHJlbGF0aXZlIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHNjYWxpbmcgdGhlc2UgYXMgdW5zaWduZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NDQKCSAgQmFzZWQgb24gcGF0Y2ggYnkgS3J6eXN6dG9mIEtvdGxlbmdhIDxwb2Nla0B1c2Vycy5zZi5uZXQ+CgoyMDEzLTA5LTE0IDAzOjI3OjA5ICswMjAwICBNYXRoaWV1RHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBNZXJnZSB0YWcgZXZlbnRzIHRvIHNlbmQgdGhlbSBpbiBjb2xsZWN0ZWQuCgkgIE90aGVyd2lzZSB0aGVyZSB3ZXJlIHJhY2UgY29uZGl0aW9ucyB3aGVyZSB3ZSB3b3VsZCBzZW5kIHRhZ3MKCSAgb24gYSBmbHVzaGluZyBzcmNwYWQuCgkgIFdlIGhhdmUgYSB0ZXN0IGZvciB0aGF0IGluIEdFUywgYnV0IHRoaXMgc2hvdWxkIGJlIHRlc3RlZAoJICBzeXN0ZW1hdGljYWxseSB3aXRoIGhhcm5lc3MgaW4gdGhlIGZ1dHVyZSBhcyBJIGJlbGlldmUgaXQKCSAgaXMgdXNlZnVsIGZvciBleGFjdGx5IHRoYXQga2luZCBvZiBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2NQoKMjAxMy0xMS0xNCAxNzoyOTo1MCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSBHc3RWaWRlb0luZm8gaGVscGVyIHRvIGNyZWF0ZSBjYXBzIGZvciByYXcgdmlkZW8KCSAgVGhpcyB3YXkgd2UgZG8gbm90IG1pc3MgbWFuZGF0b3J5IGZpZWxkcyBpbiBjYXBzLgoJICBBdCB0aGUgc2FtZSB0aW1lIHVzZSB0aGUgZ3N0X3BiX3V0aWxzX2dldF9jb2RlY19kZXNjcmlwdGlvbgoJICBoZWxwZXIgdG8gZ2V0IGNvZGVjIGRlc2NyaXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzM1CgoyMDEzLTExLTE0IDE2OjExOjM4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgR3N0VmlkZW9JbmZvIGhlbHBlciB0byBjcmVhdGUgY2FwcyBmb3IgcmF3IHZpZGVvCgkgIFRoaXMgd2F5IHdlIGRvIG5vdCBtaXNzIG1hbmRhdG9yeSBmaWVsZHMgaW4gY2Fwcy4KCSAgQXQgdGhlIHNhbWUgdGltZSB1c2UgdGhlIGdzdF9wYl91dGlsc19nZXRfY29kZWNfZGVzY3JpcHRpb24gaGVscGVyIHRvCgkgIGdldCBjb2RlYyBkZXNjcmlwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMyOAoKMjAxMy0xMS0xMyAyMDoxODoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlc3JjOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBjYXNlIG9mIG11bHRpcGxlIGltYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjU0CgoyMDEzLTExLTIyIDEyOjI2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHBhc3MgZG93bnN0cmVhbSBmbG93cmV0dXJuIHRvIHVwc3RyZWFtCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3MjIKCjIwMTMtMTEtMTggMTQ6Mjc6NDggKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBjbGVhciBjYWNoZWQgY2FwcyBvbiBjbG9zZQoJICBBIGRpZmZlcmVudCBkZXZpY2Ugd2l0aCBkaWZmZXJlbnQgY2FwcyBtYXkgYmUgdXNlZCBmb3IgdGhlIG5leHQgb3Blbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYxMQoKMjAxMy0xMS0yMSAxNTozMDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZAoJICBKdXN0IHVzZSBwbGFpbiBtZW1tb3ZlKCksIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQgaW4KCSAgcmVjZW50IEdMaWIgdmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MTEKCjIwMTMtMTEtMjEgMTE6MzI6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNkZXBheTogaGFuZGxlIHBhY2tldHMgPiAweGZmZmYKCSAgSGFuZGxlIGlucHV0IHBhY2tldCBzaXplcyBsYXJnZXIgdGhhbiAxNiBiaXRzIGluIHRoZSBkZXBheWxvYWRlci4KCSAgUmVtb3ZlIHNpemUgcmVzdHJpY3Rpb25zIG9uIHRoZSBwYXlsb2FkZXIuCgoyMDEzLTExLTIxIDExOjMwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGhhbmRsZSBwYWNrZXRzID4gMHhmZmZmCgkgIFJlb3JnYW5pemUgc29tZSB0aGluZ3MgaW4gdGhlIGRlcGF5bG9hZGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBwYWNrZXRzIGxhcmdlcgoJICB0aGFuIDE2IGJpdHMuCgkgIFJlbW92ZSB0aGUgc2l6ZSByZXN0cmljdGlvbiBvbiB0aGUgcGF5bG9hZGVyLgoKMjAxMy0xMS0yMSAwMjoyODoyNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogSGFuZGxlIG1wNHMgc3VicGljdHVyZSBzdHJlYW1zIGJldHRlci4KCSAgQ2xlYW4gdXAgdGhlIGhhbmRsaW5nIG9mIG1wNHMgc3RyZWFtcy4gVXNlIHRoZSBnZW5lcmljIGVzZHMKCSAgZGVzY3JpcHRvciBmdW5jdGlvbiB0byBleHRyYWN0IHRoZSBwYWxldHRlLCBpbnN0ZWFkIG9mIGhhcmQgY29kaW5nCgkgIGEgd3JvbmcgbWFnaWMgb2Zmc2V0LgoJICBBZGQgc29tZSBtb3JlIHNpemUgc2FmZXR5IGNoZWNrcyB3aGVuIHBhcnNpbmcgRVMgZGVzY3JpcHRvcnMsIGFuZAoJICByZXBsYWNlIG1hZ2ljIG51bWJlcnMgd2l0aCB0aGUgZGVzY3JpcHRpdmUgY29uc3RhbnRzIHRoYXQgYXJlIGFscmVhZHkKCSAgZGVmaW5lZC4KCSAgRW5oYW5jZSBkdW1wIG91dHB1dCBmb3Igc3RzZCBhdG9tcy4KCSAgU3RyZWFtcyBmcm9tIGJvdGggYnVnIDcxMjY0MyBhbmQgaGlzdG9yaWMgYnVnIDU2ODI3OCBub3cgYm90aCB3b3JrCgkgIGNvcnJlY3RseS4KCSAgRml4ZXM6ICM3MTI2NDMKCjIwMTMtMTEtMjAgMjI6MDg6MjUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFNvcnQgZm91cmNjIGRlY2xhcmF0aW9ucyBhbmQgcmVtb3ZlIGR1cGxpY2F0ZXMKCjIwMTMtMTEtMjAgMjE6NDE6NDcgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogTWVyZ2UgYWxsIHRoZSBmb3VyY2MgaGVhZGVycyBpbnRvIG9uZQoJICBSZW1vdmUgcXRkZW11eF9mb3VyY2MuaCBhbmQgZnR5cGNjLmggYW5kIHB1dCBpdCBhbGwgaW4gZm91cmNjLmgKCjIwMTMtMTEtMTkgMTA6MTA6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCBtYXBwaW5nIHRoZSBidWZmZXIKCSAgUmV1c2UgdGhlIHBhcnNlZCBzdHJ1Y3R1cmUgdG8gZ2V0IHRoZSB0aW1lc3RhbXBzLgoKMjAxMy0xMS0xOCAxNzoxMzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4ICdtYWtlIGNoZWNrJwoJICBGaXggZ2VuZXJpYy9zdGF0ZXMgY2hlY2suIEFsc28sIGdfcmV0dXJuX2lmX2ZhaWwoKSBpcwoJICBub3QgZm9yIGludGVybmFsIHN0YXRlIGNoZWNraW5nLgoKMjAxMy0xMS0xOCAxNDo0NDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZG9jczogZ2V0IHJpZCBvZiAnU2luY2U6IDAuMTAueCcgbWFya2VycwoJICBBbmQgc29tZSBndGstZG9jIG1hcmt1cCBmaXhlcy4KCjIwMTMtMTEtMTYgMTI6MTU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGZpeCBTaW5jZSBtYXJrZXJzCgkgIFNob3VsZCBiZSBuZXh0IHN0YWJsZSByZWxlYXNlIHNlcmllcyB2ZXJzaW9uCgoyMDEzLTExLTE1IDEzOjQ4OjA3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBzdGF0cyBwcm9wZXJ0eSBmaWVsZCBuYW1lcyBhbmQgZG9jdW1lbnRhdGlvbgoKMjAxMy0xMS0xNSAxNToyMDoxNCArMDEwMCAgVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBnc3RydHBzZXNzaW9uOiBJbXBsZW1lbnQgYSBudW1iZXIgb2YgZmVlZGJhY2sgcGFja2V0IHN0YXRpc3RpY3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY5MwoKMjAxMy0xMS0xMyAxNzoxMTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIG1hdGggb3BlcmF0aW9uIGZyb20gbG9vcAoJICBUaGUgZWxzdF9vZmZzZXQgZG9lc24ndCBjaGFuZ2UgaW5zaWRlIHRoZSBsb29wLCBzbyBjb21wdXRlIGl0CgkgIG91dHNpZGUKCjIwMTMtMTEtMTQgMjA6NTQ6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRtdXg6IGZpeCBwbGF5YmFjayByZWdyZXNzaW9uCgkgIEluIGFlMTE1MGU4NWNmOTlkNzQ4MjkzM2FhNmY3ZTRmMDEyZmU0NWEzZWMgZmxpcHBpbmcgYSBjb25kaXRpb24gbWlzYWxpZ25lZCB0aGUKCSAgZWxzZSBicmFuY2gsIHdoZXJlIGZvciB0aGVyZSBjb25kaXRpb24gdGhhdCB3YXMgY2hhbmdlIHRoZXJlIGlzIG5vbmUuCgkgIEZpeGVzICM3MTIzMDMKCjIwMTMtMTEtMTQgMDk6MjA6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW5hbWUgcHJvcGVydHkgdG8gJ3N0YXRzJwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3Qgd29yay4KCSAgV2UgY2FuIGxhdGVyIGFsc28gYWRkIG1vcmUgc3RhdHMsIG5vdCBzcGVjaWZpYyB0byByZXRyYW5zbWlzc2lvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQxMQoKMjAxMy0xMS0xMiAxMToxOToyNSAtMDUwMCAgVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXBsZW1lbnQgcnR4IHN0YXRpc3RpY3MKCjIwMTMtMTEtMTMgMTA6NDI6MjEgKzAwMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHByaW50IEZPVVJDQ19GT1JNQVQgd2hlbiBlbnVtZXJhdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjA2CgoyMDEzLTExLTA2IDEyOjQwOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWR2YW5jZSBleHBlY3RlZCBzZXFudW0gYWZ0ZXIgZHJvcHBpbmcKCSAgQWZ0ZXIgZHJvcHBpbmcgYSBidWZmZXIsIG1vdmUgb3VyIGV4cGVjdGVkIHNlcW51bQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgoyMDEzLTExLTA0IDE1OjQ2OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBvbmx5IHNlbmQgb25lIGNhcHMKCSAgT25seSBzZW5kIG9uZSBjYXBzIGluIGEgcGFja2V0LiBUd28gY2FwcyBjYW4gaGFwcGVuIHdoZW4gc2V0Y2FwcyBpcyBjYWxsZWQgYW5kCgkgIHRoZSBjb25maWctaW50ZXJ2YWwgZXhwaXJlcyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAxMy0xMS0xMyAxMDoyMzoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVc2UgdGhlIHN5bmNlZCBidWZmZXIgbW9kZSBpbiBhdXRvIG1vZGUgaWYgYSBjbG9jayBwcm92aWRlciBpcyBpbiB0aGUgU0RQCgoyMDEzLTExLTA4IDExOjA5OjIxICswMDAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW5pdCB2NGwyX2J1ZmZlciB0byAweDAgYmVmb3JlIGlvY3RsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIxMzcKCjIwMTMtMTEtMTEgMTU6Mjc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBjb2xsaXNpb24gcmVjb25maWd1cmUgZXZlbnQKCSAgUmVtb3ZlIGJvZ3VzIHJlY29uZmlndXJlIGV2ZW50IG9uIGNvbGxpc2lvbiwgd2UgZG9uJ3Qgd2FudCB0byBzZW5kIHRoZSBldmVudCBvbgoJICB0aGUgcmVjZWl2aW5nIFJUUCBwYWQgYW5kIHRoZSBjb2xsaXNpb24gZXZlbnQgaXMgbm93IGhhbmRsaW5nIHRoaXMKCSAgY2FzZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE1NjAKCjIwMTMtMTEtMDEgMTc6MDQ6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBzZW5kIGN1c3RvbSB1cHN0cmVhbSBldmVudCAiR3N0UlRQQ29sbGlzaW9uIiBvbiBzZW5kX3J0cF9zaW5rIHBhZAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTU2MAoKMjAxMy0xMS0xMSAxNDoyNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIGNoZWNrOiBhZGQgcnRwc2Vzc2lvbiB0ZXN0CgkgIEFkZCBhIGJhc2ljIHJ0cHNlc3Npb24gdGVzdCB0byBlbnN1cmUgdGhhdCBSUiBibG9ja3MgYXJlIGdlbmVyYXRlZCB3aGVuCgkgIG11bHRpcGxlIFNTUkMgc2VuZGVycyBhcmUgYWN0aXZlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjcwCgoyMDEzLTExLTExIDEzOjE3OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjb3JyZWN0bHkgaGFuZGxlIHRpbWVzdGFtcHMgd2hlbiBwYXJzaW5nIHgtcHJpdmF0ZTEtYWMzCgkgIC4uLiB0aGUgd2F5IGl0IGhhcyBhbHdheXMgd29ya2VkIGZpbmUgaW4gYTUyZGVjLgoKMjAxMy0xMS0wNSAxMDo0ODozMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjcmFzaCB3aGVuIGRvLXJldHJhbnNtaXNzaW9uPXRydWUgYW5kIGEgbG90IG9mIGJ1ZmZlcnMgYXJlIGxvc3QKCSAgVGhlIHByb2JsZW0gaGVyZSB3YXMgdGhhdCB0aGUgaml0dGVyYnVmZmVyIGxvY2sgd2FzIHVubG9ja2VkIHRvIHB1c2gKCSAgdGhlIGV2ZW50LCBidXQgdGhhdCBjYXVzZWQgYW5vdGhlciB0aHJlYWQgdG8gcmVtb3ZlIHRoZSB0aW1lciBjdXJyZW50bHkKCSAgYmVpbmcgcHJvY2Vzc2VkLCBwcm9iYWJseSBiZWNhdXNlIHRoZSBhbW91bnQgb2YgcnR4IGV2ZW50cwoJICAoYW5kIHRoZXJlZm9yZSB0aW1lcnMpIHdhcyBnZXR0aW5nIHRvbyBoaWdoLiBUaGUgc29sdXRpb24gaXMgdG8KCSAgdW5sb2NrIGFuZCBwdXNoIHRoZSBldmVudCBvbmx5IGFmdGVyIHRpbWVyIHByb2Nlc3NpbmcgaGFzIGZpbmlzaGVkLgoJICBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTMxCgoyMDEzLTEwLTI0IDEzOjE2OjQyICswMjAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQXZvaWQgZGl2aXNpb24gYnkgemVybyBhc3NlcnQgaW4gZ3N0X21hdHJvc2thX2RlbXV4X3NlYXJjaF9wb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTgyOQoKMjAxMy0xMS0wOCAxNzo1OToyNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogZ2VuZXJhdGUgYSBub24tZW1wdHkgZGF0YSBoZWFkZXIKCSAgUmVzdG9yZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGVsZW1lbnQgdG8gdGhlIHN0YXRlIGJlZm9yZSBjb21taXQKCSAgZGIyOTUyMmE0MzBlNDQ0NTA0MTVjYTM2NzZhYmQxYjc3ZWU5MjNkOS4gQSBub24tZW1wdHkgaGVhZGVyIGlzCgkgIGdlbmVyYXRlZCBhbmQgd2hlbiB0aGUgRU9TIGV2ZW50IGlzIHJlY2VpdmVkIHRoZSBoZWFkZXIgaXMgZ2VuZXJhdGVkCgkgIGFnYWluLCB0aGlzIHRpbWUgd2l0aCB0aGUgY29ycmVjdCBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjk5CgoyMDEzLTExLTA3IDE2OjE3OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1cGRhdGUgcmVjZWl2ZXIgc3RhdHMgZm9yIHNlbmRlcgoJICBBbiBpbnRlcm5hbCBzZW5kZXIgaW4gYSBzZXNzaW9uIGlzIGFsc28gYSByZWNlaXZlciBvZiBpdHMgb3duIHBhY2tldHMgc28gdXBkYXRlCgkgIHRoZSByZWNlaXZlciBzdGF0cy4gT3RoZXIgc2VuZGVycyBpbiB0aGUgc2Vzc2lvbiB3aWxsIHVzZSB0aGlzIGluZm8gdG8gZ2VuZXJhdGUKCSAgY29ycmVjdCBSQiBibG9ja3MgaW4gdGhlaXIgU1IgcmVwb3J0cy4KCjIwMTMtMTEtMDcgMTY6MTM6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiByZWZhY3RvciByZWNlaXZlciBzdGF0cyB1cGRhdGUKCjIwMTMtMTAtMjUgMTg6MjI6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBmcmFnbWVudGVkIGZpbGVzIHdpdGggbWRhdCBiZWZvcmUgbW9vZnMKCSAgQXNzdW1lIGEgZmlsZSB3aXRoIGF0b21zIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IG1vb3YsIG1kYXQsIG1vb2YsCgkgIG1kYXQsIG1vb2YgLi4uCgkgIFRoZSBmaXJzdCBtb292IHVzdWFsbHkgZG9lc24ndCBjb250YWluIGFueSBzYW1wbGUgZW50cmllcyBhdG9tcyAob3IKCSAgdGhleSBhcmUgYWxsIHNldCB0byAwIGxlbmd0aCksIGJlY2F1c2UgdGhlIHJlYWwgc2FtcGxlcyBhcmUgc2lnbmFsZWQKCSAgYXQgdGhlIG1vb2ZzLiBJbiBwdXNoIG1vZGUsIHF0ZGVtdXggcGFyc2VzIHRoZSBtb292IGFuZCB0aGVuIGZpbmRzIHRoZSBtZGF0LAoJICBidXQgdGhlbiBpdCBoYXMgMCBlbnRyaWVzIGFuZCBhc3N1bWVzIGl0IGlzIEVPUy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjb250aW51ZSBwYXJzaW5nIGluIGNhc2UgaXQgaXMgYSBmcmFnbWVudGVkIGZpbGUgc28gdGhhdAoJICBpdCBtaWdodCBmaW5kIHRoZSBtb29mcyBhbmQgcGxheSB0aGUgbWVkaWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA2MjMKCjIwMTMtMTAtMjUgMTE6NDI6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBXaGVuIHVzaW5nIGEgYnVmZmVyZWQgbWRhdCwgc3RvcmUgYWxsIHJlY2VpdmVkIGRhdGEgZm9yIGxhdGVyIHVzZQoJICBJbiBwdXNoIG1vZGUsIHdoZW4gcXRkZW11eCBjYW4ndCB1c2UgYSBzZWVrIHRvIHNraXAgdGhlIG1kYXQgYnVmZmVyIGl0IGhhcwoJICB0byBidWZmZXIgaXQgZm9yIGxhdGVyIHVzZS4KCSAgVGhlIGlzc3VlIGlzIHRoYXQgYWZ0ZXIgcGFyc2luZyB0aGUgbmV4dCBtb292L21vb2YsIHRoZXJlIG1pZ2h0IGJlIHNvbWUKCSAgdHJhaWxpbmcgYnl0ZXMgZnJvbSB0aGUgbmV4dCBhdG9tIGluIHRoZSBmaWxlLiBUaGlzIGRhdGEgd2FzIGJlaW5nIGRpc2NhcmRlZAoJICBhbG9uZyB3aXRoIHRoZSBhbHJlYWR5IHBhcnNlZCBtb292L21vb2YgYW5kIHBsYXliYWNrIHdvdWxkIGZhaWwgdG8gY29udGludWUKCSAgYWZ0ZXIgdGhlIGNvbnRlbnRzIG9mIHRoaXMgbW9vdi9tb29mIGFyZSBwbGF5ZWQuCgkgIFRoaXMgaXMgcGFydGljdWxhcmx5IGJhZCBvbiBmcmFnbWVudGVkIGZpbGVzIHRoYXQgaGF2ZSB0aGUgbWRhdCBiZWZvcmUgdGhlCgkgIGNvcnJlc3BvbmRpbmcgbW9vZi4gU28geW91J2QgZ2V0OgoJICBtZGF0fG1vb2Z8bWRhdHxtb29mIC4uLgoJICBXaGVuIGEgbW9vZiB3YXMgcmVjZWl2ZWQsIGl0IHVzdWFsbHkgY2FtZSB3aXRoIHNvbWUgZXh0cmEgYnl0ZXMgdGhhdCB3b3VsZAoJICBiZWxvbmcgdG8gdGhlIG5leHQgbWRhdCAoYmVjYXVzZSB1cHN0cmVhbSBkb2Vzbid0IGNhcmUgYWJvdXQgYXRvbXMgYWxpZ25tZW50KS4KCSAgU28gdGhvc2UgYnl0ZXMgd2VyZSBiZWluZyBkaXNjYXJkZWQgYW5kIHBsYXliYWNrIHdvdWxkIGZhaWwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBzdG9yZSB0aG9zZSBleHRyYSBieXRlcyB0byByZXVzZSB0aGVtIGxhdGVyIGFmdGVyIHRoZQoJICBtZGF0IGlzIGVtcHRpZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA2MjMKCjIwMTMtMTEtMDcgMDk6NDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEFsc28gdXNlIHRoZSBiaW5kLXBvcnQgcHJvcGVydHkgaWYgbm8gYmluZC1hZGRyZXNzIHdhcyBnaXZlbgoKMjAxMy0xMS0wNyAwMDo1MToxMiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW9zaW5rOiBmaXggc2VnZmF1bHQgd2hlbiB3ZSBjYW4ndCBnZXQgdGhlIGNoYW5uZWxzIGxheW91dAoKMjAxMy0xMS0wNSAxNzoyNjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogTWFrZSBQaWN0dXJlIElEIG1vZGUgY29uZmlndXJhYmxlIGFuZCBkZWZhdWx0IHRvIG5vIHBpY3R1cmUgSUQKCSAgU29tZSBpbXBsZW1lbnRhdGlvbnMgKGxpbnBob25lKSBvbmx5IHN1cHBvcnQgbm8gcGljdHVyZSBhdCBhbGwgaW4gdGhlCgkgIHN0cmVhbSBhbmQgd2lsbCBmYWlsIGlmIG9uZSBpcyBwcm92aWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQ5NwoKMjAxMy0xMS0wNSAxMToxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODY1YWEyMCB0byBkYmVkYWEwCgoyMDEzLTAxLTI5IDEwOjUxOjA3ICswMTAwICBQYXVsIEhFTlJZUyA8dmlzZWNoZWxsZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQWRkIGNhbGwgdG8gZ3N0X3J0cF9oMjY0X3BheV9jbGVhcl9zcHNfcHBzKCkgd2hlbiByZWNlaXZpbmcgYSBTVFJFQU1fU1RBUlQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4NwoKMjAxMy0xMS0wMiAyMjo1MDo0NyArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcDogQWRkIG1pc3NpbmcgZ2lvLTIuMCBkZXBzIGFuZCBpbmNsdWRlcwoKMjAxMy0xMS0wMSAxODozMTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvaWlyZmlsdGVyOiBGaXggaW5pdGlhbGl6YXRpb24gY29lZmZpY2llbnQgaGFuZGxpbmcKCSAgQnJva2UgdW5pdCB0ZXN0LgoKMjAxMy0xMC0zMSAxNDowNTo0MyAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhbGxvdyBzZXR0aW5nIHRscyBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uIGZsYWdzCgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5ICJ0bHMtdmFsaWRhdGlvbi1mbGFncyIuIElmIHRoZSB1cmwgdHJhbnNwb3J0IGlzCgkgIFRMUywgdGhlIHZhbGlkYXRpb24gZmxhZ3Mgd2lsbCBiZSBzZXQgdG8gdGhlIHJ0c3AgY29ubmVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIzMAoKMjAxMy0xMC0zMSAyMjo0Mzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvaWlyZmlsdGVyOiBEb24ndCBjcmFzaCBpZiBubyBmaWx0ZXIgY29lZmZpY2llbnRzIGFyZSBwcm92aWRlZAoJICAuLi5hbmQgYnkgZGVmYXVsdCB1c2UgYSBpZGVudGl0eSBmaWx0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAyMTUKCjIwMTMtMTAtMzEgMTk6MTU6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IEZpeCB3cml0aW5nIG9mIE1ENSBzdW1zIGFuZCBvdGhlciBtZXRhZGF0YSBibG9ja3MKCSAgVGhlc2UgZG9uJ3QgaGF2ZSB0aGUgRklOQUxfQkxPQ0sgZmxhZyBzZXQuCgoyMDEzLTEwLTMxIDEzOjAyOjExIC0wMjAwICBEamFsbWEgTMO6Y2lvIFNvYXJlcyBkYSBTaWx2YSA8ZGx1Y2lvQGltcGEuYnI+CgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGhkdjEzOTRzcmM6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGEgY2FtZXJhIGJ5IGl0cyBHVUlECgkgIFRoZSBzb3VyY2UgaGR2MTM5NHNyYyBoYXMgdGhlIGd1aWQgcHJvcGVydHkgdGhhdCBwZXJtaXRzIHNlbGVjdCBhIGNhbWVyYQoJICBjb25uZWN0ZWQgZnJvbSBpdHMgR1VJRCBudW1iZXIuCgkgIEhvd2V2ZXIgd2hlbiB0aGlzIHByb3BlcnR5IGlzIHNldHRlZCB0aGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBjaGFuZ2VkLgoJICBUaGUgc291cmNlIGNvbnRpbnVlcyB1c2luZyB0aGUgZGVmYXVsdCBjYW1lcmEuCgkgIFRoaXMgcHJvYmxlbSB3YXMgc29sdmVkIHVzaW5nIHRoZSBmdW5jdGlvbiBpZWM2MTg4M19jbXBfY29ubmVjdC4KCSAgVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGZ1bmN0aW9uIGNvdWxkIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHA6Ly93d3cuZGVubmVkeS5vcmcvbGliaWVjNjE4ODMvQVBJLWllYzYxODgzLWNtcC1jb25uZWN0Lmh0bWwKCSAgVGhlIHNvbHV0aW9uIGNhbWUgZnJvbSBkdmdyYWIgc291cmNlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0MTUKCjIwMTMtMTAtMzEgMTM6MjA6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBhZGQgZXhwbGljaXQgY2FzdCB0byBzaWxlbmNlIHdhcm5pbmcKCSAgU2lsZW5jaW5nIHRoaXMgd2FybmluZzoKCSAgZWxlbWVudHMvc291cGh0dHBzcmMuYzo1MzM6MTQ6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4g4oCYU291cEtub3duU3RhdHVzQ29kZeKAmSBhbmQg4oCYZW51bSA8YW5vbnltb3VzPuKAmSBbLVdlcnJvcj1lbnVtLWNvbXBhcmVdCgkgIGlmIChzdGF0dXMgIT0gU09VUF9TVEFUVVNfT0sgJiYgIXNlbmRfZXJyb3JfZG9jKQoJICBXaXRoIGdjYyA0LjguMiAoZGViaWFuKQoKMjAxMy0xMC0zMSAxMDozODozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3h5IG5ldyBidWZmZXIgbW9kZQoKMjAxMy0xMC0zMCAxNjo0OTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBhZGQgbmV3IHRpbWVzdGFtcCBtb2RlCgkgIEFkZCBhIG5ldyB0aW1lc3RhbXAgbW9kZSB0aGF0IGFzc3VtZXMgdGhlIGxvY2FsIGFuZCByZW1vdGUgY2xvY2sgYXJlCgkgIHN5bmNocm9uaXplZC4gSXQgdGFrZXMgdGhlIGZpcnN0IHRpbWVzdGFtcCBhcyBhIGJhc2UgdGltZSBhbmQgdGhlbiB1c2VzIHRoZSBSVFAKCSAgdGltZXN0YW1wcyBmb3IgdGhlIG91dHB1dCBQVFMuCgoyMDEzLTEwLTMwIDIyOjEyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBtYXRyb3NrYS1kZW11eC5jOiBJbiBmdW5jdGlvbiAnZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0nOgoJICBtYXRyb3NrYS1kZW11eC5jOjEzNzk6NzogZXJyb3I6IGZvcm1hdCAnJXUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDQgaGFzIHR5cGUgJ2d1aW50NjQnIFstV2Vycm9yPWZvcm1hdD1dCgkgICIlMDN1IiwgY29udGV4dC0+dWlkKTsKCSAgXgoKMjAxMy0xMC0yOCAxMzoyMToxNSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJICB2aWRlb21peGVyOiByZW1vdmUgdW5uZWVkZWQgZ3VpbnQgY29tcGFyYWlzb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTAxMAoKMjAxMy0xMC0yOCAxNDoxMzoxMiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggbWlzc2luZyBzZWxlY3RvciBuYW1lIHdhcm5pbmdzCgkgIFRoZSBzcGFjZXMgbWF0dGVyIGluIE9iakMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTAxMwoKMjAxMy0xMC0yOCAxMzozMTozNCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDExCgoyMDEzLTEwLTI1IDExOjMwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBpZiB0aGUgZW5kX3RpbWUgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQKCSAgQXZvaWRzIHNlbmRpbmcgRU9TIHRvbyBzb29uIGJlY2F1c2Ugb2Ygb3ZlcmZsb3cuIENhbiBoYXBwZW4gb24KCSAgZnJhZ21lbnRlZCBtcDQgcGxheWJhY2suCgoyMDEzLTEwLTIzIDEzOjM4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbgoJICBFdmVudHMgYXJlbid0IEdzdE9iamVjdHMsIGJ1dCBHc3RNaW5pT2JqZWN0cwoKMjAxMy0xMC0xNSAwODoxNjoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW5hbWUgY2h1bmtzX2FyZV9jaHVua3MgdG8gY2h1bmtzX2FyZV9zYW1wbGVzIGFuZCBmbGlwIHRoZSBsb2dpYwoJICBBcyB0aGUgdmFyaWFibGUgbmFtZSBzdWdnZXN0cywgc29tZXRpbWVzIGNodW5rcyBhcmUgY2h1bmtzLiBSZW5hbWUgdGhlIHZhcmlhYmxlCgkgIHRvIHRlbGwgd2hhdCB0aGV5IGFyZSB3aGVuIHRoZXkgYXJlIG5vdCBjaHVua3MuCgoyMDEzLTEwLTA5IDA4OjA0OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0eXBvcyBhbmQgYWRkIG1vcmUgbG9nZ2luZyBmb3IgdW5oYW5kbGVkIHBhcnRzCgoyMDEzLTEwLTE0IDE2OjIzOjI1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBGaXggbWVtb3J5IGxlYWsKCSAgVW5tYXAgYWxsIEdzdE1lbW9yeSBvZiB0aGUgY3VycmVudCBidWZmZXIgd2hlbiBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDExMAoKMjAxMy0xMC0xMiAyMDo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IGJyb2tlbiBzYW1wbGUgcGlwZWxpbmUKCSAgd2hpY2ggd2FzIG11eGluZyByYXcgYXVkaW8gYW5kIHZpZGVvIGludG8gZmx2bXV4LCB3aGljaCB3b24ndCB3b3JrLAoJICBldmVuIGlmIHRoZXJlIHdlcmUgY29udmVydGVycy4KCjIwMTMtMTAtMTIgMjA6Mzc6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHJlcXVpcmUgc3RyZWFtLWZvcm1hdD1yYXcgZm9yIG1wZWctMiB0b28sIGJ1dCBkb24ndCByZXF1aXJlIGZyYW1lZCBmaWVsZAoJICByYXcgaW1wbGllcyB0aGF0IGl0J3MgZnJhbWVkIGFscmVhZHkuIEZpeGVzIC4uICEgZmFhYyAhIGZsdm11eAoKMjAxMy0xMC0wNyAxNDoyNzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogZG8gbm90IGVtaXQgRU9TIHdoZW4gY29ubmVjdGlvbiBkcm9wcwoJICBJZiB0aGUgcGlwZWxpbmUgaXMgc3RhbGxlZCBmb3IgdG9vIGxvbmcsIHNvdXBodHRwc3JjIHdpbGwgYmxvY2sgYW5kCgkgIHN0b3AgZmV0Y2hpbmcgZGF0YSBmcm9tIHRoZSBuZXR3b3JrLiBUaGlzIGNhbiBjYXVzZSB0aGUgY29ubmVjdGlvbiB0bwoJICBkcm9wIGFuZCBzb3VwaHR0cHNyYyB3b3VsZCBoYW5kbGUgaXQgYXMgYW4gRU9TLiBUaGlzIHBhdGNoIG1ha2VzIGl0CgkgIHBlcnNpc3QgYW5kIHRyeSB0byBmZXRjaCBtb3JlIGRhdGEgdW50aWwgdGhlIGVuZCBvZiB0aGUgY29udGVudCBsZW5ndGgKCSAgb3IgdW50aWwgcmVjZWl2aW5nIGFuIGVycm9yIHRoYXQgaXQgaXMgYmV5b25nIGxpbWl0cyBpbiBjYXNlIHRoZSBjb250ZW50CgkgIGlzIHVua25vd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM1MzYKCjIwMTMtMTAtMTAgMTM6NTI6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IERvbid0IHNlbmQgc2VnbWVudCBldmVudCBiZWZvcmUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzI4CgoyMDEzLTEwLTA5IDE3OjQ2OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBTZW5kIHN0cmVhbS1zdGFydCwgY2FwcyBhbmQgc2VnbWVudCBldmVudHMgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MjgKCjIwMTMtMTAtMDggMTE6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQS1MYXcgYW5kIE11LUxhdyBkb24ndCBoYXZlIHdpZHRoL2RlcHRoL3NpZ25lZCBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NjE0CgoyMDEzLTEwLTA3IDEyOjU0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBoYW5kbGluZyBvZiBwbGFuYXIgdmlkZW8gZm9ybWF0cyBpbiBncmVlZHloIG1ldGhvZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NTA3CgoyMDEzLTEwLTA2IDEwOjAxOjI2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9AcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFRyaXZpYWwgZ3JhbW1hciBmaXggb24gZGVidWcgbXNnCgoyMDEzLTEwLTA2IDA5OjE3OjAwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9AcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBjb250ZXh0IGZsYWcgZm9yIFdlYk0KCSAgV2ViTSBoYXMgYSBjb3VwbGUgb2Ygc3BlY2lmaWMgcmVxdWlyZW1lbnRzIHdlIG5lZWQgdG8gaGFuZGxlLgoJICBJZGVhIGlzIHRvIHNldCB0aGlzIGZsYWcgb25jZSBhbmQganVzdCByZWx5IG9uIG11eC0+aXNfd2VibQoJICBhdCBydW4gdGltZSBpbnN0ZWFkIG9mIHJlcGVhdGVkbHkgZmlndXJpbmcgdGhpcyBvdXQgZnJvbQoJICBHU1RfTUFUUk9TS0FfRE9DVFlQRV9XRUJNICh3aGljaCByZXF1aXJlcyBhIHN0cmNtcCgpKS4KCjIwMTMtMTAtMDQgMTQ6NDI6NTkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogRG8gbm90IHdyaXRlIFNlZ21lbnRVSUQgZm9yIFdlYk0gbXV4CgkgIFdlYk0gc3BlYyBzdGF0ZXMgU2VnbWVudFVJRCBpcyBVbnN1cHBvcnRlZC4gRmlsZXMgcHJvZHVjZWQKCSAgd2l0aCBnc3RyZWFtZXIgd2l0aG91dCB0aGlzIGNoYW5nZSB3aWxsIHNwaXQgYW4gZXJyb3IgbGlrZQoJICB0aGlzIHdoZW4gcGFzc2VkIHRvIG1rdmFsaWRhdG9yOgoJICBFUlIyMDE6IEludmFsaWQgJ1NlZ21lbnRVSUQnIGZvciBwcm9maWxlICd3ZWJtJyBpbiBJbmZvIGF0IDE5MgoKMjAxMy0xMC0wNSAwMDowMDowMyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYWtlIGR2ZCBwYWxldHRlIGNoYW5nZSBldmVudCBzdGlja3kKCSAgU28gdGhleSBkb24ndCBnZXQgbG9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQ1NAoKMjAxMy0xMC0wMyAxNjozOToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogQWRkIGF1dG9tYXRpYyBmbGlwIG1vZGUgZHJpdmVuIGJ5IGltYWdlLW9yaWVudGF0aW9uIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzEyCgoyMDEzLTEwLTA0IDEzOjM0OjA5ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPHBldGVyQGtvcnNnYWFyZC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogT19DTE9FWEVDIG5lZWRzIF9HTlVfU09VUkNFCgkgIE9uIHNvbWUgc3lzdGVtcyAoRS5HLiB1Q2xpYmMgYW5kIG9sZGVyIEdsaWJjIHZlcnNpb25zKSwgT19DTE9FWEVDIGlzIG9ubHkKCSAgZGVmaW5lZCB3aGVuIF9HTlVfU09VUkNFIGlzIHNwZWNpZmllZCwgc28gZG8gc28uCgkgIF9HTlVfU09VUkNFIG5lZWRzIHRvIGJlIGRlZmluZWQgYmVmb3JlIGFueSBzeXN0ZW0gaGVhZGVycyBhcmUgaW5jbHVkZWQsCgkgIHNvIG1vdmUgdGhlIGZjbnRsLmggc2VjdGlvbiB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQyMwoKMjAxMy0xMC0wNCAxMjoxMTo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCByYWNlIGluIGZsdXNoLXN0YXJ0L2ZsdXNoLXN0b3AKCSAgV2hlbiBmbHVzaC1zdG9wIGFycml2ZXMgYmVmb3JlIHdlIHByb2Nlc3MgdGhlIHJlc3VsdCBvZiB0aGUgX3B1c2goKSBpbiB0aGUKCSAgbG9vcCBmdW5jdGlvbiwgd2UgbWlnaHQgcGF1c2UgZXZlbiB0aG91Z2ggd2UgYXJlIG5vdCBmbHVzaGluZyBhbnltb3JlLiBGaXggdGhpcwoJICByYWNlIGJ5IHdhaXRpbmcgZm9yIHRoZSBzcmNwYWQgbG9vcCBmdW5jdGlvbiB0byBjb21wbGV0ZWx5IHBhdXNlIGFmdGVyIGRvaW5nIHRoZQoJICBmbHVzaC1zdGFydC4KCjIwMTMtMTAtMDMgMjI6Mzg6NDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSB2aWRlb2NvbnZlcnQgY29weQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzkwCgoyMDEzLTEwLTAzIDIxOjM2OjM0ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IENoZWNrIGlmIHRoZSBwYWQgbmVlZHMgcmVjb25maWd1cmF0aW9uIGluIGNvbGxlY3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5Mzg0CgoyMDEzLTEwLTAzIDE0OjM5OjM1ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZWxheCBzaW5rIGNhcHMKCSAgU2luY2UganBlZ2RlYyBhbHJlYWR5IHBhcnNlIHRoZSBqcGVnIHN0cmVhbSwgdGhlIHNpbmsgY2FwcyBjb3VsZCBiZQoJICByZWxheGVkLiBUaGlzIHdpbGwgYWxsb3cganBlZ2RlYyB0byBiZSBzZWxlY3RlZCBpbiBtb3JlIGNhc2UgYW5kIGluCgkgIHBhcnRpY3VsYXIgd2hlbiB0aGUganBlZyB0eXBlZmluZGVyIGRvZXMgbm90IGZpbmQgdGhlIHdpZHRoIGFuZCBoZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzNTIKCjIwMTMtMTAtMDMgMTg6MzM6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IHByaW50IHByb2JlZCBjYXBzIGFzIGNhcHMgYWdhaW4gaW4gZGVidWcgbG9nCgkgIFRoaXMgZ290IGxvc3QgZHVyaW5nIHJlZmFjdG9yaW5nLgoKMjAxMy0xMC0wMyAxMTo1OToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgbXAydiBmb3VyY2MgZm9yIE1QRUctMiB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjcwCgoyMDEzLTEwLTAyIDE1OjU2OjUzICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjY2CgoyMDEzLTA5LTMwIDEyOjMxOjQyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIEhFVkMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MDkzCgoyMDEzLTA5LTMwIDEyOjI0OjMyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBGaXggbWVtb3J5IGxlYWsKCSAgV2Ugd2VyZSBsZWFraW5nIHRoZSBHTGlzdCBub2RlcyBvZiB0aGUgcGVuZGluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MDc5CgoyMDEzLTA5LTMwIDEyOjMxOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCByYWNlIHdoZW4gdXBkYXRpbmcgdGhlIG5leHRfc2VxbnVtCgkgIElmIHdlIHdlcmUgbm90IHdhaXRpbmcgZm9yIHRoZSBtaXNzaW5nIHNlcW51bSB3aGVuIHdlIGluc2VydCB0aGUgbG9zdCBwYWNrZXQKCSAgZXZlbnQgaW4gdGhlIGppdHRlcmJ1ZmZlciwgd2UgZW5kIHVwIG5vdCB1cGRhdGluZyB0aGUgbmV4dF9zZXFudW0gYW5kIHdhaXQKCSAgZm9yZXZlciBmb3IgdGhlIGxvc3QgcGFja2V0cyB0byBhcnJpdmUuIEluc3RlYWQsIGtlZXAgdHJhY2sgb2YgdGhlIGFtb3VudCBvZgoJICBwYWNrZXRzIGNvbnRhaW5lZCBieSB0aGUgaml0dGVyYnVmZmVyIGl0ZW0gYW5kIHVwZGF0ZSB0aGUgbmV4dCBleHBlY3RlZAoJICBzZXFudW0gb25seSBhZnRlciBwdXNoaW5nIHRoZSBidWZmZXIvZXZlbnQuIFRoaXMgbWFrZXMgc3VyZSB3ZSBjb3JyZWN0bHkgaGFuZGxlCgkgIEdBUFMgaW4gdGhlIHNlcXVlbmNlIG51bWJlcnMuCgoyMDEzLTA5LTMwIDEyOjMwOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc21hbGwgZGVidWcgaW1wcm92ZW1lbnQKCjIwMTMtMDktMzAgMTE6NTM6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXNldCBza2V3IGRvZXMgbm90IHJlc2V0IGNsb2NrLXJhdGUKCSAgRG9uJ3QgcmVzZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiB3ZSByZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIGFsZ29yaXRobS4KCSAgUmVzZXQgdGhlIHNrZXcgY29ycmVjdGlvbiBhbGdvcml0aG0gd2hlbiB3ZSBjaGFuZ2UgdGhlIGNsb2NrLXJhdGUuCgoyMDEzLTA5LTMwIDExOjE2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcGF1c2UgdGltZXIgd2hlbiBQQVVTRUQKCSAgQWxzbyBwYXVzZSB0aGUgdGltZXIgd2hlbiB3ZSBnbyB0byB0aGUgUEFVU0VEIHN0YXRlLiBJdCBpcyBwb3NzaWJsZSB0aGF0IHdlCgkgIGRvbid0IGhhdmUgYSBjbG9jayBvciBiYXNlLXRpbWUgaW4gUEFVU0VEIHRvIHBlcmZvcm0gdGhlIHRpbWVvdXRzLgoKMjAxMy0wOS0zMCAxMToxNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMjYgMjA6NDE6MjYgKzAyMDAgIEhhbnMgTcOlbnNzb24gPGhhbnNtQGF4aXMuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IERvIG5vdCByZXF1aXJlIGZyYW1lcmF0ZSBpbiBwZWVyIHZpZGVvIGNhcHMKCSAgUmVtb3ZlIHRoZSBmcmFtZXJhdGUgcmVzdHJpY3Rpb24gb24gdGhlIGNhcHMuCgkgIFJlZmVyZW5jZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg2NAoKMjAxMy0wOS0yNyAxNTowNTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBnbyBpbnRvIHRoZSBsb29wIGZ1bmN0aW9uIGFmdGVyIGNvbm5lY3QKCSAgV2hlbiB3ZSBoYXZlIG9wZW5lZCB0aGUgc3RyZWFtLCBnbyBpbnRvIHRoZSBsb29wIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuCgkgIHJlY2VpdmUgbWVzc2FnZXMgZnJvbSB0aGUgc2VydmVyLgoKMjAxMy0wOS0yNyAxMjo1MzowNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtb3ZlIHRoZSBjaGVjayBmb3Igc3VidGl0bGUgYnVmZmVyIGJlaW5nIG51bGwgdGVybWluYXRlZCBiZWZvcmUgdmFsaWRhdGluZyBVVEYtOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTI2IDE2OjIwOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgY2FsY3VsYXRlIHNrZXcgd2l0aG91dCBydHB0aW1lCgkgIFNraXAgdHJ5aW5nIHRvIGNhbGN1bGF0ZSB0aGUgc2tldyB3aGVuIHdlIGRvbid0IGhhdmUgYW4gcnRwdGltZS4KCSAgSXQgY2F1c2VzIHByb2JsZW1zIHdoZW4gbG9zdCBwYWNrZXQgZXZlbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGppdHRlcmJ1ZmZlci4KCjIwMTMtMDktMjUgMjM6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZ2V0IHJpZCBvZiBBU19TQ1JVQl9JTkNMVURFCgkgIFNob3VsZCBub3QgYmUgbmVlZGVkIGFueSBtb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NjU4CgoyMDEzLTA5LTI1IDE3OjQyOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkaXNhYmxlIGNoZWNrcyB3aGVuIGxpbmtpbmcgcGFkcwoJICBXZSBrbm93IHRoZSBwYWQgbGlua3Mgd2lsbCB3b3JrIChhbmQgd2UgZG9uJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZQoJICBhbnl3YXkpLgoKMjAxMy0wOS0yNSAxNzozNjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGF2b2lkIHNvbWUgcGFkIGxpbmsgY2hlY2tzCgkgIExpbmsgcGFkcyB3aXRob3V0IGNoZWNrcywgd2Uga25vdyBpdCB3aWxsIHdvcmsuCgoyMDEzLTA5LTI1IDEyOjU1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBlcnJvciBvdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUgZm9yIG5vbi1mcmFnbWVudGVkIHZhcmlhbnRzCgkgIERvaW5nIHNvIHdvdWxkIGJlIGEgcmVncmVzc2lvbiBvdmVyIDEuMCBhbmQgYnJlYWtzIHRoZSB1bml0IHRlc3QuCgkgIEhvd2V2ZXIgdGhlIHJlc3VsdCB3aWxsIGJlIG1vc3QgbGlrZWx5IHVudXNhYmxlLCBzbyBsZXQncyBwb3N0CgkgIGEgd2FybmluZyBtZXNzYWdlIG9uIHRoZSBidXMuCgoyMDEzLTA5LTI0IDA0OjAyOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogY2FsY3VsYXRlIHNvbWUgc3RhdHMKCjIwMTMtMDktMjMgMTc6MDU6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIHNlbmRfbG9zdF9ldmVudCBmdW5jdGlvbgoJICBNb3ZlIHRoZSBzZW5kX2xvc3RfZXZlbnQgZnVuY3Rpb24gdG8gdGhlIGRvX2xvc3RfZXZlbnQgaGFuZGxpbmcsIHRoZXJlIGlzIG5vCgkgIG5lZWQgdG8gaGF2ZSBhIHNlcGFyYXRlIGZ1bmN0aW9uLgoKMjAxMy0wOS0xNiAxMToyMDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBjb2RlIHRvIHBhcnNlIGNyZWF0aW9uIHRpbWUgZWFybGllciB0aGFuIDE5NzAKCSAgVXNlIGdfZGF0ZV90aW1lIHNlY29uZHMgbWFuaXB1bGF0aW9uIHRvIGFsbG93IHRvIGNvdmVyIHRoZSBxdWlja3RpbWUKCSAgc3BlYyBmb3IgY3JlYXRpb25fdGltZS4gSXQgdXNlcyBzZWNvbmRzIHNpbmNlIDE5MDQuCgkgIEJvdGggcGF0aHMgY291bGQgYmUgZG9uZSB1c2luZyB0aGUgZ2VuZXJpYyBhcHByb2FjaCBvZiBzZWNvbmRzIHNpbmNlCgkgIDE5MDQgd2l0aCBHRGF0ZVRpbWUgaGFuZGxpbmcsIGJ1dCB0aGUgZmlyc3QgcGF0aCB1c2luZyBzZWNvbmRzIGZyb20KCSAgMTk3MCBzaG91bGQgYmUgbW9yZSBjb21tb25seSBmb3VuZCBhbmQgYXZvaWRzIGEgZmV3IG9iamVjdHMgY3JlYXRpb24gYW5kCgkgIHJlZi91bnJlZiwgc28ga2VlcCBpdCB0aGVyZSBmb3IgcGVyZm9ybWFuY2UuCgkgIEFkZGl0aW9uYWxseSwgdGhlIGNvZGUgZm9yIGhhbmRsaW5nIHNlY29uZHMgc2luY2UgMTk3MCBjaGFuZ2VkIGZyb20gPgoJICB0byA+PSBiZWNhdXNlIGhhdmluZyAwIHNlY29uZHMgc2luY2UgMTk3MCBpcyBhbHNvIGEgdmFsaWQgY2FzZSBmb3IgdGhhdAoJICBwYXRoIHRvIGhhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzk3NQoKMjAxMy0wOS0yMSAwMDo1NToyNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB1cGRhdGUgc3RyZWFtLT5wb3Mgd2hlbiBzZW5kaW5nIGJ1ZmZlcnMgc28gdGhhdCBnYXAgZXZlbnRzIGFyZSBub3Qgc2VudCB1bm5lY2Vzc2FyaWx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MDUKCjIwMTMtMDktMjQgMTg6MzA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmIwM2JhNyB0byA4NjVhYTIwCgoyMDEzLTA5LTI0IDE1OjA1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWN0dWFsbHkgdXNlIDEuMy4wLjEgYXMgdmVyc2lvbiB0byBtYWtlIGNvbmZpZ3VyZSBoYXBweQoKMjAxMy0wOS0yNCAxNTowMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjIuMCA9PT0KCjIwMTMtMDktMjQgMTQ6MjE6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjIuMAoKMjAxMy0wOS0yNCAxNDoyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTIwIDE5OjQzOjIxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCByZWxlYXNpbmcgdGhlIHNpbmsKCSAgc2hvd19mcmFtZSBpcyBkZWZlcnJlZCB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIGNhbiBiZSBjYWxsZWQKCSAgd2hlbiB0aGUgc2luayBoYXMgYmVlbiByZWxlYXNlZCwgc28gd2UgbmVlZCB0byBrZWVwIGFuIGV4dHJhIHJlZgoJICBvbiBPYmplY3RpdmVDIG9iamVjdCBoZWxwZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MDEKCjIwMTMtMDktMTkgMTc6MTE6MzQgLTA0MDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVzdG9yZSBvcmlnaW5hbCBHc3RNZW1vcnkgaW4gYnVmZmVyIGlmIGl0IGhhcyBiZWVuIGNoYW5nZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA4MwoKMjAxMy0wOS0yMyAxNjozNDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IHVwZGF0ZSBkb2NzCgoyMDEzLTA5LTIzIDE1OjM2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIHdpdGggMS4wIGVsZW1lbnQgbmFtZXMKCjIwMTMtMDktMjMgMTQ6MTM6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciByZXRyYW5zbWlzc2lvbiBiZWNhdXNlIG9mIHJlb3JkZXJpbmcKCjIwMTMtMDktMjMgMTQ6MTI6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbHdheXMgc3RvcmUgbG9zdCBldmVudCBpbiBqaXR0ZXJidWZmZXIKCSAgQWx3YXlzIHByZXBhcmUgYSBsb3N0IGV2ZW50IGluIHRoZSBqaXR0ZXJidWZmZXIsIGl0IGlzIHRvIHdha2UgdXAgYW5kIG1ha2UgdGhlCgkgIHB1c2hpbmcgdGhyZWFkIGNvbnRpbnVlLiBXZSBkcm9wIHRoZSBldmVudCB3aGVuIHdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gcHVzaCBsb3N0CgkgIGV2ZW50cyBkb3duc3RyZWFtLgoKMjAxMy0wOS0yMyAxMToxODo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNjaGVkdWxlIGxvc3QgZXZlbnQgZGlmZmVyZW50bHkKCSAgU2NoZWR1bGUgdGhlIGxvc3QgZXZlbnQgYnkgcGxhY2luZyBpdCBpbnNpZGUgdGhlIGppdHRlcmJ1ZmZlciB3aXRoIHRoZSBzZXFudW0KCSAgdGhhdCB3YXMgbG9zdCBzbyB0aGF0IHRoZSBwdXNoaW5nIHRocmVhZCBjYW4gaW50ZXJsZWF2ZSBhbmQgcHVzaCBpdCBwcm9wZXJseS4KCjIwMTMtMDktMjMgMTE6MTc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJlbW92ZSB0aW1lb3V0cyBmcm9tIGNoZWNrCgkgIFRpbWVvdXRzIG1ha2UgdGhlIHRlc3QgdW5yZWxpYWJsZSBhbmQgYXJlIG5vdCBuZWVkZWQuCgoyMDEzLTA5LTIzIDExOjE1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGxpc3QgZGVidWcKCjIwMTMtMDktMjMgMTE6MTQ6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIHR5cGUgdG8gdGhlIGl0ZW0KCSAgU28gdGhhdCB0aGUgdXBwZXIgbGF5ZXIgY2FuIGtub3cgd2hhdCBkYXRhIGlzIGNvbnRhaW5lZCBpbiB0aGUgaXRlbS4KCjIwMTMtMDktMjMgMDk6NTg6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBmbHVzaAoJICBQYXNzIGZ1bmN0aW9uIHRvIGZsdXNoIHRvIHByb3Blcmx5IGZyZWUgdGhlIHF1ZXVlIGl0ZW1zLgoKMjAxMy0wOS0yMSAwMDowODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFwcGVuZCBzZXFudW0gLTEgcGFja2V0cwoKMjAxMy0wOS0yMCAyMzo0ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXNlIHN0cnVjdHVyZSB0byBob2xkIHBhY2tldCBpbmZvcm1hdGlvbgoJICBNYWtlIHRoZSBqaXR0ZXJidWZmZXIgb3BlcmF0ZSBvbiBhIHN0cnVjdHVyZSBjb250YWluaW5nIGFsbCB0aGUgcGFja2V0CgkgIGluZm9ybWF0aW9uLiBUaGlzIGF2b2lkcyBtYXBwaW5nIHRoZSBidWZmZXIgbXVsdGlwbGUgdGltZXMganVzdCB0byBnZXQgdGhlIFJUUAoJICBpbmZvcm1hdGlvbi4gSXQgd2lsbCBhbHNvIG1ha2UgaXQgcG9zc2libGUgdG8gc3RvcmUgb3RoZXIgbWluaW9iamVjdHMgc3VjaCBhcwoJICBldmVudHMgbGF0ZXIuCgoyMDEzLTA5LTIwIDE3OjQ4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXBkYXRlIGV4cGVjdGVkIHRpbWVyIHdoZW4gcG9zc2libGUKCSAgV2hlbiB3ZSByZWNlaXZlIGEgcGFja2V0IGFuZCB3ZSBoYXZlIHNvbWUgbWlzc2luZyBwYWNrZXRzLCB3ZSBjYW4gdXBkYXRlIHRoZWlyCgkgIGVzdGltYXRlZCBhcnJpdmFsIHRpbWVzIGJhc2VkIG9uIHRoZSB0aW1lc3RhbXAgZGlmZmVyZW5jZS4KCjIwMTMtMDktMjAgMTc6MTg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggb3JkZXIgb2YgdGltZW91dCBldmVudHMKCSAgSW1wcm92ZSB0aGUgb3JkZXIgb2YgdGhlIHRpbWVvdXQgZXZlbnRzLCBpZiB0aGVyZSBhcmUgdGltZXJzIHdpdGggdGhlIHNhbWUKCSAgdGltZW91dCwgd2Ugd2FudCB0byB0cmlnZ2VyIHRoZSBsb3dlc3Qgc2VxbnVtIGZpcnN0LiBGb3IgdGhpcyB3ZSBuZWVkIHRvIGxvb3AKCSAgb3ZlciB0aGUgY29tcGxldGUgYXJyYXkgb2YgdGltZXJzIHRvIGZpbmQgdGhlIGJlc3Qgb25lIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZQoJICB0aW1lb3V0LgoKMjAxMy0wOS0yMCAxNjo1ODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNlbmQgbG9zdCBldmVudCBiZWZvcmUgc2lnbmFsaW5nIG5leHQgYnVmZmVyCgkgIEZpcnN0IHNlbmQgdGhlIGxvc3QgZXZlbnQsIHRoZW4gdXBkYXRlIHRoZSBuZXh0X3NlcW51bSBjb3VudGVyIGFuZCB0aGVuCgkgIHNlbmQgdGhlIHNpZ25hbCB0byB0aGUgcHVzaGluZyB0aHJlYWQgdGhhdCBpdCBjYW4gcmV0cnkgdG8gcHVzaCBhIGJ1ZmZlci4gVGhpcwoJICBhdm9pZHMgcHVzaGluZyBvdXQgYnVmZmVycyBiZWZvcmUgdGhlIGxvc3QgZXZlbnQgaXMgcHVzaGVkLgoKMjAxMy0wOS0yMCAxNTozNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogY29uZmlndXJlIGNsb2NrLXJhdGUgb24gaml0dGVyYnVmZmVyCgkgIEFkZCBhIGdldCBhbmQgc2V0dGVyIHRvIGNvbmZpZ3VyZSB0aGUgY2xvY2stcmF0ZSBpbiB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2YKCSAgcGFzc2luZyBpdCBhcyBhbiBhcmd1bWVudCB0byB0aGUgaW5zZXJ0IG1ldGhvZC4KCjIwMTMtMDktMjAgMTI6Mjk6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBwYWNrZXQgZGVsYXkgYW5kIHJldHJhbnNtaXNzaW9uCgoyMDEzLTA5LTIwIDEyOjI3OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIG9wdGlvbiB0byByZXNldCByZXRyYW5zbWlzc2lvbiB0aW1lcnMKCjIwMTMtMDktMjAgMTI6MjU6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzdG9wIHRoZSB0aW1lciB0aHJlYWQKCSAgVGhlIHRpbWVvdXQgY29kZSBjb3VsZCByZWxlYXNlIHRoZSBsb2NrIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgYXJlIGFsbG93ZWQgdG8KCSAgd2FpdCBmb3IgdGhlIGNsb2NrIHNvbWUgbW9yZS4KCjIwMTMtMDktMjAgMTI6MjU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1bmxvY2sgb25seSBvbmNlCgoyMDEzLTA5LTIwIDExOjMwOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBjaGVjayBib3RoIFBUUyBhbmQgRFRTCgoyMDEzLTA5LTIwIDEwOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgdW5pdC10ZXN0IGZvciBtdWx0aXBsZSBtaXNzaW5nIHBhY2tldHMKCSAgQ2hlY2sgaWYgbXVsdGlwbGUgbWlzc2luZyBwYWNrZXRzIGdlbmVyYXRlIHJldHJhbnNtaXNzaW9uIGV2ZW50cyBhbmQgdGhhdCB0aGUKCSAgcmV0cmFubWlzc2lvbiByZXF1ZXN0cyBhcmUgY2FuY2VsZWQgd2hlbiB0aGUgbWlzc2luZyBwYWNrZXQgYXJyaXZlcy4KCjIwMTMtMDktMjAgMTA6NTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGZsdXNoIGFuZCBzaHV0ZG93bgoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHVuc2NoZWR1bGUgdGhlIHRpbWVyIGluIGZsdXNoLXN0YXJ0LCBmbHVzaC1zdG9wIHdpbGwgcmVtb3ZlCgkgIHRoZSB0aW1lcnMgYW5kIHVuc2NoZWR1bGUuCgkgIFVuc2NoZWR1bGUgdGhlIGN1cnJlbnQgdGltZXIgYmVmb3JlIGF0dGVtcHRpbmcgdG8gam9pbiB0aGUgdGltZXIgdGhyZWFkLgoKMjAxMy0wOS0yMCAxMDo0Mzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0yMCAxMDo0MjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNldCBjb3JyZWN0IGV4cGVjdGVkIHRpbWUKCSAgV2hlbiB3ZSBhbHJlYWR5IGhhdmUgYSB0aW1lciBmb3IgYSBwYWNrZXQsIHNraXAgaXQgYnV0IGRvbid0IGZvcmdldCB0byBhZGp1c3QKCSAgdGhlIGR0cyB0byB0aGUgZXhwZWN0ZWQgZHRzIG9mIHRoZSBuZXh0IHBhY2tldC4KCjIwMTMtMDktMjAgMTA6NDE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTE5IDE2OjU1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiB1c2UgUE9GRlNFVCBpbnN0ZWFkIG9mIE9GRlNFVAoJICBVc2UgdGhlIG1vcmUgY29ycmVjdCBQT0ZGU0VUIG1hY3JvIHRvIGdldCB0aGUgb2Zmc2V0IG9mIGEgY29tcG9uZW50IGluIGl0cwoJICBwbGFuZS4gVGhlIG9mZnNldCBtYWNybyBnaXZlcyB0aGUgb2Zmc2V0IG9mIHRoZSBjb21wb25lbnQgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0CgkgIG9mIHRoZSBmcmFtZS4KCjIwMTMtMDktMjEgMTg6NDY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nb29tL21teC5oOgoJICBnb29tOiBGaXggTU1YIGFzc2VtYmx5IGNvbXBpbGF0aW9uIHdpdGggY2xhbmcKCSAgY2xhbmcgZG9lcyBub3Qgd2FudCBvciBuZWVkIGEgY2xvYmJlciBsaXN0IGZvciBlbW1zOgoJICBlcnJvcjogY2xvYmJlcnMgbXVzdCBiZSBsYXN0IG9uIHRoZSB4ODcgc3RhY2sKCSAgUGF0Y2ggdGFrZW4gZnJvbSB0aGUgRnJlZUJTRCBwb3J0cywgcHJvdmlkZWQgYnkKCSAgRGFuIE1jR3JlZ29yIDxkYW4ubWNncmVnb3JAdXNhc2suY2E+CgoyMDEzLTA5LTIwIDE2OjE2OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjYxMzY2MSB0byA2YjAzYmE3CgoyMDEzLTA5LTIwIDEwOjE5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IE1ha2Ugc3VyZSB0aGF0IHN1YnRpdGxlIGJ1ZmZlcnMgYXJlIFwwLXRlcm1pbmF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMwoKMjAxMy0wOS0xNyAxMjoxNzo1NCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBpc3N1ZXMgY29ycmVjdGx5IHdoZW4gZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgVGhlIHN0cmVhbWFibGUgcHJvcGVydHkgb25seSBtYWtlIHNlbnNlIGZvciBmcmFnbWVudGVkIGZvcm1hdHMuCgkgIEZvciByZWd1bGFyIE1QNCwgd2hlbiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZSB3ZSBjYW4ndCByZXdyaXRlCgkgIHRoZSBoZWFkZXJzLCBzbyBxdG11eCBjYW4gb25seSB3b3JrIHdpdGggZmFzdC1zdGFydD1UUlVFLCB3aGVyZQoJICB0aGUgaGVhZGVycyBhcmUgd3JpdHRlbiBmaW5pc2hpbmcgdGhlIGZpbGUuCgkgIEZvciBmcmFnbWVudGVkIE1QNCwgd2hlbiBzdHJlYW1hYmxlIGlzIG5vdCBzZWVrYWJsZSBhbmQgdGhlIHN0cmVhbWFibGUKCSAgcHJvcGVydHkgaXMgRkFMU0UsIHdlIG11c3QgZW5mb3JjZSBzdHJlYW1hYmxlPVRSVUUgd2FybmluZyB0aGUgdXNlcgoJICBhYm91dCB0aGlzIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE3IDEyOjA2OjA2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFrZSAic3RyZWFtYWJsZSIgVFJVRSBhcyBkZWZhdWx0CgkgIFRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZSBmb3IgZnJhZ21lbnRlZCBNUDQgKERhc2ggYW5kIFNtb290aCBTdHJlYW1pbmcpCgkgIGlzIHByb2R1Y2luZyBzdHJlYW1hYmxlIGNvbnRlbnQgKGV2ZW4gZm9yIFZPRCkuIHN0cmVhbWFibGU9RkFMU0Ugd291bGQgb25seQoJICBiZSB1c2VkIHRvIGdlbmVyYXRlIGZyYWdtZW50ZWQgTVA0IHdpdGggYW5kIGluZGV4IG9mIE1PT0YncyB0aGF0IGNvdWxkCgkgIGJlIHJlcHJvZHVjZWQgd2l0aG91dCBhIHBsYXlsaXN0L21hbmlmZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTcgMTI6MDE6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZXByZWNhdGUgdGhlIHN0cmVhbWFibGUgcHJvcGVydHkgZm9yIG5vbi1mcmFnbWVudGVkIE1QNAoJICBUaGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBvbmx5IG1ha2VzIHNlbnNlIGZvciBmcmFnbWVudGVkIE1QNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xOSAxNzowODoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IFJlbW92ZSBjb21tZW50ZWQgb3V0IGxpbmUKCjIwMTMtMDktMTkgMTg6NDM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc0YTY4NTcgdG8gYjYxMzY2MQoKMjAxMy0wOS0xOSAxNzozNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byA3NGE2ODU3CgoyMDEzLTA5LTE5IDE2OjUwOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBkb24ndCBhc3N1bWUgcGxhbmFyIGZvcm1hdHMgaGF2ZSBqdXN0IDEgYmxvY2sKCSAgRG9uJ3QgYXNzdW1lIHBsYW5hciBmb3JtYXRzIGhhdmUganVzdCBvbmUgbWVtb3J5IGJsb2NrIHdpdGggdGhlIGRhdGEgYnV0IHVzZSB0aGUKCSAgbWFjcm9zIHRvIGFjY2VzcyB0aGUgcmlnaHQgbWVtb3J5IGJsb2NrIHdoZXJlIGEgY29tcG9uZW50IGNhbiBiZSBmb3VuZC4KCjIwMTMtMDktMTkgMTQ6MTQ6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCByZXRyYW5zbWlzc2lvbiBqaXR0ZXJidWZmZXIgdGVzdAoJICBTdG9yZSBib3RoIERUUyBhbmQgUFRTIG9uIGJ1ZmZlcnMuCgkgIE1ha2UgYSBxdWV1ZSBmb3Igc3JjcGFkIGV2ZW50cy4KCSAgQWN0aXZhdGUgcGFkcyBhZnRlciBsaW5raW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IFJFQ09ORklHVVJFIGV2ZW50cy4KCSAgQWRkIHRlc3QgZm9yIHJldHJhbnNtaXNzaW9uLgoKMjAxMy0wOS0xOSAxNDoxMjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGtlZXAgZGVsYXkgYXMgYSBzZXBhcmF0ZSB2YXJpYWJsZSBpbiB0aW1lcgoJICBLZWVwIGEgc2VwYXJhdGUgZGVsYXkgaW4gdGhlIHRpbWVyIHNvIHRoYXQgd2Ugc3RpbGwga25vdyB0aGUgb3JpZ2luYWwgdGltZXN0YW1wCgkgIG9mIHRoZSBwYWNrZXQgdGhhdCB0aGlzIHRpbWVyIHJlZmVycyB0by4gV2UgY2FuIHRoZW4gcGxhY2UgdGhlIGNvcnJlY3QKCSAgcnVubmluZy10aW1lIGluIHRoZSBSZXRyYW5zbWlzc2lvbiBldmVudC4KCjIwMTMtMDktMTkgMTQ6MDg6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggd3JpdGFiaWxpdHkgb2YgcHJvcGVydGllcwoKMjAxMy0wOS0xOSAxMTozNDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuOTAgPT09CgoyMDEzLTA5LTE5IDEwOjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjkwCgoyMDEzLTA5LTE5IDEwOjIxOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMTkgMDk6NDU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2NzLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDktMTEgMTQ6Mjc6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG1hYnVmIGlzIG5vdCBhIHNpbmdsZXRvbiBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3OTMKCjIwMTMtMDktMTYgMTM6NTM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZG8gaHR0cCByZXF1ZXN0cyBpbiBSRUFEWQoJICBIRUFEIHJlcXVlc3RzIHRvIGRpc2NvdmVyIGlmIHRoZSBzZXJ2ZXIgaXMgc2Vla2FibGUgc2hvdWxkbid0IGJlIGRvbmUgaW4KCSAgUkVBRFkgYXMgaXQgbWlnaHQgbG9jayB0aGUgbWFpbiB0aHJlYWQgdGhhdCBpcyBkb2luZyB0aGUgc3RhdGUgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzcxCgoyMDEzLTA5LTE4IDE2OjMyOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVldmFsdWF0ZSB0aGUgY3VycmVudCB0aW1lciBhZnRlciB0aW1lb3V0CgkgIFdoZW4gd2UgdHJpZ2dlciB0aGUgdGltZW91dCBsb2dpYyBvZiBhIHRpbWVyLCByZWV2YWx1YXRlIGl0IGJlY2F1c2UgaXQgaXMKCSAgcG9zc2libGUgdGhhdCBpdCBzdGlsbCBoYXMgdGhlIGxvd2VzdCB0aW1lb3V0LgoKMjAxMy0wOS0xOCAxNjozMToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IHVwZGF0ZSB0aW1lIHdoZW4gdW5zY2hlZHVsZWQKCSAgRG9uJ3QgdHJ5IHRvIGVzdGltYXRlIHRoZSBjdXJyZW50IHRpbWUgd2hlbiB3ZSBnb3QgdW5zY2hlZHVsZWQuCgoyMDEzLTA5LTE4IDE2OjI5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW5pdCBwYWNrZXQgc3BhY2luZyBvbiBmaXJzdCBidWZmZXIKCSAgQWxyZWFkeSBpbml0IHRoZSBwYWNrZXQgc3BhY2luZyB2YXJpYWJsZXMgb24gdGhlIGZpcnN0IGJ1ZmZlciBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHNwYWNpbmcgb24gdGhlIHNlY29uZCBidWZmZXIgYWxyZWFkeS4KCjIwMTMtMDktMTggMTU6MDg6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGZpeCBjb21tZW50cwoKMjAxMy0wOS0xOCAxNDo1NzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHB1c2ggdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgdGltZXIgdGhyZWFkCgkgIEluc3RlYWQgb2YgcHVzaGluZyB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgc2NoZWR1bGUgYSB0aW1lb3V0CgkgIHRoYXQgd2lsbCBwdXNoIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIHRpbWVyIHRocmVhZC4gVGhpcyBhdm9pZCBibG9ja2luZyB0aGUKCSAgdXBzdHJlYW0gdGhyZWFkIHdoaWxlIHdlIHB1c2ggYW5kIHN5bmMgdGhlIGV2ZW50LgoKMjAxMy0wOS0xOCAxNDoyMzo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCBhbm90aGVyIHRlc3QKCSAgVGhlIHRlc3QgaXMgbW9kaWZpZWQgc2xpZ2h0bHkgYmVjYXVzZSB0aGUgbGF0ZSBsb3N0IHBhY2tldHMgYXJlIG9ubHkKCSAgZ2VuZXJhdGVkIG5vdyB3aGVuIGEgbGFyZ2UgZ2FwIGlzIHJlY2VpdmVkLgoKMjAxMy0wOS0xOCAxNDoxMjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByb3VuZCBnYXAgZHVyYXRpb24gdG8gbXVsdGlwbGUgb2YgZHVyYXRpb24KCSAgTWFrZSBzdXJlIHRoZSBnYXAgZHVyYXRpb24gaW4gdGhlIGxvc3QgZXZlbnQgaXMgYSBtdWx0aXBsZSBvZiB0aGUgcGFja2V0CgkgIGR1cmF0aW9uLgoJICBFbmFibGUgYW5vdGhlciB0ZXN0LgoKMjAxMy0wOS0xOCAxMjoyOTozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBkdXJhdGlvbgoJICBLZWVwIHRyYWNrIG9mIHRoZSBlc3RpbWF0ZWQgZHVyYXRpb24gb2YgbWlzc2luZyBwYWNrZXRzIGFuZCB1c2UgaXQgaW4gdGhlIGxvc3QKCSAgZXZlbnQuCgkgIEVuYWJsZSBhbm90aGVyIHVuaXQgdGVzdAoKMjAxMy0wOS0xOCAxMTo1OToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBoYW5kbGUgbGFyZ2UgZ2FwcyB3aXRoIG9uZSBsb3N0IGV2ZW50CgkgIFdoZW4gd2UgaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBtaXNzaW5nIHBhY2tldHMsIGdlbmVyYXRlIG9uZSBsb3N0IGV2ZW50IGZvciBhbGwKCSAgdGhlIHBhY2tldHMgdGhhdCBoYXZlIG5vIGNoYW5jZSBvZiBiZWluZyBwdXNoZWQgb3V0IGluIHRpbWUuCgkgIEZpeCBhbmQgYWN0aXZhdGUgdW5pdCB0ZXN0IGZvciBsYXJnZSBnYXBzLgoKMjAxMy0wOS0xOCAxMTo1NjozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGxvc3QgZXZlbnQgc2VuZGluZwoJICBBbHNvIG1ha2Ugc3VyZSB3ZSBvbmx5IGluY3JlbWVudCB0aGUgZXhwZWN0ZWQgc2VxbnVtIGFuZCBsYXN0CgkgIG91dHB1dCB0aW1lc3RhbXAuCgoyMDEzLTA5LTE3IDIzOjIxOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgdGltZW91dCB0cmlnZ2VycwoKMjAxMy0wOS0xNyAyMzowMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpbXBsaWZ5IHRoZSB0aW1lb3V0IGNvZGUKCSAgS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCB0aW1lIGluIHRoZSB0aW1lb3V0IGxvb3AuCgkgIExvb3Agb3ZlciBhbGwgdGltZXJzIGFuZCB0cmlnZ2VyIGFsbCB0aGUgZXhwaXJlZCBvbmVzLCB3ZSBjYW4gZG8gdGhpcyBpbiB0aGUKCSAgc2FtZSBsb29wIHRoYXQgc2VsZWN0cyB0aGUgbmV3IGJlc3QgdGltZXIuCgoyMDEzLTA5LTE3IDIzOjAxOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVhcnJhbmdlIHRpbWVyIHVwZGF0ZSBjb2RlCgkgIEFsc28gdXBkYXRlIHRoZSB0aW1lcnMgd2hlbiByZXRyYW5zbWlzc2lvbiBpcyBkaXNhYmxlZC4gV2UgbmVlZCB0bwoJICBkbyB0aGlzIGJlY2F1c2Ugd2hlbiB3ZSBhZGRlZCBMT1NUIHRpbWVycyB3aGVuIHdlIGRldGVjdGVkIG1pc3NpbmcgcGFja2V0cyBhbmQKCSAgd2UgbmVlZCB0byByZW1vdmUgdGhvc2UgdGltZXJzIHdoZW4gdGhlIHBhY2tldCBmaW5hbGx5IGFycml2ZXMuCgoyMDEzLTA5LTE3IDIyOjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IGxpbmsgdG8gbGlibSBmb3IgbWF0aHMgc3R1ZmYKCSAgRml4ZXMgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8gcmludCBhbmQgcG93IG9uIHVidW50dQoJICBidWlsZCBib3QuCgoyMDEzLTA5LTE3IDE1OjE5OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIG9uIHNodXRkb3duCgoyMDEzLTA5LTE3IDE1OjExOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBjaGFuZ2UgZm9yIHZpZGVvbWl4ZXIgcmVuYW1lZCBvcmMgZmlsZQoKMjAxMy0wOS0xNCAxNjowMzoyMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBNQVhfVE9MRVJBVEVEX0xBVEVORVNTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc0MTEKCjIwMTMtMDktMTYgMTU6NTQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJICBleGFtcGxlczogd2UgZG9uJ3QgbmVlZCB0aGUgcXVldWUgYW55bW9yZQoKMjAxMy0wOS0xNiAxNTo1Mzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVzZSBzZXBhcmF0ZSB0aHJlYWQgZm9yIHRpbWVvdXRzCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZCBmb3Igc2NoZWR1bGluZyB0aGUgdGltZW91dHMgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgZG93bnN0cmVhbSBzdHJlYW1pbmcgdGhyZWFkIHRoYXQgbWlnaHQgYmxvY2sgYXQgYW55IHRpbWUuCgoyMDEzLTA5LTE0IDE1OjU2OjA0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGZpcnN0X3RzIHRvIERUUyBmb3Igc3RyZWFtcyB0aGF0IGhhdmUgRFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMTQgMTU6NTU6MjIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlIHN1cmUgZHVyYXRpb24gaXMgYSB2YWxpZCBudW1iZXIgZm9yIGxhc3QgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMTQgMTU6NTQ6MjkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2Ugc2VnbWVudC5zdGFydCBvciBsYXN0IGJ1ZmZlciBlbmQgdGltZSBpbiBjYXNlIG9mIG1pc3NpbmcgRFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMDMgMTg6MTQ6MDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIFJldmVydCBxdG11eDogVXNlIGJ1ZmZlciBQVFMgaWYgRFRTIGlzIG5vdCBzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjcyYzNjZjcxZmRlNjIyMDY3ZjQxZjMxYTUzOTc4YmE0Yzk0NDY5ZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNiAxMTowMzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBVcGRhdGUgb3JjIGdlbmVyYXRlZCBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTMxCgoyMDEzLTA5LTEzIDE2OjI1OjQ5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRGVtdXggUlRDUCBidWZmZXJzIGZyb20gdGhlIFJUUCBzdHJlYW0KCSAgSWYgdGhlcmUgYXJlIFJUQ1AgYnVmZmVycyBpbiB0aGUgUlRQIHN0cmVhbSwgcHJvY2VzcyB0aGVtIGFzCgkgIFJUQ1AuIFRoaXMgd2F5LCB3ZSB3YW50IHJlY2VpdmUgc3RyZWFtcyBmb2xsb3dpbmcgUkZDIDU3NjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzY1NwoKMjAxMy0wOS0xMyAyMzoyNjoyMSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJICBydHA6IFJlbW92ZSBib2d1cyBleHRyYSBjYXBzIGZyb20gTDI0IHRlbXBsYXRlLgoJICBUaGUgZXh0cmEgY2FwcyBlbnRyeSBpbiB0aGUgdGVtcGxhdGUgd2FzIG1ha2luZyBpdCBzb21ldGltZXMKCSAgZ2V0IHBsdWdnZWQgZm9yIGFueSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgcGF5bG9hZCB0eXBlLgoKMjAxMy0wOS0xMyAxMjo0MDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IHVzZSBQYWNrZXRJbmZvIGZvciB0aGUgc2VuZGVyCgkgIEF2b2lkIG1hcHBpbmcgdGhlIHBhY2tldCBtdWx0aXBsZSB0aW1lcyB3aGVuIHNlbmRpbmcgUlRQLgoKMjAxMy0wOS0xMyAxMjoyMjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IHN0b3JlIG1vcmUgaW4gdGhlIFBhY2tldEluZm8KCSAgU3RvcmUgYWxsIGluZm8gaW4gdGhlIFBhY2tldEluZm8gc28gdGhhdCB3ZSBjYW4gYXZvaWQgbWFwcGluZyB0aGUgcGFja2V0CgkgIG11bHRpcGxlIHRpbWVzLgoKMjAxMy0wOS0xMyAxMTozMjo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgc2Vzc2lvbjogc3RvcmUgbW9yZSBpbiB0aGUgUGFja2V0SW5mbyBzdHJ1Y3R1cmUKCjIwMTMtMDktMTMgMTE6MDg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiBSVFBBcnJpdmFsU3RhdHMgLT4gUlRQUGFja2V0SW5mbwoJICBSZW5hbWUgYSBzdHJ1Y3R1cmUgYmVjYXVzZSB3ZSBhcmUgYWxzbyBnb2luZyB0byB1c2UgdGhpcyBmb3IgdGhlIHNlbmRlcgoJICBiaXRzLgoKMjAxMy0wOS0xMyAxMDo1NTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBzbWFsbCBjbGVhbnVwcwoKMjAxMy0wOS0xMiAxMzozMTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgdXBkYXRlIHN0b3AgcG9zaXRpb24gaWYgc2VlayByZXF1ZXN0cyBpdAoJICBDaGVjayBmb3IgR1NUX1NFRUtfVFlQRV9OT05FIGZvciBzdG9wIHBvaXN0aW9uIGFuZCBvbmx5IHVwZGF0ZQoJICB0aGUgc3RvcCB0aW1lIGlmIGl0IGlzIHJlcXVlc3RlZC4gT3RoZXJ3aXNlIGp1c3QgbWFpbnRhaW4gd2hhdGV2ZXIKCSAgd2FzIHN0b3JlZCBhdCB0aGUgc2VnbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA5LTEzIDA4OjUzOjI1ICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IEFkZCBtaXNzaW5nIGhlYWRlcnMgdHAgZml4IG1ha2UgZGlzdAoJICBJbiBhZGRpdGlvbiB0byBhOTU2YTZjZWIyZGViODdjYzEzNjFhZWUxZDY2MjY0NDlmNDZkYWIyCgoyMDEzLTA5LTEyIDE1OjA3OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHJlYWQgaW1hZ2UgdGFncwoJICBUaGFua3MgdG8gaXB1dGluZWkgZm9yIHJlcG9ydGluZyB0aGlzIG9uIElSQy4KCjIwMTMtMDktMTIgMTU6MDE6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgc2VnbWVudHMgd2l0aCBub24tMCBzdGFydAoJICBXZSBrZWVwIHRoZSBEVFMgYW5kIFBUUyBpbiBydW5uaW5nLXRpbWUgaW5zaWRlIHRoZSBqaXR0ZXJidWZmZXIuIE1ha2Ugc3VyZSB0bwoJICB0cmFuc2Zvcm0gaXQgYmFjayB0byBhIGJ1ZmZlciB0aW1lc3RhbXAgYmVmb3JlIHB1c2hpbmcgb3V0IHRoZSBidWZmZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzEKCjIwMTMtMDktMTEgMTM6MTE6NTggLTA2MDAgIFNlw6FuIGRlIELDunJjYSA8bGVmdG1vc3RjYXRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBvZmYtYnktb25lIGluIHZhbGlkYXRpb24gb2YgVVRGLTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMwoKMjAxMy0wOS0xMSAxNDozMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG8gbm90IGNoZWNrIGlmIGNhcHMgYXJlIGVtcHR5IHdoZW4gdGhleSBhcmUgTlVMTAoJICBJbiB0aGUgY2FzZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgTlVMTCwgd2Ugc2hvdWxkIGp1c3QgY29uY2lkZXIgaXQgdGhlCgkgIHNhbWUgd2F5IGFzIGVtcHR5IGNhcHMgaW4gdGhhdCBjYXNlLgoKMjAxMy0wOS0xMCAxNjo0NDo1MyAtMDYwMCAgU2XDoW4gZGUgQsO6cmNhIDxsZWZ0bW9zdGNhdEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCBidWlsZCBpZiBvcmMgaXMgbm90IGluc3RhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3ODg2CgoyMDEzLTA5LTEwIDE3OjU3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJlc2VydmUgc2VxbnVtIHdoZW4gcHVzaGluZyBzZWVrIHVwc3RyZWFtCgkgIEFmdGVyIGNvbnZlcnRpbmcgYSBzZWVrIGZyb20gdGltZSB0byBieXRlcywgdXNlIHRoZSBzYW1lIHNlcW51bQoJICBvbiB0aGUgZXZlbnQgdGhhdCBnb2VzIHVwc3RyZWFtCgoyMDEzLTA5LTA1IDAwOjE3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHJhY2sgc3RyZWFtcyB0aGF0IGFyZSBFT1Mgb24gcHVzaCBtb2RlIHRvIGZpbmlzaCBlYXJsaWVyCgkgIFdoZW4gdGhlIHNlZ21lbnQgaGFzIGEgZGVmaW5lZCBzdG9wIHBvc2l0aW9uLCBxdGRlbXV4IHNob3VsZCBjaGVjawoJICB3aGVuIHN0cmVhbXMgcmVhY2ggdGhpcyBwb3NpdGlvbiBhbmQgbWFyayB0aG9zZSBhcyBFT1MuIFdoZW4gYWxsCgkgIHN0cmVhbXMgYXJlIEVPUyBpdCB3aWxsIHJldHVybiBHU1RfRkxPV19FT1MgdG8gdXBzdHJlYW0gdG8gYWxsb3cKCSAgdGhlIHBpcGVsaW5lIHRvIGZpbmlzaCBpbnN0ZWFkIG9mIGNvbnRpbnVvdXNseSBjb25zdW1lIGJ1ZmZlcnMKCSAgZnJvbSB1cHN0cmVhbSB0aGF0IGFyZSBub3QgdXNlZnVsIGZvciB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUzMAoKMjAxMy0wOS0wNCAxNTozNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwcmVzZXJ2ZSBzdG9wIG9mIHNlZ21lbnQgd2hlbiBkb2luZyBzZWVrcyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBoYW5kbGluZyBzZWVrcyBpbiBwdXNoIG1vZGUsIHF0ZGVtdXggY29udmVydHMgdGhlIHNlZWsgdG8gYnl0ZXMKCSAgYW5kIHB1c2hlcyB1cHN0cmVhbS4gSXQgbmVlZHMgdG8ga2VlcCB0cmFjayBvZiB0aGUgc2VlayBhbmQgdGhlCgkgIHN1YnNlcXVlbnQgc2VnbWVudCB0byBiZSBhYmxlIHRvIG1hcCB0aGVtIGJhY2sgdG8gdGhlIHJlcXVlc3RlZAoJICBzZWVrIHRpbWUgYW5kIHByb3Blcmx5IHByZXNlcnZlIHRoZSBzZWdtZW50IHN0b3Agb2YgdGhlIHNlZWsuCgkgIFRoaXMgaXMgZG9uZSBieSB1c2luZyB0aGUgc3RhcnQgb2Zmc2V0IGluIGJ5dGVzIG9mIHRoZSBzZWVrLAoJICB0aGF0IHNob3VsZCBiZSB0aGUgc2FtZSBvZiB0aGUgc2VnbWVudCBmcm9tIHVwc3RyZWFtLiBBbmQgdGhpcwoJICBpcyBhbHNvIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggd2hhdCBxdGRlbXV4IGFscmVhZHkgd2FzIHVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA3LTI2IDE5OjQwOjUzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyOiBBZGQgY29sb3JzcGFjZSBjb252ZXJzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDgtMDYgMTU6Mzg6MzkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHNlbmQgcmVjb25maWd1cmUgZXZlbnQgd2hlbiBmb3JtYXRzIG9yIFBBUiBhcmUgZGlmZmVyZW50CgkgIEl0IGlzIHJhY3kgd2l0aCBtdWx0aXBsZSBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUwCgoyMDEzLTA3LTI1IDEzOjQ5OjU3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEJ1bmRsZSBwcml2YXRlIGNvcGllcyBvZiB2aWRlb2NvbnZlcnQgY29kZQoJICBJZGVhbGx5LCB0aGlzIHdvdWxkIGJlIHBhcnQgb2YgbGliZ3N0dmlkZW8uCgkgIFByZWZpeGVzIHZpZGVvY29udmVydCBzeW1ib2xzIHdpdGggdmlkZW9taXhlcl8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDgtMjIgMDA6MDM6NDggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IFVzZSBuZXdseSAjZGVmaW5lZCBtZXRhZGF0YSBuYW1lcy4KCjIwMTMtMDktMDkgMTU6MTE6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgd2FpdCBpZiB3ZSBmbHVzaGVkCgkgIE9ubHkgd2FpdCBmb3IgdGhlIFNUUkVBTV9MT0NLIHdoZW4gd2UgZmx1c2hlZCBzb21ldGhpbmcgd2hlbiBzZW5kaW5nCgkgIGEgY29tbWFuZCBmb3IgUEFVU0VEIG9yIFBMQVlJTkcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2MTEKCjIwMTMtMDktMDkgMTU6MDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJldHVybiB3aGVuIGEgZmx1c2ggd2FzIGlzc3VlZAoJICBNYWtlIGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQoKSByZXR1cm4gVFJVRSB3aGVuIHRoZSBjdXJyZW50CgkgIGFjdGlvbiBoYXMgYmVlbiBmbHVzaGVkCgoyMDEzLTA5LTA5IDExOjE2OjQwICswMjAwICBEYXZpZCBIb2xyb3lkIDxkYXZlQGJhZGdlcnMtaW4tZm9pbC5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHA6IGFkZCBMMjQgcGF5IGFuZCBkZXBheWxvYWRlcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzM0CgoyMDEzLTA5LTA5IDE0OjQ2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IG1pc3NpbmcgY29uZGl0aW9uIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMy0wOS0wOSAxNDo0NDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFsc28gZml4IHN0cmlkZXMgZm9yIG90aGVyIHNlbWktcGxhbmFyIHZpZGVvIGZvcm1hdHMKCjIwMTMtMDktMDkgMTQ6NDE6NDIgKzAyMDAgIEFuZHJlZWEgRnVsZ2VyIDxhbmRyZWVhLmZ1bGdlckBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBzdHJpZGUgZm9yIE5WMTIvTlYyMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzU4CgoyMDEzLTA5LTA3IDE2OjM3OjAzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBsZWFraW5nIGJ1ZmZlciBhbmQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3Njg4CgoyMDEzLTA5LTA1IDE5OjQ2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggYnVpbGQgb24gd2luMzIKCSAgZ3N0dWRwc3JjLmM6ODU1OjE1OiBlcnJvcjogI2lmIHdpdGggbm8gZXhwcmVzc2lvbgoKMjAxMy0wOS0wNCAxNTo1MDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGhhbmRsZSB1bnNlZWthYmxlIHN0cmVhbXMKCSAgSGFuZGxlIHN0cmVhbXMgdGhhdCB3ZSBjYW4ndCBzZWVrIGluIGFuZCBpZ25vcmUgdGhlbSBpbiB0aGUKCSAgc2VlayBsb2dpYy4KCjIwMTMtMDktMDQgMTU6MjU6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBvbmx5IGNoZWNrIHZpZGVvIGNvbXByZXNzaW9uIGZvciB2aWRlbyBzdHJlYW1zCgkgIE9yIGVsc2Ugd2UgbWlnaHQgZGVyZWYgYSBzdHJlYW0gd2l0aCBhIE5VTEwgc3RyZi52aWRzIGFuZCBzZWdmYXVsdAoKMjAxMy0wNi0xOCAxMzoyNzoyMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIGF2YzMgc2FtcGxlIGVudHJ5IGZvcm1hdCBvZiB0aGUgQVZDIGZpbGUgZm9ybWF0CgkgIEFtZW5kbWVudCAyIG9mIElTTy9JRUMgMTQ0OTYtMTUgKEFWQyBmaWxlIGZvcm1hdCkgaXMgZGVmaW5pbmcgYSBuZXcKCSAgc3RydWN0dXJlIGZvciBmcmFnbWVudGVkIE1QNCBjYWxsZWQgImF2YzMiLiBUaGUgcHJpbmNpcGFsIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBBVkMxIGFuZCBBVkMzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZWMgaW5pdGlhbGlzYXRpb24KCSAgZGF0YSAoZS5nLiBTUFMsIFBQUykuIEluIEFWQzEgdGhpcyBkYXRhIGlzIHBsYWNlZCBpbiB0aGUgaW5pdGlhbAoJICBNT09WIGJveCAobW9vdi50cmFrLm1kaWEubWluZi5zdGJsLnN0c2QuYXZjMSkgYnV0IGluIEFWQzMgdGhpcyBkYXRhCgkgIGdvZXMgaW4gdGhlIGZpcnN0IHNhbXBsZSBvZiBldmVyeSBmcmFnbWVudCAoaS5lLiB0aGUgZmlyc3Qgc2FtcGxlIGluCgkgIGVhY2ggbWRhdCBib3gpLiAgVGhlIHByaW5jaXBhbCByZWFzb24gZm9yIGF2YzMgaXMgdG8gbWFrZSBpdCBlYXNpZXIKCSAgZm9yIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMsIGJlY2F1c2UgaXQgcmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgdG8KCSAgaW5zZXJ0IHRoZSBTUFMrUFBTIGluIHRvIHRoZSBkZWNvZGVyIHBpcGVsaW5lIGV2ZXJ5IHRpbWUgdGhlcmUgaXMgYQoJICByZXByZXNlbnRhdGlvbiBjaGFuZ2UuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgdGhlICJhdmMzIiBhdG9tLCB3aGljaCBpcyBhbG1vc3QgaWRlbnRpY2FsCgkgIHRvIHRoZSAiYXZjMSIgYXRvbSwgZXhjZXB0IGl0IGRvZXMgbm90IGNvbnRhaW4gYW55IFNQUyBvciBQUFMgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAwNAoKMjAxMy0wOS0wNCAwMDoyNzo1MCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3Qgc2V0IEVPUyB0byBGQUxTRSB3aGVuIHRoZSBjb2xsZWN0cGFkICppcyogRU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMzgKCjIwMTMtMDktMDMgMTc6MzI6NDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGNsZWFudXAgb24gZXJyb3IgYWZ0ZXIgc3RhdGUgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMjkKCjIwMTMtMDktMDMgMTE6MjM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogQmluZCB0byBtdWx0aWNhc3QgYWRkcmVzc2VzIG9uIG5vbi1XaW5kb3dzIHN5c3RlbXMKCSAgT24gV2luZG93cyBpdCdzIG5vdCBwb3NzaWJsZSB0byBiaW5kIHRvIGEgbXVsdGljYXN0IGFkZHJlc3MKCSAgYnV0IHRoZSBPUyB3aWxsIG1ha2Ugc3VyZSB0byBmaWx0ZXIgb3V0IGFsbCBwYWNrZXRzIHRoYXQKCSAgYXJyaXZlIG5vdCBmb3IgdGhlIG11bHRpY2FzdCBhZGRyZXNzIHRoZSBzb2NrZXQgam9pbmVkLgoJICBPbiBMaW51eCBhbmQgb3RoZXJzIGl0IGlzIG5lY2Vzc2FyeSB0byBiaW5kIHRvIGEgbXVsdGljYXN0CgkgIGFkZHJlc3MgdG8gbGV0IHRoZSBPUyBmaWx0ZXIgb3V0IGFsbCBwYWNrZXRzIHRoYXQgYXJlIHJlY2VpdmVkCgkgIG9uIHRoZSBzYW1lIHBvcnQgYnV0IGZvciBkaWZmZXJlbnQgYWRkcmVzc2VzIHRoYW4gdGhlIG11bHRpY2FzdAoJICBhZGRyZXNzCgkgIEFuZCBkZXByZWNhdGUgdGhlIG11bHRpY2FzdC1ncm91cCBwcm9wZXJ0eSBhbmQgcmVwbGFjZSBpdCB3aXRoIHRoZQoJICBhZGRyZXNzIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDQyCgoyMDEzLTA5LTAzIDEwOjEwOjAxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGcmVlIEdzdEJhc2VQYXJzZUZyYW1lIGlmIHB1c2hpbmcgYSBoZWFkZXIgZmFpbGVkCgoyMDEzLTA5LTAyIDE2OjAyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFJlZmFjdG9yIGFkZHJlc3MgcmVzb2x2YWwgaW50byBpdHMgb3duIGZ1bmN0aW9uCgoyMDEzLTA5LTAyIDIzOjAwOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXlnYWluOiBmaXggdGFnbGlzdCBsZWFrIGluIHJnYW5hbHlzaXMKCSAgQW5kIGFkZCBzb21lIEZJWE1Fcy4KCjIwMTMtMDktMDIgMjI6NTA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiByZ2FuYWx5c2lzOiByZW5hbWUgZnVuY3Rpb24gZm9yIGNsYXJpdHkKCjIwMTMtMDMtMTggMTQ6MzI6MDcgKzAxMDAgIENocmlzdG9waCBSZWl0ZXIgPHJlaXRlci5jaHJpc3RvcGhAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZml4IHNraXBwZWQgcmdhbmFseXNpcyB0ZXN0cwoJICBJbiAwLjEwIGVsZW1lbnRzIHdvdWxkIHBvc3QgdGFnIG1lc3NhZ2VzIG9uIHRoZSBidXMKCSAgZGlyZWN0bHksIGFuZCByZ2FuYWx5c2lzIHdvdWxkIG9ubHkgcG9zdCBhIHRhZyBtZXNzYWdlCgkgIHdoZW4gaXQgY2hhbmdlZCB0YWdzLiBJbiAxLjAsIG9ubHkgc2lua3MgcG9zdCB0YWcKCSAgbWVzc2FnZXMgd2hlbiB0aGV5IHJlY2VpdmUgdGhlIHNlcmlhbGlzZWQgdGFnIGV2ZW50LgoJICBUaGlzIG1lYW5zIHRoYXQgd2UgZ2V0IGFuIGFkZGl0aW9uYWwgdGFnIG1lc3NhZ2Ugb24KCSAgdGhlIGJ1cyBub3cgd2hlcmUgd2UgZGlkbid0IGV4cGVjdCBvbmUgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MDkwCgoyMDEzLTA5LTAyIDExOjQ2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFByb3Blcmx5IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJucyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjI5CgoyMDEzLTA5LTAxIDIxOjE4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgRG9uJ3QgdXNlIHNldGxvY2FsZSBpbiBwbHVnaW5zKCkKCSAgT25seSBhcHBzIHNob3VsZCBjYWxsIHNldGxvY2FsZSgpLCBub3QgbGlicmFyaWVzLgoKMjAxMy0wOC0yOSAxMzoxNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cG1wdnBheTogRml4IFJUUCBidWZmZXIgYWxsb2NhdGlvbiBpbiBydHBtcHZwYXkKCSAgUlRQIGJ1ZmZlciBhbGxvY2F0aW9uIHNob3VsZCBub3QgYmUgZG9uZSB3aXRoIHBhZGRpbmcgZm9yIHRoZSBzcGVjaWZpYyBNUEVHMgoJICBoZWFkZXIgYXMgdGhlIHBhZGRpbmcgaXMgZG9uZSBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgYW5kIHRoZSBsYXN0IGJ5dGUgaXMKCSAgdGhlIHNpemUgb2YgdGhlIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NzAKCjIwMTMtMDgtMjggMTA6NTE6MzIgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b3ZpZGVvc2luazogYWRkIHN5bmMgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk1NQoKMjAxMy0wOC0yOCAwNzoxNTowMCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICBhdXRvYXVkaW9zaW5rOiBpbnRyb2R1Y2Ugc3luYyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTU1CgoyMDEzLTA4LTI3IDE3OjMzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBidWZmZXJzIGFmdGVyIHNlZ21lbnQgc3RvcCB1bnRpbCByZWFjaGluZyBhIGtleWZyYW1lCgkgIFRoaXMgc2hvdWxkIG1ha2UgZGVjb2RlcnMgYWJsZSB0byBwcmVjaXNlbHkgcHVzaCBidWZmZXJzIHVudGlsIHRoZSBzdG9wCgkgIHRpbWUgaW4gY2FzZSB0aGV5IG5lZWQgdGhlIG5leHQga2V5ZnJhbWUgdG8gZG8gaXQuCgkgIEFsc28sIGFjY29yZGluZyB0byBnc3Rfc2VnbWVudF9jbGlwLCBpdCBzaG91bGQgb25seSBwdXNoIGEgYnVmZmVyIHRoYXQKCSAgdGhlIHN0YXJ0aW5nIHRzIGlzIHN0cmljdGx5IHNtYWxsZXIgdGhhbiB0aGUgc2VnbWVudCBzdG9wLCBzbyB3ZSBjaGFuZ2UKCSAgdGhlIG1pbiA8IGNvbXBhcmlzb24gZm9yIDw9CgoyMDEzLTA4LTI4IDEzOjI2OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS40ID09PQoKMjAxMy0wOC0yOCAxMjo1MjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuNAoKMjAxMy0wOC0yOCAxMjo1MjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA4LTI4IDEyOjMyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDgtMjcgMTU6MjU6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogcmVtb3ZlIGZyYW1lcmF0ZSByZXN0cmljdGlvbgoJICBSZW1vdmUgdGhlIGZyYW1lcmF0ZSByZXN0cmljdGlvbiBvbiB0aGUgY2Fwcy4KCjIwMTMtMDgtMjcgMDk6Mzg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG9ubHkgdXBkYXRlIG5leHQgY2hlY2sgdGltZSB3aGVuIHJlY29uc2lkZXJpbmcKCSAgRG9uJ3QgdXBkYXRlIHRoZSBuZXh0IFJUQ1AgY2hlY2sgdGltZSBpbiBhbGwgY2FzZXMgYnV0IG9ubHkgd2hlbiB3ZQoJICByZWNvbnNpZGVyZWQuIFRoaXMgYXZvaWRzIGRlbGF5aW5nIHNlbmRpbmcgYSBmdWxsIFJUQ1AgcGFja2V0IHdoZW4gd2UKCSAgYXJlIGRvaW5nIGVhcmx5IGZlZWRiYWNrLgoKMjAxMy0wOC0yNyAwOTozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDgtMjcgMDk6MzQ6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCB0eXBlcyBvZiB0aGUgcmV0cmFuc21pc3Npb24gZXZlbnQKCjIwMTMtMDgtMjcgMDk6MzM6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvbmx5IHRpbWVvdXQgRVhQRUNURUQgdGltZXJzIG9uIGdhcAoJICBPbmx5IHRpbWVvdXQgdGhlIEVYUEVDVEVEIHRpbWVycyB3aGVuIHdlIGRldGVjdCBhIGxhcmdlIHNlcW51bSBnYXAuCgoyMDEzLTA4LTI2IDEzOjQ3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3Qgc2V0IEJaMl9MSUJTIGlmIGJ6MiBpcyBub3QgZm91bmQKCjIwMTMtMDgtMjYgMTE6NTA6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0c2Vzc2lvbjogZml4IGxvY2tpbmcKCSAgV2UgbmVlZCB0byB0YWtlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBnZXR0aW5nIGFuZCBtYW5pcHVsYXRpbmcgdGhlCgkgIHNvdXJjZS4KCjIwMTMtMDgtMjYgMTE6NTA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDgtMjAgMjI6MTI6MDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGRvbid0IHNlbmQgZmx1c2hfc3RvcCB0d2ljZS4KCSAgSWYgd2UgZ2V0IGZsdXNoIHN0YXJ0IGFuZCBhIHNlZWsgd2UgbmVlZCB0byBvbmx5IHNlbmQgZmx1c2hfc3RvcCBvbmNlLgoJICBNb3JlIGluZm8gYXQgIzcwNjQ0MQoKMjAxMy0wOC0yMyAxNTo1Njo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogcHJvcGFnYXRlIGRpc2NvbnQKCjIwMTMtMDgtMjMgMTU6NDk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZHluYW1pYyBzb3VyY3BhZHMgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoKMjAxMy0wOC0yMyAxNToyOToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogdGltZXN0YW1wIG91dHB1dCBidWZmZXJzIGJhc2VkIG9uIGZpcnN0IGlucHV0IGJ1ZmZlciB0aGF0IHByb3ZpZGVkIGJ5dGVzIG5vdCBsYXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc3NTQKCjIwMTMtMDgtMjMgMTU6NDc6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHhxdWV1ZTogYWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBxdWV1ZSBzaXplCgoyMDEzLTA4LTIzIDEyOjA3OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2NC1ydHguc2g6CgkgIHRlc3RzOiBhZGQgcmV0cmFuc21pc3Npb24gZXhhbXBsZQoKMjAxMy0wOC0yMyAxMTo1NTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBwcm94eSBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkKCjIwMTMtMDgtMjMgMTE6MTc6NDUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1bm1hcCB0aGUgY29ycmVjdCBidWZmZXIKCSAgVGhlIGF1ZGlvIGJ1ZmZlciB3YXMgbWFwcGVkIHNvIHVubWFwIGl0IGFuZCBub3QgdGhlIHZpZGVvIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NjQyCgoyMDEzLTA4LTE4IDIzOjMyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogQWRkIHByb3BlcnR5IHRvIGZpbmQgb3V0IHRoZSBkZXZpY2UgY3VycmVudGx5IGluIHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIzOjMxOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERlLWR1cGxpY2F0ZSBjb2RlIHRvIGdldCB0aGUgY3VycmVudCBzaW5rIGlucHV0IGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMjoyNzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgY2hhbmdpbmcgdGhlIGRldmljZSB3aGlsZSBwbGF5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBBZGQgcHJvcGVydHkgdG8gZmluZCBvdXQgdGhlIGRldmljZSBjdXJyZW50bHkgaW4gdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzE6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERlLWR1cGxpY2F0ZSBjb2RlIHRvIGdldCB0aGUgY3VycmVudCBzb3VyY2Ugb3V0cHV0IGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMjoyNzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogSW1wbGVtZW50IGNoYW5naW5nIHRoZSBkZXZpY2Ugd2hpbGUgcGxheWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTIyIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wMi0yMiAyMDo1NzowMCArMDkwMCAgQWtpaGlybyBUc3VrYWRhIDxhdHN1a2FkYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogQWRkIHN1cHBvcnQgZm9yIEFBQyBwYXNzLXRocm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDQ0NQoKMjAxMy0wNi0yNCAxNzoyOTozNyArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGNyYXNoZXMgaWYgYW55IHByb3BlcnR5IGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrIHdoZW4gbG9jYXRpb24gcHJvcGVydHkgaXMgbm90IHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyOTg4CgoyMDEzLTA4LTIxIDE0OjU0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBTaGFyZSBzdGF0aWMgY2FwcyBkZWZpbml0aW9uIGJldHdlZW4gc3JjIGFuZCBzaW5rCgkgIFRoZSBzcmMgd2FzIGFsc28gbWlzc2luZyAyNC1iaXQgc2FtcGxlIGZvcm1hdHMKCjIwMTMtMDgtMjEgMTY6NTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHg6IHZhcmlvdXMgaW1wcm92ZW1lbnRzCgkgIFVzZSBsb2NraW5nCgkgIERvbid0IHB1c2ggZnJvbSB0aGUgZXZlbnQgaGFuZGxlciwgY29sbGVjdGVkIHBhY2tldHMgaW4gYSBxdWV1ZSBhbmQgcHVzaCBmcm9tCgkgIHRoZSBjaGFpbiBmdW5jdGlvbi4KCSAgQ2xlYXIgcXVldWVzIG9uIHNodXRkb3duLgoKMjAxMy0wOC0yMSAxNjo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2VuZXJhdGUgZXZlbnRzIGNvcnJlY3RseQoJICBEbyBjb3JyZWN0IHNoaWZ0aW5nIG9mIHRoZSBiaXRtYXNrIGZvciBsb3N0IHBhY2tldHMuCgoyMDEzLTA4LTIxIDE2OjQ3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHA6IHJlZ2lzdGVyIHJ0eCBlbGVtZW50IGJldHRlcgoKMjAxMy0wOC0yMSAxNjozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFdBVkVGT1JNQVRFWCBpcyB1bnNpZ25lZCBmb3IgOCBiaXQgaW50ZWdlcnMsIGFuZCBzaWduZWQgZm9yIG90aGVycwoJICBQcm9iYWJseSBmaXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDc3CgoyMDEzLTA4LTIxIDEzOjAzOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIGZyb20gX2ZpbmlzaF9mcmFtZSgpCgkgIGdzdF92aWRlb19lbmNvZGVyX2ZpbmlzaF9mcmFtZSgpIHdpbGwgcmV0dXJuIEZMT1dfT0sgaGVyZSBpZgoJICB0aGVyZSdzIG5vIG91dHB1dCBidWZmZXIuCgoyMDEzLTA4LTIxIDEyOjU2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA4LTIxIDEyOjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkgIHJ0cGdzdGRlcGF5OiBvbmx5IHB1c2ggZXZlbnRzIHdoZW4gdGhleSBjaGFuZ2VkCgkgIEtlZXAgdHJhY2sgb2YgdGhlIFNUUkVBTV9TVEFSVCBhbmQgVEFHIGV2ZW50cyBhbmQgb25seSBwdXNoIHRoZW0KCSAgd2hlbiB0aGV5IGNoYW5nZWQuCgoyMDEzLTA4LTIxIDEwOjUyOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiB0YWdsaXN0cyBzaG91bGQgbm90IGJlIG1lcmdlZCBpbiAxLjAKCjIwMTMtMDgtMjEgMTA6Mjg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBmbHVzaCBvbiBGTFVTSF9TVE9QIGV2ZW50CgoyMDEzLTA4LTIxIDEwOjAzOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZXNldCBvbiBzdGF0ZSBjaGFuZ2UKCSAgRG8gZnVsbCByZXNldCBvbiBzdGF0ZSBjaGFuZ2UgdG8gUkVBRFkKCjIwMTMtMDgtMjEgMDk6NTU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlc2V0IG9uIEZMVVNIX1NUT1AKCSAgQ2xlYXIgdGhlIGFkYXB0ZXIgYW5kIHBlbmRpbmcgYnVmZmVyIGxpc3Qgb24gRkxVU0hfU1RPUC4KCjIwMTMtMDgtMjEgMDk6Mzk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGRvbid0IHVzZSBjbG9jayBmb3IgY29uZmlnIGludGVydmFsCgkgIFdlIGNhbid0IHVzZSB0aGUgY2xvY2sgdG8gdGltZSBvdXIgY29uZmlnLWludGVydmFsIGJlY2F1c2Ugd2UgYXJlIG5vdAoJICBsaXZlIChvciB0aGVyZSBtaWdodCBub3QgYmUgYSBjbG9jayBvciB0aGUgY2xvY2sgbWlnaHQgbm90IGJlIHJ1bm5pbmcpLgoJICBJbnN0ZWFkIGp1c3Qgc2ltcGx5IHRha2UgdGhlIHRpbWVzdGFtcCBkaWZmLgoKMjAxMy0wOC0yMSAwOTozMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdGF5OiBkb24ndCB1c2UgLy8gY29tbWVudHMKCjIwMTMtMDgtMDggMTE6NTU6MjIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCByZXNwb25zZSBhcmd1bWVudCBpbiBoYW5kbGUtcmVxdWVzdCBzaWduYWwKCjIwMTMtMDgtMDggMTE6NTQ6NDEgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHNkZXMgcHJvcGVydHkgYW5kIHByb3h5IGl0IHRvIHJ0cGJpbgoKMjAxMy0wOC0wNyAwOTo0NzozNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIFNlbmQgYSBzdHJlYW0tc3RhcnQgd2hlbmV2ZXIgd2Ugc2VuZCB0YWdzIFRoaXMgaXMgdG8gbWFrZSBzdXJlIHRhZ3MgYXJlIGNsZWFyZWQgb24gdGhlIGNsaWVudCBpZiB0aGUgc3RyZWFtLXN0YXJ0IHdhcyBwcmV2aW91c2x5IGxvc3QsIG90aGVyd2lzZSwgdGhlIGNsaWVudCBtYXkgZW5kIHVwIHdpdGggYSBtZXJnZWQgdGFnbGlzdCBvZiBtdWx0aXBsZSBzb25ncwoKMjAxMy0wNy0yNSAyMToxMjowNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogQWRkIGEgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIHJlc2VuZCB0aGUgY2Fwcy90YWdzIGF0IGEgcmVndWxhciBpbnRlcnZhbCBUaGlzIGlzIHVzZWZ1bCBpbiBjYXNlIHRoZSBwYWNrZXQgY29udGFpbmluZyB0aGUgaW5saW5lZCBjYXBzIHdhcyBsb3N0IG9yIGlmIG5ldyBjbGllbnQgam9pbnMgYW4gYWxyZWFkeSBydW5uaW5nIFJUUCBzdHJlYW0gYW5kIHRoZXkgbWlzc2VkIHRoZSBwcmV2aW91cyB0YWcgZXZlbnRzLiBUaGlzIGFsc28gbWFrZXMgdGhlIHBheWxvYWRlciBrZWVwIGEgbGlzdCBvZiBtZXJnZWQgdGFncyBzbyB0aGUgcmV0cmFuc21pdHRlZCB0YWcgZXZlbnQgY29udGFpbnMgYWxsIHByZXZpb3VzbHkgcmVjZWl2ZWQuIEEgU1RSRUFNX1NUQVJUIGV2ZW50IHdpbGwgZmx1c2ggdGhlIGxpc3Qgb2YgdGFncy4KCjIwMTMtMDctMjUgMjE6MTA6MTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IFJlZmFjdG9yIHRoZSBzZXRjYXBzIGFuZCB1c2UgbmV3IG1ldGhvZCB0byBzZW5kIGFyYml0cmFyeSBjYXBzIGF0IGFueSB0aW1lCgoyMDEzLTA3LTI1IDIxOjAzOjM0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBEbyBub3QgZmx1c2ggZXZlbnRzIGZvciBzdHJlYW0tc3RhcnQgYW5kIGF2b2lkIGNvbmZsaWN0IGJldHdlZW4gZXZlbnQgYW5kIHBlbmRpbmcgaW5saW5lIGNhcHMKCjIwMTMtMDctMjUgMjA6NTQ6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IEFkZCBhIGNyZWF0ZV9mcm9tX2FkYXB0ZXIgQVBJIGFuZCB1c2UgYSBsaXN0IG9mIEdzdEJ1ZmZlckxpc3QgVGhpcyBpcyBuZWNlc3NhcnkgdG8gZml4IGV2ZW50L2NhcHMgc2VuZGluZy4gSWYgd2Ugc2VuZCBhIFNUUkVBTV9TVEFSVCBwYWNrZXQsIGl0IHdpbGwgY2F1c2UgYW4gZXJyb3IgYmVjYXVzZSB0aGUgc3RyZWFtIGRpZG4ndCByZWNlaXZlIGl0cyBjYXBzIGFuZCBuZXctc2VnbWVudCBldmVudHMsIHNvIHdlIG11c3Qgd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBiZWZvcmUgc2VuZGluZyB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50IGJ1ZmZlci4gSG93ZXZlciwgdGhlIGNhcHMgd2lsbCBiZSBzZW50IGF0IHRoZSBzYW1lIHRpbWUgYW5kIHNvIHRoZSAnaW5saW5lIGNhcHMnIHdpbGwgYmUgc2V0IGZvciB0aGUgZXZlbnQuIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBwYXlsb2FkIGluZGl2aWR1YWwgcGFja2V0cyAoZGF0YSwgY2FwcyBvciBldmVudHMpIGFuZCBvbmx5IHNlbmQgdGhlbSB3aGVuIHdlIGNhbGwgZmx1c2guCgoyMDEzLTA3LTI1IDE3OjU2OjM4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEFkZCBldHlwZT00IGZvciBwYXlsb2FkaW5nIEdTVF9FVkVOVF9TVFJFQU1fU1RBUlQKCjIwMTMtMDctMjUgMTc6NTI6MTYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpeCB0eXBvLCBHU1RfRVZFTlRfQ1VTVE9NX0JPVEggaGFzIGV0eXBlIG9mIDMKCjIwMTMtMDgtMjAgMTQ6MzY6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgRU9TCgkgIFdoZW4gdGhlIHF1ZXVlIGlzIGVtcHR5LCBhbmQgd2UgcmVjZWl2ZWQgRU9TLCBwYXVzZSBhbmQgcHVzaCBhbiBFT1MKCSAgZXZlbnQgZG93bnN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM4NwoKMjAxMy0wOC0yMCAxMDoyNjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBkb2NzCgoyMDEzLTA4LTIwIDEwOjI1OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIGFsbCB0aW1lcnMKCSAgS2VlcCBsb29waW5nIG92ZXIgYWxsIHJlZ2lzdGVyZWQgdGltZXJzIHNvIHRoYXQgd2UgY2FuIG1hcmsgdGhlbSBsb3N0IGluc3RlYWQgb2YKCSAgc3RvcHBpbmcgYXMgc29vbiBhcyB3ZSBmaW5kIHRoZSB0aW1lciBmb3IgdGhlIGN1cnJlbnQgc2VxbnVtLgoKMjAxMy0wOC0yMCAwODo1NTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDEzLTA4LTE5IDIxOjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVvcmdhbml6ZSB0aW1lciBoYW5kbGluZwoJICBSZXN0cnVjdHVyZSBoYW5kbGluZyBvZiBpbmNvbW1pbmcgcGFja2V0IGFuZCB0aGUgZ2FwIHdpdGggdGhlIGV4cGVjdGVkIHNlcW51bQoJICBhbmQgcmVnaXN0ZXIgYWxsIHRpbWVycyBmcm9tIHRoZSBfY2hhaW4gZnVuY3Rpb24uCgkgIENvbnZlcnQgYSB0aW1lciB0byBhIExPU1QgcGFja2V0IHRpbWVyIHdoZW4gdGhlIG1heCBhbW91bnQgb2YgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgaGFzIGJlZW4gcmVhY2hlZC4KCjIwMTMtMDgtMTkgMjE6Mzc6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciBwYWNrZXQgc3BhY2luZyBjYWxjdWxhdGlvbgoKMjAxMy0wOC0xOSAyMTozNDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgbGFzdCBzZXFudW0gYW5kIGR0cwoKMjAxMy0wOC0xOSAyMToyOTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA4LTE5IDIxOjIxOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgcmV0cmFuc21pc3Npb24gdGltZXJzIGluIGFkZC9yZXNjaGVkdWxlCgkgIFJlc2V0IHRoZSByZXRyYW5zbWlzc2lvbiB0aW1lcnMgd2hlbiBhZGRpbmcgYW5kIHJlc2NoZWR1bGluZyBhIHRpbWVyLgoKMjAxMy0wOC0xOSAyMToxMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSB2YXJpYWJsZXMgZm9yIHBhY2tldCBzcGFjaW5nCgoyMDEzLTA4LTE5IDE0OjU4OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGxvc3QgdGltZXIgd2hlbiB3ZSBnZXQgdGhlIHBhY2tldAoJICBXaGVuIHdlIHJlY2VpdmUgYSBwYWNrZXQsIGFsc28gcmVtb3ZlIHRoZSBMT1NUIHRpbWVyIGZvciBpdC4KCjIwMTMtMDgtMTkgMTQ6NTY6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBleHBlY3RlZCBzZXFudW0gbXVzdCBpbmNyZWFzZQoJICBPbmx5IHVwZGF0ZSB0aGUgZXhwZWN0ZWQgc2VxbnVtIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gdGhlIHByZXZpb3VzIGV4cGVjdGVkCgkgIHNlcW51bS4KCjIwMTMtMDgtMTkgMTQ6NTU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0xMiAxNjoxNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBhZGQgcmV0cmFuc21pc3Npb24gcXVldWUgZWxlbWVudAoKMjAxMy0wOC0xMiAxNDo1MzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIHNvbWUgZG9jcwoKMjAxMy0wOC0wNiAxNjoyOTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGhhbmRsZSBOQUNLIGZlZWRiYWNrIGFuZCBnZW5lcmF0ZSBldmVudHMKCSAgSGFuZGxlIGFuZCBwYXJzZSB0aGUgZmVlZGJhY2sgTkFDSyBwYWNrZXRzIGFuZCBnZW5lcmF0ZSBhIFJldHJhbnNtaXNzaW9uCgkgIGV2ZW50IGZvciBlYWNoIE5BQ0tlZCBwYWNrZXQKCjIwMTMtMDgtMTkgMTM6MTk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciBnc3RfdjRsMl9vYmplY3RfZ2V0X2Zvcm1hdF9saXN0CgoyMDEyLTEwLTIyIDE3OjU4OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBEZS1kdXBsaWNhdGUgY2FwcyBwcm9iaW5nIGJldHdlZW4gc3JjIGFuZCBzaW5rCgoyMDEzLTA4LTEzIDE3OjMyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZTogUmVtb3ZlIHVudXNlZCBHc3RQdWxzZVByb2JlCgoyMDEzLTA4LTE5IDEyOjQ2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSAgdjRsMjogVXNlIEdfREVGSU5FXyBtYWNyb3MgZm9yIGFkZGVkIHRocmVhZCBzYWZldHkKCjIwMTMtMDgtMTcgMTE6Mjg6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBzZW5kIGZsdXNoX3N0b3Agb3Vyc2VsZiBhZnRlciBhIGZsdXNoX3N0YXJ0CgkgIFdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoX3N0YXJ0LCB3ZSBzaG91bGQgd2FpdCBmb3IgdGhlIG5leHQgZmx1c2hfc3RvcAoJICBhbmQgZm93YXJkIGl0LCBub3QgY3JlYXRlIGEgZmx1c2hfc3RvcCBvdXJzZWxmLgoKMjAxMy0wOC0xNiAxNzoxMDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBlYXJseQoJICBJbml0IHRoZSBkZWJ1ZyB2YXJpYWJsZSB3aGVuIHdlIHJlZ2lzdGVyIHRoZSBlbGVtZW50IGJlY2F1c2UgaXQgaXMgYWxzbyB1c2VkIGJ5CgkgIHRoZSBwYXlsb2FkZXIgZWxlbWVudCB3aGVuIGl0IGNhbGxzIHRoZSBhZGRfc3BzX3BwcyBtZXRob2QuCgoyMDEzLTA4LTE2IDEzOjI2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHNldCBoZWFkZXJzIHZpYSB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkIG9mIGp1c3QgcHVzaGluZyB0aGVtIGRvd25zdHJlYW0KCSAgUHJldmVudHMgYnVmZmVycyBmcm9tIGJlaW5nIHNlbmQgYmVmb3JlIHRoZSBjYXBzIGFuZCBzZWdtZW50IGV2ZW50cy4KCjIwMTMtMDgtMTUgMTA6NTk6MTAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBkZW5vbWluYXRvciBpc24ndCB6ZXJvIGJlZm9yZSBzY2FsaW5nIGR1cmF0aW9uLgoJICBXaGVuIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0gc2V0cyBmcHNfZCwgY2hlY2sgdGhhdCBuX3NhbXBsZXMgaXMKCSAgbm9uLXplcm8gYmVmb3JlIHVzaW5nIGl0IGFzIGEgZGVub21pbmF0b3IgdG8gc2NhbGUgdGhlIHN0cmVhbSBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA3NgoKMjAxMy0wOC0xNSAxNTowODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIGV4dDogVXNlIG5ldyBmbHVzaCB2ZnVuYyBvZiB2aWRlbyBjb2RlYyBiYXNlIGNsYXNzZXMgYW5kIHJlbW92ZSByZXNldCBpbXBsZW1lbnRhdGlvbnMKCjIwMTMtMDgtMTQgMTY6MTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmb3J3YXJkIGZsdXNoIGJlZm9yZSBzdG9wcGluZyBkYXRhZmxvdwoJICBGaXJzdCBmb3J3YXJkIHRoZSBmbHVzaCBldmVudCBhbmQgdGhlbiBzdG9wIG91ciBsb29wIGZ1bmN0aW9uLgoKMjAxMy0wOC0xNCAxMzoxMDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYnNvdXAgPj0gMi4zOAoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgZm9yIG5ld2VyIEFQSSB1c2VkLCBsaWtlIGhlYWRlcnNfZ2V0X29uZSgpLgoJICAyLjM4IGlzIGZyb20gZWFybHkgMjAxMiBhbmQgaXMgaW4gbGluZW4gd2l0aCBvdXIgR0xpYiByZXF1aXJlbWVudC4KCjIwMTMtMDgtMTQgMTE6NTQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXQoKSBBUEkKCjIwMTMtMDgtMTMgMTc6NDQ6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGZpbGVzIGZyb20gYXV0b21ha2UgdGVzdC1kcml2ZXIKCjIwMTMtMDgtMTIgMTU6Mjg6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IFVzZSB0aGUgU1BTL1BQUyBoYW5kbGluZyBmdW5jdGlvbiBmcm9tIHRoZSBkZXBheWxvYWRlcgoJICBSZW1vdmUgZHVwbGljYXRlZCBjb3BpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MwoKMjAxMy0wOC0xMiAxNToyNjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSB0aGUgU1BTL1BQUyBkZWR1cGxpY2F0aW9uIGZ1bmN0aW9uIGdlbmVyaWMKCSAgTWFrZSBpdCBub3QgdG91Y2ggYW55IGludGVybmFscyBvZiB0aGUgZGVwYXlsb2FkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MwoKMjAxMy0wOC0xMyAxNDowOToyMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgY29udmVyc2lvbiBmcm9tIHJhdyBBQUMgdG8gQURUUwoJICBUaGlzIHBhdGNoIHdpbGwgcHJlcGVuZCBBRFRTIGhlYWRlcnMgdG8gcmF3IEFBQyBhdWRpbyBmcmFtZXMsIGFsbG93aW5nCgkgIHVwc3RyZWFtIGVsZW1lbnRzIHRvIGxpbmsgdG8gZGVjb2RlcnMgdGhhdCBvbmx5IHN1cHBvcnQgQUFDIGluIEFEVFMgZm9ybWF0LgoJICBOb3RlIHRoYXQgbm8gZXJyb3IgY29ycmVjdGlvbiBiaXRzIGFyZSBhZGRlZCB0byBBRFRTIGZyYW1lcyBpbiB0aGlzIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU3NDAKCjIwMTMtMDgtMTMgMTI6NDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogT25seSBmcmVlIEdDaGVja1N1bSBhZnRlciBpdHMgbGFzdCB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NzYwCgoyMDEzLTA4LTEzIDEyOjAyOjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBjcml0aWNhbCBzZXR0aW5nIGEgTlVMTCB1cmkgcmVkaXJlY3Rpb24KCjIwMTMtMDctMTMgMDE6NTA6NTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHJlZGlyZWN0aW9uIHRvIHRoZSBVUkkgcXVlcnkKCjIwMTMtMDctMzEgMTA6NDI6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxzdCBzaG91bGQgb2Zmc2V0IHNhbXBsZXMgaW5zdGVhZCBvZiBidWZmZXJzCgkgIFRoZSBjdXJyZW50IGFwcHJvYWNoIHdoZXJlIGJ1ZmZlcnMgYXJlIG9mZnNldCBpcyBub3QgaWRlYWwsIGFzIGR1cmluZyBzZWVrCgkgIGFuZCBsb29wIGN1cnJlbnQgdGltZSBpcyBjb21wYXJlZCB0byBzYW1wbGUgdGltZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQKCjIwMTMtMDgtMDcgMTk6MzI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBFT1MgaWYgYnVmX2VuZCA+PSBzZWdtZW50LnN0b3AKCSAgVGhhdCBtZWFucyB0aGUgd2hvbGUgc2VnbWVudCBpcyBhbHJlYWR5IHBsYXllZCwgYW5kIHdlIGFyZSBzdXJlIHdlCgkgIGFyZSBFT1MgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBoYW5kbGUgc2VnbWVudCBzZWVrcywgYW5kIGRvIG5vdCBzZW5kIEVPUyBpbiB0aGF0IGNhc2UuCgoyMDEzLTA4LTA0IDE0OjQwOjM4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2VuZCBwcm9wZXIgc3RyZWFtX3N0YXJ0IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDQ5CgoyMDEzLTA4LTA4IDExOjUxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBwcmludCB3YXJuaW5ncyBkdXJpbmcgZmx1c2hpbmcgYW5kIHN0b3AgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTcwNTQ0MgoKMjAxMy0wOC0wNyAxMToxNDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IG1hcmsga2V5IGZyYW1lcyBhbmQgZGVsdGEgZnJhbWVzIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NTAKCjIwMTMtMDgtMDUgMjM6MjM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBOQUNLIGZlZWRiYWNrIGluIFJUQ1AKCjIwMTMtMDgtMDUgMjM6MjI6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogYWRkIG1ldGhvZHMgdG8gcmVnaXN0ZXIgTkFDSwoJICBBZGQgYSBtZXRob2QgdG8gcmVnaXN0ZXIgYSBtaXNzaW5nIHBhY2tldCBmb3IgYW4gc3NyYyBhbG9uZyB3aXRoCgkgIG1ldGhvZHMgdG8gZ2V0IHRoZSBtaXNzaW5nIHBhY2tldHMgYW5kIGNsZWFyIHRoZW0uCgoyMDEzLTA4LTA0IDIzOjA1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogaGFuZGxlIFJldHJhbnNtaXNzaW9uIGV2ZW50IGFuZCBzY2hlZHVsZSBOQUNLCgkgIEhhbmRsZSB0aGUgcmV0cmFuc21pc3Npb24gZXZlbnQgZnJvbSBkb3duc3RyZWFtIGFuZCB1c2UgaXQgdG8gc2NoZWR1bGUgYSBOQUNLCgkgIHJlcXVlc3QuCgoyMDEzLTA4LTA1IDIzOjIwOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBwYXNzIGRhdGEgdG8gcmVtb3ZlIGZ1bmMKCSAgUGFzcyB0aGUgZGF0YSB0byB0aGUgcmVtb3ZlIGZ1bmN0aW9uIGJlY2F1c2Ugd2UgYXJlIGdvaW5nIHRvIGRlcmVmIGl0IHdoZW4gdGhlcmUKCSAgaXMgcGxpIG9yIGZpci4KCjIwMTMtMDgtMDYgMTU6Mjg6NTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsYXRpb24KCjIwMTMtMDgtMDYgMTU6MTc6NDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSYXcgYnVmZmVyIERUUyBzaG91bGQgYWx3YXlzIGJlIENMT0NLX1RJTUVfTk9ORQoKMjAxMy0wOC0wNiAxMTo1ODozOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBzdXJlIHRvIHNlbmQgRU9TIGlmIHRoZSBidWZmZXIgZW5kIHRpbWUgZXF1YWxzIHRoZSBzZWdtZW50IGVuZCB0aW1lCgkgIE90aGVyd2l6ZSBFT1MgbmV2ZXIgZ2V0cyBzZW50IGluIHRoYXQgcGFydGljdWxhciBjYXNlLgoKMjAxMy0wOC0wNSAwODo0OTo1MCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEVuc3VyZSBzcmMgY2FwcyBhcmUgd3JpdGFibGUKCSAgSW4gc29tZSBjYXNlcyB0aGUgc3JjIGNhcHMgZGV0ZXJtaW5lZCBieSBnb29tIHdlcmVuJ3Qgd3JpdGFibGUsIGNhdXNpbmcKCSAgYSBidW5jaCBvZiBhc3NlcnRpb24gZmFpbHVyZXMgYW5kIGZhaWxlZCBjYXBzLiBGaXhlZCBieSBhbHdheXMKCSAgZXhwbGljaXRlbHkgbWFraW5nIHRoZSBjYXBzIHdyaXRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NzUKCjIwMTMtMDgtMDQgMjM6MTg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiB1c2UgY29tbW9uIHNlbmRfcnRjcCBtZXRob2QKCSAgUmV1c2UgdGhlIHNlbmRfcnRjcCBtZXRob2QgdGhhdCBhbHJlYWR5IGFza3MgZm9yIHRoZSBjdXJyZW50IHRpbWUgd2hlbgoJICByZXF1ZXN0aW5nIGEga2V5ZnJhbWUuCgoyMDEzLTA4LTA0IDIzOjEyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IERvbid0IHVzZSBDbG9ja1RpbWVEaWZmIGZvciB1bnNpZ25lZCBkZWxheXMKCjIwMTMtMDgtMDQgMTY6NTI6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIGJ1ZmZlciBQVFMgaWYgRFRTIGlzIG5vdCBzZXQKCSAgQXZvaWRzIGVuZGluZyB1cCB3aXRoIGNvbXBsZXRlbHkgYm9ndXMgc2NhbGVkIGR1cmF0aW9uL3B0cyB3aGVuIG5ldwoJICBidWZmZXJzIGhhdmUgaW52YWxpZCBEVFMuCgoyMDEzLTA4LTA0IDE0OjMyOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNraXAgaHR0cHMgdGVzdCBpZiB0aGVyZSdzIG5vIFRMUyBzdXBwb3J0IGluIHNvdXAvZ2xpYgoKMjAxMy0wOC0wNCAxMToyMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMTA6NTI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvLmdpdGlnbm9yZToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBlbnVtdHlwZXMgYW5kIHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMTA6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3VkcC8uZ2l0aWdub3JlOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmg6CgkgIHVkcDogcmVtb3ZlIHVudXNlZCBtYXJzaGFsIGFuZCBlbnVtdHlwZXMgZmlsZXMKCjIwMTMtMDgtMDQgMDk6Mzg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvLmdpdGlnbm9yZToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIHJ0cG1hbmFnZXI6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMDA6MTM6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzZW5kIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbgoKMjAxMy0wOC0wMiAxNzozODozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY3JlYXRlL3JlbW92ZSBvcmMgZGlyZWN0b3J5IGF0IHByb3BlciB0aW1lCgkgIEJlZm9yZSBhdXRvbWFrZSBjcmVhdGVzIC5kZXBzIGRpcmVjdG9yaWVzLCBhbmQgZHVyaW5nIGRpc3RjbGVhbi4KCjIwMTMtMDgtMDMgMDA6MjU6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBGSVIgYW5kIFBMSSBsaWtlIG90aGVyIFJUQ1AgcGFja2V0cwoJICBBZGQgdGhlIEZJUiBhbmQgUExJIHBhY2tldHMgbGlrZSB0aGUgb3RoZXIgUlRDUCBwYWNrZXQgaW5zdGVhZCBvZiBmcm9tIHRoZQoJICBvbi1zZW5kaW5nLXJ0Y3AgZGVmYXVsdCBzaWduYWwgaGFuZGxlci4KCjIwMTMtMDgtMDIgMTc6MjI6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggcHJvcGVydHkgcmFuZ2VzCgoyMDEzLTA4LTAyIDE2OjQyOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHVzaCByZXRyYW5zbWlzc2lvbiBldmVudHMKCjIwMTMtMDgtMDIgMTQ6MTI6MTYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGFkZCBzdWJkaXItb2JqZWN0cyB0byBBTV9JTklUX0FVVE9NQUtFCgkgIEZpeGVzIHdhcm5pbmdzIHdpdGggYXV0b21ha2UgMS4xNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTAyIDE0OjU0OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIHJldHJhbnNtaXNzaW9uIHJldHJ5CgkgIFdoZW4gd2UgZGlkbid0IHJlY2VpdmUgYSBwYWNrZXQgYWZ0ZXIgcmVxdWVzdGluZyByZXRyYW5zbWlzc2lvbiwgcmV0cnkKCSAgYXNraW5nIGZvciByZXRyYW5zbWlzc2lvbiBmb3IgYSBjZXJ0YWluIHBlcmlvZC4KCjIwMTMtMDgtMDIgMTQ6MTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgcHJvcGVydGllcwoJICBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHJldHJhbnNtaXNzaW9uIHBhcmFtZXRlcnMKCjIwMTMtMDgtMDIgMTI6NDQ6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1c2UgY29ycmVjdGVkIHRpbWVvdXQgd2hlbiByZXNjaGVkdWxpbmcKCSAgV2hlbiB3ZSByZWNhbGN1bGF0ZSB0aGUgdGltZW91dCwgdXNlIHRoZSBjb3JyZWN0ZWQgdGltZW91dCB2YWx1ZSBkZXBlbmRpbmcgb24KCSAgdGhlIHRpbWVyIHR5cGUuCgoyMDEzLTA4LTAyIDEyOjQzOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIHRpbWVycyBhZnRlciBxdWV1ZWluZwoJICBFbHNlIHdlIG1pZ2h0IHVwZGF0ZSB0aGUgdGltZXIgbmVlZGxlc3NseSBmb3IgZHVwbGljYXRlcy4KCjIwMTMtMDgtMDIgMTI6NDI6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3ZlIG1ldGhvZCB1cAoKMjAxMy0wOC0wMiAwNjoyODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDgtMDEgMjM6MjY6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1bnNjaGVkdWxlIG9sZCBleHBlY3RlZCBwYWNrZXRzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYWNrZXQsIHVuc2NoZWR1bGUgb2xkIG91dHN0YW5kaW5nIHBhY2tldHMgd2hlbiB0aGVpcgoJICBzZXFudW0gaXMgdG9vIGZhciBhd2F5LgoKMjAxMy0wOC0wMSAyMzoyOToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHRpbWVyIHVwZGF0ZQoKMjAxMy0wOC0wMSAyMzoyNDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSB0aW1lcnMgd2hlbiByZW1vdmluZwoJICBVcGRhdGUgdGhlIHRpbWVycyB3aGVuIHdlIHJlbW92ZSBhIHRpbWVyLgoJICBIYW5kbGUgY2FuY2VsZWQgdGltZXJzLCBtYWtlIHRoZW0gdW5zY2hlZHVsZSB0aGUgY3VycmVudCB0aW1lciBhbmQKCSAgdHJpZ2dlciB0aGUgdGltZW91dCBjb2RlLgoKMjAxMy0wOC0wMSAyMzoyMjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCB0eXBvCgoyMDEzLTA4LTAxIDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSB0aW1lb3V0IG1hbmFnZW1lbnQKCSAgSWYgd2UgY2hhbmdlIHRoZSBzZXFudW0gb2YgYW4gZXhpc3RpbmcgdGltZXIgYW5kIHdlIHdlcmUgd2FpdGluZyBmb3IKCSAgdGhhdCB0aW1lciwgdW5zY2hlZHVsZSBpdC4gSWYgd2UgY2hhbmdlIHRoZSB0aW1lb3V0IG9mIGFuIGV4aXN0aW5nIHRpbWVyIGFuZCB3ZQoJICB3ZXJlIHdhaXRpbmcgb24gaXQsIG9ubHkgdW5zY2hlZHVsZSB3aGVuIHRoZSBuZXcgdGltZSBpcyBzbWFsbGVyLgoKMjAxMy0wOC0wMSAxNTowNTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGluc3RhbGwgdGltZXIgZm9yIGV4cGVjdGVkIGFycml2YWwKCSAgSW5zdGFsbCBhIHRpbWVyIHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIGV4cGVjdGVkIGFycml2YWwgdGltZSBvZiBhIHBhY2tldAoJICBleHBpcmVkLgoKMjAxMy0wOC0wMSAxNDo1NjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgdW5zY2hlZHVsZSBvZiB0aW1lcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoKMjAxMy0wOC0wMSAxMjoyMTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vdmUgY29kZSBhcm91bmQKCjIwMTMtMDgtMDEgMTI6MDc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBlc3RpbWF0ZSBpbnRlciBwYWNrZXQgc3BhY2luZwoJICBXaGVuIHdlIHNlZSB0d28gcGFja2V0cyB3aXRoIGNvbnNlY3V0aXZlIHNlcW51bXMgYW5kIGEgZGlmZmVyZW50IFJUUCB0aW1lLCB1c2UKCSAgdGhlIERUUyBkaWZmZXJlbmNlIGFzIHRoZSBpbnRlciBwYWNrZXQgc3BhY2luZyBlc3RpbWF0ZS4KCjIwMTMtMDgtMDEgMTI6MDE6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgdGltZW91dAoKMjAxMy0wOC0wMSAxMTo0OToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNsZWFudXAgdGltZXIgaGFuZGxpbmcKCjIwMTMtMDgtMDEgMTE6NDA6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBpcyBvbmx5IHBvc3NpYmxlIHdpdGggYSBHQVAKCjIwMTMtMDgtMDEgMTE6Mjk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogb3BlcmF0ZSBvbiBEVFMKCSAgTWFrZSB0aGUgaml0dGVyYnVmZmVyIHNjaGVkdWxlIHRoZSB0aW1lb3V0cyBiYXNlZCBvbiB0aGUgRFRTIGluc3RlYWQKCSAgb2YgdGhlIFBUUy4gVGhpcyBtYWtlcyBpdCBhbGwgc21vb3RoZXIgd2l0aCByZW9yZGVyZWQgZnJhbWVzIGFuZCBnaXZlcwoJICB0aGUgZGVjb2RlciB0aW1lIHRvIHJlb3JkZXIgdGhlIGZyYW1lcyBpbiB0aW1lLgoKMjAxMy0wOC0wMSAxMToxNDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSB0aW1vdXQgdmFyaWFibGUKCjIwMTMtMDctMzEgMTc6MDg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzbWFsbCBjbGVhbnVwCgoyMDEzLTA3LTMxIDE2OjU5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYmxvY2sgb3V0cHV0IGluIHBhdXNlZCBvciBidWZmZXJpbmcKCjIwMTMtMDctMzEgMTY6NTk6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzdG9yZSBwdHMgaW4gdGltZXIKCSAgT25seSBzdG9yZSB0aGUgcHRzIGluIHRoZSB0aW1lciBzbyB0aGF0IHdlIGNhbiBib3RoIGRvIHRpbWVvdXRzIHdpdGggdGltaW5ncyBvbgoJICB0aGUgaW5wdXQgYW5kIG91dHB1dCBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0wNy0zMCAyMzoxNDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGppdHRlcmJ1ZmZlcgoJICBSZWZhY3RvciB0aGUgaml0dGVyYnVmZmVyIGNvZGUuIE1ha2Ugc2VwYXJhdGUgZnVuY3Rpb24gZm9yIHBlZWtpbmcgYSBidWZmZXIsCgkgIHB1c2hpbmcgdGhlIG5leHQgYnVmZmVyLCB3YWl0aW5nIGZvciB0aW1lb3V0cyBhbmQgaGFuZGxpbmcgdGhlIHRpbWVvdXRzLgoJICBUaGUgbWFpbiBsb29wIG5vdyB0cmllcyB0byBwdXNoIGFzIG1hbnkgYnVmZmVycyBhcyBpdCBjYW4gdW50aWwgaXQgcnVucyBvdXQgb2YKCSAgYnVmZmVycyBvciB3aGVuIGl0IGRldGVjdHMgYSBzZXFudW0gZGlzY29udC4gVGhlbiBpdCB3aWxsIHdhaXQgZm9yIHNvbWUgZXZlbnQgdG8KCSAgaGFwcGVuIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHB1c2ggbW9yZSBidWZmZXJzLgoJICBNYWtlIG1ldGhvZHMgdG8gcmVnaXN0ZXIgdGltZW91dHMgaW4gYW4gYXJyYXkuIFRoZXNlIHRpbWVvdXRzIGFyZSByZWdpc3RlcmVkCgkgIHdoZW4gd2UgZGV0ZWN0IGEgbWlzc2luZyBwYWNrZXQsIHN5bmMgZm9yIHRoZSBmaXJzdCBwYWNrZXQgb3Igd2hlbiB3ZSBmaW5kIGFuCgkgIGVzdGltYXRpb24gZm9yIHRoZSBlbmQtb2Ytc3RyZWFtLgoJICBUaGlzIGdyZWF0bHkgc2ltcGxpZmllcyBhbmQgY2xhcmlmaWVzIHRoZSBjb2RlIGFuZCBhbHNvIG1ha2VzIGl0IHBvc3NpYmxlIHRvCgkgIHJlZ2lzdGVyIG1vcmUgY29tcGxpY2F0ZWQgdGltZW91dCBzY2hlbWVzIGxhdGVyLgoKMjAxMy0wNy0zMCAxODo1Mjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVzZSBOVUxMIHRvIGlnbm9yZSBwZXJjZW50CgkgIElmIHdlIHBhc3MgTlVMTCB0byBwb3AgYW5kIHB1c2ggd2UgaWdub3JlIHRoZSBwZXJjZW50IHJlc3VsdC4KCjIwMTMtMDctMzAgMDc6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvcgoJICBNb3ZlIGVvcyBlc3RpbWF0aW9uIGludG8gc2VwYXJhdGUgZnVuY3Rpb24KCjIwMTMtMDctMzAgMTQ6Mjg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBkb24ndCBsZWFrIHN0cmVhbV9pZCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE0MgoKMjAxMy0wNy0yOSAxOTo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wNy0yOSAxOTo0ODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IHRlc3QgYmluYXJpZXMKCjIwMTMtMDctMjkgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjMgPT09CgoyMDEzLTA3LTI5IDEzOjQyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjMKCjIwMTMtMDctMjkgMTM6NDI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTI5IDEyOjEyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3Q6IERvbid0IHN3YXAgc3RhcnQvc3RvcCBmb3IgbmVnYXRpdmUgcmF0ZXMgaW4gdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MTg6NDAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgZm9yIGRhdGEgc2l6ZSB3aGVuIHBhcnNpbmcgaDI2NCBjb2RlYyBkYXRhIGZyb20gc3RyZiBhdG9tCgoyMDEzLTA3LTI5IDEwOjUzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTA6NTM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDEwOjUwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yNyAxODoxMDoyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFN1cHBvcnQgSDI2NCBmb3VyY2MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk5NgoKMjAxMy0wNy0yOCAxODowOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggaGFuZGxpbmcgb2YgaW1hZ2UgdGFncwoJICBUaGUgY2FwcyBzaG91bGQgYmUgdXNlZCB0byBnZXQgdGhlIG1pbWV0eXBlIGFuZCB0aGVyZSBpcwoJICBvbmx5IGFuIGluZm8gc3RydWN0dXJlIGZvciB0aGUgR3N0U2FtcGxlIGlmIHRoZSBpbWFnZS10eXBlCgkgIGlzIG5vdCBOT05FLgoKMjAxMy0wNy0yOCAxODowNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBEb24ndCBjcmFzaCBpZiB0aGVyZSBpcyBubyBpbWFnZSB0YWcgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAxOAoKMjAxMy0wNy0yOCAxNzozODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGR1cmF0aW9uIHJlcG9ydGluZyBpbiBwdXNoIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDkzMwoKMjAxMy0wNy0yOCAxNzozMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgZm9yZ2V0IHVubWFwcGluZyBhbmQgdW5yZWZmaW5nIGJ1ZmZlcgoKMjAxMy0wNy0yNiAyMTowNjoxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVubWFwIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUxCgoyMDEzLTA3LTI2IDIyOjMxOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBkb24ndCBtYWtlIGJ1ZmZlciB3cml0YWJsZSBwcmVtYXR1cmVseQoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gbWFrZSB0aGUgU1IgYnVmZmVyIHdyaXRhYmxlIGF0IHRoaXMgcG9pbnQuIFRoaXMgaXMgYmV0dGVyCgkgIGRlbGF5ZWQgdW50aWwgbmVlZGVkLgoKMjAxMy0wNy0yNiAyMjoyNTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaWdub3JlIFJUQ1AgZm9yIGluYWN0aXZlIHNvdXJjZXMKCjIwMTMtMDctMjYgMjI6MjU6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHNtYWxsIGNsZWFudXAKCjIwMTMtMDctMjYgMTc6MTc6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNlc3Npb246IGhhbmRsZSBwYXJ0aWFsIFJUQ1AgcmVwb3J0IGJsb2NrcwoJICBXaGVuIHdlIGhhdmUgbW9yZSBTU1JDcyB0byByZXBvcnQgdGhhbiB3aGF0IGZpdCBpbiBhbiBSVENQIHBhY2tldCwgdXNlIGEKCSAgZ2VuZXJhdGlvbiBjb3VudGVyIHRvIG1ha2Ugc3VyZSBhbGwgb2YgdGhlbSBlbmQgdXAgaW4gYSBwYWNrZXQgZXZlbnR1YWxseS4KCjIwMTMtMDctMjYgMTc6MjM6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGNyZWF0ZSBTU1JDIGJlZm9yZSBkb2luZyBzZXNzaW9uIGNsZWFudXAKCSAgTWFrZSB0aGUgaW50ZXJuYWwgc291cmNlIGJlZm9yZSB3ZSBkbyBzZXNzaW9uIGNsZWFudXAKCjIwMTMtMDctMjYgMTc6MjE6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlb3JnYW5pemUgdGhlIHJlcG9ydCBibG9jayBjb2RlCgoyMDEzLTA3LTI2IDE2OjAyOjAxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBjaGVja19zdWJ0aXRsZV9idWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDkyMQoKMjAxMy0wNy0yNiAxNDoyMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVmYWN0b3IgYWN0aXZlIGFuZCBzZW5kZXIgY2hlY2tzCgoyMDEzLTA3LTI2IDEyOjA2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZW1vdmUgaW50ZXJuYWwgc291cmNlcyBvbiB0aW1lb3V0CgkgIFdoZW4gYW4gaW50ZXJuYWwgc291cmNlIHRpbWVzIG91dCBhbmQgYmVjb21lcyBhIHJlY2VpdmVyLCByZW1vdmUgaXQuCgoyMDEzLTA3LTI2IDExOjQ3OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBjcmVhdGUgYW4gaW50ZXJuYWwgc291cmNlIGZvciBSVENQCgkgIFdoZW4gd2UgbmVlZCB0byBkbyBSVENQIGFuZCB3ZSBkb24ndCBoYXZlIGFuIGludGVybmFsIHNvdXJjZSB5ZXQsCgkgIG1ha2Ugb25lLgoKMjAxMy0wNy0yNiAxMDo0NzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc2Vzc2lvbjogcmVtb3ZlIG9sZCBjb2RlIHRvIGNoYW5nZSBTU1JDCgkgIFJlbW92ZSBjb2RlIHVzZWQgdG8gY2hhbmdlIHRoZSBTU1JDIGFmdGVyIGEgY29sbGlzaW9uLiBXZSBub3cgc2VuZAoJICBhIFJFQ09ORklHVVJFIGV2ZW50IHVwc3RyZWFtIHRvIG1ha2UgdGhlIHVwc3RyZWFtIGVsZW1lbnQgY2hhbmdlIHRoZSBTU1JDLgoKMjAxMy0wNy0yNiAxMDo0Mjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzb3VyY2U6IGRvbid0IHVwZGF0ZSBwYWNrZXQgU1NSQwoJICBSZW1vdmUgdGhlIGNvZGUgdG8gdXBkYXRlIHRoZSBTU1JDIGluIHBhY2tldHMsIGl0IGNhbiBuZXZlciBiZSBjYWxsZWQgbm93IHRoYXQKCSAgd2UgYWx3YXlzIHVzZSBhIHNvdXJjZSB3aXRoIG1hdGNoaW5nIHBhY2tldCBTU1JDLgoKMjAxMy0wNy0yNiAxMDoyNDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBkZWxheSBhbGxvY2F0aW9uIG9mIGludGVybmFsIHNvdXJjZQoJICBBbGxvY2F0ZSB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gd2UgcmVjZWl2ZSBhIGNhcHMgd2l0aCB0aGUgU1NSQyBvciB3aGVuIHdlIHNlZQoJICBhIGJ1ZmZlciB3aXRoIHRoZSBTU1JDLgoKMjAxMy0wNy0yNiAxMDowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZW5lcmF0ZSByZWNvbmZpZ3VyZSBvbiBjb2xsaXNpb24KCSAgV2hlbiB3ZSBkZXRlY3QgYSBjb2xsaXNpb24sIGNoYW5nZSB0aGUgU1NSQyB0aGF0IHdlIHN1Z2dlc3QgdXBzdHJlYW0KCSAgYW5kIHRyaWdnZXIgUkVDT05GSUdVUkUuIFRoaXMgc2hvdWxkIG1ha2UgdXBzdHJlYW0gc2VsZWN0IGEgbmV3IFNTUkMuCgoyMDEzLTA3LTI2IDA5OjM3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHByb2R1Y2UgUlRDUCBmb3IgYWxsIGludGVybmFsIHNvdXJjZXMKCSAgTG9vcCBvdmVyIGFsbCB0aGUgaW50ZXJuYWwgc291cmNlcyBhbmQgcHJvZHVjZSBSVENQLiBXZSBhbHNvIG5lZWQKCSAgdG8gcXVldWUgdGhlIFJUQ1AgcGFja2V0cyBhbmQgc2VuZCB0aGVtIHdoZW4gd2UgYXJlIGZpbmlzaGVkLgoKMjAxMy0wNy0yNiAwMTo0MDoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBkZXByZWNhdGUgaW50ZXJuYWwgc291cmNlIGFuZCBzc3JjIHByb3BlcnRpZXMKCSAgRGVwcmVjYXRlIHRoZSBpbnRlcm5hbCBzb3VyY2UgYW5kIGludGVybmFsIHNzcmMgcHJvcGVydGllcy4gVGhlcmUgbWlnaHQKCSAgYmUgbW9yZSB0aGFuIG9uZSBpbnRlcm5hbCBzb3VyY2UuCgoyMDEzLTA3LTI2IDAxOjI5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpbnRlcm5hbCBzb3VyY2VzIGRvbid0IHVzZSBwcm9iYXRpb24KCjIwMTMtMDctMjYgMDE6MjQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2l2ZSBjYXBzIHRvIHNlc3Npb24KCSAgTGV0IHRoZSBzZXNzaW9uIHBhcnNlIHRoZSBjYXBzIGFuZCB1cGRhdGUgaXRzIFNTUkMgd2hlbiBuZWVkZWQuCgoyMDEzLTA3LTI2IDAxOjE0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogbWFrZSBtZXRob2QgdG8gc3VnZ2VzdCBhdmFpbGFibGUgU1NSQwoJICBNYWtlIGEgbWV0aG9kIHRvIHN1Z2dlc3QgdGhlIGJlc3QgYXZhaWxhYmxlIFNTUkMuIFRoaXMgaXMgdGhlIFNTUkMgb2YgdGhlIGxhc3QKCSAgY3JlYXRlZCBpbnRlcm5hbCBzb3VyY2UgYW5kIGlzIHVzZWQgdG8gaW5zdHJ1Y3QgdXBzdHJlYW0gdG8gcHJvZHVjZSB0aGlzCgkgIFNTUkMuCgoyMDEzLTA3LTI2IDAxOjAxOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGtlZXAgU0RFUyBhbmQgc2V0IG9uIG5ldyBpbnRlcm5hbCBzb3VyY2VzCgkgIEtlZXAgdHJhY2sgb2YgdGhlIFNERVMgb3Vyc2VsdmVzIGFuZCBzZXQgaXQgb24gYWxsIG5ld2x5IGNyZWF0ZWQKCSAgaW50ZXJuYWwgc291cmNlcy4KCjIwMTMtMDctMjYgMDA6NDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1ha2UgbWV0aG9kIHRvIG1ha2UgaW50ZXJuYWwgc291cmNlcwoJICBBZGQgYSBtZXRob2QgdG8gb2J0YWluIGFuIGludGVybmFsIHNvdXJjZSBhbmQgdXNlIGl0IHRvIGNyZWF0ZQoJICBvdXIgaW50ZXJuYWwgc291cmNlCgoyMDEzLTA3LTI2IDAwOjI5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBzZXNzaW9uOiBjb3VudCBpbnRlcm5hbCBzb3VyY2VzIGFuZCBob3cgbWFueSBhcmUgc2VuZGVycwoKMjAxMy0wNy0yNiAwMDoxNDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHNlcGFyYXRlIEJZRSBtYXJraW5nIGFuZCBzY2hlZHVsaW5nCgkgIEZpcnN0IG1hcmsgc291cmNlcyB3aXRoIEJZRSBhbmQgdGhlbiBzY2hlZHVsZSB0aGUgQllFIFJUQ1AgbWVzc2FnZS4KCjIwMTMtMDctMjUgMjM6NTY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdldCBTU1JDIGZyb20gUlRDUCBwYWNrZXQgaXRzZWxmCgkgIEdldCB0aGUgU1NSQyBmcm9tIHRoZSBSVENQIHBhY2tldCBpbnN0ZWFkLgoKMjAxMy0wNy0yNSAyMzo1MTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZml4IGJhbmR3aWR0aCBjYWxjdWxhdGlvbgoJICBXZSBpdGVyYXRlIG92ZXIgYWxsIHNvdXJjZXMgYW5kIHRoZSBpbnRlcm5hbCBvbmUgaXMgYWxzbyBpbiB0aGUKCSAgaGFzaHRhYmxlIHNvIGF2b2lkIGFkZGluZyBpdCB0d2ljZS4KCjIwMTMtMDctMjUgMjM6Mzg6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBzb21lIGRvY3MKCjIwMTMtMDctMjUgMjM6MTE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IFJlYXJyYW5nZSBSVENQIHJlcG9ydGluZyBhIGxpdHRsZQoJICBNYWtlIGEgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYW4gUlRDUCBwYWNrZXQgZm9yIGEgc291cmNlLCBwYXNzIHRoZSBzb3VyY2UgYXMgYQoJICBwYXJhbWV0ZXIuCgkgIE1vdmUgdGltZW91dCBvZiBjb2xsaXNpb25zIHRvIHNlc3Npb24gY2xlYW51cCBwaGFzZS4KCjIwMTMtMDctMjUgMjI6Mzk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1vdmUgY2hlY2sgZm9yIGlzX2Vhcmx5IGFyb3VuZAoJICBNb3ZlIHRoZSBjaGVjayBmb3IgdGhlIGVhcmx5IFJUQ1AgdG8gd2hlcmUgaXQgaXMgbmVlZGVkIGFuZCB1c2VkLgoKMjAxMy0wNy0yNSAxNzozNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcGFyc2UgcGFja2V0IG91dHNpZGUgb2YgdGhlIHNlc3Npb24gbG9jawoKMjAxMy0wNy0yNSAxNzozNDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZG8gbmljZXIgY2hlY2tzIGZvciBpbnRlcm5hbCBzb3VyY2VzCgoyMDEzLTA3LTI1IDE3OjE1OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogbGV0IHNvdXJjZSBrZWVwIHRyYWNrIGlmIGl0IHNlbnQgQllFCgoyMDEzLTA3LTI1IDE3OjA2OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogcmVzZXQgbW9yZQoKMjAxMy0wNy0yNSAxNjo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogYWxzbyB1c2UgdGhlIHNvdXJjZSBmb3IgYnllX3JlYXNvbgoJICBTdG9yZSB0aGUgQllFIHJlYXNvbiBpbiBvdXIgaW50ZXJuYWwgc291cmNlIG9iamVjdC4gUmVuYW1lIHRoZSBtZXRob2RzIG9uIHRoZQoJICBzb3VyY2Ugb2JqZWN0IGEgbGl0dGxlIGJlY2F1c2Ugbm93IHRoZSBCWUUgY2FuIGJlIHJlY2VpdmVkIGluIFJUQ1Agb3IKCSAgc2V0IHdoZW4gdGhlIHNlc3Npb24gd2FudHMgdG8gc2VuZCBCWUUuCgoyMDEzLTA3LTI1IDE2OjI0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogY29uZmlndXJlIHNkZXMgd2l0aCBzdHJ1Y3R1cmUgb25seQoJICBSZW1vdmUgY29kZSB0byBjb25maWd1cmUgdGhlIFNERVMgd2l0aCBtZXRob2RzIGFuZCB0eXBlcywgb25seQoJICBhbGxvdyBjb25maWd1cmF0aW9uIHdpdGggR3N0U3RydWN0dXJlCgoyMDEzLTA3LTI1IDE1OjU2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZWZhY3RvciBhZGQgYW5kIGZpbmQgc291cmNlCgkgIE1ha2UgZnVuY3Rpb25zIHRvIGZpbmQgYW5kIGFkZCBhIHNvdXJjZSB0byB0aGUgaGFzaHRhYmxlLgoKMjAxMy0wNy0yNSAxNTo0MzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHJlbW92ZSBzb3VyY2UgZnJvbSBzeW5jX3J0Y3AKCSAgV2UgZG9uJ3QgbmVlZCB0byBrbm93IHRoZSBzZW5kZXIgc291cmNlIG9mIHRoZSBzZXNzaW9uIGluIHRoZQoJICBjYWxsYmFjaywgdGhlIFNSIHBhY2tldCBpcyBmb3IgYWxsIHBhcnRpY2lwYW50cyBpbiB0aGUgc2Vzc2lvbi4KCjIwMTMtMDctMjQgMTQ6MTg6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA3LTE1IDE3OjExOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogYWxsb3cgY29udmVyc2lvbiBmcm9tIEFEVFMgdG8gcmF3IEFBQwoJICBTb21lIG11eGVycyAoZWcsIHF0bXV4KSBvbmx5IHN1cHBvcnQgcmF3IEFBQywgc28gdGhpcyBhbGxvd3MgbGlua2luZwoJICBhbiBlbmNvZGVyIHRoYXQgb3V0cHV0cyBBRFRTIG9ubHkgdG8gdGhvc2UgbXV4ZXJzLgoJICBUaGUgY29udmVyc2lvbiBpcyBzaW1wbGUgKG9taXQgdGhlIGZpcnN0IDcgb3IgOSBieXRlcyBvZiB0aGUgZnJhbWUpLAoJICBidXQgaGFzIHRvIGJlIGRvbmUgaW4gcHJlX3B1c2ggaW5zdGVhZCBvZiBoYW5kbGVfZnJhbWUgYXMgMS4wIGRvZXMKCSAgbm90IHNlZW0gdG8gYWxsb3cgc2tpcHBpbmcgYnl0ZXMgdGhlcmUgYXMgMC4xMCB1c2VkIHRvLgoJICBPdGhlciBjb252ZXJzaW9ucyBhcmUgbm90IHN1cHBvcnRlZCAoeWV0KS4KCjIwMTMtMDctMTUgMTc6MTU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IG9iamVjdF90eXBlIHBhcnNpbmcgb2ZmLWJ5LW9uZSBpbiBBRFRTIGZyYW1lCgkgIEFjY29yZGluZyB0byBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1BRFRTLAoJICB0aGUgdmFsdWUgc3RvcmVkIGluIEFEVFMgaGVhZGVycyBpcyBvbmUgbGVzcyB0aGFuIHRoZSBvYmplY3QKCSAgdHlwZSBvZiB0aGUgQUFDIHN0cmVhbS4KCSAgQSBsb29rIGF0IGZmbXBlZyBzaG93cyBpdCBhbHNvIGFkZHMgMSB0byB0aGUgdmFsdWUgcmVhZCBvZmYKCSAgdGhlIEFEVFMgaGVhZGVyLgoJICBOb3RlIHRoYXQgdGhpcyBtaWdodCBicmVhayBvdGhlciB0aGluZ3MgdGhhdCBoYXBwZW4gdG8gaGF2ZQoJICBhbiBpbnZlcnNlIG9mZiBieSBvbmUgdG8gbWF0Y2ggdGhlIGV4aXN0aW5nIGNvZGUuCgoyMDEzLTA3LTI1IDExOjEzOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggc2VxbnVtIGhhbmRsaW5nIGZvciBzZWVrcwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGZvciBmbHVzaGVzL3NlZ21lbnRzIHRoYXQgYXJlCgkgIGNhdXNlZCBieSB0aGUgc2Vlay4gQWxzbyBkbyB0aGUgc2FtZSBmb3Igc2VnbWVudCBldmVudHMKCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0yNSAwMTozOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VxbnVtIGhhbmRsaW5nIGZvciBzZWVrcwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGZvciBmbHVzaGVzL3NlZ21lbnRzIHRoYXQgYXJlCgkgIGNhdXNlZCBieSB0aGUgc2Vlay4gQWxzbyBkbyB0aGUgc2FtZSBmb3Igc2VnbWVudCBldmVudHMKCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0yNSAwMToxMTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvcnJlY3RseSBoYW5kbGUgc2VxbnVtIGZvciBzZWVrcyBhbmQgc2VnbWVudHMKCSAgVXNlIHRoZSBzYW1lIHNlcW51bSBvbiBtZXNzYWdlcyBhbmQgZXZlbnRzIGZvciBkZXJpdmVkIGV2ZW50cy4KCSAgRml4ZWQgZm9yIGZsdXNoZXMgLyBzdHJlYW0tc3RhcnQgLyBzZWdtZW50IGFmdGVyIGEgc2VlaywgYW5kIHNlZ21lbnQKCSAgYWZ0ZXIgYSBzZWdtZW50LgoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTEyIDIwOjAxOjQyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBhbHdheXMgaWdub3JlIEhFQUQgZXJyb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDEKCjIwMTMtMDctMjUgMTQ6MjY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQ2xlYW4gdXAgcmVzZXQvc3RhcnQvc3RvcCBoYW5kbGluZwoKMjAxMy0wNy0yNSAxNDoxMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IFVzZSBiYXNlIGNsYXNzIGVycm9yIGhhbmRsaW5nIGZ1bmN0aW9uIGluc3RlYWQgb2YgcmVwbGljYXRpbmcgaXQgaGVyZQoKMjAxMy0wNy0yNSAxNDoxMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBDbGVhbiB1cCBoYW5kbGluZyBvZiByZXNldC9zdGFydC9zdG9wCgoyMDEzLTA3LTI1IDEwOjQxOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMS50YWc6CgkqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMi50YWc6CgkqIHRlc3RzL2ZpbGVzL2lkMy00NDcwMDAtd2NvcC50YWc6CgkgIHRlc3RzOiBmaXggdGVzdCBJRDMgdGFncyB1cCBub3QgdG8gcmVseSBvbiBkb2RneSB0eXBlZmluZGluZyBjb2RlCgkgIENoYW5nZSAweGZmIDB4ZmIgJ21wMycgbWFya2VyIHRvICdmTGFDJyBtYXJrZXIsIHNvIHdlIGNhbiBmaXgKCSAgdGhlIHR5cGVmaW5kZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNjgKCjIwMTMtMDctMjUgMDg6MjI6NDUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGludGVyc2VjdCB0aGUgcHJvYmVkIGNhcHMgd2l0aCB0aGUgZmlsdGVyIHBhc3NlZCB0byBnZXRfY2FwcygpCgoyMDEzLTA3LTI0IDE0OjE3OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGJpbjogZml4IGNvbXBpbGF0aW9uCgoyMDEzLTA3LTI0IDEyOjQyOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggVVlWUCBmb3JtYXQKCjIwMTMtMDctMjQgMTI6NDE6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogZml4IFVZVlAgZm9ybWF0CgoyMDEzLTA3LTI0IDEyOjQxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IGZpeCBjYXBzCgoyMDEzLTA3LTI0IDEwOjQ5OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxvY2tpbmcKCSAgVGFrZSB0aGUgbG9jayBlYXJsaWVyIHNvIHRoYXQgd2UgZG8gdGhpbmdzIHRoYXQgZm9sbG93IHdpdGggdGhlIHJpZ2h0CgkgIGxvY2tpbmcuCgoyMDEzLTA3LTIzIDE3OjQwOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCB1c2UgaW52YWxpZCB0aW1lcyBpbiBSVENQIHRpbWVvdXRzCgkgIEFuIGludmFsaWQgdGltZW91dCBjYW4gYmUgY2FsY3VsYXRlZCB3aGVuIHdlIGRpc2FibGVkIFJUQ1AgYnkgc2V0dGluZyB0aGUKCSAgYmFuZHdpZHRoIHRvIDAuIE1ha2Ugc3VyZSBhbGwgY29kZSBjYW4gaGFuZGxlIHRoaXMgY2FzZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDYyNgoKMjAxMy0wNy0yMyAxNzozODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbG9jayBzZXNzaW9uIHdoZW4gY2hhbmdpbmcgYmFuZHdpZHRoCgkgIFRha2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNoYW5naW5nIHRoZSBiYW5kd2lkdGggcHJvcGVydGllcyBzbyB0aGF0IHdlIGRvbid0CgkgIGVuZCB1cCB3aXRoIGluY29uc2lzdGVudCBiZWhhdmlvdXIuCgoyMDEzLTA3LTIzIDE3OjM3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZXNldCBzb21lIFJUQ1AgdmFyaWFibGVzCgkgIFRoZSBlYXJseV9zZW5kIHRpbWUgd2FzIHNldCB0byAwIGFuZCBhbHdheXMgdHJpZ2dlcmluZyBhbiBlYXJseSBSVENQIHBhY2tldC4KCjIwMTMtMDctMjMgMTU6MDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBhbGwgdGhlIG1wZWcgWERDQU0gdmFyaWFudHMKCSAgVGhpcyBzaG91bGQgY292ZXIgYWxsIGtub3duIFhEQ0FNIHZhcmlhbnRzICh3aGljaCBhcmUgYWxsIG1wZWcyIHZpZGVvKQoJICBGaXhlcyAjNjcyMjI3CgoyMDEzLTA3LTAzIDE4OjQxOjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkZWQgY3VzdG9tIGRvd25zdHJlYW0gc3luYyBldmVudAoJICBydHBiaW4gY2FuIG5vdyBzZW5kIGEgY3VzdG9tIGluLWJhbmQgZG93bnN0cmVhbSBldmVudCB3aGljaCBpbmZvcm1zCgkgIGRvd25zdHJlYW0gdGhhdCB0aGUgYmluIGhhcyByZWNlaXZlZCBhbiBSVENQIFNSIHBhY2tldC4gVGhpcyBpcyB1c2VmdWwKCSAgZm9yIGFwcGxpY2F0aW9ucyB3aGljaCB3YW50IHRvIGRyb3AgdGhlIGluaXRpYWwgdW5zeW5jaHJvbml6ZWQgcmVjZWl2ZWQKCSAgUlRQIHBhY2tldHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1NjAKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxMy0wNy0yMiAxODowMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBvbi10aGUtZmx5IGNoYW5naW5nIG9mICJtb2RlIiBhbmQgImZpZWxkcyIgcHJvcGVydGllcwoJICBXZSBjYWxsIHNldGNhcHMoKSB0byByZWNvbmZpZ3VyZSBvdXJzZWx2ZXMsIGJ1dCB3ZSBuZWVkIHRvIHBhc3MKCSAgdGhlIGN1cnJlbnQgKnNpbmsqIGNhcHMsIG5vdCB0aGUgc291cmNlIGNhcHMgdGhlbi4gQWxzbyBmaXggYQoJICBjYXBzIGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE1OTkKCjIwMTMtMDctMjIgMTU6MjM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTE5IDIyOjU5OjE1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlKl9yb3VuZC4KCSAgVGhlcmUgY291bGQgYmUgYSBjYXNlIHdoZXJlOgoJICAxKSB5b3UgZG8gYSBuZXcgc2V0X2NhcHMgYWZ0ZXIgYnVmZmVycyBoYXZlIGJlZW4gcHJvY2Vzc2VkLgoJICAyKSB0c19vZmZzZXQgZ2V0cyBzZXQgdG8gYSBkaWZmZXJlbnQgdmFsdWUsIGVnIDAuMDMzMzMzMzMzCgkgIDMpIHlvdXIgcGFkcyBnZXQgRU9TLCBidXQgdGhlIGNoZWNrIGRvciB0aGF0IGRvZXNuJ3Qgd29yawoJICBiZWNhdXNlIHlvdSB1c2UgdHNfb2Zmc2V0ICsgYSB0cnVuY2F0ZWQgdmFsdWUgPCBzZWdtZW50LnN0b3AKCSAgNCkgc28gaW4gdGhlIG5leHQgY29sbGVjdGVkLCB5b3UgZW5kIHVwIGNvbXBhcmluZyBmb3IgZXhhbXBsZToKCSAgMC45OTk5OTk5OTk5ID4gMS4sIHdoaWNoIGlzIGZhbHNlIGFuZCBtZWFucyB5b3UgZG9uJ3Qgc2VuZCBFT1MuCgkgIEFsc28gYWRkcyBzY2FsZV9yb3VuZCBpbiB0d28gb3RoZXIgcGxhY2VzIHdoZXJlIGl0IHBvdGVudGlhbGx5IGNvdWxkCgkgIGhhdmUgY2F1c2VkIHByb2JsZW1zLgoKMjAxMy0wNy0xNSAxNzo1NToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFkZCBXUkxFIHN1cHBvcnQKCjIwMTMtMDctMTkgMTk6MzU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogbWFrZSBmaWxlcyBmcm9tIFZpdm90ZWsgY2FtZXJhIHBsYXkKCSAgU2tpcCB0cmFja3Mgb2YgJ3Zpdm8nIHN1YnR5cGUgd2l0aCBlbXB0eSBzdHNkIGluc3RlYWQgb2YKCSAgZXJyb3Jpbmcgb3V0IHNheWluZyB0aGF0IHRoZSBmaWxlIGlzIGJyb2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MQoKMjAxMy0wNy0xOSAxNzoxNDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB3aGVuIHN0cmVhbWluZyBkb24ndCB0cnkgdG8gc2VlayB3aGVuIHN0b3BwaW5nCgkgIEl0IG1pZ2h0IGNhdXNlIGVycm9ycyBpbiBzaW5rcyB0aGF0IGFyZSBub3Qgc2Vla2FibGUgYW5kCgkgIGhhdmUgcmVwb3J0ZWQgdGhpcyAobGlrZSBlLmcuIGZkc2luaykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjIyOAoKMjAxMy0wNy0xOSAxNzoyNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSBzb21lIGhlbHBlcnMKCSAgU29tZSBoZWxwZXIgZnVuY3Rpb25zIGFyZSBub3QgbmVlZGVkIGFueW1vcmUgb3IgY2FuIGJlIHNpbXBsaWZpZWQuCgoyMDEzLTA3LTE5IDE3OjEyOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvciBub24tcmF3IHZpZGVvLCBtb3ZlIHBhbGV0dGUgaW4gY2FwcwoJICBXZSBvbmx5IG5lZWQgdG8gYXBwZW5kIHRoZSBwYWxldHRlIHRvIHJhdyB2aWRlbyBidWZmZXJzLCBub24tcmF3IHZpZGVvIGhhcyB0aGUKCSAgcGFsZXR0ZSBpbiB0aGUgY2FwcyBzdGlsbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xOSAwMTo0OToyMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbml0cGlja2luZyBpbiBlc2RzIHBhcnNpbmcKCjIwMTMtMDctMTkgMDE6NDk6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBwcm9wZXIgY2FwcyBmb3IgbXBlZy0xIGF1ZGlvCgkgIFJlbW92ZSBBQUMgc3BlY2lmaWMgZmllbGRzIGZyb20gbXBlZy0xIGF1ZGlvIGNhcHMsIHJlbW92ZSBhc3N1bXB0aW9uCgkgIHRoYXQgdGhlIG1wZWcxIGF1ZGlvIGxheWVyIGlzIDMsIGFuZCBzZXQgYHBhcnNlZCcgZmllbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NDgKCjIwMTMtMDYtMTcgMjE6Mjc6MzcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnB4OiBmaXggY29tcGlsYXRpb24gd2hlbiBlbmNvZGVyIG9yIGRlY29kZXIgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTQ3CgoyMDEzLTA3LTE2IDIwOjQxOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBGaXggdW5pdCBmb3IgR1JBWTE2IGZvcm1hdHMKCjIwMTMtMDctMTYgMjI6MTc6MTcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBjaGFwdGVyIHN0cmVhbQoJICBSZW1vdmUgYWxsIHN0cmVhbXMgdGhhdCBhcmUgYWN0dWFsbHkgdGFibGUgb2YgY29udGVudHMsIHNpbmNlIHdlIHdpbGwKCSAgbmV2ZXIgbmVlZCB0aGUgZGF0YSBhZnRlciBwYXJzaW5nIHRoZW0uCgoyMDEzLTA3LTE2IDIxOjU5OjM3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIGdhcCBldmVudCBmb3Igc3BhcnNlIHN0cmVhbXMgaW4gcHVzaCBtb2RlCgkgIFRoaXMgYWxsb3dzIHRvIHByZS1yb2xsIGF0IGxlYXN0IGlmIHRoZSBuZXh0IHN1YnRpdGxlIGJ1ZmZlcgoJICBpcyBmYXIgYXdheS4KCjIwMTMtMDctMTYgMjE6NTY6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCB1c2UgaW5kZXhlcyBmcm9tIHNwYXJzZSBzdHJlYW0gd2hlbiBzZWVraW5nIGluIHB1c2ggbW9kZQoJICBUaGlzIG1ha2VzIHNlZWtpbmcgbW9yZSBhY2N1cmF0ZSBpbiBwdXNoIG1vZGUsIHNpbmNlIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZSBvbiBhIHNwYXJzZSBzdHJlYW0gbWlnaHQgYmUgZmFyIGF3YXkuCgoyMDEzLTA3LTE2IDIxOjA0OjA3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZHZlcnRpc2Ugc3VidGl0bGUgc3RyZWFtcyBhcyBzcGFyc2UKCjIwMTMtMDctMTcgMTc6MTE6NDQgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hc3Ryb2thZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIFVuc2V0IHRoZSBkaXNjb250IGZsYWcgaW5zdGVhZCBvZiBwb3Nzc2libHkgcHVzaGluZyBhIGJ1ZmZlciB3aXRoCgkgIGEgZmxhZyB0aGF0J3Mgc3RpbGwgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA3LTE3IDE1OjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgdGhlIHBhbGV0dGUgZnJvbSBzdHNkCgkgIFNvbWV0aW1lcyBhIHBhbGV0dGUgaXMgaW5zaWRlIHRoZSBzdHNkLCBleHRyYWN0IGl0IGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nCgkgIHRoZSBkZWZhdWx0IG9uZQoKMjAxMy0wNy0xNyAxNDozMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBGaXggZXZlbnQgaGFuZGxpbmcgYW5kIG5lZ290aWF0ZSBhcyBzb29uIGFzIHBvc3NpYmxlCgoyMDEzLTA3LTE3IDE0OjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEZpeCBldmVudCBoYW5kbGluZyBhbmQgbmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUKCjIwMTMtMDctMTEgMTk6NDU6MTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogd2FybiBhYm91dCB0aGUgZnV0dXJlIGRlcHJlY2F0aW9uIG9mIHRoZSAiZW1iZWQiIHByb3BlcnR5CgoyMDEzLTA3LTE3IDA5OjU2OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBXUkFXCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTcgMDk6NTQ6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFsZXR0ZSBpcyBhcHBlbmRlZCB0byBidWZmZXJzLCBub3QgaW4gY2FwcwoJICBGaXggdGhlIHBhbGV0dGUgaGFuZGxpbmcsIGluIDEuMCB3ZSBhcHBlbmQgdGhlIHBhbGV0dGUgdG8gdGhlIGJ1ZmZlciBpbnN0ZWFkIG9mCgkgIHBsYWNpbmcgaXQgb24gdGhlIGNhcHMuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTYgMTU6Mzc6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHA6IFVzZSBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcl9mYXN0KCkgd2hlcmUgcG9zc2libGUgaW4gUlRQIHBheWxvYWRlcnMKCjIwMTMtMDctMTUgMTY6MjQ6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHNlZ21lbnQgb24gZmx1c2ggc3RvcAoJICBjY2EyZjU1NWQxNCBpbnRyb2R1Y2VzIGEgcmVncmVzc2lvbiwgd2hlcmUgdGhlIGRlbXV4IHNlZ21lbnQgaXMgbm90CgkgIHJlc2V0IG9uIGZsdXNoIHN0b3AsIHNvIHRoZSBuZXh0IHVwc3RyZWFtIHNlZ21lbnQgZXZlbnQgd2lsbCBjYWxjdWxhdGUKCSAgYW4gaW52YWxpZCBiYXNlIHRpbWUgb24gdGhlIG5ldyBzZWdtZW50IHRvIGJlIHNlbnQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI1NQoKMjAxMy0wNy0wNiAxNzoyMDo0OSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogb2Zmc2V0IHNhbXBsZXMgYWNjb3JkaW5nIHRvIGVkaXQgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0CgoyMDEzLTA3LTE0IDEyOjUwOjEzICsxMjAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIGxldmVsOiBGaXggdGhlIHNwZWN0cnVtIGV4YW1wbGUgZm9yIDEuMAoJICBUaGUgIm1lc3NhZ2UiIHByb3BlcnR5IGhhcyBiZWVuIHJlcGxhY2VkIGJ5ICJwb3N0LW1lc3NhZ2VzIi4KCSAgUHJlLXBhdGNoIG91dHB1dDoKCSAgKHRlc3Rfc3BlY3RydW06MjMxMDEpOiBHTGliLUdPYmplY3QtV0FSTklORyAqKjogZ19vYmplY3Rfc2V0X3ZhbGlzdDoKCSAgb2JqZWN0IGNsYXNzIGBHc3RTcGVjdHJ1bScgaGFzIG5vIHByb3BlcnR5IG5hbWVkIGBtZXNzYWdlJwoJICBOZXcgc3BlY3RydW0gbWVzc2FnZSwgZW5kdGltZSAwOjAwOjAwLjEwMDAwMDAwMAoJICAodGVzdF9zcGVjdHJ1bToyMzEwMSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjoKCSAgZ3N0X3ZhbHVlX2xpc3RfZ2V0X3ZhbHVlOiBhc3NlcnRpb24gYEdTVF9WQUxVRV9IT0xEU19MSVNUICh2YWx1ZSknIGZhaWxlZAoJICBbLi4uXQoJICBQb3N0LXBhdGNoOgoJICBOZXcgc3BlY3RydW0gbWVzc2FnZSwgZW5kdGltZSAwOjAwOjAwLjEwMDAwMDAwMAoJICBiYW5kIDAgKGZyZXEgNDAwKTogbWFnbml0dWRlIC02NS45ODg3NzcgZEIgcGhhc2UgMS41MzMzOTcKCSAgYmFuZCAxIChmcmVxIDEyMDApOiBtYWduaXR1ZGUgLTY1LjU0NTU2MyBkQiBwaGFzZSAtMC43ODA5MDAKCSAgYmFuZCAyIChmcmVxIDIwMDApOiBtYWduaXR1ZGUgLTY0Ljc5MTk0NiBkQiBwaGFzZSAtMC43OTk2MTEKCSAgYmFuZCAzIChmcmVxIDI4MDApOiBtYWduaXR1ZGUgLTY0LjU1NjE3NSBkQiBwaGFzZSAtMC4wNjM2MTUKCSAgWy4uLl0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDE3OQoKMjAxMy0wNy0xMyAyMDo1NjoyNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGJlIGxlc3MgdmVyYm9zZSB3aGVuIHBhcnNpbmcgTE9BUyBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQxNjIKCjIwMTMtMDctMTIgMTI6MzE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHNpbms6IGFsYXcvbXVsYXcgY2FwcyBkb24ndCBoYXZlIGEgbGF5b3V0IHByb3BlcnR5CgoyMDEzLTA3LTEyIDEyOjI3OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogcmVsYXggbXVsYXcgYW5kIGFsYXcgZm9ybWF0IGNoZWNrcwoJICBUaGUgYXVkaW8gbGlicmFyeSBjb25zaWRlcnMgdGhlbSBhcyBlbmNvZGVkIGZvcm1hdHMgYW5kIGRvZXMgbm90IGZpbGwgaW4gdGhlCgkgIHNhbXBsZSB3aWR0aC4gVGhlIGF1ZGlvIHJpbmdidWZmZXJzIGlkZW50aWZpZXMgdGhlIGZvcm1hdCBhcyBhbGF3L211bGF3IGFuZCB0aGF0CgkgIGlzIGFsd2F5cyA4IGJpdHMuCgoyMDEzLTA3LTExIDE2OjEzOjA1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiB1bnNlbGVjdCBpbnN0ZWFkIG9mIGlnbm9yaW5nIGRpc2FibGVkIHRyYWNrLCBkZXRlY3QgY2hhcHRlciB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDA3CgoyMDEzLTA3LTExIDIwOjQxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogaWdub3JlIGVycm9ycyBmcm9tIEhFQUQgcmVxdWVzdAoJICBIRUFEIHJlcXVlc3RzIGFyZSB1c2VkIHRvIGNoZWNrIHRoZSBzZXJ2ZXIgaGVhZGVycyB0byBzZWUgaWYgaXQKCSAgc2Vla2FibGUuIElnbm9yZSBlcnJvcnMgZnJvbSB0aG9zZSByZXF1ZXN0cyBhcyB0aGV5IHNob3VsZG4ndCBiZQoJICBjcml0aWNhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDA1MwoKMjAxMy0wNy0xMiAwMzoyNDowOCArMDgwMCAgS3lvc3VrZSBOZWtvbXVyYSA8c3VwZXJjYXRleHBlcnRAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogRml4IGhhbmRsaW5nIG9mIGRlbGF5IHByb3BlcnR5IGluIFBMQVlJTkcvUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM5MDEKCjIwMTMtMDctMDkgMTc6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBFbmFibGUgcHJveHkgY2FwcyBvbiB0aGUgc3JjIHBhZHMKCjIwMTMtMDctMTEgMTY6NTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjIgPT09CgoyMDEzLTA3LTExIDE1OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjIKCjIwMTMtMDctMTEgMTU6NTg6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTA5IDE1OjM0OjA0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmZXIgdGhlIHdpbmRvdyBoYW5kbGUgc2V0dXAgdG8gdGhlIG1haW4gdGhyZWFkCgoyMDEzLTA3LTA5IDE1OjMzOjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gdGhlIG1haW4gaW4gY2FzZSB3ZSBhcmUgbm90IHNldHVwIHlldAoKMjAxMy0wNy0wNyAyMjoxNjowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBjbG9zZSB0aGUgaW50ZXJuYWwgd2luZG93IGNvcnJlY3RseQoKMjAxMy0wNy0wNyAyMToxNDoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG9ubHkgY3JlYXRlIHRoZSBOUyBhcHAgdGhyZWFkIGZvciBDb2NvYSBvbmNlCgkgIFRoZSBoZWxwZXIgdGhyZWFkIGZvciBDb2NvYSwgaW4gY2FzZSBubyBOUyBydW4gbG9vcCBpcyBydW5uaW5nLAoJICBzaG91bGQgYmUgc3RhcnRlZCBvbmx5IG9uY2UgYW5kIHNoYXJlZCBhY3Jvc3MgYWxsIHRoZSBpbnN0YW5jZXMKCSAgcnVubmluZwoKMjAxMy0wNy0wOSAxOToxMDoxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb3JyZWN0IGFyZ3VtZW50IG9yZGVyIGluIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnRfcm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM1MAoKMjAxMy0wNy0wOSAxNzo0Mjo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEtlZXAgY2FwcyBvcmRlciBmcm9tIHRoZSBwZWVyIG9yIHRoZSBmaWx0ZXIKCjIwMTMtMDctMDkgMTI6NDI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBoYW5kbGluZyBvZiBidWZmZXJzIHdpdGhvdXQgYSBkdXJhdGlvbgoJICBXZSdsbCBoYXZlIHRvIHBvcCBidWZmZXIgZnJvbSBjb2xsZWN0cGFkcyBhbmQgc3RvcmUgaXQKCSAgaW50ZXJuYWxseSBvbmx5IHRvIGdldCB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGJ1ZmZlci4KCSAgSWYgd2UgY29udGludWUgdG8ga2VlcCBpdCBpbiBjb2xsZWN0cGFkcywgbm8gbmV3IGJ1ZmZlcgoJICB0byBjYWxjdWxhdGUgdGhlIGVuZCB0aW1lIHdpbGwgZXZlciBhcnJpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NDMKCjIwMTMtMDctMDkgMTE6NTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBuZWdvdGlhdGlvbiB3aXRoIDAvMSBmcmFtZXJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NDMKCjIwMTMtMDctMDkgMTE6MTc6NTkgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVubG9jayBzdHJlYW0gbG9jayBhZnRlciB1c2UKCSAgU3RyZWFtIGxvY2sgb2Ygc2luayBwYWQgd2FzIG5vdCB1bmxvY2tlZCBhZnRlciBub24tdXBkYXRpbmcgc2Vlay4KCjIwMTMtMDYtMjcgMTM6MjY6MzEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IFJlLXNldCBuZWVkX3NlZ21lbnQgZmxhZyBhZnRlciBGTFVTSF9TVE9QCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxODIKCjIwMTMtMDctMDUgMTE6NTE6MDQgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogZG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgYnVmZmVyIG9uIGVycm9yCgkgIElmIHRoZSBwb29sIGlzIHN0b3BwZWQgd2hpbGUgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZHFidWYoKSB3YWl0cyBmb3IgYQoJICBidWZmZXIgdGhlbiB0aGUgcmV0dXJuIHZhbHVlIGlzIEdTVF9GTE9XX0ZMVVNISU5HLiBJbiB0aGlzIGNhc2UgdGhlIGJ1ZmZlcgoJICB0byBxdWV1ZSBtdXN0IGFsc28gYmUgcmVsZWFzZWQuIE90aGVyd2lzZSBpcyB3aWxsIG5ldmVyIGJlIGRlbGV0ZWQgb3IKCSAgcmV0dXJuZWQgdG8gaXRzIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NjQKCjIwMTMtMDctMDggMTQ6MTU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogRmFpbCBwYXlsb2FkaW5nIHVuaXQgdGVzdCBpZiBhbiBlcnJvciBtZXNzYWdlIGlzIHJlY2VpdmVkCgoyMDEzLTA3LTA4IDE0OjA5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBEb24ndCBwYXNzIHVwc3RyZWFtIGZpbHRlciBjYXBzIHRvIGRvd25zdHJlYW0KCSAgRG93bnN0cmVhbSB1c3VhbGx5IGNhbid0IGFjY2VwdCB2aWRlby94LWgyNjMgYnV0IG9ubHkgYXBwbGljYXRpb24veC1ydHAsCgkgIHNvIHdlIHdvdWxkIGFsd2F5cyBnZXQgYW4gZW1wdHkgaW50ZXJzZWN0aW9uIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzIKCjIwMTMtMDctMDUgMjI6MDA6MzcgKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMuaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY4NQoKMjAxMy0wNy0wMiAxMToxMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc29tZSBzdHJkdXAKCjIwMTMtMDctMDIgMTA6Mzc6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzZWxlY3Qtc3RyZWFtIHNpZ25hbAoJICBBZGQgYSBzaWduYWwgdG8gbGV0IHRoZSBhcHAgc2VsZWN0IHdoYXQgc3RyZWFtcyB3aWxsIGJlIHNlbGVjdGVkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDQxOQoKMjAxMy0wNy0wMiAxMDozNzozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc3RyZHVwCgoyMDEzLTA3LTAyIDEwOjEyOjE3ICswMjAwICBKLiBSaWNrIFJhbXN0ZXR0ZXIgPHJpY2sucmFtc3RldHRlckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cDogRml4IGRvY3VtZW50YXRpb24gYW5kIGNvbW1lbnRzIHRvIHVzZSBydHBiaW4gaW5zdGVhZCBvZiBvbGQgZ3N0cnRwYmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0MjYKCjIwMTMtMDctMDEgMTY6NTU6MDEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBleHRyYWN0IGRhdGEgZnJvbSBjYXBzIHR3aWNlCgkgIGdzdF92aWRlb19pbmZvX2Zyb21fY2FwcygpIGFsd2F5cyBleHRyYWN0IHdpZHRoLCBoZWlnaHQsIGludGVybGFjZSBtb2RlIGFuZAoJICBmcmFtZXJhdGUgbm93LiBJdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGRvIGl0IGFnYWluIGZvciBlbmNvZGVkCgkgIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzOTkKCjIwMTMtMDYtMjAgMDk6NDE6NDggLTAzMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWxzbyBjb25zaWRlciBzdG9wIHBvc2l0aW9ucyBpbiBzZWVrcwoJICBVc2Ugc2VlayBzdG9wIHBvc2l0aW9uIGFzIHJhbmdlIGVuZCBmb3IgcmVxdWVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNi0xOSAxNDowNjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsbG93IHNlZWtzIGluIHJlYWR5CgkgIE9uIGlzX3NlZWthYmxlLCBjaGVjayBpZiB0aGUgc2VydmVyJ3MgaGVhZGVycyBoYXZlIGFscmVhZHkgYmVlbgoJICByZWNlaXZlZC4gSWYgbm90LCBkbyBhIEhFQUQgcmVxdWVzdCB0byBnZXQgdGhlbSBiZWZvcmUgcmVzcG9uZGluZwoJICB0byBiYXNlc3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA3LTAxIDE3OjI4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiB0aGUgU0RQCgkgIFRoaXMgd2F5LCB0aGUgYXBwIGNhbiBsb29rIGFuZCBtb2RpZnkgdGhlIFNEUC4KCjIwMTMtMDYtMjEgMTg6MTA6MjggKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBBbGxvdyBuZWdhdGl2ZSBvZmZzZXRzIHRvIHNwZWNpZnkgb2Zmc2V0IGZyb20gYm90dG9tL3JpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MjYKCjIwMTMtMDYtMzAgMjE6MDE6MjAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29tcHV0ZSBmcmFtZXJhdGUgZnJvbSBhdmVyYWdlIHNhbXBsZSBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzUwCgoyMDEzLTA2LTI1IDIxOjE2OjM4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEFkZCBmbHZ2ZXJzaW9uIDEgdG8gdGhlIGZsYXNoLXZpZGVvIGNhcHMKCSAgVGhpcyBhbGxvd3MgdXNpbmcgYXZkZWNfZmx2IHdoaWNoIHJlcXVpcmVzIHRoaXMgZmllbGQgdG8gYmUKCSAgcHJlc2VudCBpbiB0aGUgY2Fwcy4gRkxWIG9ubHkgc3VwcG9ydHMgZmxhc2gtdmlkZW8gdmVyc2lvbiAxCgkgIHJpZ2h0IG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzA3NgoKMjAxMy0wNy0wMSAxMTozNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogRG9uJ3QgaG9sZCBvYmplY3QgbG9jayB3aGlsZSBzZW5kaW5nIGV2ZW50cyBkb3duc3RyZWFtCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxMTQKCjIwMTMtMDctMDEgMTA6NTk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgTVBFRzQgdmlkZW8gcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcwoKMjAxMy0wNy0wMSAxMDo1NjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBBQUMgcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzEyCgoyMDEzLTA2LTI4IDE1OjIxOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgdm9yYmlzcGF5OiBhZGQgc3VwcG9ydCBmb3IgY29uZmlnLWludGVydmFsCgkgIEFsaWduIGNvZGUgd2l0aCB0aGUgdGhlb3JhIHBheWxvYWRlciBhbmQgYWRkIHN1cHBvcnQgZm9yIHRoZSBjb25maWctaW50ZXJ2YWwgdG8KCSAgcGVyaW9kaWNhbGx5IHNlbmQgb3V0IHRoZSBjb25maWcgaGVhZGVycy4KCjIwMTMtMDYtMjggMTU6MjE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA2LTI4IDEyOjA4OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBoYW5kbGUgc3RyZWFtaGVhZGVycyBhcyB3ZWxsCgoyMDEzLTA2LTI4IDEyOjA2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBhbHdheXMgY29sbGVjdCBoZWFkZXJzIG9uIGRhdGEKCSAgV2hlbiB3ZSBzZWUgYSBkYXRhIHBhY2tldCwgYWx3YXlzIGNoZWNrIGlmIHdlIG5lZWQgdG8gY29sbGVjdCBhbnkgcHJldmlvdXMKCSAgaGVhZGVycy4KCjIwMTMtMDYtMjggMTE6NDM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGhhbmRsZSBzdHJlYW1oZWFkZXIgYXMgd2VsbAoJICBUYWtlIGNvbmZpZyBzdHJpbmdzIGZyb20gdGhlIHN0cmVhbWhlYWRlciB3aGVuIHdlIGNhbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MzEyCgoyMDEzLTA2LTI3IDA3OjQwOjI5ICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGRvdWJsZSBidWZmZXIgdW5tYXAgb24gZXJyb3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE3MQoKMjAxMy0wNi0yNyAxNzowMjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQtc3luYyBiZWZvcmUgcGxheQoJICBDYWxsIHJlc2V0LXN5bmMgb24gdGhlIHJ0cGJpbiBiZWZvcmUgd2UgZ28gdG8gcGxheWluZy4gVGhpcyBtYWtlcyB1cyByZXF1aXJlIFNSCgkgIHBhY2tldHMgZm9yIGFsbCBzdHJlYW1zIGFnYWluIGJlZm9yZSB3ZSBhdHRlbXB0IHRvIHN5bmMgdGhlbS4gSWYgd2UgZG9uJ3QgcmVzZXQsCgkgIGl0IG1pZ2h0IGJlIHRoYXQgd2UgY29tYmluZSBTUiBwYWNrZXRzIGZyb20gYmVmb3JlIGFuZCBhZnRlciB0aGUgUEFVU0UvUExBWUlORwoJICBzdGF0ZSBjaGFuZ2UgYW5kIGVuZCB1cCB3aXRoIGh1Z2UgYm9ndXMgb2Zmc2V0cy4KCjIwMTMtMDYtMjcgMTY6MjM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHN5bmMgb24gZmlyc3QgcGFja2V0cwoJICBEb24ndCB0aHJvdyBhd2F5IHRoZSBmaXJzdCBSVENQIHBhY2tldCBpZiBpdCBhcnJpdmVzIGJlZm9yZSB0aGUgZmlyc3QKCSAgUlRQIHBhY2tldCBidXQgcmVtZW1iZXIgYW5kIHVzZSBpdCB0byBzaWduYWwgc3luYyBvbmNlIHdlIGdldCB0aGUKCSAgUlRQIHBhY2tldC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0MDAKCjIwMTMtMDYtMjcgMTY6MTU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvbmx5IHNpZ25hbCBsb29wIHdoZW4gYWN0aXZlCgkgIE9ubHkgc2lnbmFsIHRoZSBsb29wIGZ1bmN0aW9uIHdoZW4gaXQgaXMgYWN0aXZlLgoKMjAxMy0wNi0yNyAxNjoxMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpZ25hbCB0aW1lc3RhbXAgZGlzY29udAoJICBXZSBjYW4gbm93IHVzZSB0aGUgUkVTWU5DIGJ1ZmZlciBmbGFnIHRvIG1hcmsgYSB0aW1lc3RhbXAgZGlzY29udCB3aGVuIHdlIHVwZGF0ZQoJICB0aGUgdHMtb2Zmc2V0IHByb3BlcnR5LgoKMjAxMy0wNi0yNiAyMDo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiB0dXJuIHNvbWUgZXJyb3JzIGludG8gd2FybmluZ3MKCSAgVHVybiBzb21lIGVycm9ycyBpbnRvIHdhcm5pbmdzLCB3ZSBjYW4gY29udGludWUgcHJvY2Vzc2luZyBzbyB0aGlzIHNob3VsZAoJICBub3QgYmUgZmF0YWwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwNzkKCjIwMTMtMDYtMjYgMTQ6NTg6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYXZvaWQgc29tZSBmbHVzaGVzCgoyMDEzLTA2LTI2IDE0OjQxOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgZGF0YSBtZXNzYWdlIHdoZW4gd2FpdGluZyBmb3IgcmVwbHkKCSAgV2hlbiB3ZSBhcmUgd2FpdGluZyBmb3IgYSBzZXJ2ZXIgcmVwbHksIGhhbmRsZSBkYXRhIG1lc3NhZ2VzIGluc3RlYWQgb2YKCSAgaWdub3JpbmcgdGhlbS4KCjIwMTMtMDYtMjYgMTQ6Mjc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBkYXRhIG1lc3NhZ2VzIGluIHNlcGFyYXRlIG1ldGhvZAoJICBSZWZhY3RvciBhbmQgbWFrZSBhIG1ldGhvZCB0byBoYW5kbGUgYSBkYXRhIG1lc3NhZ2UuCgoyMDEzLTA2LTI1IDIwOjM2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRvY3MgdG8gaGFuZGxlLXJlcXVlc3Qgc2lnbmFsCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTEwIDE3OjIwOjMwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBTZW5kIGEgY2xvY2tfcHJvdmlkZSBtZXNzYWdlIG9uIHRoZSBidXMgd2hlbiB3ZSBnZXQgYSBuZXRjbG9jawoKMjAxMy0wNi0xMCAxNzoyMDoxNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBFeHBvc2UgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgoyMDEzLTA2LTI0IDE3OjExOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogYmluZCB0byB0aGUgZ2l2ZW4gaW50ZXJmYWNlCgkgIEFjdHVhbGx5IGNhbGwgQklORFRPREVWSUNFIHRvIGJpbmQgdG8gdGhlIGludGVyZmFjZSBhcyBnaXZlbiBieSB0aGUKCSAgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MTkKCjIwMTMtMDYtMjIgMTA6NTk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRXJyb3Igb3V0IGdyYWNlZnVsbHkgaWYgd2UgZ2V0IGFuIHVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdAoJICBJbiB0aGVvcnkgd2UgY2FuIG9ubHkgZ2V0IEk0MjAgdGhvdWdoLCBqdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuCgoyMDEzLTA2LTIyIDEwOjU3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDk6IEFkZCBzdXBwb3J0IGZvciBZVjEyLCBZNDJCIGFuZCBZNDQ0IGNvbG9yIGZvcm1hdHMKCSAgVGhlIGVuY29kZXIgZG9lcyBub3Qgd29yayB3aXRoIFk0MkIgYW5kIFk0NDQgeWV0IGl0IHNlZW1zLgoKMjAxMy0wNi0yMiAxMDoyNjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBVcGRhdGUgZGVmYXVsdCBwb3N0cHJvYyBzZXR0aW5ncyBmcm9tIHZwOV9keF9pZmFjZS5jCgoyMDEzLTA2LTIxIDEzOjExOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogQWRkIGluaXRpYWwgVlA5IHN1cHBvcnQKCjIwMTMtMDYtMjEgMTM6MDc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSAgdnB4OiBBZGQgaW5pdGlhbCwgZXhwZXJpbWVudGFsIFZQOSBzdXBwb3J0CgoyMDEzLTA2LTIxIDEwOjMyOjMwICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBnbyBiYWNrIGludG8gdGhlIGxvb3AgYWZ0ZXIgZG9pbmcgcGF1c2UKCSAgQWZ0ZXIgd2UgZG8gYSBwYXVzZSByZXF1ZXN0LCBnbyBiYWNrIHRvIGxvb3AgbW9kZSBzbyB0aGF0IHdlIGNhbiBsaXN0ZW4KCSAgZm9yIHNlcnZlciBtZXNzYWdlcyBhZ2Fpbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMjAgMjM6MTY6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFdhaXQgYWZ0ZXIgdGhlIGNhcHMgdG8gZm9yd2FyZCB0aGUgb3RoZXIgZXZlbnRzCgkgIEZpcnN0IGZvcndhcmQgdGhlIHN0cmVhbS1zdGFydCwgdGhlbiB0aGUgY2FwcywgdGhlbiB0aGUgcmVzdAoKMjAxMy0wNi0yMSAwMDo0MjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZHRzIG9uIGJ1ZmZlciBhY3F1aXJlZCBmcm9tIHBvb2wKCSAgV2hlbiBzZXR0aW5nIHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycywgY2xlYXIgdGhlCgkgIGR0cyBleHBsaWNpdGx5LCBvdGhlcndpc2UgaXQgbWF5IGVuZCB1cCBiZWluZyBzZXQgdG8gYQoJICBib2d1cyB2YWx1ZSBmcm9tIGxhc3QgdGltZSBpdCB3YXMgdXNlZC4gQXZvaWRzIGV2ZXJ5CgkgIHNlY29uZCBvciBzbyBidWZmZXIncyBkdHMgYmVpbmcgc2V0IHRvIDAuIE5vdCB0aGF0IGl0CgkgIHNob3VsZCBtYXR0ZXIgZm9yIHJhdyB2aWRlby4KCjIwMTMtMDYtMjAgMTU6MzU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IGRvbid0IHJlZGVmaW5lIHRoZSBQRVJGT1JNQU5DRSBkZWJ1ZyB2YXJpYWJsZQoJICBJdCBpcyBhbHJlYWR5IGRlZmluZWQgaW4gY29yZS4KCSAgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjczMgoKMjAxMy0wNi0yMCAxNDo0Mzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHJhY2UgaW4gc3RhdGUgY2hhbmdlIHRvIHBhdXNlZAoJICBXaGVuIHdlIGdvIHRvIHBhdXNlZCwgd2UgZmlyc3QgZmx1c2ggdGhlIGNvbm5lY3Rpb24gYW5kIHRoZW4gc2VuZCB0aGUgcGF1c2UKCSAgY29tbWFuZC4gQXMgYSByZXN1bHQgb2YgdGhlIGZsdXNoaW5nLCB0aGUgc2NoZWR1bGVkIHBhdXNlZCBjb21tYW5kIGNhbiBnZXQKCSAgbG9zdC4gV2FpdCB1bnRpbCB0aGUgY29ubmVjdGlvbiBpcyBjb21wbGV0ZWx5IGZsdXNoZWQgYW5kIHRoZSBydHNwIHRhc2sgaXMKCSAgd2FpdGluZyBiZWZvcmUgaXNzdWluZyB0aGUgcGF1c2VkIG9yIHBsYXlpbmcgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0yMCAxMTozMToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNi0xOSAxMjozNzozMSArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IE9wdGltaXplIG5lZ290aWF0aW9uIGJ5IHJlbW92aW5nIHRoZSBxdWVyeSBmaWx0ZXIKCSAgQXMgY2FtZXJhcyB0ZW5kIHRvIGhhdmUgYSBxdWl0ZSBzcGVjaWZpYyBzZXQgb2YgY2FwYWJpbGl0aWVzIChzcGVjaWZpYwoJICBmcmFtZXJhdGVzIGZvciBlYWNoIHJlc29sdXRpb24pLCBnZXR0aW5nIHRoZSBwZWVyIGNhcHMgZmlsdGVyZWQgYnkgb3VyCgkgIHByb2JlZCBjYXBzIGNhbiBjYXVzZSBhIGJpZyBpbmNyZWFzZSBpbiB0aGUgY2FwcyBzaXplIHdoaWNoIHNsb3dzIGRvd24KCSAgdGhpbmdzIHF1aXJlIGEgYml0LgoJICBBcyBmb3IgbmVnb3RpYXRpb24gdjRsMiBpdGVyYXRlcyB0aHJvdWdoIHRoZSBjYXBzIG9mIHRoZSBwZWVyIHRvIGZpbmQgdGhlCgkgIGZpcnN0IGludGVyc2VjdGlvbiB3aXRoIHRoZSBwcm9iZWQgY2FwcywgZ2V0dGluZyB0aGUgZnVsbHkgZXhwYW5kZWQKCSAgaW50ZXJzZWN0aW9uIG9mIGNhcGFiaWxpdGllcyBpcyBub3QgdXNlZnVsLgoJICBVc2luZyB0aGUgc2FtZSB0ZXN0Y2FzZSBhcyBmb3IgYnVnICM3MDI2MzIsIGFkZGluZyB0aGlzIHBhdGNoIG9uIHRvcCBvZgoJICB0aGUgcGF0Y2hlcyBzdWdnZXN0ZWQgdGhlcmUgc3BlZWRzIHVwIGdldHRpbmcgdGhlIGluaXRhbCBmcmFtZSBmcm9tCgkgIGFyb3VuZCB+MTQtMTUgc2Vjb25kcyB0byBhcm91bmQgfjMtNCBzZWNvbmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjM4CgoyMDEzLTA2LTE5IDEwOjMwOjU2ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGR1cmF0aW9uIHF1ZXJ5IHJldHVybnMgemVybyBmb3IgRFYgdmlkZW8gaW4gYXZpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MjUKCjIwMTMtMDYtMTkgMTE6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEaXNhYmxlIHVzYWdlIG9mIGFsbG9jYXRpb24gcXVlcmllcwoJICBUaGlzIGNhbiBvbmx5IHJlbGlhYmx5IHdvcmsgaWYgZGVtdXhlcnMgaGF2ZSBhCgkgIHNlcGFyYXRlIHN0cmVhbWluZyB0aHJlYWQgcGVyIHNyY3BhZC4gVGhpcyBzaG91bGQgYmUKCSAgZG9uZSBpbiBhIGRlbXV4ZXIgYmFzZSBjbGFzcywgd2hpY2ggaW50ZWdyYXRlcyBwYXJ0cwoJICBvZiBtdWx0aXF1ZXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE4NTYKCjIwMTMtMDYtMTEgMTU6MDI6MjEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBBdm9pZCBza2lwcGluZyBtb292IGF0b21zIGZvciBmcmFnbWVudGVkIE1QNCBmaWxlcy4KCSAgYnVnICM3MDA1MDUKCSAgRm9sbG93aW5nIGEgcmVwcmVzZW50YXRpb24gY2hhbmdlIHRoYXQgY2F1c2VzIGEgcmVzb2x1dGlvbiBjaGFuZ2UsCgkgIHRoZSB2aWRlbyBkZWNvZGVyIGZhaWxzIHRvIGRlY29kZSBjb3JyZWN0bHkuIERhc2hkZW11eCBkZXRlY3RzIHRoZQoJICByZXByZXNlbnRhdGlvbiBjaGFuZ2UgYW5kIHB1c2hlcyBhIG5ldyBjYXBzIGV2ZW50IGFuZCBhbgoJICBpbml0aWFsaXphdGlvbiBzZWdtZW50IChhIG5ldyBtb292IGF0b20pIHRvIHRoZSBkb3duc3RyZWFtIHF0ZGVtdXgsCgkgIGJ1dCBpdCBkb2Vzbid0IGhhbmRsZSB0aGlzIG5ldyBtb292IHlldCwgaXQgd2lsbCBvbmx5IHBhcnNlIHRoZQoJICBmaXJzdCBvbmUgaXQgcmVjZWl2ZXMuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgcXRkZW11eCB0byBhY2NlcHQgYSBuZXcgbW9vdiBpbiBhIGRhc2ggYml0c3RyZWFtCgkgIHN3aXRjaGluZyBzY2VuYXJpby4KCjIwMTMtMDYtMTkgMDA6NDI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBvbmx5IG9uY2UgZm9yIGVhY2ggc3RyZWFtCgkgIERvIG5vdCBzZW5kIHN0cmVhbSBzdGFydCBhZ2FpbiB3aGVuIHJlY29uZmlndXJpbmcgYSBwYWQgZm9yIG5ldyBjYXBzLgoJICBUaGF0IGlzIGNvbW1vbiBmb3IgYWRhcHRpdmUgc3RyZWFtcwoKMjAxMy0wNi0wNSAxNzowMjo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHN1cHBvcnQgaW4gVk0ncyB3aXRob3V0IGhhcmR3YXJlIGFjY2VsZXJhdGlvbgoKMjAxMy0wNi0xNSAxMjoyOTozMSArMDIwMCAgSmVucyBHZW9yZyA8bWFpbEBqZW5zZ2Uub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBhY2NlcHQgbWlzbGFiZWxsZWQgc3RyZWFtcyBmcm9tIEdTdHJlYW1lciAwLjEwIGFzIHdlbGwKCSAgVGhlIG1wMnQgcGF5bG9hZGVyIGluIDAuMTAgbWlzbGFiZWxsZWQgdGhlIHN0cmVhbXMgYXMgTVAyVC1FUwoJICBpbnN0ZWFkIG9mIE1QMlQsIHNvIGFjY2VwdCB0aGF0IGFzIHdlbGwgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ1NwoKMjAxMy0wNi0xNiAwNTo0MDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFuYWdlIGVsZW1lbnQgc3RhdGUgb3Vyc2VsdmVzCgkgIExvY2sgdGhlIHN0YXRlIG9mIHRoZSBhbGwgb3VyIGVsZW1lbnRzIGFuZCBtYW5hZ2UgdGhlaXIgc3RhdGVzCgkgIG91dHNlbHZlcy4gQmVjYXVzZSB3ZSBhcmUgd29ya2luZyBhc3luYywgd2UgY2FuJ3QgcmVseSBvbiB0aGUgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uIHRvIHNldCB0aGUgc3RhdGUgYXQgdGhlIHJpZ2h0IHRpbWUgb3IgdG8gcmV0dXJuIHRoZQoJICByaWdodCByZXR1cm4gdmFsdWUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDQ2CgoyMDEzLTA2LTE0IDE0OjA5OjUwICswMjAwICBCcnVubyBHb256YWxleiA8c3Rlbnlha0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdW5sb2NrIHN0cmVhbSBsb2NrIHdpdGhvdXQgbG9ja2luZyBpdCBmaXJzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTY3CgoyMDEzLTA2LTEzIDE2OjAwOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFVzZSB0aGUgcmlnaHQgaGFzaHRhYmxlIHRvIGNhbGN1bGF0ZSBiYW5kd2lkdGgKCSAgRG9uJ3QgdXNlIGFuIHVudXNlZCBoYXNodGFibGUgdG8gaXRlcmF0ZSBzb3VyY2UgdG8gY2FsY3VsYXRlIGJhbmR3aWR0aC4KCSAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAxMy0wNi0xMiAxNjoyNzoyNCAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHVsc2VzaW5rOiBSZXF1aXJlIFB1bHNlQXVkaW8gPj0gMi4wCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBwYV9mb3JtYXRfaW5mb19nZXRfcHJvcF8qIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0xMyAxNDoyMzowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBSZXZlcnQgInB1bHNlc2luazogTWFrZSAyLjAgZGVwZW5kZW5jeSBvcHRpb25hbCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMTQ1NzAyN2UwZDM4NGFjYTNlNTUxYWU2ODRlMGFhMDc0ZWU1NDk4LgoJICBXZSdsbCBqdXN0IGRlcGVuZCBvbiBQdWxzZUF1ZGlvIDIuMCBvciBhYm92ZSBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgYnVnCgkgIHBhcnRpYWxseSBmaXhlZCBiYXNlZCBvbiB0aGUgaW5zdGFsbGVkIGxpYnB1bHNlIHZlcnNpb24uCgoyMDEzLTA2LTEzIDEyOjQwOjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogTWFrZSAyLjAgZGVwZW5kZW5jeSBvcHRpb25hbAoJICBUaGUgZ2V0Y2FwcyBmdW5jdGlvbiB3ZSBhZGRlZCB1c2VzIHNvbWUgcGFfZm9ybWF0X2luZm9fZ2V0X3Byb3AuLi4KCSAgYWNjZXNzb3IgZnVuY3Rpb25zIHRoYXQgd2VyZSBvbmx5IGFkZGVkIGluIDIuMCwgc28gd2Ugb25seSBoYXZlIG91cgoJICBnZXRjYXBzIGltcGxlbWVudGF0aW9uIGV4aXN0IGlmIHdlJ3JlIGNvbXBpbGluZyBhZ2FpbnN0IGxpYnB1bHNlIDIuMCBvcgoJICBhYm92ZS4KCSAgRXZlbnR1YWxseSwgd2UgY291bGQgYnVtcCB0aGUgbWluaW11bSByZXF1aXJlbWVudCB0byAyLjAgb3IgYWJvdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMTIgMTg6MjM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIFJldmVydCAidmlkZW9taXhlcjogV2hlbiBhbGwgc2lua3BhZHMgYXJlIGVvcywgdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgYW5kIGZvcndhcmQgaXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmQzOTEwZmM3OTAxYjVmMjllMTZjMGZkZDRlOTA2N2E2ZDdmNjZmZS4KCSAgSXQncyBub3Qgc29sdmluZyBhbnkgcHJvYmxlbSBhbmQgaW5zdGVhZCBjYXVzZXMgY29kZSB0byBmYWxsIGFwYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTE5CgoyMDEzLTAxLTA5IDA5OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1hcmsgc3VidGl0bGUgc3RyZWFtcyBhcyBzcGFyc2UgaW4gc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIEFuZCBhbHNvIG1hcmsgdGhlIHN0cmVhbXMgdGhhdCBzaG91bGQgYmUgc2VsZWN0ZWQgYnkgZGVmYXVsdCBpZgoJICBtYXJrZWQgc28gaW4gdGhlIGhlYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA2NDgKCjIwMTMtMDYtMTEgMjI6MTI6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0Lmg6CgkgIGF1ZGlvcGFub3JhbWE6IGFkZCBwcmVidWlsdCBmaWxlcwoKMjAxMy0wNi0xMSAyMDoyNzo1MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogY2xlYW51cCBhbmQgZXhwYW5kIHRoZSB0ZXN0cwoJICBTcGxpdCBvdXQgdHdvIG1vcmUgdGVzdHMuIEV4dHJhY3QgbW9yZSBjb21tb24gY29kZSBpbnRvIGhlbHBlcnMuIEFkZCBjb3ZlcmFnZSBmb3IgZmxvYXQuCgoyMDEzLTA2LTEwIDIxOjE1OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBjbGVhbnVwIG9mIHRyYW5zZm9ybSgpCgkgIE9ubHkgbWFwIGlucHV0IGlmIHdlIGFyZSByZWFkaW5nIGl0LiBDbGVhbnVwIHRoZSBsb2dnaW5nIGFuZCB0aGUgY29tbWVudHMgYSBiaXQuCgoyMDEzLTA2LTA5IDIwOjM1OjE4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLm9yYzoKCSAgYXVkaW9wYW5vcmFtYTogdXNlIG9yYyB0byBzcGVlZHVwIHByb2Nlc3NpbmcKCSAgVXNlIHNwZWNpYWwgdmFyaWFudHMgZm9yIHRoZSBjYXNlIHdoZW4gd2UgZG9uJ3QgY2hhbmdlIHRoZSBwYW5vcmFtYSAocGFuPTAuMCkuCgkgIFNpbXBsaWZ5IHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBieSBwYXNzaW5nIHRoZSBwYW5vcmFtYSB2YWx1ZSBkaXJlY3R5IGluc3RlYWQKCSAgb2YgdGhlIGluc3RhbmNlLiBVc2Ugb3JjIGZvciBjbGVhcmluZyBidWZmZXJzIHRvby4KCjIwMTMtMDYtMTEgMTk6MjQ6NDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNoZWNrIGxhc3QgZW5kX3RpbWUgYWZ0ZXIgY29udmVyc2lvbiB0byBydW5uaW5nIHNlZ21lbnQKCSAgVGhlIGxhc3QgZW5kX3RpbWUgd2FzIHNhdmVkIGFmdGVyIGNvbnZlcnNpb24sIHNvIHRoZSBjb21wYXJpc29uCgkgIGhhZCB0byBiZSBtYWRlIGFmdGVyIGNvbnZlcnNpb24gZm9yIGl0IHRvIG1ha2Ugc2Vuc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzODUKCjIwMTMtMDYtMTEgMTk6MjI6MjAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGFkZCBtaXgtPnNlZ21lbnQuc3RhcnQgdG8gb3V0cHV0X2VuZF90aW1lCgkgIFdoZW4gdGhlIHNlZ21lbnQgc3RhcnQgaXMgbm90IDAsIHRoaXMgY3JlYXRlZCBhIHNpdHVhdGlvbiB3aGVyZQoJICB0aGUgb3V0cHV0X2VuZF90aW1lIGlzIGluZmVyaW9yIHRvIG91dHB1dF9zdGFydF90aW1lLCBhbmQgdGhlIGR1cmF0aW9uCgkgIG9mIHRoZSBuZXh0IGJ1ZmZlciBlbmRlZCB1cCB1bmRlcmZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzODUKCjIwMTMtMDYtMTEgMTM6NTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZW5kIHN0cmVhbSBoZWFkZXJzIGFmdGVyIHRoZSBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3OTkKCjIwMTMtMDYtMTEgMTI6MjY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBhbGxvY2F0aW9uIHF1ZXJ5IGFmdGVyIGV4cG9zaW5nIGFsbCBwYWRzIGFuZCBuby1tb3JlLXBhZHMKCSAgQWxzbyBjb25maWd1cmUgdmlkZW8gc3RyZWFtcyBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSAgUmVsYXRlZCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxODU2CgkgIGJ1dCBub3QgZml4aW5nIHRoYXQuCgoyMDEzLTA2LTExIDEyOjI1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3J3YXJkIENBUFMgZXZlbnRzIGZyb20gdXBzdHJlYW0KCSAgSnVzdCB1c2UgdGhlIGRlZmF1bHQgcGFkIGV2ZW50IGhhbmRsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NzYKCjIwMTMtMDUtMjYgMDg6MTg6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENhY2hlIHRoZSBnZXRjYXBzL2FjY2VwdGNhcHMgcHJvYmUgc3RyZWFtCgkgIGdldGNhcHMgaXMgY2FsbGVkIGZyZXF1ZW50bHkgZHVyaW5nIHN0cmVhbSBzZXR1cCwgYW5kIGNyZWF0aW5nIGEgbmV3CgkgIHN0cmVhbSBlYWNoIHRpbWUgaXMgdmVyeSBpbmVmZmljaWVudC4gVGhlcmUncyBzb21lIG1vcmUgcm9vbSBmb3IKCSAgb3B0aW1pc2F0aW9uIGJ5IGNhY2hpbmcgdGhlIHF1ZXJpZWQgc2luayBmb3JtYXRzIGFzIHdlbGwsIGJ1dCB0aGlzIG5lZWRzCgkgIHNvbWUgbW9yZSBjaGFuZ2VzIHRvIGxpc3RlbiBmb3IgZm9ybWF0IGNoYW5nZXMgb24gdGhlIHNpbmsgKGZvciB3aGVuCgkgIHN1cHBvcnRlZCBmb3JtYXRzIGNoYW5nZSBiZXR3ZWVuIHByb2JlIHN0cmVhbSBjcmVhdGlvbiBhbmQgc2luawoJICBxdWVyeWluZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDUtMjMgMjE6Mzk6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZXNpbms6IEFkZCBhIGdldGNhcHMgZnVuY3Rpb24KCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGF2ZSBtb3JlIGZpbmUtdHVuZWQgY2FwcyBpbiBSRUFEWSBvciBhYm92ZS4gSG93ZXZlciwKCSAgdGhpcyBpcyBfcmVhbGx5XyBpbmVmZmljaWVudCBzaW5jZSB3ZSBjcmVhdGUgYSBuZXcgc3RyZWFtIGFuZCBxdWVyeSBzaW5rCgkgIGZvciBldmVyeSBnZXRjYXBzIGluIFJFQURZLCB3aGljaCBvbiBhIHNpbXBsZSBnc3QtbGF1bmNoIGxpbmUgaGFwcGVucwoJICBhYm91dCAzNSB0aW1lcy4gVGhlIG5leHQgc3RlcCBpcyB0byBjYWNoZSBnZXRjYXBzIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDUtMTAgMTE6MzI6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRha2UgYSBsb2NrIG9uIHRoZSByaW5nYnVmZmVyIGluIGFjY2VwdGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgYXMgYSBjb25jdXJyZW50IHN0YXRlIGNoYW5nZSBjb3VsZCBwdWxsIHRoZSBjb250ZXh0IG9yCgkgIHN0cmVhbSBvdXQgZnJvbSB1bmRlciBvdXIgZmVldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0wOSAyMDoyOTowOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBhdWRpb3Bhbm9yYW1hOiBtb3ZlIHRoZSBlbnVtIHRvIHRoZSBoZWFkZXIgYW5kIHVzZSBpbnN0ZWFkIG9mIGdpbnQKCSAgTW92ZSB0aGUgZW51bSBmb3IgdGhlIHByb2Nlc3NpbmcgbWV0aG9kIHRvIHRoZSBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZQoJICB0eXBlIGZvciB0aGUgaW5zdGFuY2Ugc3RydWN0LgoKMjAxMy0wNi0wOSAyMDozMjoyMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiByZXdvcmsgdGhlIHRlc3RzIHRvIGNvdmVyIG90aGVyIGZvcm1hdHMgdG9vCgoyMDEzLTA2LTA1IDE2OjMyOjMwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG1ha2Ugc3VyZSB0aGUgZWxlbWVudCBpcyBub3QgZGVsZXRlZCBiZWZvcmUgdGhlIHBvb2wKCSAgVGhlIHBvb2wgYWNjZXNzZXMgZGF0YSBmcm9tIHRoZSB2NGwyb2JqZWN0IHNvIGl0IG11c3QgZXhpc3QgYXQgbGVhc3QKCSAgYXMgbG9uZyBhcyB0aGUgcG9vbC4gUmVmY291bnQgdGhlIGVsZW1lbnQgd2hpY2ggY29udHJvbHMgdGhlIG9iamVjdAoJICBsaXZlLXRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE2NTAKCjIwMTMtMDYtMDcgMTU6Mzg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgcG5nOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0Qnl0ZVJlYWRlciBhbmQgR3N0QWRhcHRlcgoKMjAxMy0wNi0wNyAxNToxNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICB3YXZlbmM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlV3JpdGVyCgoyMDEzLTA2LTA3IDEzOjI2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgaW4gcHVsbCBtb2RlIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTEwIDEyOjA5OjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEdldCByaWQgb2YgYWNjZXB0Y2FwcyBzaWRlLWVmZmVjdHMKCSAgVGhlIHNpbmsgaW5mbyBjYWxsYmFjayBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzIG9uIHRoZSBHc3RQdWxzZVNpbmsKCSAgb2JqZWN0IHNpbmNlIHdlIGFyZSBzb21ldGltZXMgdXNpbmcgd2l0aCBhIGR1bW15IHN0cmVhbSBpbiBhY2NlcHRjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTA1IDE4OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjEgPT09CgoyMDEzLTA2LTA1IDE3OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMQoKMjAxMy0wNi0wNSAxNjozNToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNi0wNSAxNTo1MDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCB0YWdsaXN0IHJlZiBoYW5kbGluZyB0aGF0IG1hZGUgdGhlIHVuaXQgdGVzdCBmYWlsCgoyMDEzLTA2LTA1IDE1OjE0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gMDFhN2E0NgoKMjAxMy0wNi0wMyAwOToxNzo0MyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGl0ZXJhdGUgY29udHJvbHMgd2l0aCBWNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwgaWYgcG9zc2libGUKCSAgSW4gdjIuNi4xOCBjb250cm9sIGNsYXNzZXMgd2hlcmUgYWRkZWQgdG8gdGhlIHY0bDIgQVBJLgoJICBJdGVyYXRpbmcgb3ZlciBDSURzIHN0YXJ0aW5nIHdpdGggVjRMMl9DSURfQkFTRSB3aWxsIG9ubHkgZmluZCBjb250cm9scyBmb3IKCSAgdGhlIGZpcnN0IGNvbnRyb2wgY2xhc3MuCgkgIEJ5IGl0ZXJhdGluZyB3aXRoIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBhbGwgY29udHJvbHMgYXJlIGZvdW5kLgoJICBUaGlzIGlzIG5lY2Vzc2FyeSB0byBtYWtlIGNvbnRyb2xzIGZyb20gb3RoZXIgY29udHJvbCBjbGFzc2VzIGF2YWlsYWJsZSBpbgoJICB0aGUgZXh0cmEtY29udHJvbHMgcHJvcGVydHkuCgkgIElmIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBpcyBub3QgZGVmaW5lZCBhdCBjb21waWxlIHRpbWUgb3Igbm90IHN1cHBvcnRlZAoJICBhdCBydW50aW1lIHRoZW4gdGhlIG9sZCBtZWNoYW5pc20gZm9yIGl0ZXJhdGluZyBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTQwCgoyMDEzLTA2LTA1IDEyOjEyOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGF2b2lkIGxlYWtpbmcgdGhlIGhvc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU4NgoKMjAxMy0wNi0wNCAwODoyNjozMyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogaW1wcm92ZSBwaXhlbCBhc3BlY3QgcmF0aW8gaGFuZGxpbmcKCSAgSW5zdGVhZCBvZiBqdXN0IGFzc3VtaW5nIGEgYXNwZWN0IHJhdGlvIG9mIDEvMSB1c2UgVklESU9DX0NST1BDQVAgdG8gYXNrCgkgIHRoZSBkZXZpY2UuCgkgIFRoaXMgYWxzbyBhZGQgYSBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gb3ZlcndyaXRlIHRoZSB2YWx1ZSBmcm9tIHRoZQoJICBkcml2ZXIgYW5kIGEgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGlnbm9yZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI4NQoKMjAxMy0wNi0wNCAxNzowNDoxMSArMDIwMCAgU3RpcmxpbmcgV2VzdHJ1cCA8c3dlc3RydXBAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBGaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBrZXJuZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1OTUKCjIwMTMtMDYtMDMgMTc6MDc6MTAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2FsbCBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBpbiBwb29sX2ZpbmFsaXplCgkgIFdpdGhvdXQgdGhpcyB0aGUgZm9sbG93aW5nIHNlcXVlbmNlIGZhaWxzOgoJICAtIHNldF9jYXBzKCkKCSAgLSBvYmplY3Rfc3RvcCgpIChkb2VzIG5vdGhpbmcpCgkgIC0gc2V0X2Zvcm1hdCgpIC0+IFZJRElPQ19TX0ZNVAoJICAtIHNldF9jb25maWcoKSAtPiBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gTgoJICAtIHNldF9jYXBzKCkKCSAgLSBvYmplY3Rfc3RvcCgpCgkgIC0gcG9vbF9maW5hbGl6ZSgpCgkgIC0gc2V0X2Zvcm1hdCgpIC0+IFZJRElPQ19TX0ZNVCA9PiBFQlVTWQoJICBVc3VhbGx5IHRoZSBwb29sIGlzIHN0YXJ0ZWQgYWZ0ZXIgc2V0X2NvbmZpZygpLCBpbiB3aGljaCBjYXNlIG9iamVjdF9zdG9wKCkKCSAgd2lsbCByZXN1bHQgaW4gYSBwb29sX3N0b3AgYW5kIHRoZXJlZm9yZSBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBidXQKCSAgdGhhdCBpcyBub3QgZ3VhcmFudGVlZC4KCSAgQWxzbyBjYWxsaW5nIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGluIHBvb2xfZmluYWxpemUoKSBpZiBuZWNlc3NhcnkKCSAgZml4ZXMgdGhpcyBwcm9ibGVtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTQzCgoyMDEzLTA1LTI4IDE5OjE0OjE1ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJld29yayBzaW5rIGJ1ZmZlciByZWZjb3VudGluZwoJICBUaGlzIGlzIGEgZm9sbG93dXAgcGF0Y2ggZm9yICM3MDA3ODEsIHdoaWNoIGlzIG5vdCBxdWl0ZSBjb3JyZWN0LgoJICBUaGUgYnVmZmVyIGhhbmRsaW5nIGlzIHF1aXRlIGNvbXBsaWNhdGVkIGhlcmUuCgkgIFRoZSBvcmlnaW5hbCBjb2RlIGludGVuZGVkIHRvIHRoZSB0aGUgZm9sbG93aW5nOgoJICAtIGdzdF92NGwyX2J1ZmZlcl9wb29sX3Byb2Nlc3MoKSBjYWxscyBRQlVGIGFuZCBhZGRzIHRoZSBidWZmZXIgdG8gdGhlCgkgIGxvY2FsIGxpc3QuCgkgIC0gVGhlIHNpbmsgY2FsbHMgZ3N0X2J1ZmZlcl91bnJlZigpIHdoaWNoIHJldHVybnMgdGhlIGJ1ZmZlciB0byB0aGUgcG9vbAoJICBidXQgbm90IHRoZSAnZnJlZSBsaXN0Jy4KCSAgLSBTb21lIHRpbWUgbGF0ZXIgRFFCVUYgcmV0dXJucyB0aGUgYnVmZmVyIGFuZAoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIHB1dHMgaW4gb24gdGhlICdmcmVlIGxpc3QnLgoJICBJZiB0aGUgYnVmZmVyIG11c3QgYmUgY29waWVkIHRoZW4gKHBhcmVudF9jbGFzcyktPmFjcXVpcmVfYnVmZmVyKCkgaXMKCSAgY2FsbGVkIGRpcmVjdGx5IHRvIGtlZXAgdGhlIGJ1ZmZlciBpbiB0aGUgcG9vbC4KCSAgVGhpcyBoYXMgdHdvIHByb2JsZW1zOgoJICAxLiBJZiBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGJ1ZmZlciBpcwoJICByZXR1cm5lZCB0byB0aGUgcG9vbCwgdGhlbiB0aGUgYnVmZmVyIGlzIHB1dCBvbiB0aGUgJ2ZyZWUgbGlzdCcgdHdpY2UuCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiBhIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGlzIGtlcHQgb3V0c2lkZSB0aGUgc2luaywKCSAgb2YgaWYgRFFCVUYgcmV0dXJucyB0aGUgYnVmZmVyLCB0aGF0IHdhcyBqdXN0IHF1ZXVlZCB3aXRoIFFCVUYuCgkgIDIuIElmIGJ1ZmZlcnMgYXJlIGNvcGllZCwgdGhlbiBhbGwgYnVmZmVycyBhcmUgaW4gdGhlIHBvb2wgYXQgYWxsIHRpbWVzLiBBcwoJICBhIHJlc3VsdCBnc3RfdjRsMl9idWZmZXJfcG9vbF9zdG9wKCkgYW5kIGdzdF92NGwyX2J1ZmZlcl9wb29sX2RxYnVmKCkKCSAgY2FuIGFjY2VzcyBwb29sLT5idWZmZXJzIGF0IHRoZSBzYW1lIHRpbWUsIHdoaWNoIGNhbiBsZWFkIHRvIG1lbW9yeQoJICBjb3JydXB0aW9uLgoJICBUaGUgcGF0Y2ggZm9yICM3MDA3ODEgZml4ZXMgdGhvc2UgcHJvYmxlbXMsIGJ1dCB3aXRoIHRoZSBzaWRlIGVmZmVjdCB0aGF0CgkgIHRoZXJlIGFyZSBhbHdheXMgYnVmZmVycyBvdXRzaWRlIHRoZSBwb29sIChiZWNhdXNlIHRoZXkgYXJlIHF1ZXVlZCkgYW5kCgkgIHRoZSBwb29sIGlzIG5ldmVyIHN0b3BwZWQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSByZWxlYXNpbmcgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyCgkgIGhhbmRsaW5nIGl0ICh0byBhdm9pZCBwcm9ibGVtIDIuKSBzbyBpdCBjYW4gYmUgcmV0dXJuZWQgdG8gdGhlIHBvb2wuCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgaXMgb25seSBjYWxsZWQgaWYgdGhlIGJ1ZmZlciBpcwoJICBhbHJlYWR5IGluIHRoZSBwb29sICh0byBhdm9pZCBwcm9ibGVtIDEuKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM3NQoKMjAxMy0wNi0wMiAxNToyNDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc3VyZSB0YWdsaXN0IGlzIHdyaXRhYmxlIGJlZm9yZSBhZGRpbmcgdGFncwoJICBBdm9pZHMgYXNzZXJ0aW9ucwoKMjAxMy0wNS0zMCAxOToyNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVmZmVjdGl2ZWx5IHNraXAgdHJhY2tzIHRoYXQgd2VyZW4ndCBsaXN0ZWQgb24gdGhlIDFzdCBtb292CgkgIFdpdGhvdXQgdGhpcywgc3RyZWFtIGlzIE5VTEwgYW5kIHRoZSBjb2RlIHdpbGwgdHJ5IHRvIGFjY2VzcyBpdCwgbGVhZGluZwoJICB0byBzZWdmYXVsdHMuCgoyMDEzLTA1LTMwIDE5OjIzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2tpcCByZWR1bmRhbnQgY2hlY2sKCSAgIWdvdF9tb292IGlzIGFscmVhZHkgY2hlY2tlZCB0aGUgbGluZSBhYm92ZQoKMjAxMy0wNi0wMiAxMzowMzo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBjbGVhbnVwIGxldmVsIHRlc3RzCgkgIFNwbGl0IG91dCBhIGZldyBtb3JlIHRlc3RzIHRvIGF2b2lkIGNoZWNraW5nIHRoZSBzYW1lIHN0dWZmIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDEzLTA2LTAxIDIxOjMzOjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTMtMDUtMzEgMTg6MTM6MDIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogYWRkIGEgdGVzdCBmb3IgY29udGlub3VzIHRpbWVzdGFtcHMKCSAgQSB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgbXNnW25dLnRzICsgbXNnW25dLmR1ciA9PSBtc2dbbisxXS50cy4KCjIwMTMtMDQtMTIgMTY6MDI6NDQgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkIHRhZ3MgJiB0b2Mgc3VwcG9ydAoJICBXcml0ZSB0YWdzIGFzIExJU1QgSU5GTyBjaHVuay4gRm9ybWF0IHRoZSB0b2MgYXMgY3VlICsgTElTVCBhZHRsIGNodW5rLiBSZW1vdmUKCSAgb2xkICNpZmRlZidlZCBjb2RlLgoKMjAxMy0wNS0zMSAxNToxMjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXk6IFJlc3RydWN0dXJpbmcgdG8gYWxsb3cgZm9yIGFkZGluZyBvcHRpb25hbCBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYxNjY2ODk4Y2ZlODlhMWIyMWQzZTY4NTBhYjQ0ZjViMTYzM2VkNzkuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgd2hhdCB0aGUgc2V0X3Nwc19wcHMoKSBmdW5jdGlvbiBkb2VzLCBub3QgaXQgZG9lc24ndAoJICBzZXQgY2FwcyBhbnltb3JlIChhbmQgc2hvdWxkIGhhdmUgYmVlbiByZW5hbWVkKS4gVGhlIG1haW4gcHJvYmxlbSBpcyB0aGF0CgkgIG5vdCBhbGwgY2FsbCBzaXRlcyBhcmUgdXBkYXRlZCBhbmQgdGh1cyBsZWFrIHRoZSBzdHJpbmcuCgoyMDEzLTA1LTMxIDE1OjExOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIFJldmVydCAicnRwaDI2NHBheS9kZXBheTogQWRkIGZyYW1lIGRpbWVuc2lvbnMgYSBwYXlsb2FkZWQgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzZGNhNzU2YTVkYmE1NTI2NjI1NmYyMzllM2UxMmEzZDA1OGUxODVhLgoJICBUaGUgSDI2NCBSVFAgc3BlYyBoYXMgbm8gYXR0cmlidXRlcyBmb3Igd2lkdGggYW5kIGhlaWdodC4KCjIwMTMtMDUtMzEgMTU6MDk6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5L2RlcGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDg4MjVlMmE1YzBiZmI4ODNmZjg4ZTJjOWRhNDk5YzgwMGViY2EwYS4KCSAgVGhlcmUgaXMgbm8gZnJhbWVyYXRlIGF0dHJpYnV0ZSBpbiB0aGUgaDI2NCBSVFAgc3BlYy4KCjIwMTMtMDUtMzEgMTU6MDg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgUmV2ZXJ0ICJydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lc2l6ZSBjYXBzIHdpdGggd2lkdGgvaGVpZ2h0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAwNzVkMTExYjQ3NWNhMjc4OTVlZTk0NzYxNTQyNjBiNjkwMjk0MGIuCgkgIEV4dHJhIGFwcGxpY2F0aW9uL3gtcnRwIGFyZSBTRFAgZmllbGRzLCB3aGljaCBhcmUgc3RyaW5ncy4KCjIwMTMtMDUtMzEgMTU6MDU6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgUmV2ZXJ0ICJydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdpdGggZnJhY3Rpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWZkMjVhODEwYjg1OWUwZWMyMDUxNzY1Nzg3MzUxMDBkODNkZTRhZi4KCSAgV2UgZGVhbCB3aXRoIHNkcCBhdHRyaWJ1dGVzIGluIGFwcGxpY2F0aW9uL3NkcCwgd2hpY2ggYXJlIGFsd2F5cyBzdHJpbmdzLgoKMjAxMy0wNS0zMSAxMjozMzoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGV4dHJhIFRMUyB1cmwgcHJvdG9jb2xzCgkgIFdlIGFsc28gc3VwcG9ydCBUTFMgcHJvdG9jb2xzIG5vdy4KCjIwMTMtMDUtMzAgMTQ6NDg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IHRoZSBEVVJBVElPTiBxdWVyeSBmcm9tIGFkZGVyCgkgIEN1cnJlbnRseSB0aGUgY29kZSBqdXN0IHRha2VzIHdpdGggbWF4aW11bSB1cHN0cmVhbSBkdXJhdGlvbiwgd2hpY2gKCSAgaXMgd3JvbmcuIEl0IHNob3VsZCBiZSB0aGUgbWF4aW11bSB1cHN0cmVhbSBkdXJhdGlvbiBpbiBydW5uaW5nIHRpbWUuCgoyMDEzLTA1LTMwIDIxOjIwOjU5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBTZXQgYSByZWZlcmVuY2UgdG8gbWl4LT5jdXJyZW50X2NhcHMgYXMgdGhlIFFVRVJZX0NBUFMgcmVzdWx0LgoKMjAxMy0wNS0zMCAxNzozNzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogbWlzYyBjbGVhbnVwcwoJICBGaXggc29tZSBvdWRhdGVkIGNvbW1lbnRzLiBTb3J0IG91dCBzb21lIGNvbmZ1c2lvbiBvZiBpbnRlcnZhbF9mcmFtZXMgYW5kIG51bV9mcmFtZXMuCgoyMDEzLTA1LTI5IDIwOjM1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogT25seSBjb25kaXRpb25hbGx5IHVzZSBWNEwyX0NUUkxfVFlQRV9JTlRFR0VSX01FTlUsIGl0J3Mgbm90IGF2YWlsYWJsZSBpbiBvbGRlciB2ZXJzaW9ucwoKMjAxMy0wNS0yMCAxNjo0NTozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IGFkZCBhIHByb3BlcnR5IGZvciBhcmJpdHJhcnkgdjRsMiBjb250cm9scwoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHNldCBhbnkgY29udHJvbHMgdGhhdCBjYW4gYmUgc2V0IHdpdGgKCSAgVklESU9DX1NfQ1RSTC4KCSAgVGhlIGNvbnRyb2xzIGFyZSBzZXQgd2hlbiB0aGUgcHJvcGVydHkgaXMgc2V0IChpZiB0aGUgZGV2aWNlIGlzIG9wZW4pCgkgIGFuZCB3aGVuIHRoZSBkZXZpY2UgaXMgb3BlbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODM3CgoyMDEzLTA1LTI4IDE4OjMxOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggZGlzY29udGludWl0aWVzIGluIHRpbWVzdGFtcHMKCjIwMTMtMDUtMjggMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSAgZ2RrcGl4YnVmZGVjOiBLZWVwIHNlcmlhbGl6ZWQgZXZlbnRzIGluIG9yZGVyLCBhbmQgZG9uJ3Qgc2VuZCBTRUdNRU5UIGJlZm9yZSBDQVBTCgoyMDEzLTA1LTI4IDE1OjQ1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIHB1c2ggc3RyZWFtLXN0YXJ0IGluIFRDUCBtb2RlCgoyMDEzLTA1LTI4IDE1OjEwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgc29tZSBvYnNvbGV0ZSBjb2RlCgkgIEl0IGlzIG5vdCBuZWVkZWQgdG8gZG8gYSBzdGF0ZSBjaGFuZ2UgZnJvbSB0aGUgX3BsYXkoKSBmdW5jdGlvbiBvbgoJICBvdXJzZWx2ZXMuIFRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYWxyZWFkeSBkaWQgdGhhdCBhbmQgd2UgZG9uJ3Qgd2FudCB0bwoJICBpbnRlcmZlcmUgd2l0aCB0aGF0IChvciB1c2UgaGFja3MgdG8gYXZvaWQgaW50ZXJmZXJlbmNlKS4KCjIwMTMtMDUtMjggMTI6MjQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBSVENQIGNhcHMgb24gdGhlIFJUQ1AgcGFkcwoKMjAxMy0wNS0yOCAxMjoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2VuZCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzCgkgIEFsc28gc2VuZCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnQgb24gdGhlIFJUQ1AgcGFkLgoJICBXZSBkb24ndCBuZWVkIHRvIHNlbmQgYW55dGhpbmcgb24gdGhlIHN5bmNfc3JjIHBhZCBiZWNhdXNlIHdlCgkgIGFscmVhZHkgZm9yd2FyZGVkIGFsbCBpbmNvbW1pbmcgZXZlbnRzLgoKMjAxMy0wNC0yNSAxNToyNTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNpZ25hbCB0byBoYW5kbGUgc2VydmVyIHJlcXVlc3RzCgkgIEFkZCBhIHNpZ25hbCB0byBiZSBub3RpZmllZCBvZiBhIHNlcnZlciByZXF1ZXN0LiBUaGUgc2lnbmFsIGhhbmRsZXIgY2FuIHRoZW4KCSAgY29uc3RydWN0IHRoZSByZXNwb25zZSBtZXNzYWdlIGZvciB0aGUgc2VydmVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIwNwoKMjAxMy0wNS0yNyAyMjo0MzoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBNYWludGFpbiB6LW9yZGVyIHdoZW4gbmV3IHBhZCBhcmUgYWRkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTEwOQoKMjAxMy0wMy0wNiAxMzoxNzo1NCArMDAwMCAgVG9tIEdyZWVud29vZCA8dGNkZ3JlZW53b29kQGhvdG1haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgcHJvcGVydHkgdG8gbWFudWFsbHkgc3BlY2lmeSB0aGUgdGltZWJhc2Ugb2YgdGhlIGVuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcwOQoKMjAxMy0wNS0yNSAxMjoxNzo0MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWx3YXlzIGhhbmRsZSBmbHVzaF9zdG9wX3BlbmRpbmcgYXRvbWljYWxseQoJICBJdCBpcyBub3QgcHJvdGVjdGVkIHdpdGggdGhlIENPTExFQ1RfUEFEU19TVFJFQU1fTE9DSyBhbnltb3JlCgoyMDEzLTA1LTIzIDE4OjE0OjE3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB0ZXN0czogdmlkZW9taXhlcjogQWRkIGEgdGVzdHN1aXRlIGZvciB2aWRlb21peGVyCgkgIFRoaXMgaXMgbW9zdGx5IGNvcHkgcGFzdGVkIGZyb20gLWJhc2UvdGVzdHMvY2hlY2svZWxlbWVudHMvYWRkZXIuYwoKMjAxMy0wNS0yNSAxMDo1NzowMiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG8gbm90IHRha2UgQ09MTEVDVF9QQURTX1NUUkVBTV9MT0NLIHdoZW4gdW5uZWNlc3NhcnkKCSAgQ29sbGVjdHBhZCB0YWtlcyB0aGUgbG9jayBpdHNlbGYgd2hlbiByZWNlaXZpbmcgc2VyaWFsaXplZCBldmVudHMKCSAgYW5kIHdlIHNob3VsZCBub3QgdGFrZSBpdCBmb3Igbm90IHNlcmlhbGl6ZWQgb25lcwoKMjAxMy0wNS0yNCAxOTozNDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBQcm9wZXJseSBza2lwIG5vbi1mcmFtZSBjaHVua3MKCjIwMTMtMDUtMjQgMTk6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogRmx1c2ggZGF0YSBmcm9tIGFkYXB0ZXIgYWZ0ZXIgcmVhZGluZyBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgaW4gYW4gaW5maW5pdGUgbG9vcCwgcmVhZGluZyB0aGUgc2FtZSBkYXRhCgkgIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDEzLTA0LTI0IDE1OjM5OjU0ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBtb3JlIGR1cGxpY2F0ZWQgc3ltYm9scwoKMjAxMy0wNS0yMiAwMjo0MDo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXJhdGUgY2FwcyBmaWVsZCB3aXRoIGZyYWN0aW9uCgkgIFRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBoYWQgdGhlIGZvcm1hdHRpbmcgb2YgU0RQIGF0dHJpYnV0ZXMgaGFwcGVuCgkgIGluIGVhY2ggUlRQIHBheWxvYWRlciwgbm93IGluc3RlYWQgdGhlIGNvbnN0aXR1ZW50IHZhbHVlcyBhcmUgcHJvcGFnYXRlZAoJICBhcyBjYXBzIGZpZWxkcy4gVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBkbyBTRFAgb2ZmZXIvYW5zd2VyCgkgIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjIgMDE6NTg6NTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVzaXplIGNhcHMgd2l0aCB3aWR0aC9oZWlnaHQKCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGhhZCB0aGUgZm9ybWF0dGluZyBvZiBTRFAgYXR0cmlidXRlcyBoYXBwZW4KCSAgaW4gZWFjaCBSVFAgcGF5bG9hZGVyLCBub3cgaW5zdGVhZCB0aGUgY29uc3RpdHVlbnQgdmFsdWVzIGFyZSBwcm9wYWdhdGVkCgkgIGFzIGNhcHMgZmllbGRzLiBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGRvIFNEUCBvZmZlci9hbnN3ZXIKCSAgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgS2VlcCBwYXJzaW5nIGEtZnJhbWVyYXRlLCB4LWZyYW1lcmF0ZSBhbmQgeC1kaW1lbnNpb25zIGluIHJ0cGpwZWdkZXBheQoJICB0byBiZSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHByZXZpb3VzIHBheWxvYWRlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjIgMDM6MTg6MDcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGZvcm1hdCBTRFAgYXR0cmlidXRlcyBhbmQgc3RpbGwgZG8gU0RQCgkgIG9mZmVyL2Fuc3dlciBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ5CgoyMDEzLTA1LTIyIDAzOjA5OjQ0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5L2RlcGF5OiBBZGQgZnJhbWUgZGltZW5zaW9ucyBhIHBheWxvYWRlZCBjYXBzCgkgIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZm9ybWF0IFNEUCBhdHRyaWJ1dGVzIGFuZCBzdGlsbCBkbyBTRFAKCSAgb2ZmZXIvYW5zd2VyIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjAgMjI6MTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IFJlc3RydWN0dXJpbmcgdG8gYWxsb3cgZm9yIGFkZGluZyBvcHRpb25hbCBjYXBzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjMgMTg6NDI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKGR5bnxtdWx0aSl1ZHBzaW5rOiBBZGQgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBiaW5kIGFkZHJlc3MgYW5kIHBvcnQKCSAgQnkgZGVmYXVsdCB3ZSB1c2UgdGhlIGFueSBhZGRyZXNzZXMgYW5kIGEgcmFuZG9tIHBvcnQgZm9yIGJpbmRpbmcgdGhlIHNvY2tldC4KCjIwMTMtMDUtMjMgMTg6MDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAoZHlufG11bHRpKXVkcHNpbms6IEJpbmQgc29ja2V0IGJlZm9yZSB1c2luZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODc4CgoyMDEzLTA1LTIzIDE3OjI1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAobXVsdGkpdWRwc2luazogQWRkIG1pc3NpbmcgZ2V0dGVycyBmb3Igc29ja2V0LXY2IGFuZCB1c2VkLXNvY2tldC12NiBwcm9wZXJ0aWVzCgoyMDEzLTA1LTIyIDIxOjAxOjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGhvbGQgc3RyZWFtLWxvY2sgd2hpbGUgcHVzaGluZyBub24tc2VyaWFsaXplZCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg2OAoKMjAxMy0wNS0yMiAyMTowMDo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxlIHNlbmRpbmcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NjgKCjIwMTMtMDUtMjIgMTc6MzI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogVGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3NldF9jYXBzKCkgaXMgbm90IHJlbGV2YW50IGFueW1vcmUKCSAgQ2FwcyBjYW4gZmFpbCB0byBiZSBzZXQgYmVjYXVzZSB0aGUgcGFkIGlzIG5vdCBsaW5rZWQgeWV0IGZvciBleGFtcGxlLgoKMjAxMy0wNS0xNSAxNjozOTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGVycm9yIGlmIGZpbGUgaGFzIHBsYXlyZWFkeSBkcm0KCjIwMTMtMDUtMTggMTU6MDY6NDkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgYSByZWNvbmZpZ3VyZSBldmVudCB1cHN0cmVhbSBpZiBzaW5rcGFkIGNhcHMgYXJlIG5vdCB1c2FibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0yMSAxMjowMjo1MSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBrZWVwIGEgcmVmZXJlbmNlIHRvIGFsbCBxdWV1ZWQgYnVmZmVycwoJICBXaXRob3V0IHRoaXMsIGEgcXVldWVkIGJ1ZmZlciBtYXkgYmUgcmVxdWlyZWQsIGZpbGxlZCBhbmQgcXVldWVkIGJlZm9yZSBpdAoJICBpcyBkZXF1ZXVlZC4KCSAgQ2FsbGluZyBnc3RfYnVmZmVyX3Bvb2xfYWNxdWlyZV9idWZmZXIoKSBlbnN1cmVzIHRoYXQgdGhlIGJ1ZmZlciBpcyBzZXQgdXAKCSAgY29ycmVjdGx5IGFuZCBnc3RfYnVmZmVyX3VucmVmKCkgY2FsbHMgYnVmZmVyX3JlbGVhc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc4MQoKMjAxMy0wNS0yMSAxMzozMzo1OSArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IEhhbmRsZSBOVUxMIGJ1ZmZlcnMgaW4gaGFuZGxlX2ZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4OTQKCjIwMTMtMDUtMjAgMjE6NDQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IEFkZCBmcmFtZXNpemUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGUgZm9ybWF0IG9mIHRoZSB2YWx1ZSBhZGhlcmVzIHRvIFJGQzYwNjQgYW5kIGl0IGlzIG1lYW50IHRvIGJlIHBhcnNlZAoJICBhbmQgaW5jbHVkZWQgaW4gdGhlIFNEUCBzZW50IGJ5IGdzdC1ydHNwLXNlcnZlciB0byBpdHMgY2xpZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMCAyMTozNDoxMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoZSBmb3JtYXQgb2YgdGhlIHZhbHVlIGFkaGVyZXMgdG8gUkZDNDU2NiBhbmQgaXQgaXMgbWVhbnQgdG8gYmUgcGFyc2VkCgkgIGFuZCBpbmNsdWRlZCBpbiB0aGUgU0RQIHNlbnQgYnkgZ3N0LXJ0c3Atc2VydmVyIHRvIGl0cyBjbGllbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIwIDE5OjU5OjEzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBXaGVuIGFsbCBzaW5rcGFkcyBhcmUgZW9zLCB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCBhbmQgZm9yd2FyZCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTIwIDE5OjUxOjA3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCByZXNldCB0aGUgb3V0cHV0IHNlZ21lbnQgb24gZmx1c2ggc3RvcAoJICBPbmx5IGluaXQgaXQgd2hlbiBnZXR0aW5nIGZyb20gUkVBRFkgdG8gUEFVU0VELCBhbmQgY2hhbmdlIGl0IG9uIHNlZWsgZXZlbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTE3IDEwOjE2OjQ4ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IERvbid0IHN0b3Agc3RyZWFtaW5nIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkIHdpdGggdW5jaGFuZ2VkIGNhcHMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIG90aGVyIHBhcnRzIG9mIHRoZSBwaXBlbGluZSBhcmUgcmVjb25maWd1cmVkLgoJICBTdG9wIHN0cmVhbWluZyBldmVuIGZvciBhIHNob3J0IGFtb3VudCBvZiB0aW1lIGNhbiBiZSBxdWl0ZSB2aXNpYmxlLCBzbyBpdAoJICBzaG91bGQgYmUgYXZvaWRlZCBpZiBwb3NzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUwMwoKMjAxMy0wNS0xOCAxNTozOTozNiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IFJlLWVuYWJsZSB2aWRlb21peGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0xOCAxNDozNjozOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogU2VuZCBjYXBzIGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgVGhpcyB3YXkgd2UgYXZvaWQgcmFjZXMgaW4gY2FwcyBuZWdvdGlhdGlvbiBhbmQgd2UgbWFrZSBzdXJlCgkgIHRoYXQgdGhlIGNhcHMgYXJlIHNlbnQgYWZ0ZXIgc3RyZWFtLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTA1IDIwOjI1OjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3Qgc2VuZCBmbHVzaF9zdG9wIHdoZW4gcmVjZWl2aW5nIGEgc2VlawoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gc2VuZCBhIGZsdXNoLXN0b3Agd2hlbiByZWNlaXZpbmcgYSBzZWVrIGV2ZW50LgoJICBJbiB0aGUgY2FzZSBvZiBhIGZsdXNoaW5nIHNlZWssIHdlIGNvdWxkIGV2ZW50dWFsbHkgd2FudCB0bywgYnV0IGluCgkgIHRoZSBjb2RlIHBhdGggd2VyZSB3ZSBjaGVjayBpZiB0aGUgc2VlayBpcyAiZmx1c2hpbmciLCB3ZSBoYXZlIHRoZQoJICBmb2xsb3dpbmcgY29tbWVudCB0aGF0IG1ha2VzIHNlbnNlOgoJICAid2UgY2FuJ3Qgc2VuZCBGTFVTSF9TVE9QIGhlcmUgc2luY2UgdXBzdHJlYW0gY291bGQgc3RhcnQgcHVzaGluZyBkYXRhCgkgIGFmdGVyIHdlIHVubG9jayBtaXgtPmNvbGxlY3QuCgkgIFdlIHNldCBmbHVzaF9zdG9wX3BlbmRpbmcgdG8gVFJVRSBpbnN0ZWFkIGFuZCBzZW5kIEZMVVNIX1NUT1AgYWZ0ZXIKCSAgZm9yd2FyZGluZyB0aGUgc2VlayB1cHN0cmVhbSBvciBmcm9tIGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCwKCSAgd2hpY2hldmVyIGhhcHBlbnMgZmlyc3QuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTA1IDIwOjI0OjQ5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogUHJvdGVjdCBmbHVzaF9zdG9wX3BlbmRpbmcgd2l0aCB0aGUgY29sbGVjdHBhZCBzdHJlYW0gbG9jawoJICBBbmQgbWFrZSBzdXJlIHRvIGV4cGVjdCBhIGZsdXNoLXN0b3AgYWZ0ZXIgYSBmbHVzaC1zdGFydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTE3IDEyOjM3OjU5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiBjbGVhciBjb25maWcgYnVmZmVyIGJlZm9yZSB1c2luZyBpdAoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHBhcnRzIG9mIHRoZSBtZW1vcnkgYXJlIG9ubHkgbW9kaWZpZWQgd2l0aCAifD0iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MTQKCjIwMTMtMDUtMTQgMTc6MzA6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgZXhwZWN0IEVPUyBhZnRlciBhIHNlZ21lbnQgZXZlbnQgaWYgdXBzdHJlYW0gaXMgbXNzCgkgIEluIGNhc2UgcXRkZW11eCBpcyBoYW5kbGluZyBhIG1zcyBzdHJlYW0sIGRvIG5vdCBtYXJrIHRoZSBzdHJlYW0gdG8gd2FpdAoJICBmb3IgRU9TIGFmdGVyIGEgc2VnbWVudC4gRXZlbiBpZiBpdCBzZWVtcyB0byBiZSB0aGUgbGFzdCBvbmUgYWNjb3JkaW5nIHRvCgkgIHRoZSBjdXJyZW50IHN0cmVhbXMgaW5mb3JtYXRpb24uCgkgIE1TUyBoYW5kbGluZyBpcyBkaWZmZXJlbnQgaGVyZSBiZWNhdXNlIHRoZXJlIGlzIGFub3RoZXIgZGVtdXhlciBkcml2aW5nCgkgIHRoZSBwaXBlbGluZQoKMjAxMy0wNS0xNCAxNjozMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgc2V0IGNoYW5uZWxzIGFuZCByYXRlIGlmIHF0ZGVtdXgga25vd3MgaXQKCSAgU2V0dGluZyBib3RoIG9mIHRob3NlIHRvIDAgaXMgcG9pbnRsZXNzIGFuZCBtZWFucyB0aGF0IHF0ZGVtdXgKCSAgZG9lc24ndCBrbm93IHRoZSByZWFsIHZhbHVlLiBBdm9pZCBzZXR0aW5nIGl0IGluIHRoaXMgY2FzZS4KCjIwMTMtMDUtMTQgMTU6MjM6MDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBhbGFjIGNhcHMgdXNpbmcgaW5mbyBmcm9tIGNvZGVjIGJ1ZmZlcgoJICBUaGUgc2FtcGxlcmF0ZSBmaWVsZCBpbiB0aGUgU1RTRCBhdG9tIGlzIG5vdCByaWdodCBmb3Igc29tZSBBTEFDIGZpbGVzCgkgICh1c3VhbGx5IHdoZW4gYXVkaW8gaXMgOTZrSHovMjRiaXRzKSwgc28gdGhlIGF1ZGlvIGNhcHMgbXVzdCBiZQoJICBleHRyYWN0ZWQgZnJvbSB0aGUgY29kZWMgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDM4MgoKMjAxMy0wNS0xNSAxMToxMzoxMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA1LTE1IDEwOjUxOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWVkY2Q4NSB0byAwOThjMGQ3CgoyMDEzLTA1LTE0IDEwOjI4OjEwIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBBZGQgc3VwcG9ydCBmb3IgR1JBWTE2X0xFL0dSQVkxNl9CRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzMxCgoyMDEzLTA1LTE0IDE3OjI5OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBTZW5kIGFsbCBldmVudHMgdGhyb3VnaCB0aGUgcHJveHlwYWRzIGluc3RlYWQgb2YganVzdCBzZW5kaW5nIHRvIHRoZSB0YXJnZXQKCSAgT3RoZXJ3aXNlIHRoZSBzdGlja3kgZXZlbnRzIGFyZSBtaXNzaW5nIG9uIHRoZSBwcm94eXBhZHMuCgoyMDEzLTA1LTE0IDE3OjI5OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjozNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgcmdsaW1pdGVyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0cwoKMjAxMy0wNS0xNCAxNjozMTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MDg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxMzo1ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhdzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxMzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogTWFrZSBzdXJlIHRvIHNlbmQgYSBzZWdtZW50IGV2ZW50IGJlZm9yZSBkYXRhZmxvdwoKMjAxMy0wNS0xNCAxMDo1MjoxOSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG9ubHkgYWRkIGludGVybGFjZS1tb2RlIHRvIHRoZSBjYXBzIGZvciByYXcgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjgwCgoyMDEzLTA1LTE0IDEyOjAzOjAzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogY29weSBhbmQgc2V0IHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgY29udGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjgyCgoyMDEzLTA1LTE0IDEwOjI1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAwOTo0NToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgaGFuZGxpbmcgb2YgbWluL21heCBidWZmZXIgbnVtYmVycyBvZiB0aGUgYnVmZmVyIHBvb2wKCjIwMTMtMDUtMTQgMDM6NDI6NTkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNldCBjYXBzIGZvciBidWZmZXIgcG9vbCBjb25maWcKCjIwMTMtMDUtMTMgMTM6MzA6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogTGV0IHRoZSBiYXNlIGNsYXNzIGRvIGdldF90aW1lcwoJICBUaGlzIHdpbGwgbWFrZSBzeW5jPVRSVUUgd29yaywgdGhlIGRlZmF1bHQgaXMgc3RpbGwgc3luYz1GQUxTRQoKMjAxMy0wNS0xMSAyMzowODoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGV2ZW50CgoyMDEzLTA1LTExIDIzOjI0OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMKCjIwMTMtMDUtMTEgMjM6Mjg6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlci10ZXN0OiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcyBmb2xsb3dlZCBieSBzZWdtZW50CgoyMDEzLTA1LTExIDIzOjM0OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW4tdGVzdDogU2VuZCBtaXNzaW5nIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMKCjIwMTMtMDUtMTMgMTU6MzY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgdGVzdHM6IEZpeCBzb21lIG1vcmUgZXZlbnQgaGFuZGxpbmcgaW4gdGVzdHMKCjIwMTMtMDUtMTMgMTU6MTk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTMgMTU6MTk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA1LTEzIDE1OjA2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHVzaCBzdGlja3kgZXZlbnRzIGluIHRoZSByaWdodCBvcmRlcgoKMjAxMy0wNS0xMyAxNDo1NToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdGVzdAoKMjAxMy0wNS0xMyAxNDowNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA1LTEzIDEzOjU1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IENvZGUgc3R5bGUgZml4ZXMKCjIwMTMtMDUtMTMgMTA6NDM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBGaXJzdCBsZXQgYmFzZWNsYXNzIGhhbmRsZSBldmVudHMsIHRoZW4gcHV0IHRoZW0gaW50byB0aGUgc3RyZWFtCgkgIEZpeGVzIGhhbmRsaW5nIG9mIHN0aWNreSBldmVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyMTMKCjIwMTMtMDUtMDkgMjI6MDU6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODozMjoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgc3BlY3RydW0tdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjU6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjIzOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjIxOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgeTRtZW5jLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTEwIDE0OjAwOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lCgkgIE5lZWQganBlZ3BhcnNlLgoKMjAxMy0wNS0xMCAxMzozNDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIHRlc3RzOiBGaXggc29tZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTMtMDUtMTAgMTM6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBGaXggcGFyc2VyIHRlc3RzCgoyMDEzLTA1LTA5IDIyOjIwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQ2FuJ3QgbWFwIHR3aWNlIHRoZSBzYW1lIGJ1ZmZlciBmb3Igd3JpdGluZwoJICBJIHRvb2sgdGhlIG9wcG9ydHVuaXR5IHRvIHNpbXBsaWZ5IHRoYXQgY29kZSBhIGJpdC4gV2Ugbm93IHVzZQoJICBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSB0byBtYWtlIHRoZSBidWZmZXIgd3JpdGFibGUgYW5kIG1hcCB0d2ljZSB0aGUKCSAgc2FtZSBidWZmZXIsIHdpdGggZmlyc3QgbWFwIGJlaW5nIHJlYWQvd3JpdGUsIGFuZCBzZWNvbmQgcmVhZCBvbmx5LiBUaGlzCgkgIGdldCByaWQgb2YgdGhlIGNyaXRpY2FsOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9zdHJ1Y3R1cmVfc2V0X25hbWU6IGFzc2VydGlvbiBgSVNfTVVUQUJMRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDIyOjE1OjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRW5zdXJlIGNhcHMgYXJlIHdyaXRhYmxlCgkgIFRoZSBleGlzdCBvbmUgY2FzZSB3aGVyZSB0aGF0IHdlIGVuZHVwIHdpdGggb3JpZ2luYWwgY2FwcyBpbiByZXQsIGluIHdoaWNoCgkgIGNhc2Ugd2UgYXJlIG5vdCBndWFyYXRpZWQgdG8gaGF2ZSB3cml0YWJsZSBjYXBzLiBTaW1wbHkgZW5zdXJlIHRoaXMgaXMgdGhlCgkgIGNhcHMgYXJlIHdyaXRhYmxlIGJlZm9yZSBlbnRlcmluZyB0aGUgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA0NAoKMjAxMy0wNS0wOSAyMjoxMzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBzYW1wbGUgcGlwZWxpbmUgaW4gZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDE4OjA1OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIGpwZWdlbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6NDk6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6MjA6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB2cDhkZWMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6MTk6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYy10ZXN0OiBTZW5kIGluaXRpYWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTY6MjY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgUmV2ZXJ0ICJ2aWRlb21peGVyMjogVGFrZSBpbnRvIGFjY291bnQgbmV3IHNlZ21lbnRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg0YWU2NzBhYjQwYjI1OGExMGUxZTIxNDcxZTZkYzlkNzg2YmYwODYuCgkgIEFjdHVhbGx5IHRoaXMgaXMgbm90IGhvdyBpdCBpcyBzdXBwb3NlZCB0byB3b3JrLiB2aWRlb21peGVyCgkgIGNyZWF0ZXMgYSBbMCwtMV0gc2VnbWVudCBhbmQgdGhlbiBwdXRzIGZyYW1lcyBvZiB0aGUgZGlmZmVyZW50CgkgIHN0cmVhbXMgdGhlcmUgYmFzZWQgb24gdGhlaXIgcnVubmluZyB0aW1lcyBpbiB0aGVpciBvd24gc2VnbWVudHMuCgoyMDEzLTA1LTA2IDIzOjQzOjAzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVGFrZSBpbnRvIGFjY291bnQgbmV3IHNlZ21lbnRzCgkgIEFsc28gZm9yd2FyZCB0aGUgZXZlbnQgZG93bnN0cmVhbSBvbiB0aGUgbmV4dCBvcHBvcnR1bml0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MwoKMjAxMy0wNS0wOSAwOTowNzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgUmV2ZXJ0ICJnc3RydHNwc3JjOiBzZXQgYnVmZmVyLXNpemUgZm9yIG11bHRpY2FzdCBidWZmZXJzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI0ODFlOTVkMDM4YjQyMjk3YTAxNmYxZDJkYzFhZjI2ZDIxNzViNDIuCgkgIFRoaXMgaXMgYWxyZWFkeSBkb25lIGZpdmUgbGluZXMgYWJvdmUsIGl0IHdhcyBhZGRlZCBhIHllYXIKCSAgYWdvIGluIGNvbW1pdCA1NjFiMTMxZS4KCjIwMTMtMDUtMDggMTk6NTQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IFVuaXQgdGVzdCBzZW5kIFNFR01FTlQgYmVmb3JlIENBUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOToyMjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgYXZpbXV4OiBVbml0IHRlc3Qgc2VuZHMgU0VHTUVOVCBiZWZvcmUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjA4OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBUZXN0IHNob3VsZCBzZW5kIHNlZ21lbnQgYWZ0ZXIgQ0FQUwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOTowMDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBUZXN0IHNob3VsZCBzZW5kIHNlZ21lbnQgYWZ0ZXIgQ0FQUwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxODo0NDozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBGcmVxdWVuY2UgcHJvcGVydHkgcmVuYW1lZCBjdXRvZmYKCSAgVXBkYXRpbmcgdGhlIGRvY3VtZW50YXRpb24gdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS4KCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY0CgoyMDEzLTA1LTA4IDE1OjI1OjU4IC0wMzAwICBBaGEgVW5zd29ydGggPGFoYS51bnN3b3J0aEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGdzdHJ0c3BzcmM6IHNldCBidWZmZXItc2l6ZSBmb3IgbXVsdGljYXN0IGJ1ZmZlcnMKCSAgRm9yIHJlY2VpdmluZyB2aWRlbyBkYXRhIHZpYSBSVFNQIHdoZW4gdGhlIHZpZGVvIGlzIHNlbnQgdmlhCgkgIG11bHRpY2FzdCB0aGVyZSBpcyBubyB3YXkgdG8gc3BlY2lmeSB0aGUgdWRwc3JjIGJ1ZmZlci1zaXplLgoJICBPbiB3aW5kb3dzIHRoZSBuYXRpdmUgbmV0d29yayBidWZmZXIgaXMgbm90IGxhcmdlIGFuZCB3aXRoIHZpZGVvCgkgIGktZnJhbWVzIGJlaW5nIGh1Z2UgdGhlIGJ1ZmZlciBpcyB0byBzbWFsbCBhbmQgeW91IGdldCBpLWZyYW1lIGNvcnJ1cHRpb24sCgkgIGl0IGxvb2tzIHRlcnJpYmxlLCBhbmQgdGhlcmUgaXMgbm8gKGVhc3kpIHdheSB0byBzZXQgdGhlIHVkcHNyYyBidWZmZXItc2l6ZS4KCSAgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIyNjQKCjIwMTMtMDUtMDggMTY6MDI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4OTUKCjIwMTMtMDUtMDcgMTk6MTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgb24gdHlwZSBjaGVjawoKMjAxMy0wNC0xOCAwNzo0OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbmV3IGNhcHMgZXZlbnRzIHdoZW4gY2FwcyBjaGFuZ2UKCSAgV2hlbmV2ZXIgdGhlIGRlbXV4ZXIgaGFzIGEgbmV3IGNhcHMgb24gYSBzdHJlYW0sIGl0IHNob3VsZCBzZXQgdGhlCgkgIG5ld19jYXBzIHZhcmlhYmxlIHRvIHRydWUgYW5kIGEgbmV3IGNhcHMgZXZlbnQgd2lsbCBiZSBwdXNoZWQgYmVmb3JlCgkgIHRoZSBuZXh0IGJ1ZmZlcgoKMjAxMy0wNC0xNyAxNjo1NDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIHF0ZGVtdXggdGFrZXMgaXRzIGJ1ZmZlcnMgZnJvbSBhIEdzdEFkYXB0ZXIuIFRob3NlIGJ1ZmZlcnMgYXJlIGNyZWF0ZWQKCSAgZnJvbSB0aGUgbGFyZ2VyIGJ1ZmZlciB0aGF0IGl0IG9idGFpbmVkIGZyb20gdXBzdHJlYW0gYW5kIHRoZXkgY2FycnkKCSAgdGhlIHNhbWUgZmxhZ3MsIGluY2x1ZGluZyBESVNDT05UIGlmIGl0IGlzIHNldC4gSW4gdGhlc2UgY2FzZXMsIGFsbAoJICBidWZmZXJzIHRoYXQgcXRkZW11eCBpcyBnb2luZyB0byBwdXNoIHdvdWxkIGJlIG1hcmtlZCBhcyBESVNDT05ULgoJICBUaGlzIHNjZW5hcmlvIGNhbiBtYWtlIHBhcnNlcnMvZGVjb2RlcnMgZmx1c2ggb24gZXZlcnkgYnVmZmVyIGxlYWRpbmcKCSAgdG8gbm8gZGVjb2RpbmcgYXQgYWxsIGhhcGVubmluZy4gVGhpcyBwYXRjaCBwcmV2ZW50cyB0aGlzIGJ5IHVuc2V0dGluZwoJICB0aGUgZmxhZyBpZiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoKMjAxMy0wNC0xMiAwOTowODoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzb21lIGNvZGUgY2xlYW51cCBmb3IgbXNzIGhhbmRsaW5nIGNvZGUKCSAgKiBFeHBsaWNpdGx5IGluaXQgdmFyaWFibGVzIGZvciBmcmFnbWVudGVkIGZvcm1hdHMgYXQgaW5pdAoJICAqIERvIG5vdCB1c2UgR3N0Q2xvY2tUaW1lIHR5cGUgaWYgdGhlIHZhcmlhYmxlIGlzbid0IGEgdGltZXN0YW1wCgkgICogRml4IGEgc3R5bGUvcmVhZGFiaWxpdHkgaXNzdWUgYXQgYW4gaWYgYmxvY2sKCSAgKiBHcm91cCAyIG1zcyBtb2RlIGNvbmRpdGlvbmFsIGJsb2NrcyB0b2dldGhlciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDQtMTIgMTA6MjE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzdG9yaW5nIG5vbi10aW1lIG5ld3NlZ21lbnRzIHRvIHB1c2ggbGF0ZXIKCSAgVGhpcyBjYW4gY29uZnVzZSBkb3duc3RyZWFtIHdoZW4gdGhleSBnZXQgYSBieXRlIHNlZ21lbnQgYWZ0ZXIgcmVjZWl2aW5nCgkgIHRoZSBuYXR1cmFsIHRpbWUgc2VnbWVudCBmcm9tIHF0ZGVtdXggdGhhdCBpdCBzZW5kcyB3aGVuIHN0YXJ0aW5nIHRvCgkgIHB1c2ggYnVmZmVycy4gVGhpcyBpcyBzcGVjaWFsbHkgdGhlIGNhc2Ugd2l0aCBwYXJzZXJzIHRoYXQgdHJ5IHRvCgkgIGNvbnZlcnQgdGhlIHBvc2l0aW9uIGZyb20gYnl0ZSB0byB0aW1lIGZvcm1hdCBhbmQgbWlnaHQgbWlzcyB0aGUKCSAgY29ycmVjdCBwb3NpdGlvbiBmb3IgcGxheWJhY2sgdG8gc3RhcnQuCgoyMDEzLTA0LTEwIDE4OjAyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2V0dGluZyBmaWVsZHMgdG8gbm9uLXdyaXRhYmxlIGNhcHMKCjIwMTMtMDMtMTAgMDQ6MTU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3Qgc2VuZCBzbyBtYW55IHNlZ21lbnQgZXZlbnRzCgkgIE9ubHkgc2VuZCBvbmUgc2VnbWVudCBldmVudCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0sIG5vdAoJICBhZnRlciBlYWNoIG1vb3YgYW5kIG1vb2YgYXRvbS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMy0wOCAxNjowMjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwbGFjZSBpbmNvbW1pbmcgdGltZXN0YW1wcyBvbiBvdXRwdXQKCSAgUGxhY2UgdGhlIGluY29tbWluZyB0aW1lc3RhbXAgKGlmIGFueSkgZGlyZWN0bHkgb250byB0aGUgb3V0Z29pbmcgYnVmZmVycwoJICBhbmQgaW50ZXJwb2xsYXRlIG90aGVyIHRpbWVzdGFtcHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDUtMDcgMTA6MTY6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIHJlc2V0IG9mIGludGVybmFsIHN0YXR1cwoJICBSZXNldCBkaWZmZXJlbnQgdmFyaWFibGVzIG9uIHN0YXRlIGNoYW5nZXMgdG8gcmVhZHkgYW5kIHdoZW4KCSAgaGFuZGxpbmcgYSBmbHVzaC1zdG9wLiBGb3IgaGFuZGxpbmcgZmx1c2ggc3RvcHMgd2Ugc2hvdWxkIGNoZWNrCgkgIGlmIHRoZXJlIGlzIGFuIHVwc3RyZWFtIGFkYXB0aXZlIGRlbXV4ZXIgZHJpdmluZyB0aGUgcGlwZWxpbmUgYXMgdGhpcwoJICBtZWFucyB0aGF0IHF0ZGVtdXggd2lsbCBnZXQgYSBuZXcgbW9vdiBhdG9tLiBGb3IgJ3N0YW5kYXJkJyBpc29tZWRpYQoJICBzdHJlYW1zIHRoaXMgaXNuJ3QgdHJ1ZSBhbmQgcXRkZW11eCBzaG91bGQga2VlcCB0aGUgcHJldmlvdXMgbW9vdgoJICBpbmZvcm1hdGlvbiBhcm91bmQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDItMDggMDA6Mjk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmVwYXJlIHF0ZGVtdXggdG8gYWNjZXB0IG11bHRpcGxlIGRhc2ggbW9vdnMgaW4gYSByb3cKCSAgV2hlbmV2ZXIgZGFzaGRlbXV4IHN3aXRjaGVzIGJpdHJhdGVzIGl0IHNlbmRzIGEgbmV3IG1vb3Ygd2l0aCB0aGUKCSAgbmV3IHN0cmVhbSBjb25maWd1cmF0aW9uLiBxdGRlbXV4IHNob3VsZCBub3cgaGFuZGxlIHRoaXMgYnkgc3BsaXR0aW5nCgkgIHRoZSBleHBvc2luZyBhbmQgY29uZmlndXJhdGlvbiBvZiBzdHJlYW1zIGludG8gc2VwYXJhdGUgZnVuY3Rpb25zLiBXaGVuCgkgIHRoZSBzdHJlYW0gaXMgbmV3IGl0IGlzIGNvbmZpZ3VyZWQgYW5kIGV4cG9zZWQsIHdoZW4gaXQgaXMgYSBuZXcgYml0cmF0ZQoJICBvZiBhbiBleGlzdGluZyBzdHJlYW0gaXQgaXMgb25seSByZWNvbmZpZ3VyZWQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDItMDcgMTQ6MTI6NTMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW92ZSBGTFVTSF9TVE9QL1BBVVNFRF9UT19SRUFEWSBoYW5kbGluZyB0byBhIHJlc2V0IG1ldGhvZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMS0yMyAxMDo1NTozMyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFJlbW92ZSBvbGQgcGFkcyB3aGVuIGV4cG9zaW5nIHN0cmVhbXMgYW5kIG90aGVyIGdlbmVyYWwgZml4ZXMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDQtMTYgMTA6NDE6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaGFuZGxlIG1zcyBzdHJlYW1zCgkgIHNtb290aHN0cmVhbWluZyBzdHJlYW1zIHNob3VsZCBiZSBoYW5kbGVkIGFzIGEgc3BlY2lhbCBraW5kIG9mCgkgIGZyYWdtZW50ZWQgaXNvbWVkaWEuIEluIE1TUyB0aGUgZnJhZ21lbnRzIHdpbGwgbm90IGNvbnRhaW4gYQoJICAnbW9vdicgYXRvbSB3aXRoIHRoZSBtZWRpYSBkZXNjcmlwdGlvbnMsIHRoaXMgaGFzIHRvIGJlIGV4dHJhY3RlZAoJICBmcm9tIHRoZSBjYXBzLgoJICBBZGRpdGlvbmFsbHksIHRoZXJlIHNob3VsZCBiZSBhbm90aGVyIGRlbXV4ZXIgdXBzdHJlYW0gdGhhdCBpcyBsaWtlbHkKCSAgZ29pbmcgdG8gYmUgdGhlIG9uZSB0byBhbnN3ZXIvYWN0IG9uIHF1ZXJpZXMgYW5kIGV2ZW50cywgc28gcXRkZW11eCBoYXMKCSAgdG8gZm9yd2FyZCB0aG9zZSB1cHN0cmVhbS4KCjIwMTMtMDUtMDYgMTY6NTQ6MDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmVxdWVzdCAwIGJ1ZmZlcnMgd2hlbiBzdG9wcGluZwoJICBXaXRob3V0IHRoaXMgc3RvcHBpbmcgdGhlIHBvb2wgaW4gKl9zZXRfY2FwcygpIGlzIHVzZWxlc3MuCgkgIFNfRk1UIHdpbGwgc3RpbGwgZmFpbCB3aXRoIEVCVVNZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODM1CgoyMDEzLTA1LTA3IDE2OjMyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQnkgZGVmYXVsdCBhc3N1bWUgdGhhdCB3ZSdyZSB3b3JraW5nIG9uIG5vbi1wYWNrZXRpemVkIGlucHV0CgkgIE9ubHkgZGV0ZWN0aW5nIHRoaXMgaW4gc2V0X2Zvcm1hdCgpIGRvZXMgbm90IHdvcmsgYmVjYXVzZSB3ZSBtaWdodAoJICBub3QgZ2V0IGFueSBjYXBzIGF0IGFsbCwgZS5nLiBmcm9tIGZpbGVzcmMuCgoyMDEzLTA1LTA3IDE2OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogSW1wbGVtZW50IHBhcnNpbmcgZnVuY3Rpb25hbGl0eQoJICBUaGlzIGFsbG93cyB0byBwbHVnIHBuZ2RlYyBkaXJlY3RseSB3aXRob3V0IGEgcGFyc2VyIGlmIHRoYXQKCSAgaXMgZGVzaXJlZC4KCSAgUGFyc2luZyBjb2RlIGlzIGJhc2VkIG9uIHBuZ3BhcnNlLgoKMjAxMy0wNS0wNyAxNTo1NDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogRml4IHN1cHBvcnQgZm9yIFJHQiBmb3JtYXRzIGFuZCBhZGQgc3VwcG9ydCBmb3IgbW9yZSBvZiB0aGVtCgoyMDEzLTA1LTA0IDEzOjE5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBjb25zaWRlciB0aGUgY29udGVudCBzaXplIGZyb20gdGhlIEhUVFAgaGVhZGVycyBhcyBhYnNvbHV0ZWx5IGNvcnJlY3QKCSAgVGhlIEhUVFAgc2VydmVyIGNvdWxkIGdpdmUgd3JvbmcgaW5mb3JtYXRpb24sIGUuZy4gaWYgdGhlIEhUVFAgc3RyZWFtIGlzCgkgIGNodW5rLWVuY29kZWQgb3IgY29tcHJlc3NlZCwgb3IgaWYgdGhlIHNlcnZlciBkb2VzIG5vdCBrbm93IHRoZSBjb21wbGV0ZSBzaXplCgkgIGF0IHRoZSB0aW1lIHdoZW4gdGhlIGZpbGUgaXMgcmVxdWVzdGVkIGJ5IHRoZSBjbGllbnQuCgkgIEFsc28gc2VlCgkgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzNTQKCjIwMTItMDgtMjAgMDk6NTI6MzIgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaWxsIG91dCB2NGwyX2J1ZmZlci5ieXRlc3VzZWQgZmllbGQgZm9yIHY0bDJzaW5rCgkgIFdoZW4gcXVldWluZyBhIGJ1ZmZlciBmb3IgYSBzaW5rLCBieXRlc3VzZWQgbXVzdCBjb250YWluIHRoZSBhY3R1YWwKCSAgYW1vdW50IG9mIGRhdGEuCgkgIEZvciBhIHNvdXJjZSwgdGhlIGRyaXZlciBtdXN0IG92ZXJ3cml0ZSB0aGlzLCBzbyBpdCBkb2Vzbid0IG1hdHRlcgoJICB3aGF0IGlzIHNldCBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTk4CgoyMDEzLTA1LTAzIDIzOjQzOjI2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGV2ZW50IGhhbmRsZXIKCSAgRmlyc3QgcHJvY2VzcyBldmVudCBpbiBwYXlsb2FkZXIsIHRoZW4gaGFuZCBpdCB0byB0aGUKCSAgYmFzZSBjbGFzcyB3aGljaCB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NjM3CgoyMDEzLTA1LTA0IDA5OjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGFjM3BhcnNlLCBkY2FwYXJzZTogY2hlY2sgYnVmZmVyIHNpemUgYmVmb3JlIHRyaW1taW5nCgkgIGFuZCB1bnJlZiBvbGQgYnVmZmVyIGFzIHNvb24gYXMgcG9zc2libGUuCgoyMDEzLTA1LTAyIDE1OjAwOjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBhZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIgoKMjAxMy0wNS0wMiAxNDo1NjowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogYWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWFjMyIKCjIwMTMtMDUtMDMgMTI6NDY6MzcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhbHdheXMgZ2VuZXJhdGUgdmlkZW8gaW5mbyBmcm9tIGNhcHMKCSAgSW4gdGhlIHBhc3QgZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCkgb25seSB2aWRlby94LXJhdy4gTm93IGl0IGFsc28KCSAgc3VwcG9ydHMgb3RoZXIgdmlkZW8vKiBhbmQgaW1hZ2UvKiBmb3JtYXRzLgoJICBXaXRoIHRoaXMgcGF0Y2ggdGhlIGZvcm1hdCB3b24ndCBiZSBHU1RfVklERU9fRk9STUFUX1VOS09XTiBhbmQKCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfc2V0X2NvbmZpZygpIGhhbmRsZXMgc3RyaWRlcyBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1NzAKCjIwMTMtMDUtMDIgMDk6NDE6MDEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogdHJ5IHRvIGFsbG9jYXRlIG5ldyBidWZmZXJzIHdpdGggVklESU9DX0NSRUFURV9CVUZTIGlmIG5lZWRlZAoJICBJZiBtYXhfYnVmZmVycyBpcyAwIHRoZW4gYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBidWZmZXJzIChjdXJyZW50bHkgNCkgaXMKCSAgYWxsb2NhdGVkLiBJZiB0aGlzIGlzIG5vdCBlbm91Z2ggdjRsMnNyYyBzdGFydHMgY29weWluZyBidWZmZXJzLgoJICBXaXRoIHRoaXMgcGF0Y2ggVklESU9DX0NSRUFURV9CVUZTIGlzIHVzZWQgdG8gYWxsb2NhdGUgYSBuZXcgYnVmZmVyLiBJZgoJICB0aGlzIGZhaWxzIHY0bDJzcmMgZmFsbHMgYmFjayB0byBjb3B5aW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk0NDcKCjIwMTMtMDQtMTUgMTc6Mzc6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2V0dGluZyB3aW5kb3cgaGFuZGxlIGFmdGVyIHRyYW5zaXRpb24KCSAgVGhlIGRlc3Ryb3llZCBmbGFnIHdhcyBub3QgcmVzZXQgcHJvcGVybHkgYW5kIGl0J3MgYWxzbyBub3QgbmVlZGVkCgkgIGFzIHdlIGNhbiBjaGVjayBvc3h3aW5kb3cgIT0gTlVMTAoKMjAxMy0wNS0wMiAxMzo0NTo1NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyB3aXRoIGxpYnZweAoKMjAxMy0wNC0yOSAxMDo1ODowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICBnb29tMmsxOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggZ29vbQoKMjAxMy0wNS0wMSAxNTo0OTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSWYgdGhlIGFkYXB0ZXIgaXMgZW1wdHkgb24gRU9TIGRvbid0IHRyeSB0byBtYXAgaXRzIGNvbnRlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMxNAoKMjAxMy0wNC0zMCAxNDozNjozOCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgc3RyZWFtLWZvcm1hdD1yYXcgdG8gYWFjIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMwMwoKMjAxMy0wNC0zMCAxMzowNzozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggYW5kIGNsZWFudXAgVklESU9DX0VYUEJVRiBoYW5kbGluZwoJICBjbGVhciB0aGUgc3RydWN0LCBhbmQgcHJvdmlkZSBhIGNvcnJlY3QgZXJyb3IgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzM3CgoyMDEyLTA3LTA1IDE4OjAyOjI3ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBoYW5kbGUgcmV0dXJuIHZhbHVlIC1FTk9UVFkgZm9yIHVuaW1wbGVtZW50ZWQgVklESU9DX0dfUEFSTQoJICBOZXdlciBrZXJuZWxzIHJldHVybiAtRU5PVFRZLCBvbGRlciBrZXJuZWxzIHJldHVybiAtRUlOVkFMIGlmIHRoZSBpb2N0bAoJICBpcyBub3QgaW1wbGVtZW50ZWQuIFdpdGggdGhpcyBwYXRjaCwgR1N0cmVhbWVyIGhhbmRsZXMgYm90aCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNQoKMjAxMy0wNC0zMCAwOToxNjowNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBicm9rZW4gYm9vbGVhbiBleHByZXNzaW9uIHRvIGRldGVjdCBub24tZnJhbWUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Mjk0CgoyMDEzLTA0LTI5IDExOjA3OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHNlcnZlciB2ZXJzaW9uIGlzIHRvbyBvbGQKCSAgV2UgY2hlY2sgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24gYXQgY29uZmlndXJlIHRpbWUsIGJ1dCB0aGUgc2VydmVyCgkgIHZlcnNpb24gY2FuIG9ubHkgcmVhbGx5IGJlIGNoZWNrZWQgYXQgcnVuLXRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg3NjgKCjIwMTMtMDQtMjcgMTE6MjQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJICB1ZHA6IGxvZyBXQVJOSU5HIGRlYnVnIG1lc3NhZ2UgaWYgVURQIG11bHRpY2FzdCBpcyBsaWtlbHkgdG8gYmUgYnJva2VuCgoyMDEzLTA0LTI3IDExOjE2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgaW5jbHVkZXMgdG8gZ2V0IHNvY2tsZW5fdCBkZWZpbmVkIG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQwMAoKMjAxMy0wNC0yNyAwOTozOTo0NSArMDEwMCAgWXVyeSBEZWxlbmRpayA8YXN5bmMucHJvY2Vzc2luZ2pzQHlhaG9vLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgVlA2RiBWUDYgZmxhc2ggY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTAxMAoKMjAxMi0wOS0wNSAxNjozOTozMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFsc28gcG9sbCBmb3Igb3V0cHV0IGRldmljZXMKCSAgTm90ZSB0aGF0IHRoZSBWNEwyIEFQSSBkZWZpbmVzIHRoYXQgZm9yIG91dHB1dCBkZXZpY2VzIFBPTExPVVQKCSAgaW5kaWNhdGVzIHRoYXQgYSBidWZmZXIgaXMgcmVhZHkgdG8gYmUgZGVxdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg5OTIKCjIwMTItMDgtMjAgMDk6NTI6MzQgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb3B5aW5nIG9mIGVuY29kZWQgYnVmZmVycwoJICBUaGUgZXhpc3RlbmNlIG9mIGEgR3N0VmlkZW9Gb3JtYXRJbmZvIGRvZXMgbm90IGd1YXJhbnRlZSwgdGhhdAoJICB0aGUgYnVmZmVyIGNvbnRhaW5zIHZpZGVvIGZyYW1lcywgc28gdGhlIGZvcm1hdCBtdXN0IGJlIGNoZWNrZWQuCgkgIEFsc28sIGZvciBlbmNvZGVkIGJ1ZmZlcnMgdGhlIGxlbmd0aCBpcyB2YXJpYWJsZSBhbmQgbXVzdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg5NDkKCjIwMTItMDctMTAgMTU6Mjk6NDAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgc3VwcG9ydCBmb3IgbXBlZzQgYW5kIEguMjYzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjYKCjIwMTMtMDQtMjYgMTI6MTY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDEzLTA0LTI1IDIxOjUwOjMzICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxtZXJvc0BtZXJvcy1kZXNrdG9wLihub25lKT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJICBtdWxhd2RlYzogY2hhbmdlIGJhc2UgY2xhc3MgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4OTQKCjIwMTMtMDQtMjUgMjA6NTk6NTIgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50LgoKMjAxMi0xMC0xOCAxMDozNzozNSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogaGFuZGxlIEVOT0RBVEEgcmV0dXJuIHZhbHVlIGZvciBWSURJT0NfRU5VTVNURAoJICBJbiBrZXJuZWwgdjMuNy1yYzEsIFZJRElPQ19FTlVNU1REIHJldHVybnMgRU5PREFUQSBpZiB0aGUgY3VycmVudCBpbnB1dAoJICBkb2VzIG5vdCBzdXBwb3J0IHRoZSBTVEQgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI3CgoyMDEzLTA0LTI1IDEzOjE5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJICBkb2NzOiBhZGQgc29tZSBwYXkvZGVwYXlsb2FkZXJzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUxNjMxCgoyMDEzLTA0LTI1IDEyOjQ0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3OiBTb21lIG1pbm9yIG1lbWxlYWsgZml4ZXMgYW5kIGNsZWFudXAKCjIwMTMtMDQtMjQgMTM6NTY6NTYgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhd2VuYzogY2hhbmdlIHRvIGdzdGF1ZGlvZW5jb2RlciBiYXNlLCBhZGRlZCBiaXRyYXRlIHRhZ3MKCjIwMTItMDUtMDMgMTY6MDc6MjcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogcmVzZXQgYnVmZmVyIHNpemUgaW4gcmVsZWFzZV9idWZmZXIKCSAgVGhlIGJ1ZmZlciBtaWdodCBzdGlsbCBiZSBpbiB1c2UgZWxzZXdoZXJlIHdoZW4gZGVxdWV1aW5nIGJ1ZmZlcnMgZm9yCgkgIG91dHB1dHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjIKCjIwMTItMDQtMjAgMDk6NTM6MzUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogcmVtb3ZlIHVudXNlZCBpbmNsdWRlcwoJICBUaGUgaGFja3MgdGhhdCBuZWVkZWQgdGhlc2UgYXJlIGxvbmcgZ29uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyMQoKMjAxMy0wNC0yNSAxMjoxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAobXVsdGkpdWRwc2luazogVXNlIHNlcGFyYXRlIHNvY2tldHMgZm9yIElQdjQgYW5kIElQdjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzNDI0MwoKMjAxMy0wNC0yNSAxMDo0NDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IFVzZSBzZXBhcmF0ZSBzb2NrZXRzIGZvciBJUHY0IGFuZCBJUHY2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01MzQyNDMKCjIwMTMtMDQtMjUgMTA6NDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgdWRwOiBEb24ndCBpbmNsdWRlIHJlbW92ZWQgZ3N0dWRwLmggaW4gbm9pbnN0X0hFQURFUlMKCjIwMTMtMDQtMTcgMTY6NDc6MzEgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpbzogVXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrKCkgdG8gY3JlYXRlIG1hc2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgwNwoKMjAxMy0wNC0xNyAxNjoxMjoyNiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTMtMDQtMjUgMDk6MTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHA6IFJlbW92ZSB1bnVzZWQgZW51bSB0eXBlCgoyMDEzLTA0LTI1IDA5OjEzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmxpc3Q6CgkgIHVkcDogVXNlIHRoZSBnZW5lcmljIG1hcnNoYWxsZXIgaW5zdGVhZCBvZiBnZW5lcmF0aW5nIG1hcnNoYWxsZXJzCgoyMDEzLTA0LTI1IDA5OjA3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIGZyb20gaG9zdCB0byBtdWx0aV9ncm91cAoJICBUaGlzIGlzIG1vcmUgY29uc2lzdGVudCBhcyBpdCdzIHVzZWQgZm9yIHRoZSBtdWx0aWNhc3QtZ3JvdXAgcHJvcGVydHkuCgoyMDEzLTA0LTI1IDA5OjAzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWRkIGJpbmQtYWRkcmVzcyBwcm9wZXJ0eQoJICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gbXVsdGljYXN0LWdyb3VwIGN1cnJlbnRseSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgkgIEluIDIuMCB0aGlzIHNob3VsZCBiZSBoYW5kbGVkIHNlcGFyYXRlbHksIHRoZSBmb3JtZXIgb25seSBiZWluZyB0aGUgbXVsdGljYXN0CgkgIGdyb3VwIGFuZCB0aGUgbGF0dGVyIGFsd2F5cyBiZWluZyB0aGUgYWRkcmVzcyB0aGUgc29ja2V0IGlzIGJvdW5kIHRvLCBldmVuIGlmCgkgIGEgbXVsdGljYXN0IGdyb3VwIGlzIGdpdmVuLgoKMjAxMy0wNC0yNCAxNjoyNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogcmV0dXJuIG91dHB1dCBidWZmZXIgZnJvbSBwcm9jZXNzCgkgIFJldHVybiB0aGUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBwcm9jZXNzIGZ1bmN0aW9uIGluc3RlYWQgb2YgcHVzaGluZwoJICBpdCBvdXJzZWx2ZXMuIFRoaXMgd2F5LCB0aGUgc3ViY2xhc3MgY2FuIGFjdHVhbGx5IGRlYWwgd2l0aCB0aGUgcmV0dXJuCgkgIHZhbHVlIG9mIHRoZSBwdXNoLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzNzI3CgoyMDEyLTEwLTAxIDA5OjI5OjIxIC0wMzAwICBEaW9nbyBDYXJib25lcmEgTHV2aXpvbiA8ZGlvZ28ubHV2aXpvbkBlbnNpdGVjLmNvbS5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc2F2ZSB0aGUgZm9ybWF0IGNvcnJlY3RseQoJICBJZiBUUllfRk1UIGlzIG5vdCBpbXBsZW1lbnRlZCwgIGdzdF92NGwyX29iamVjdF9nZXRfbmVhcmVzdF9zaXplIHdpbGwKCSAgdXNlIFNfRk1UIGFuZCB3aWxsIGNoYW5nZSB0aGUgZGV2aWNlJ3Mgb3BlcmF0aW9uIG1vZGUuIFRvIHNhdmUgdGhlCgkgIG9sZCBkZXZpY2UgbW9kZSB3ZSBuZWVkIHRvIHNldCB0aGUgdHlwZSBmaWVsZCBvciBlbHNlIGl0IHdpbGwgZmFpbAoJICB0byBzYXZlIHRoZSBwcmV2aW91cyBmb3JtYXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMDkKCjIwMTMtMDQtMjQgMTU6Mzg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICBydHA6IGEgbWFya2VyIGJpdCBzaG91bGQgdHJhbnNsYXRlIHRvIFJFU1lOQwoJICBBIG1hcmtlciBiaXQgb24gYW4gYXVkaW8gcGFja2V0IGRvZXMgbm90IG1lYW4gYSBESVNDT05UIChpbiB0aGUgR1N0cmVhbWVyIHNlbnNlCgkgIG9mIG1pc3NpbmcgZGF0YSkgYnV0IGl0IG1lYW5zIHRoYXQgdGhlIHBhY2tldCBpcyB0aGUgZW5kIG9mIGEgdGFsa3NwdXJ0IGFuZCB0aHVzCgkgIGEgZ29vZCBvcHBvcnR1bml0eSB0byByZXN5bmMgdG8gdGhlIGNsb2NrLiBVc2UgdGhlIFJFU1lOQyBidWZmZXIgZmxhZyB0byBub3RlCgkgIHRoaXMuCgkgIFJlYWwgZGlzY29udGludWl0aWVzIGFyZSBtYXJrZWQgd2l0aCBESVNDT05UIHN0aWxsIHdoZW4gdGhlIHNlcW51bSBoYXMgYSBHQVAgb3IKCSAgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhcyB0aGUgRElTQ09OVCBmbGFnIHNldC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzIwNAoKMjAxMy0wNC0yMiAyMzo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1BSU5UQUlORVJTOgoJKiBSRUFETUU6CgkqIFJFQURNRS5zdGF0aWMtbGlua2luZzoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzY2IzZDNjIHRvIDVlZGNkODUKCjIwMTMtMDQtMjIgMTA6MTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBEcm9wIGZyYW1lIGlmIGl0J3MgbGVzcyB0aGFuIDIgYnl0ZXMgbGFyZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzU2MAoKMjAxMy0wNC0xOCAxMjoyMDowOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogdXNlIF9wbHVnaW5fZmVhdHVyZV9yYW5rX2NvbXBhcmUgQVBJIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhlIGNvZGUuCgoyMDEzLTA0LTE4IDA5OjM3OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IEluY2x1ZGUgZ3N0YXVkaW9yaW5nYnVmZmVyLmggdG8gZml4IGNvbXBpbGF0aW9uIGluIDEuMAoKMjAxMy0wNC0xNyAyMTowNToxNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBjaGFubmVsLW1hc2sgY29uZmlndXJhdGlvbiBmaXhlcwoJICBTZXQgY2hhbm5lbC1tYXNrIGFjY29yZGluZyB0byBzaW5rJ3MgbGF5b3V0IGluIGNhc2Ugb2Ygc3RlcmVvIGxheW91dC4KCSAgQWxzbyBpbml0aWFsaXplIGFuZCByZXNldCB0aGUgbWFzayB3aGVuIGFuIHVucmVjb2duaXplZCBjaGFubmVsIGlzIGRldGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MjI0CgoyMDEzLTA0LTE1IDE5OjUzOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEaXNhYmxlIHJlbmVnb3RpYXRpb24gaW4gdGhlIG5lZ290aWF0ZSBtZXRob2QKCSAgVGhpcyB3YXksIHdlIGRvbid0IGJsb2NrIHRoZSBpbml0aWFsIG5lZ290aWF0aW9uLgoJICBUaGFua3MgdG8gSmVyZW15IFdoaXRpbmcgZm9yIGRvaW5nIGFsbCB0aGUgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNSAxOTo0NjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBkaXNhYmxlIHJlbmVnb3RpYXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDFiMjZlMWQ1OTRhYjJiNjMzMjRlNDNhMzYzMzA0NzVlOThjZGYxOC4KCSAgVGhpcyBjYXVzZXMgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24gdG8gbmV2ZXIgaGFwcGVuIGlmIGEgcmVjb25maWd1cmUKCSAgZXZlbnQgaXMgcmVjZWl2ZWQgYWZ0ZXIgZ3N0X2Jhc2Vfc3JjX3N0YXJ0X2NvbXBsZXRlKCkgYnV0IGJlZm9yZSB0aGUgbG9vcAoJICBzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU5ODEKCjIwMTMtMDQtMTcgMjE6MTI6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IGZvcndhcmQgY2FwcyBldmVudAoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgZG93bnN0cmVhbSBlbGVtZW50IHdpbGwgZ2V0IHRoZSBldmVudCBhbmQgbmVnb3RpYXRlcy4gQWRkCgkgIGEgRklYTUUgZm9yIHVwZGF0aW5nIHRoZSBzdHJlYW1oZWFkZXIgZmllbGQgb24gdGggY2Fwcy4KCjIwMTMtMDQtMTcgMDc6NTA6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogYWRkIG1vcmUgbG9nZ2luZwoKMjAxMy0wNC0xNyAyMDoyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvOiBGaXggbWVyZ2UgY29uZmxpY3RzCgoyMDEzLTA0LTE3IDEwOjEwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4YXVkaW86IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIG9zeGF1ZGlvIHBsdWdpbgoKMjAxMy0wNC0xNyAwOTo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvcmluZ2J1ZmZlcjogRmlyc3QgY2hlY2sgdGhlIHR5cGUsIHRoZW4gY2FzdAoKMjAxMy0wNC0xNiAyMjo0NjowMCArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogdXNlIEdTVF9JU19PU1hfQVVESU9fU0lOSyBpbiByaW5nIGJ1ZmZlci4KCjIwMTMtMDQtMTAgMjE6MDY6MTYgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogY2FsbCBzZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSBpbiBvc3hhdWRpb3JpbmdidWZmZXIgYWNxdWlyZSgpCgoyMDEzLTA0LTEyIDEyOjE4OjA0IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHVzZSBHU1RfQVVESU9fSU5GT18qIGFjY2Vzc29ycwoJICBDaGFuZ2VzIGluY2x1ZGUgdGhlIGZvbGxvd2luZzoKCSAgKiBVcGRhdGUgY2xhc3NuYW1lIHJlZmVyZW5jZXMKCSAgKiBSZXBsYWNlIEdTVF9CT0lMRVJQTEFURV9GVUxMIHdpdGggR19ERUZJTkVfVFlQRQoJICAqIFVzZSBuZXcgR3N0QXVkaW9JbmZvIHN0cnVjdCBhbmQgbWV0aG9kcwoJICAqIFVzZSBuZXcgYnVmZmVyIG1lbW9yeSBhbGxvY2F0aW9uIHNjaGVtZQoJICBDb25mbGljdHM6CgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYwoKMjAxMy0wNC0xMiAxMTo1MTo0NiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGFkanVzdCBmb3IgY2hhbmdlcyB0byBnbGliIG11dGV4IGFwaS4KCjIwMTMtMDQtMTAgMDE6MjE6NDkgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogdHJ5IHRvIGZpeCB1cCBhY2NvcmRpbmcgdG8gU2ViYXN0aWFuJ3MgY29tbWVudHMKCjIwMTMtMDQtMDUgMTA6MDI6MzggKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogYnVpbGQgZml4ZXMKCSAgRW5hYmxlIHRoZSBvc3hhdWRpbyBwbHVnaW4gYnVpbGQgaW4gY29uZmlndXJlLmFjIGFuZCBmaXggc29tZQoJICBpbmNsdWRlIGRpcmVjdGl2ZSBvcmRlciBpc3N1ZXMuCgoyMDEzLTA0LTAyIDIyOjI4OjA5ICswOTAwICB0ZWQtbiA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogZml4IGxheW91dCBmb3Igb3N4YXVkaW9zcmMKCjIwMTMtMDMtMzAgMjI6NDk6MzQgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IHBvcnQgdG8gdi4xLjAKCjIwMTMtMDQtMTYgMTk6Mjk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCB1bnJlZiBxdWVyeSwgd2UgZG9uJ3Qgb3duIGl0CgkgIEZpeGVzIGRvdWJsZS11bnJlZiBidWcuIEJ1ZyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aQoKMjAxMy0wNC0xNiAyMDo0MToxMCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggU0NIRURVTElORyBxdWVyeSBzdXBwb3J0CgkgIENoYWluIHRoZSBxdWVyeSB1cCB0byBwYXJlbnQgYmVmb3JlIGFkZGluZyBfQkFORFdJRFRIX0xJTUlURUQgZmxhZywKCSAgc28gdGhhdCBhbGwgdGhlIG90aGVyIGZsYWdzIGdldCBzZXQsIGFuZCBwdXNoIG1vZGUgZ2V0cyBhZGRlZCBhcwoJICBzdXBwb3J0ZWQgYWN0aXZhdGlvbiBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzNDg0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgxNTYKCjIwMTMtMDMtMzEgMTI6MDU6NDkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogYmFzaWMgc2NoZWR1bGluZyBxdWVyeSBzdXBwb3J0CgkgIEFuc3dlciB0byBzY2hlZHVsaW5nIHF1ZXJpZXMgd2l0aCBkZWZhdWx0IHBhcmFtZXRlcnMgYW5kIHRoZSBuZXcKCSAgX0JBTkRXSURUSF9MSU1JVEVEX0ZMQUcgc28gdGhhdCBkb3duc3RyZWFtIGlzIGFkdmlzZWQgdG8gbWluaW1pemUgc2VlawoJICBvcGVyYXRpb25zIGFuZCBwZXJmb3JtIG9uLWRpc2sgYnVmZmVyaW5nIGlmIHBvc3NpYmxlLgoJICBCdWcgNjkzNDg0CgoyMDEzLTA0LTE1IDE0OjMyOjQ2ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCBhY2Nlc3Npbmcgb3N4d2luZG93IHdoZW4gbm90IHNldCB5ZXQKCjIwMTItMTAtMjQgMTI6MTQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA0LTEyIDE5OjI2OjExICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbCB3aXRoIGdvb20KCjIwMTMtMDMtMTAgMTc6MTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogRml4ZXMgZXJyb3I6ICJHU1RfTEVWRUxfREVGQVVMVCIgcmVkZWZpbmVkCgoyMDEzLTAzLTEwIDE3OjI3OjMwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXhlcyBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZ2V0cGlkJwoKMjAxMy0wNC0xNCAxNzo1NTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWVkODdhZSB0byAzY2IzZDNjCgoyMDEzLTA0LTE0IDEyOjMyOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBiYWNrICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgdG8gZGlzYWJsZSBzZW5kaW5nIG9mIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzCgkgIEluIDEuMCB3ZSBub3cgYWx3YXlzIHNlbmQgdGhlIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzIGJ5IGRlZmF1bHQsIHdoaWNoCgkgIG1ha2VzIHRoZSBzZXJ2ZXIgc2VuZCBpY2VjYXN0cyBtZXRhZGF0YSBpbnNlcnRlZCBpbnRvIHRoZSBzdHJlYW0gaWYgaXQKCSAgc3VwcG9ydHMgdGhhdC4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgdXNlIGNhc2VzIHdoZXJlIHRoaXMgaXMgbm90CgkgIGRlc2lyYWJsZSwgbGlrZSB3aGVuIGp1c3Qgc2F2aW5nIGEgcmFkaW8gc3RyZWFtIHRvIGRpc2ssIHNvIGFkZCBiYWNrCgkgIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IHRvIGFsbG93IHBlb3BsZSB0byBkaXNhYmxlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc5ODQKCjIwMTMtMDQtMTIgMTY6MTY6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBydHA6IHJlZ2lzdGVyIHRhZyBpbWFnZSB0eXBlcwoJICBUaGUgcnRwZ3N0ZGVwYXkgbmVlZHMgdGhlIHR5cGUgdG8gYmUgYXZhaWxhYmxlIGluIG9yZGVyIHRvIGRlc2VyaWFsaXplIHRoZQoJICBldmVudC4KCjIwMTMtMDQtMTIgMTY6MDg6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBoYW5kbGUgZXZlbnQgcGFyc2UgZmFpbHVyZXMgYmV0dGVyCgoyMDEzLTA0LTExIDIyOjI1OjA1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGFkZCBUT0Mgc2V0dGVyIHN1cHBvcnQKCjIwMTMtMDQtMTIgMTI6MzE6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHNtYWxsIGNsZWFudXBzIGZvciB0b2MgaGFuZGxpbmcKCSAgRG9uJ3QgYWRkIGVtcHR5IGxhYmwvbm90ZSBjaHVua3MuIEFsd2F5cyBwYXNzIGluc3RhbmNlIGFzIHRoZSBmaXJzdCBwYXJhbS4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTMtMDQtMTIgMTI6NTg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHRoZSBudHAtc3luYyBwcm9wZXJ0eSBvZiBydHBiaW4KCjIwMTMtMDQtMTIgMTI6NTE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBHaXZlIHRoZSBtYW5hZ2VyIGFsd2F5cyB0aGUgbmFtZSAibWFuYWdlciIKCSAgVGhpcyBhbGxvd3MgdG8gdXNlIHRoZSBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhZGp1c3QKCSAgcHJvcGVydGllcyBvbiBpdC4KCjIwMTMtMDQtMTEgMjI6NTM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0xMSAxOToyNzoxNSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQKCjIwMTMtMDQtMTEgMjA6NDY6MjYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGEgbGl0dGxlIG1vcmUgZG9jcyB0byB0aGUgYXVkaW9jbG9jawoKMjAxMy0wNC0xMSAxNTowMDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIE5ldENsaWVudENsb2NrCgkgIFdoZW4gdGhlIHNlcnZlciBzdWdnZXN0cyBhIEdzdE5ldFRpbWVQcm92aWRlciBpbiB0aGUgU0RQLCBzZXQgdXAgYQoJICBHc3ROZXRDbGllbnRDbG9jayB0aGF0IHNsYXZlcyB0byB0aGUgcmVtb3RlIGNsb2NrIGFuZCBzdWdnZXN0IHRoaXMgY2xvY2sgaW4KCSAgcHJvdmlkZV9jbG9jay4KCjIwMTMtMDQtMTEgMTQ6NTc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rOiBhdm9pZCBhbGxvYyBhbmQgZnJlZSBpbiByZW5kZXIgZnVuY3Rpb24KCSAgQXZvaWQgZG9pbmcgYWxsb2MgYW5kIGZyZWUgaW4gdGhlIHJlbmRlciBmdW5jdGlvbiBmb3IgZWFjaCBidWZmZXIuIEluc3RlYWQsCgkgIGFsbG9jYXRlIHRoZSBuZWVkZWQgYXJyYXlzIGluIF9pbml0IGFuZCB1c2UgdGhvc2UuCgoyMDEzLTA0LTEwIDA4OjM2OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdmVwYXJzZTogcmVtb3ZlIHN1cGVyZmx1b3VzIGdfbGlzdF9maXJzdCgpIGNhbGxzCgkgIFRoZSB2YXJpYWJsZXMgYWxyZWFkeSBwb2ludCB0byB0aGUgc3RhcnQgb2YgdGhlIGxpc3QuCgoyMDEzLTA0LTA5IDIzOjEzOjE4ICswMTAwICBBbmRyZWFzIEZlbmthcnQgPGFuZHJlYXMuZmVua2FydEBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogZml4IHNiYyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gZm9yIG1vbm8gYW5kIHN0ZXJlbyBtb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDYzCgoyMDEzLTAzLTI1IDE0OjM1OjAyICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBhZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQKCSAgQWRkICdub3RlJyBjaHVuayBzdXBwb3J0IGluIFRPQyBhcyBHU1RfVEFHX0NPTU1FTlQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjU0OQoKMjAxMy0wNC0wOCAxNzo1MzowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgdmFsdWUgaW5zaWRlIGVuZGEgdG8gc2V0IGVuZGlhbm5lc3MKCjIwMTMtMDQtMDkgMjE6MDA6MTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA0YzdhMWUgdG8gYWVkODdhZQoKMjAxMy0wNC0wOSAxNzozNDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYXZvaWQgY29weSB3aGVuIHdlIGNhbgoKMjAxMy0wNC0wOSAxNjo1MjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogdXNlIGJ1ZmZlcmxpc3QgdG8gYXZvaWQgbWVtY3B5CgoyMDEzLTA0LTA5IDE2OjUwOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wNC0wOSAwMDoyODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHRlc3RzOiByZWZhY3RvciBuZXcgd2F2cGFyc2UgdGVzdCBhIGxpdHRsZQoJICBVc2UgZmFrZXNyYyBpbnN0ZWFkIG9mIGZpbGVzcmMgd2l0aCAvZGV2L251bGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODQKCjIwMTMtMDQtMDggMTE6Mzg6MzMgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGVycm9yIG91dCBpZiB3ZSByZWNlaXZlIGVvcyBiZWZvcmUgYW55IHZhbGlkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4NAoKMjAxMy0wNC0wNyAwMTo0Nzo1NiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZm9yY2UgZGVpbnRlcmxhY2luZyBpbiAiaW50ZXJsYWNlZCIgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDY3CgoyMDEzLTA0LTA2IDEyOjQ1OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IEFkZCB0aW1lc3RhbXAvcnVubmluZy10aW1lL3N0cmVhbS10aW1lIHRvIHRoZSBlbWl0ZWQgbWVzc2FnZQoKMjAxMy0wNC0wNSAxNDozODo0MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzQzCgoyMDEzLTA0LTA1IDA5OjM0OjIzICswMTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGluY2x1ZGUgcHRocmVhZC5oIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDMKCjIwMTMtMDQtMDQgMjI6NDg6NDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiByZXN5bmMgb24gZGlzY29udAoJICBEcm9wIHBlbmRpbmcgZGF0YSBvbiBkaXNjb250IGFuZCBzdGFydCBhIG5ldyBjeWNsZSB3aXRoIGEgbmV3IGJhc2UgdGltZXN0YW1wLgoJICBDbGVhbnVwIHNvbWUgdmFyaWFibGVzLgoKMjAxMy0wNC0wMyAyMzo1Mjo0NyArMDEwMCAgVG9tIEdyZWVud29vZCA8dGdyZWVud29vZEBUb21zLU1hY0Jvb2stUHJvLmxvY2FsPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbXByb3ZlIGxvZ2dpbmcgd2hlbiB2cHhfY29kZWNfcGVla19zdHJlYW1faW5mbyBmYWlscwoJICBEZWNvZGUgZmFpbHVyZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIHNob3VsZCBnZXQgZGlmZmVyZW50IGRlYnVnCgkgIG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIzMgoKMjAxMy0wNC0wMyAxODoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IFJhbmsgYXMgc2Vjb25kYXJ5CgkgIFRoaXMgd2F5LCBpdCB3aWxsIGJlIHNlbGVjdGVkIGJ5IGRlY29kZWJpbgoJICBCdWcgcmVwb3J0ZWQgYnkgYW5kcmVhcy5mZW5rYXJ0QHN0cmVhbXVubGltaXRlZC5jb20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIyNwoKMjAxMy0wNC0wMyAxOTowNTozOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogc3ViZGl2aWRlIGJ1ZmZlcnMgZm9yIHNhbXBsZSBhY2N1cmF0ZSBpbnRlcnZhbCBoYW5kbGluZwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIHNraXAgbGV2ZWwgbWVzc2FnZSB3aGVuIHByb2Nlc3NpbmcgYnVmZmVycyA+IHRoZSByZXF1ZXN0ZWQKCSAgaW50ZXJ2YWwuIEFsc28gdGhlIG1lc3NhZ2UgZnJlcXVlbmN5IHdvdWxkIGNvbnRhaW4gcXVpdGUgc29tZSBqaXR0ZXIgZHVlIHRvIG9ubHkKCSAgY29uc2lkZXJpbmcgdGhlbSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcnMuCgkgIENsZWFudXAgdGhlIHRlc3RzIHdoaWxlIHdlJ3JlIGF0IGl0LgoKMjAxMy0wMy0xOSAwODoyMzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIG9sZCBzaW5jZSBjb21tZW50cyBhbmQgdXBkYXRlIGxvZ2dpbmcKCSAgRG9uJ3QgcHJldGVuZCB0aGF0IHdlIGhhdmUgYSB0aW1lc3RhbXAgb24gYSBidWZmZXIgd2hlbiB3ZSBuZXZlciBzZXQgb25lLgoKMjAxMy0wMy0xOCAyMDo1OToyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIG9sZCBzaW5jZSBjb21tZW50CgoyMDEzLTA0LTAzIDE3OjUzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSB0aGUgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5IG9mIHVkcHNyYwoKMjAxMy0wNC0wMyAxMTowOTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgYWxsIHF1ZXVlZCBidWZmZXJzCgkgIERvbid0IGp1c3QgbG9vcCBvdmVyIHRoZSBmaXJzdCBudW1fcXVldWVkIGJ1ZmZlcnMgYnV0IGxvb3Agb3ZlcgoJICBhbGwgdGhlIGJ1ZmZlcnMgYW5kIGNoZWNrIGlmIHRoZXkgbmVlZCB0byBiZSBmcmVlZC4gSXQgaXMgcG9zc2libGUgdGhhdAoJICBub3QgYWxsIGJ1ZmZlcnMgYXJlIHF1ZXVlZCBhbmQgdGhlbiB0aGUgZW50cnkgaW4gb3VyIGFycmF5IHdpbGwgYmUgTlVMTC4KCSAgVGhvc2UgYnVmZmVycyB0aGF0IGFyZSBub3QgcXVldWVkIHdlcmUgZnJlZWQgaW4gc3RvcCgpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NjUxCgoyMDEzLTA0LTAzIDExOjA5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wNC0wMiAyMzo0MjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IE9ubHkgZm9yd2FyZCBzdGljayBldmVudHMgd2hpbGUgaG9sZGluZyB0aGUgc2lua3BhZCBzdHJlYW0gbG9jawoJICBPdGhlcndpc2Ugd2UgZ2V0IGEgcmFjZSB3aGVyZSBpZiB0aGUgUlRDUCBwYWNrZXQgY29tZXMgaW4gZmlyc3QgYW5kIHdoaWxlCgkgIGl0IGlzIGFkZGVkIHRoZSBwYWRzLCB0aGUgc2VnbWVudCBldmVudCBhcnJpdmVzIG9uIHRoZSBSVFAgc3RyZWFtLCB0aGUgZXZlbnQKCSAgbWF5IGJlIGxvc3QgY29tcGxldGVseSBhbmQgbmV2ZXIgZm9yd2FyZGVkLgoKMjAxMy0wNC0wMiAyMzozNTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IE5vIG5lZWQgdG8gZXhwbGljaXRlbHkgZm9yd2FyZCB0aGUgY2FwcwoJICBUaGV5IGFyZSBmb3J3YXJkZWQgd2l0aCB0aGUgb3RoZXIgZXZlbnRzCgoyMDEzLTA0LTAyIDIyOjI5OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBydHBzc3JjZGVtdXg6IFJlbW92ZSB1bnVzZWQgR3N0U2VnbWVudAoKMjAxMy0wNC0wMiAyMjoyNjowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFNpbXBsaWZ5IGV2ZW50IGZvcndhcmRpbmcKCSAgVXNlIHRoZSBnc3RfcGFkX2ZvcndhcmQoKSBtZWNoYW5pYywgdGhpcyB3YXkgd2Ugd29uJ3QgbWlzcyBwYWRzIHRoYXQgYXJlCgkgIGFkZGVkIHdoaWxlIHdlIGFyZSBwdXNoaW5nCgoyMDEzLTA0LTAyIDIxOjUzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRG9uJ3QgY3Jvc3MgdGhlIGludGVybmFsIGxpbmtzCgkgIFdlIGhhZCB0aGUgd3JvbmcgY29uZGl0aW9uIHRvIGNoZWNrIGZvciB0aGUgaW50ZXJuYWwgbGlua3MsIHNvIFJUUCBhbmQgUlRDUAoJICBwYWRzIGdvdCBjcm9zc2VkIQoKMjAxMy0wMy0zMSAxNzo1NDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0wMiAyMzozNjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA4LTI5IDE3OjI0OjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBUcnVlSEQgYXVkaW8gY29kZWMgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzExMwoKMjAxMy0wMy0zMSAxOToxNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhcGF5OiBhZGQgZGVsdGEtdW5pdCB0byBvdXRwdXQgZnJhbWVzCgoyMDEzLTAzLTIzIDA1OjIyOjIzICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcCBkZWx0YSBhcyBkdXJhdGlvbiBpZiBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NDM3CgoyMDEzLTAzLTMwIDA5OjQ0OjQxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cDogZml4ZXMgZGVidWcgbWVzc2FnZSBwcmludGYgcmVsYXRlZCBjb21waWxlciB3YXJuaW5ncyBpbiBTQkMgZGVwYXlsb2FkZXIKCjIwMTMtMDMtMjggMTY6NDY6MzYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5Lmg6CgkgIHJ0cDogQWRkIGFuIHJ0cHNiY2RlcGF5IGVsZW1lbnQKCSAgUHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCAtIHRha2VzIFNCQyBlbmNhcHN1bGF0ZWQgaW4gUlRQLCBkZXBheWxvYWRzLCBhbmQKCSAgcHVzaGVzIG91dCBTQkMgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNyAyMjoxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cDogZml4IFNCQyBwYXlsb2FkZXIKCSAgSW5pdCBSVFAgYnVmZmVyIG9uIHN0YWNrIGNvcnJlY3RseSwgc28gbWFwcGluZyBpdCB3b3JrcwoJICB3aXRob3V0IGNyaXRpY2FscyBhbmQgdGhlIHBheWxvYWRlciBhY3R1YWxseSB3b3Jrcy4KCjIwMTMtMDMtMjYgMTQ6NDQ6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIGZvciBhIHN1YnNldCBpbnN0ZWFkIG9mIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gaW4gYWNjZXB0LWNhcHMKCjIwMTMtMDMtMjYgMTQ6Mzk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFByb3Blcmx5IGhhbmRsZSB0aGUgZmlsdGVyIGNhcHMgaW4gZ2V0X2NhcHMoKQoKMjAxMy0wMy0yNiAxNDozNTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRG9uJ3QgdW5uZWNlc3NhcmlseSBnZXQgdGhlIHBhcmVudCBjbGFzcyBpbiBjbGFzc19pbml0CgkgIFRoZSB0cmFtcG9saW5lIGdlbmVyYXRlZCBieSBHX0RFRklORV9UWVBFIGRvZXMgdGhhdCBhbHJlYWR5LgoKMjAxMy0wMy0yNSAxODowMjoxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgVXNlICUwM3UgZm9yIGZvcm1hdCBpbiBnc3RfcGFkX2NyZWF0ZV9zdHJlYW1faWRfcHJpbnRmKCkKCjIwMTMtMDMtMjUgMTA6MTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBQcmV2ZW50IHVubmVlZGVkIGNhcHMgY29weWluZyBhbmQgYWxsb2NhdGlvbgoKMjAxMy0wMi0wMSAxNDozMzo0MSArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IFBhc3MgYW55IG9yIGZpbHRlciBjYXBzIHVwc3RyZWFtCgkgIGNhcHNldHRlciBhY2NlcHRzIGFueXRoaW5nIGFuZCBqdXN0IGZvcndhcmRzIGRpZmZlcmVudCBjYXBzLAoJICBhcyBzdWNoIGl0IHNob3VsZCByZXR1cm4gQU5ZIGNhcHMgb24gdGhlIHNpbmtwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDUKCjIwMTMtMDMtMDYgMTM6MTc6NTQgKzAwMDAgIFRvbSBHcmVlbndvb2QgPHRncmVlbndvb2RAVG9tcy1NYWNCb29rLVByby5sb2NhbD4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGZvciBkaXZpZGUgYnkgemVybyB3aGVuIHVzaW5nIDAvMSBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcwOQoKMjAxMy0wMy0yNCAxNzo1NTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZXhwb3NlIENVRSBzaGVldCBpdGVtcyBhcyB0cmFja3Mgbm90IGNoYXB0ZXIgZW50cmllcyBpbiBUT0MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzMwNgoKMjAxMy0wMy0yMyAxMzoxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWRkIG1vcmUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjMgMTI6NTk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGFkZCBzb21lIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTIwIDIxOjM4OjQwICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IGFkZCBUT0Mgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwOTk4CgoyMDEzLTAzLTIzIDA0OjU2OjM2ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2UgZW1wdHkgc3VidGl0bGUgYnVmZmVyIHJlY29nbml0aW9uIG1vcmUgcm9idXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMDQgMTU6NDk6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB1bm1hcCBzb3VyY2UgZnJhbWUgd2hlbiBkb25lCgoyMDEzLTAzLTIyIDE1OjE0OjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCB0ZXN0IHJlZ3Jlc3Npb24gd2l0aCBvbmUgYnVmZmVyIHN0cmVhbXMKCjIwMTMtMDMtMDUgMTc6MDA6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNwbGl0IGxhcmdlIHJhdyBhdWRpbyBzYW1wbGVzCgkgIEluIG9yZGVyIHRvIGRlYWwgd2l0aCBhIGZpbGUgdGhhdCBoYXMgc2FtcGxlcyB0aGF0IGFyZSAyNCBzZWNvbmRzCgkgIGxvbmcuICBTZWVraW5nIHN0aWxsIGRvZXNuJ3Qgd29yayB3aXRoIHN1Y2ggZmlsZXMuCgoyMDEzLTAzLTIyIDExOjU0OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciBkdHMtbWV0aG9kCgoyMDEzLTAzLTIyIDEzOjI0OjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogZGVwcmVjYXRlIGR0cy1tZXRob2QgcHJvcGVydHkKCjIwMTMtMDMtMTMgMTc6MDg6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHByb2JsZW1zIGNhdXNpbmcgYmFkIGR1cmF0aW9ucyBpbiBmaWxlCgkgIC0gRml4IHVwIG91dC1vZi1vcmRlciBpbmNvbWluZyBEVFMgdmFsdWVzLgoJICAtIEZpeCBkdXJhdGlvbiBvZiBpbml0aWFsIHNhbXBsZS4KCjIwMTMtMDMtMTIgMTk6MDg6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGFsbCB0aW1lc3RhbXBzIG9uY2UgZmlyc3RfdHMgaXMgZGV0ZXJtaW5lZAoKMjAxMy0wMi0xNCAxNjozNDozNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBQVFMvRFRTIGZyb20gaW5jb21pbmcgYnVmZmVycwoJICBSZW1vdmUgb2xkIERUUyBndWVzc2luZyBjb2RlLgoKMjAxMy0wMy0xOCAxMjozMDo1MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBleHBvc2UgbXVsYXcgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDUyCgoyMDEzLTAzLTIyIDEwOjUwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBPcmMgPj0gMC40LjE3CgkgIE9yYyAwLjQuMTcgZml4ZXMgYSBidW5jaCBjcmFzaGVzIG9uIGkzODYgYW5kIFJQaSB3aGVuIG9yYwoJICBmdW5jdGlvbnMgY2FuJ3QgYmUgY29tcGlsZWQgYW5kIHRoZSBmYWxsYmFjayBmdW5jdGlvbiBpcwoJICBzdXBwb3NlZCB0byBiZSB1c2VkLiBBbHNvIGZpeGVzIHNvbWUgaXNzdWVzIG9uIFBvd2VyUEMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzg2MgoKMjAxMy0wMy0yMiAwODo0NzoxNyArMDAwMCAgUm9kb2xmbyBTY2h1bHogZGUgTGltYSA8cm9kb2xmb0Byb2Rzb2Z0Lm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc2FtcGxlIGxlYWsgd2hlbiBwcm9jZXNzaW5nIHByaXZhdGUgcXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzU1CgoyMDEzLTAzLTIyIDAyOjI0OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHN0cmVhbSBsYW5ndWFnZSBjb2RlIGZyb20gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNTgKCjIwMTMtMDMtMjEgMDI6NTU6MDYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2VuZCBHQVAgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMjEgMDI6NTM6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaWdub3JlIGVtcHR5IHN1YnRpdGxlIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0yMSAwMjo1MjowNyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlY29nbml6ZSBTQlRMIHN1YnR5cGUgZm9yIHN1YnRpdGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTE3IDE2OjI3OjAzICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBzdXBwb3J0IGZvciB0aGUgdG9jLXNlbGVjdCBldmVudAoJICBTZWxlY3QgdHJhY2tzIGZyb20gdGhlIENVRSBzaGVldCBieSBzZW5kaW5nIGEgdG9jLXNlbGVjdAoJICBldmVudCBiYXNlZCBvbiB0aGUgdWlkIGluIHRoZSBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTMtMDMtMTkgMTg6MDk6MzEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgbXA0bXV4OiBpbiBmYXN0c3RhcnQgbW9kZSwgZG9uJ3Qgb3V0cHV0IHVwIHRvIDQga0Igb2YgZ2FyYmFnZSBhdCB0aGUgZW5kLgoKMjAxMy0wMy0yMCAwMDozNToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IHBhY2sgbXVsdGlwbGUgZnJhbWVzIGludG8gb25lIG91dHB1dCBidWZmZXIKCSAgRG9uJ3Qgb3V0cHV0IGEgc2luZ2xlIGJ1ZmZlciBmb3IgZXZlcnkgdGlueSBTQkMgZnJhbWUKCjIwMTMtMDMtMTggMTQ6NTk6MzUgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIGFnYWluc3QgbmV3ZXIga2VybmVsIGhlYWRlcnMgYXMgb24gRkMxOQoKMjAxMy0wMy0xNCAxNDoxMjowNSArMDEwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBpbmZpbml0ZSBsb29wIG9uIEVPUyB3aXRoIG5vbi1kZWZhdWx0IG1ldGhvZHMgb3IgZmllbGRzCgkgIEZpeGVzIHByb2JsZW0gb2YgaW5maW5pdGUgbG9vcCBpbiBnc3RfZGVpbnRlcmxhY2VfcmVzZXRfaGlzdG9yeS4KCSAgTGFzdCBmaWVsZCBpbiB0aGUgaGlzdG9yeSB3YXMgbmV2ZXIgZGVpbnRlcmxhY2VkIGJlY2F1c2UgaWR4IGJlY29tZXMgbmVnYXRpdmUuCgkgIEhhcHBlbnMgZS5nLiB3aXRoIG1ldGhvZD1zY2FsZXJib2IgZmllbGRzPWJvdHRvbSBvcgoJICBtZXRob2Q9Z3JlZWR5bCBmaWVsZHM9dG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzE3MwoKMjAxMy0wMy0xMiAwOTo0ODozMSArMDAwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBkb24ndCByZXR1cm4gRkFMU0Ugd2hlbiBkcm9wcGluZyBzaW5rIGV2ZW50cwoJICBGaXhlcyBwcm9ibGVtIGluIGNvbmp1bmN0aW9uIHdpdGggYXZpZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NDMKCjIwMTMtMDMtMTIgMDA6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNoYW5nZSByYXcgdmlkZW8gY2FwcyBvcmRlciBzbyB0aGF0IEdSQVk4IGlzIGxhc3QKCSAgUGVvcGxlIGxpa2UgY29sb3Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MwoKMjAxMy0wMy0xMSAxNDo1MDo0MSArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEb24ndCB1c2UgdXBzdHJlYW0gY2FwcyB3aXRoIHBlZXJfcXVlcnlfY2FwcyAoKQoJICBDYWxsaW5nIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzICgpIG9uIHRoZSBzcmMgcGFkIHdpdGggdGhlIGNhcHMKCSAgdXBzdHJlYW0gY2FuIHByb2R1Y2UgYXMgYSBmaWx0ZXIgZnJvbSBnc3RfcnRwX2gyNjRfcGF5X2dldGNhcHMgKCkKCSAgaXMgd3JvbmcgYW5kIG1ha2VzIGNhcHMgbmVnb3RpYXRpb24gZmFpbCBpZiB1cHN0cmVhbSBjYXBzIGFyZSBub3QKCSAgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTYyOQoKMjAxMy0wMy0xMCAwOToxMDoxOCArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHN1cHBvcnQgcmF3IEJHUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQzCgoyMDEzLTAzLTEwIDA5OjI1OjM0ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN1cHBvcnQgcmF3IHZpZGVvIHdpdGggbmVnYXRpdmUgaGVpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDEKCjIwMTMtMDMtMDUgMTQ6NDA6NTYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0IGNoZWNrdGVzdDogRG8gbm90IGZhaWwgd2l0aG91dCB2aWRlb3NpbmsKCSAgSWYgdGhlcmUgaXMgbm8gdmlkZW9zaW5rIGF2YWlsYWJsZSBhdXRvdmlkZW9zaW5rIHdpbGwgY29udGFpbiBhCgkgIGZha2VzaW5rIGluc3RlYWQgd2hpY2ggbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQgaW4gdGhlIHVuaXQgdGVzdC4KCjIwMTMtMDMtMDkgMDE6MTg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZHRtZjogbW92ZSBkdG1mIHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wOSAwMDozMDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnZHRtZi1tb3ZlZC1mcm9tLWJhZCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wNSAyMToyMjoxOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGFkZCBzdXBwb3J0IGZvciBpT1MgdXNpbmcgdGhlIFJlbW90ZUlPIEF1ZGlvVW5pdAoKMjAxMy0wMy0wNSAyMToxNzo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvOiBhZGQgYSBmYcOnYWRlIGZvciB0aGUgQ29yZUF1ZGlvIEFQSQoKMjAxMy0wMy0wNyAwMDowMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmRlMjIxYyB0byAwNGM3YTFlCgoyMDEzLTAzLTAzIDExOjU5OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbWF0cm9za2E6IEluY2x1ZGUgY29uZmlnLmgsIGl0J3MgbmVlZGVkIGZvciBfc3RkaW50LmgKCjIwMTMtMDMtMDMgMTE6NTM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggKHdyb25nKSB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEzLTAzLTAyIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCB2YXJpYW50IGZpZWxkIHRvIEguMjYzIGNhcHMKCSAgYXZkZWNfaDI2MyB3b24ndCBnZXQgcGx1Z2dlZCBvdGhlcndpc2UuCgoyMDEzLTAyLTIyIDE5OjA2OjUyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBza2lwIGRpc2FibGVkIHRyYWNrcwoJICBJU08vSUVDIDE0NDk2LTEyIHNwZWNpZmllcyBkaXNhYmxlZCB0cmFja3Mgc2hvdWxkIGJlIGNvbXBsZXRlbHkKCSAgaWdub3JlZCwgc28ganVzdCBkbyBpdC4KCSAgQXZvaWRzIGRlYWRsb2NrIGR1cmluZyBwcmVyb2xsaW5nIGZvciBzb21lIGZpbGVzLgoJICBBbHNvIHByZXZlbnRzICdjaGFwdGVyJyBzdWJ0aXRsZSB0cmFja3MgZnJvbSBzaG93aW5nIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTkzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjg3OTAKCjIwMTMtMDItMjUgMDk6NTg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogcmUtYWRkIHN1cHByZXNzaW9uIGZvciBHVmFsdWVBcnJheSB3YXJuaW5ncyB0byB1bml0IHRlc3QgYXMgd2VsbAoKMjAxMy0wMi0yOCAxMzoyNTowNiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiB1c2UgcmVsYXRpdmUgaW5jbHVkZSBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yOCAwODo0Njo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIHRoZSBzaW5jZSBkb2MtY29tbWVudCBmcm9tIDAuMTAKCjIwMTMtMDItMjggMDg6NDQ6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgbGV2ZWw6IGFkZCBhICJwb3N0LW1lc3NhZ2VzIiBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlICJtZXNzYWdlIgoJICBJbiBzcGVjdHJ1bSB0aGlzIHdhcyBjaGFuZ2VkIGZyb20gMC4xMCB0byAxLjAsIGxldHMgZG8gdGhpcyBoZXJlIHRvby4KCjIwMTMtMDItMjcgMTg6NTY6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdHMgZm9yIGR0bWZzcmMKCjIwMTMtMDItMjcgMTY6MTU6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBGaXggcmVmIGxlYWsgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI2IDE0OjE4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBzdHJlYW10eXBlIGlzIG5vdCBwdXQgYnkgYWxsIFJUU1Agc2VydmVyLCBub3QgbWFrZSBpdCBvcHRpb25hbAoJICBTcGVjaWZpYyBjYXNlIGhlcmUgaXMgV293emEgMy41LjAKCjIwMTMtMDItMjUgMDA6MzU6NTggKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHB1dCBiYWNrIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgoyMDEzLTAyLTI0IDE3OjAwOjE0ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBzZW5kIGxhc3QgbWVzc2FnZSBvbiBFT1MKCjIwMTMtMDItMjMgMTQ6MzQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTogaGFuZGxlIHNvbWUgbW9yZSAwLXNpemUgYnVmZmVyIGNhc2VzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NDQKCjIwMTMtMDItMjMgMTg6NTA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggdXAgZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgoyMDEyLTExLTIwIDEyOjE0OjA3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBVcGRhdGUgc2VnZG9uZSBwZXJpb2RpY2FsbHkKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXBkYXRlIHNlZ2RvbmUgYmFzZWQgb24gdGhlIHJlYWQgaW5kZXggcmVjZWl2ZWQKCSAgZHVyaW5nIGxhdGVuY3kgdXBkYXRlcy4gQXMgdGhlIGNvbW1lbnQgbm90ZXMsIHdlIG1ha2Ugc29tZSBjb21wcm9taXNlcwoJICB0byBkZWFsIHdpdGggdGhlIGZhY3QgdGhhdCBzZWdkb25lIGlzIGEgc2VnbWVudCBtdWx0aXBsZSwgd2hpbGUgdGhlIHJlYWQKCSAgaW5kZXggb2ZmZXJzIGZpbmVyIGdyYW51bGFyaXR5LiBUaGUgdXBkYXRlcyBhcmUgYWxzbyBub3QgdmVyeSBvZnRlbgoJICAoMTAwbXMgc2luY2UgdGhhdCBpcyBob3cgb2Z0ZW4gYXV0b21hdGljIHRpbWluZyB1cGRhdGVzIGFyZSBwcm92aWRlZCkuCgkgIEFsbCB0aGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgYmFzZWF1ZGlvc2luayBzYW1wbGUgYWxpZ25tZW50IGNvZGUgdG8gd29yawoJICBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyNTcKCjIwMTMtMDItMTMgMTA6NDY6NTQgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IHdyb25nIGNvZGUgb3JnYW5pc2F0aW9uIGluIGNhc2Ugb2YgY29sbGlzaW9uCgkgIGNoYW5nZV9zc3JjIGZpZWxkIG9mIFJUUFNlc3Npb24gc2hvdWxkIGJlIHNldCBiZWZvcmUgY2FsbGluZwoJICBydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkICgpIGFzIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsIHJlY29uc2lkZXIgZnVuY3Rpb24KCSAgdGhhdCB3aWxsIHdha2UgdXAgcnRjcF90aHJlYWQgd2hpY2ggd2lsbCBjYWxsIHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgKCkgdGhhdCB3aWxsCgkgIGNoZWNrIGNoYW5nZV9zc3JjIHRvIGNoYW5nZSB0aGUgc3NyYy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDE4NAoKMjAxMy0wMi0yMSAxMToxNToyMyAtMDUwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvZiBjaHJvbWEga2V5aW5nLXJlbGF0ZWQgcHJvcGVydGllcyBhbmQgZW51bXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM3NAoKMjAxMy0wMi0yMSAxNTowMToxNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRG8gbm90IG92ZXJyaWRlIHRoZSBtZXRob2Qgd2l0aCBjdXN0b20gci9nL2IgdmFsdWVzCgkgIERlcGVuZGluZyBvbiB0aGUgb3JkZXIgZ19vYmplY3Rfc2V0KCkgY2FsbHMgYWFyZSBtYWRlLCB0aGUKCSAgdGFyZ2V0IHIvZy9iIHNldHRpbmdzIHdpbGwgb3ZlcnJpZGUgdGhlIG1ldGhvZCBpZiBzZXQgdG8KCSAgZ3JlZW4vYmx1ZS4gQ2hhbmdlIHRoYXQgc28gd2UgZG8gbm90IHVzZSB0aGUgdGFyZ2V0LXIvZy9iIHZhbHVlcwoJICB1bmxlc3MgdGhlIG1ldGhvZCBpcyBzZXQgdG8gY3VzdG9tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mzc0CgoyMDEzLTAyLTIwIDE1OjQ2OjQzICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBkbyBub3QgbGVhayBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mjc1CgoyMDEzLTAyLTIwIDIxOjAzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBvbmx5IGRlbGF5IFJUQ1Agd2hlbiB3ZSBhcmUgYSBzZW5kZXIKCSAgT25seSBkZWxheSB0aGUgUlRDUCB0aHJlYWQgd2hlbiB3ZSBhcmUgYSBzZW5kZXIsIHdoaWNoIHdlIGNhbiBrbm93IGJlY2F1c2Ugd2UKCSAgaGF2ZSBhIHNlbmRfcnRwX3NyYyBwYWQuIE90aGVyd2lzZSB3ZSBtaWdodCBkZWxheSB0aGUgUlRDUCB0aHJlYWQgaWYgd2UKCSAgYXJlIG9ubHkgYSByZWNlaXZlciBhbmQgdGhlbiB0aGVyZSBpcyBubyBjb2RlIHBhdGggdGhhdCB3YWtlcyB1cCB0aGUKCSAgUlRDUCB0aHJlYWQgYW5kIHdlIGVuZCB1cCB3aXRob3V0IFJUQ1AgcGFja2V0cy4KCjIwMTMtMDItMTkgMTE6NDc6MjAgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQWRkIHN1cHBvcnQgb2YgZG1hYnVmCgkgIHY0bCBoYXMgYWRkIGEgbmV3IElPQ1RMIHRvIGV4cG9ydCBhIGJ1ZmZlciBieSB1c2luZyBkbWFidWYuCgkgIFRoaXMgcGF0Y2ggYWxsb3cgdG8gdXNlIHRoaXMgbmV3IElPVENMIGlmIGl0IGhhcyBiZWVuIGRlZmluZWQgaW4gdmlkZW9kZXYyLmgKCSAgSSBpbnRyb2R1Y2UgYSBuZXcgSU8gbW9kZSAoR1NUX1Y0TDJfSU9fRE1BQlVGKSB0byBlbmFibGUgdGhpcyB3YXkgb2Ygd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzgyNgoKMjAxMy0wMi0xOCAyMDowNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHVwIGRvZGd5IGNvZGUgdGhhdCB0cmllcyB0byBmaXggdXAgYSBicm9rZW4gbW9vdiBhdG9tCgkgIEFmdGVyIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGdzdF9idWZmZXJfY29weV9pbnRvKCkgd2lsbCBsaWtlbHkKCSAgYXBwZW5kIHRvIHRoZSBhbHJlYWR5LWV4aXN0aW5nIG1lbW9yeSBpbnN0ZWFkIG9mIGZpbGxpbmcgaXQuCgoyMDEzLTAyLTE4IDE2OjMyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIG9uIHNob3J0IE1PT1YgYXRvbQoJICBEb24ndCB1bm1hcCBzaG9ydCBNT09WIGF0b20gYnVmZmVyIHR3aWNlLCB3aGljaCBoYXBwZW5lZAoJICBpbiB0aGUgY2FzZSB3aGVyZSB3ZSBkb24ndCBmaXggdXAgdGhlIE1PT1YgYXRvbS4KCSAgRml4ZXMgY3Jhc2hlcyB3aGVuIHRodW1ibmFpbGluZyBwYXJ0aWFsIG1wNCBmaWxlIHdoZXJlCgkgIHRoZSBNT09WIGF0b20gaXMgc3RpbGwgaW5jb21wbGV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDAxMAoKMjAxMy0wMi0xNiAxNjo0OToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICBzb3VwaHR0cHNyYzogc2V0IFNPVVBfVkVSU0lPTl97TUlOX1JFUVVJUkVELE1BWF9BTExPV0VEfSB0byBzdXBwcmVzcyBkZXByZWNhdGlvbnMgd2l0aCBuZXdlciB2ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgoyMDEzLTAyLTE2IDE1OjQ3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiB1c2UgZGVmYXVsdCBwcm94eSByZXNvbHZlciBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgR05PTUUgcHJveHkgcmVzb2x2ZXIKCSAgQXBwYXJlbnRseSB0aGVyZSdzIG5vIHJlYXNvbiB0byB1c2UgaXQgYW55IGxvbmdlci4gRHJvcCBsaWJzb3VwLWdub21lCgkgIGRlcGVuZGVuY3kgd2hpbGUgYXQgaXQsIG5vdyB0aGF0IHdlIGRvbid0IG5lZWQgYW55dGhpbmcgZnJvbSBpdCBhbnkKCSAgbW9yZSAoaXQgb25seSBjb25zaXN0cyBlbnRpcmVseSBvZiBkZXByZWNhdGVkIEFQSSBub3cgYW55d2F5cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTMtMDItMTUgMTU6NDM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZml4IHNvbWUgaDI2NCBjYXBzCgkgIERvZXNuJ3QgZml4IGFueXRoaW5nIGluIHBhcnRpY3VsYXIsIGJ1dCBpcwoJICBzdGlsbCBuZWVkZWQgaGVyZSBmb3IgY29ycmVjdG5lc3MuCgoyMDEzLTAyLTE1IDA4OjE5OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiByZW1vdmUgY2hhbm5lbC1tYXNrIGZyb20gY2FwcwoJICBUaGUgY2hhbm5lbC1tYXNrIGlzIG9ubHkgbmVlZGVkIGZvciBjaGFubmVscz4yIHdoaWNoIHdlIGRvbid0IGRvLgoKMjAxMy0wMi0xNSAxNjoyMToyMSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZG9uJ3QgY2hlY2sgc3RyaWRlIGZvciBlbmNvZGVkIGZvcm1hdHMKCSAgRG9uJ3QgdHJ5IHRvIGNoZWNrIHRoZSBzdHJpZGUgZm9yIGVuY29kZWQgZm9ybWF0cy4gU29tZSBkcml2ZXJzIG91dHB1dAoJICBzb21ldGhpbmcgIT0gMCBhbmQgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGZhaWwgb24gdGhhdC4KCjIwMTMtMDItMTUgMTQ6MTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiB1c2UgZ19zb2NrZXRfc2V0X29wdGlvbigpIHRvIHNldCBidWZmZXIgc2l6ZSB3aXRoIG5ld2VyIEdMaWIgdmVyc2lvbnMKCSAgU28gd2UgaGF2ZSB0byB3b3JyeSBsZXNzIGFib3V0IHBvcnRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDAwCgoyMDEzLTAyLTE0IDE0OjEzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIHNvZi1tYXJrZXIgZnJvbSB0ZW1wbGF0ZSBjYXBzIGZvciBub3cKCSAgTm93IHRoYXQgdGhlIHN1YnNldCBjaGVjayBhY3R1YWxseSB3b3JrcywgdGhpcyBicmVha3MKCSAgdGhpbmdzIHdpdGggZGVtdXhlcnMgdGhhdCBkb24ndCBwdXQgYSAic29mLW1hcmtlciIKCSAgaW4gdGhlaXIganBlZyBjYXBzLCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIGdvb2QgcGFyc2VyCgkgIHRvIHBsdWcgZWl0aGVyIHlldC4KCjIwMTMtMDItMTMgMTI6MzI6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IFB1dCB0aGUgU09GIG1hcmtlciBpbnRvIHRoZSBjYXBzCgoyMDEzLTAyLTEzIDEyOjAyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwLXBheWxvYWRpbmc6IEZpeCB1bml0IHRlc3QgY2FwcyBhbmQgQU1SIGRlcGF5bG9hZGVyIHNpbmsgdGVtcGxhdGUgY2FwcwoJICBGaWVsZHMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGFjdHVhbCBjYXBzLCBvciB0b28gbWFueSBmaWVsZHMKCSAgZXhpc3RlZCBpbiB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTMtMDItMTMgMTE6NTM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjYXBzIHVzZWQgaW4gdGhlIHVuaXQgdGVzdAoJICBUaGUgQUFDIGNhcHMgcGFzc2VkIHdlcmUgaW5jb21wbGV0ZS4KCjIwMTMtMDItMTMgMTE6NDk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFjazogRml4IHVuaXQgdGVzdHMsIHdpZHRoIGlzIG5vdyBjYWxsZWQgZGVwdGggaW4gdGhlIGNhcHMgaW4gMS4wCgoyMDEzLTAyLTEyIDIzOjMxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IG1ha2Ugc291cGh0dHBzcmMgdW5pdCB0ZXN0IHdvcmsgZXZlbiBpZiBodHRwX3Byb3h5IGlzIHNldAoJICBXZSdyZSB0ZXN0aW5nIHdpdGggYW4gaHR0cCBzZXJ2ZXIgb24gbG9jYWxob3N0LCBidXQgZG9uJ3Qgc3VwcG9ydAoJICBhbiBleGNlcHRpb24gbGlzdCBmb3IgdGhlIGh0dHBfcHJveHksIHNvIGp1c3QgdW5zZXQgdGhlIGVudmlyb25tZW50CgkgIHZhcmlhYmxlIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSBldmVuIGlmIHRoZQoJICBlbnZpcm9ubWVudCBoYXMgaHR0cF9wcm94eSBzZXQuCgkgIEFsc28sIGRvbid0IHNraXAgYWxsIHRlc3RzIGlmIHRoZXJlIGlzIGFuIGlzc3VlIHdpdGggdGhlIFNTTCBzZXJ2ZXIsCgkgIGp1c3QgcnVuIHRoZSBub24tU1NMIHRlc3RzIHRoZW4uCgkgIGh0dHBzOi8vamVua2lucy5xYS51YnVudHUuY29tL3ZpZXcvUmFyaW5nL3ZpZXcvSkhCdWlsZCUyMEdub21lL2pvYi9qaGJ1aWxkLWFtZDY0LWdzdC1wbHVnaW5zLWdvb2QvCgoyMDEzLTAyLTEyIDEyOjUzOjUyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBjb2RlY19kYXRhIGZvciBQcm9SZXMKCjIwMTMtMDItMDggMDE6MDI6MTAgKzExMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBGaXhpbmcgYnVmZmVyIGxlYWsgaW4gZ3N0X2F2aV9tdXhfZG9fYnVmZmVyCgkgIGdzdF9hdmlfbXV4X2RvX2J1ZmZlciB3YXMgbGVha2luZyBkYXRhIGZyb20gZ3N0X2NvbGxlY3RfcGFkc19wb3AuCgoyMDEzLTAyLTEwIDE1OjEwOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3JyZWN0IGR1cmF0aW9uIGZvciBhdWRpbyBWQlIgYnVmZmVycyBpbiBwdWxsIG1vZGUKCjIwMTMtMDItMDggMjE6Mjg6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByb3BlciBwb3NpdGlvbiByZXBvcnRpbmcgYW5kIHB1c2ggbW9kZSB0aW1lc3RhbXBpbmcKCSAgLi4uIGFuZCBhbGlnbiBjdXJyZW50X3RvdGFsIHNlbWFudGljcyBpbiBwdXNoIGFuZCBwdWxsIG1vZGUsCgkgIHdoaWNoIHRyYWNrcyBieXRlcyBmb3IgQ0JSIGFuZCBibG9ja3MgZm9yIFZCUi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQ4MQoKMjAxMy0wMi0wOCAxNzowNToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZGVsYXkgUlRDUCB1bnRpbCBmaXJzdCBSVFAgcGFja2V0CgkgIERlbGF5IHNlbmRpbmcgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IHVudGlsIHdlIGhhdmUgc2VudCB0aGUgZmlyc3QgUlRQIHBhY2tldC4KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc2VuZCBvdXQgYSBSZWNlaXZlciBSZXBvcnQgaW5zdGVhZCBvZiBhIHNlbmRlciByZXBvcnQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNDAwCgoyMDEzLTAyLTA3IDE1OjA2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzNTUKCjIwMTMtMDEtMjkgMTA6NDg6MTcgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZm9yd2FyZCBzdGlja3kgZXZlbnRzIGFuZCB0aGVuIHNldCBjYXBzCgkgIFdoZW4gYSBuZXcgc3JjIHBhZCBpcyBhZGRlZCwgZmlyc3QgZm9yd2FyZCB0aGUgc3RpY2t5IGV2ZW50cyBhbmQgdGhlbgoJICBzZXQgdGhlIGNhcHMgb24gdGhlIHNyYyBwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4NgoKMjAxMy0wMi0wNyAxNDozMjoyNiArMDEwMCAgTWFya292dHNldiBWYWRpbSA8di5tYXJrb3Z0c2V2IGF0IHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODkzNQoKMjAxMS0wOS0yNiAxNDo0Mjo1MSAtMDcwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJld29yayBjbGVhbnVwIG9mIHN0cmVhbXMKCSAgTW92ZSB0aGUgd29yayBvZiBjbGVhbmluZyB1cCB0aGUgY2xpZW50IHN0cmVhbXMgaW4gdGhlIGZyZWVfc3RyZWFtCgkgIGZ1bmN0aW9uLiBUaGlzIGFsbG93cyB1cyB0byBwcm9wZXJseSBjbGVhbiB1cCB0aGUgY2xpZW50IHN0cmVhbXMgd2hlbiB3ZQoJICByZW1vdmUgYW4gUlRQIHN0cmVhbSBhcyB3ZWxsLgoJICBCYXNlZCBvbiBwYXRjaCBieSBTdWpheSA8c2RhdGFyQGNpc2NvLmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDE1NgoKMjAxMy0wMi0wNyAxMTo0MDozNSArMDEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8Z25vbWUgYXQgbWl0aGlzLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBhdm9pZCBjYXBzIGxlYWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMwNwoKMjAxMy0wMi0wNiAxNzoxNToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRvIHNrZXcgZXN0aW1hdGlvbiBvbmx5IGZvciBuZXcgdGltZXN0YW1wcwoJICBPbmx5IHJ1biB0aGUgc2tldyBlc3RpbWF0aW9uIGNvZGUgd2hlbiB3ZSBoYXZlIGEgbmV3IFJUUCB0aW1lc3RhbXAuIElmIHdlIGhhdmUKCSAgdGhlIHNhbWUgUlRQIHRpbWVzdGFtcCwgd2Ugc2ltcGx5IHVzZSB0aGUgcHJldmlvdXMgZXN0aW1hdGlvbi4gVGhpcyB3b3JrcwoJICBiZWNhdXNlIHRoZSBuZXcgb2JzZXJ2YXRpb24gd2l0aCB0aGUgc2FtZSBSVFAgdGltZXN0YW1wIGhhcyB0byBoYXZlIGEgYmlnZ2VyCgkgIHJlY2VpdmVyIHRpbWUgYW5kIGlzIHRodXMgbm90IGdvaW5nIHRvIGluZmx1ZW5jZSB0aGUgZXN0aW1hdGlvbiBleGNlcHQgZm9yCgkgIGNhdXNpbmcgbW9yZSBqaXR0ZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMjMKCjIwMTMtMDItMDYgMTM6NTI6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgRU9TIHdoZW4gb3VyIHNvdXJjZSBzZW5kcyBCWUUKCSAgT25seSBFT1Mgd2hlbiB3ZSByZWNlaXZlIGEgQllFIGV2ZW50IGZyb20gdGhlIFNTUkMgb2Ygb3VyIHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ1MwoKMjAxMy0wMi0wNiAxMzo0Nzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2F2ZSB0aGUgc3RyZWFtIFNTUkMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCjIwMTMtMDItMDYgMTM6MTg6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZsdXNoIGNvbm5lY3Rpb24gd2hlbiBzdG9wcGluZwoJICBXaGVuIHdlIHN0b3AsIHdlIGNhbiBmbHVzaCBhbGwgcGVuZGluZyBjb21tYW5kcyBzbyB0aGF0IHdlIGNhbiBzdG9wIGFuZAoJICBqb2luIHRoZSB0YXNrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTI0CgoyMDEzLTAyLTA1IDIyOjAyOjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgc3BlY3RydW06IHJlbW92ZSBvdXRkYXRlcyByZWFkbWUKCSAgTGV0cyByZW1vdmUgdGhlIHJlYWRtZSBmcm9tIHByZS0wLjEuMCB0aGF0IGlzIGNvbXBsZXRlbHkgaXJyZWxldmFudCBub3cuCgoyMDEzLTAyLTA1IDA3OjMyOjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBhZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDEzLTAyLTA1IDA4OjI2OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBsZXZlbC1leGFtcGxlLiBhdm9pZCB0YWtpbmcgdGhlIGFycmF5cyBhZ2FpbiBmb3IgZWFjaCBjaGFubmVsIGZvciBjbGFyaXR5CgkgIEFsc28gaW50cm9kdWNlIHNvbWUgYmxhbmsgbGluZXMgZm9yIGJldHRlciByZWFkYWJpbGl0eSBhbmQgdXBkYXRlIHRoZSBjb21tZW50cy4KCjIwMTMtMDItMDQgMTg6Mzg6NDEgKzAwMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGF1ZGlvcGFyc2VyczogZml4IHR5cG8gaW4gbm9pbnN0X2hlYWRlcnMKCjIwMTMtMDItMDQgMTE6MDg6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZ1cnRoZXIgcG9ydCB0byAxLjAKCSAgVHJhbnNmb3JtY2FwcyBpcyBub3QgY2FsbGVkIHdpdGggY2FwcyBjb250YWluaW5nIHNpbmdsZSBzdHJ1Y3R1cmVzIGFueW1vcmUuIEFsc28gYWRkIG1pc3NpbmcgZmlsdGVyIGhhbmRsaW5nLiBTdGlsbCBkb2VzIG5vdCBuZWdvdGlhdGUgdGhvdWdoLgoKMjAxMy0wMi0wMyAyMjo0NTo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IGNhcHMKCSAgV2UgZG9uJ3QgdHVybiBmbG9hdCBpbnRvIDMyYml0IHBjbS4gTG9va3MgbGlrZSBhIHR5cG8gZnJvbSB1cGRhdGluZyB0aGUgY2Fwcy4KCjIwMTMtMDItMDMgMTM6MTQ6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IEFkZCBtaXNzaW5nIGNvbWEgYmV0d2VlbiBmb3JtYXRzCgoyMDEzLTAxLTMxIDIyOjU1OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBlb3MgdGltZXN0YW1wIGNoZWNrCgkgIGZpeGVzIGhhbmcgaW4gdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwICEgdmlkZW9taXhlciAhIGZha2VzaW5rCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzUKCjIwMTMtMDEtMzEgMTE6MzU6MDkgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmF3IG1vbm9jaHJvbWUgOC1iaXQgdmlkZW8KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMgoKMjAxMy0wMS0xOCAyMTowODoxMiArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3ROYXZpZ2F0aW9uIGtleSBpbnB1dCBldmVudHMgaW4gb3N4dmlkZW9zaW5rIGNvbXBhdGlibGUgd2l0aCB4KHYpaW1hZ2VzaW5rIG9uZXMKCjIwMTMtMDEtMjkgMTA6MzA6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkICcuLi5pcyB1c2VkIHVuaW5pdGlhbGl6ZWQnCgoyMDEzLTAxLTA5IDEzOjI0OjQ5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBpbnRlcmxlYXZlZCBsYXlvdXQgY29ycmVjdGx5IGZvciBMUENNIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6NDU6MjEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIExQQ00gZm91cmNjICh1bmNvbXByZXNzZWQgYXVkaW8gaW4gUXVpY2t0aW1lNykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDo0MjozNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmludCBhbGwgZGVidWcgZm9yIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbiB2MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjE0OjE3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbiB2MiBkb2Vzbid0IG92ZXJyaWRlIHNhbXBsZXNfcGVyX3BhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDE5OjU3OjUwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhc3Mgc3RzZCBkYXRhIHRvIHF0ZGVtdXhfYXVkaW9fY2FwcygpCgkgIFdlIHdpbGwgbmVlZCB0aGF0IGxhdGVyIGZvciBMUENNIGZvcm1hdCBzdXBwb3J0LiBEaXNhYmxlCgkgIFFETTIgcGFyc2luZyBvZiBzdHNkIGRhdGEgd2hpY2ggZGVhZCBjb2RlIGJlZm9yZSBhcyB3ZWxsCgkgIGJlY2F1c2UgZGF0YSB3YXMgYWx3YXlzIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMTk6NTY6NDYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGxlbiBjaGVjayBmb3Igc291bmQgc2FtcGxlIGRlc2NyaXB0aW9ucyB2MSBhbmQgdjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0yOCAyMjo0MjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBtYW5hZ2VyOiB1c2UgQzg5LXN0eWxlIGNvbW1lbnRzCgoyMDEzLTAxLTI4IDE4OjA2OjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBGaXggZG91YmxlLWRlY2xhcmVkIHZhcmlhYmxlCgoyMDEzLTAxLTI4IDE3OjU4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwOiBGaXggY29tcGlsYXRpb24gZXJyb3JzIGluIHByZXZpb3VzIHBhdGNoZXMKCjIwMTEtMDQtMjggMjI6NTk6MjggKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBFbnN1cmUgTVQgc2FmZSBldmVudCBoYW5kbGluZyBhbmQgcGx1ZyBldmVudCBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODI2CgoyMDExLTEwLTE3IDIzOjQ1OjM3ICswMjAwICBJZGFyIFRvbGxlZnNlbiA8aXRvbGxlZnNAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtdC1zYWZlIGV2ZW50LXB1c2gKCSAgQnkgdGFraW5nIGEgcmVmIG9mIHRoZSBzaW5rLXBhZCB1bmRlciBsb2NrLCBpdCB3b24ndCBkaXNzYXBwZWFyCgkgIHdoaWxlIHRoZSBwdXNoIGlzIHRha2luZyBwbGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE2CgoyMDEyLTAxLTA0IDEwOjI5OjQ1ICswMTAwICBQYXNjYWwgQnVobGVyIDxwYWJ1aGxlckBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBTYWZlbHkgcHVzaCBvbiBwYWRzIHRoYXQgbWlnaHQgYmUgcmVtb3ZlZCBkdWUgdG8gYSBSVENQIEJZRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE1CgoyMDEzLTAxLTI4IDIwOjQyOjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOTQyMjkzIHRvIDJkZTIyMWMKCjIwMTMtMDEtMjggMTE6NTQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogaW5pdCBzb21lIHZhcmlhYmxlcyB0byBhdm9pZCBib2d1cyBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMS0yOCAxMjo0MTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHBkZXBheTogcmVtb3ZlIHBheWxvYWQgdHlwZSByZXN0cmljdGlvbnMKCSAgUmVtb3ZlIHRoZSBwdCByZXN0cmljdGlvbnMgZm9yIGFsbCB0aGUgZGVwYXlsb2FkZXJzIHRoYXQgaGF2ZSBhbgoJICBlbmNvZGluZy1uYW1lLiBXZSBjYW4gdXNlIHRoaXMgdG8gYXV0b3BsdWcgZGVjb2RlcnMuCgkgIFJlbW92ZSB0aGUgZW5jb2RpbmctbmFtZSBmb3IgYWxsIHRoZSBwYXlsb2FkZXJzIHdpdGggYSBmaXhlZCBwYXlsb2FkCgkgIHR5cGUuCgkgIFdlIG5vdyBlaXRoZXIgaGF2ZSBhbiBlbmNvZGluZy1uYW1lIG9yIGEgcHQgaW4gdGhlIHNpbmtwYWQgY2FwcyBvZgoJICBhIGRlcGF5bG9hZGVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoKMjAxMy0wMS0yOCAxMjoyMzo0MSArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHA6IHJlbW92ZSBwYXlsb2FkIHJlcXVpcmVtZW50cyBmcm9tIHNlbGVjdGVkIGRlcGF5bG9hZGVycwoJICBlbmNvZGluZyBuYW1lIGlzIHJlcXVpcmVkIGluIHRoZSBjYXBzIGFuZCBpcyBhIGJldHRlciBmaXQgZm9yIGF1dG9wbHVnZ2luZyB0aGFuCgkgIHRoZSBwdCB2YWx1ZS4gSGFyZHdhcmUgbWFudWZhY3R1cmVycyBoYXZlIGEgYmFkIGhhYml0IG9mIHNraW1taW5nIHRocm91Z2ggUkZDcwoJICBhbmQgaW4gdGhpcyBjYXNlOyB1c2UgdW5hc3NpZ25lZCBudW1iZXJzIGZvciBlbmNvZGVycyBpbnN0ZWFkIG9mIGR5bmFtaWMKCSAgbnVtYmVycy4KCSAgSW4gZXNzZW5jZSwgdGhpcyBwYXRjaCB3aWxsIGFkZCBzdXBwb3J0IGZvciBhIGxvdCBvZiBCb3NjaCBoYXJkd2FyZSBlbmNvZGVycwoJICB3aXRob3V0IGJyZWFraW5nIGF1dG9wbHVnZ2luZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoKMjAxMy0wMS0yNyAxMDoxNzo1OSArMDUzMCAgQi5QcmF0aGliaGEgPGJvc3NsaW51eEBjZGFjLmluPgoKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICB0ZXN0czogdXNlIGdfdGltZW91dF9hZGRfc2Vjb25kcyBpbnN0ZWFkIG9mIGdfdGltZW91dF9hZGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjYxNQoKMjAxMy0wMS0yNyAxMjo1NDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTogb25seSBwYXJzZSBtb292IDEgb25jZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTAxLTI2IDIyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBkdG1mc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZHRtZl9zcmNfcHJlcGFyZV9tZXNzYWdlLmlzcmEuMSc6CgkgIGdzdHJ0cGR0bWZzcmMuYzo2Njk6MzogZXJyb3I6ICdzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTMtMDEtMjUgMjE6MDY6MDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBGaXggbWlzc2luZyB3b3JrIGluIGRvYwoKMjAxMy0wMS0yNCAyMTowMDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mZGVwYXkgYW5kIHJ0cGR0bWZzcmMKCjIwMTMtMDEtMjUgMjA6Mzk6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFBvc3QgdGhlIG1lc3NhZ2VzIGFmdGVyIHRoZSBjbG9jayB3YWl0CgkgIFRoaXMgd2F5LCB0aGUgbWVzc2FnZXMgd2lsbCBiZSBjbG9zZXIgaW4gdGltZSB0byB3aGVuIHRoZSBwYWNrZXRzIGFyZSBzZW50IG91dAoKMjAxMy0wMS0yNSAyMDozNzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogT25seSBzZXQgdGhlIGR1cmF0aW9uIHdoZW4gc3RhcnRpbmcgdG8gc2VuZAoJICBUaGUgZHVyYXRpb24gZGVwZW5kcyBvbiB0aGUgY2xvY2sgcmF0ZSwgd2hpY2ggY291bGQgY2hhbmdlIGR1ZSB0byByZW5lZ290aWF0aW9uCgoyMDEzLTAxLTI1IDIwOjM3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiByZW1vdmUgInNzcmMiIGZyb20gY2FwcwoJICBzc3JjIGlzIHVpbnQgYW5kIHdlIGRvbid0IGhhdmUgYSB1aW50IHJhbmdlIHR5cGUKCjIwMTMtMDEtMjQgMjE6MDg6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiBzZXQgbGFuZ3VhZ2UgdG8gJ3VuZGVmaW5lZCcgaW5zdGVhZCBvZiBFbmdsaXNoIGJ5IGRlZmF1bHQKCjIwMTMtMDEtMjMgMjE6MzU6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogU2V0IHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gY29ycmVjdGx5IGluIHRoZSBjYXBzCgoyMDEzLTAxLTA4IDA4OjU2OjQ1ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IFJlLWVuYWJsZSBwcmVwYXJlLWZvcm1hdCBlbWlzc2lvbgoJICBXaXRoIHRoZSBwb3J0IHRvIGdzdHJlYW1lciAxLjAgdGhlIHByZXBhcmUtZm9ybWF0IHNpZ25hbCBzdG9wcGVkIGJlaW5nCgkgIGVtaXR0ZWQuIFN0YXJ0IGVtaXR0aW5nIHRoaXMgYWdhaW4gZm9yIHVzZSBpbiB1dmNoMjY0c3JjLiAgV2hpbGUgdGhlcmUKCSAgY2hhbmdlIHRoZSBlbWlzc2lvbiB0byBpbmNsdWRlIHRoZSBjYXBzIGZvciBleHRyYSBmbGV4aWJpbGl0eSBpbnN0ZWFkIG9mCgkgIGZvdXJjZSwgd2lkdGgsIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjA0MgoKMjAxMy0wMS0yMiAxODoxMjoxMCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFsbG93IGNhbGxpbmcgZnJvbSBvdXQtb2YtdHJlZQoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzA5CgoyMDEzLTAxLTIyIDE5OjI2OjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2Vyczogc2JjOiBmaXggYm9ndXMgY29tcGlsZXIgd2FybmluZwoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9zYmNfcGFyc2VfaGFuZGxlX2ZyYW1lJzoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6MjEwOjMyOiBlcnJvcjogJ2NoX21vZGUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaQoKMjAxMy0wMS0xOSAxMzoyNzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBlcnJvciBvdXQgaWYgcGFfc3RyZWFtX3Byb3BsaXN0X3VwZGF0ZSgpIHdpdGggbmV3IHRhZ3MgZmFpbHMKCSAgU2hvdWxkbid0IHJlYWxseSBoYXBwZW4gdGhlc2UgZGF5cywgYnV0IGlmIGl0IGRvZXMsIGl0J3Mgbm90IHJlYWxseQoJICBhIHByb2JsZW0gZWl0aGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MDY4CgoyMDEzLTAxLTE2IDE4OjAxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBza2lwIHNvdXBodHRwc3JjIHRlc3RzIGlmIHRoZXJlIGlzIG5vIGxvY2FsIGh0dHAgc2VydmVyIHRvIHVzZQoJICBTa2lwIHRlc3RzIGlmIHRoZSBzZXJ2ZXIgY291bGRuJ3QgYmUgc3RhcnRlZCBvciB3ZSBjYW4ndCBjb25uZWN0CgkgIHRvIGl0IGZvciBzb21lIHJlYXNvbiAoZS5nLiBkcmFjb25pYyBidWlsZCBib3QgZW52aXJvbm1lbnRzKS4KCjIwMTMtMDEtMTYgMTQ6MzI6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIGF1dG9wYXJzZXJzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTMtMDEtMTUgMTU6MDU6NDMgKzAxMDAgIE1hcnRpbiBQaXR0IDxtYXJ0aW5waXR0QGdub21lLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIF8xXzAgdmFyaWFudHMgZm9yIHRoZSB2YXJpb3VzIHJlZ2lzdHJ5IHZhcmlhYmxlcwoJICBUaGVzZSBvdmVycmlkZSB0aGUgdmFyaWFudHMgd2l0aG91dCB2ZXJzaW9uIHN1ZmZpeC4gTWFrZXMgJ21ha2UgY2hlY2snIHdvcmsKCSAgcHJvcGVybHkgaW4gZW52aXJvbm1lbnRzIHRoYXQgc2V0IHRoZSBzdWZmaXhlZCB2YXJpYW50IGZvciAxLjAsIHN1Y2ggYXMKCSAgamhidWlsZC4KCjIwMTMtMDEtMTEgMTk6MjQ6NDMgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggY3Jhc2ggaW4gb3N4dmlkZW9zaW5rIHdpdGggZXh0ZXJuYWwgd2luZG93IG91dHB1dAoKMjAxMy0wMS0xNiAxMjowNDo1OSArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIEdzdEdMVmlldyBwcm9wYWdhdGUgaW5wdXQgZXZlbnRzIHRvIGl0cyBwYXJlbnQgdmlldwoJICBGaXhlcyBidWcgIzY5MTgzMgoKMjAxMy0wMS0xNiAxMDoxOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IHVwZGF0ZSBzb21lIGZpZWxkcyBpbiB0aGUgY2FwcyB0byB0aGVpciBuZXcgbmFtZQoJICBhbmQgdG8gbWF0Y2ggdGhlIHBhcnNlci4gIm1vZGUiIGdvdCByZW5hbWVkIHRvICJjaGFubmVsLW1vZGUiCgkgIGFuZCAiYWxsb2NhdGlvbiIgdG8gImFsbG9jYXRpb24tbWV0aG9kIi4KCjIwMTMtMDEtMTUgMTc6NDQ6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBzYmNwYXJzZSBhbmQgcnRwc2JjcGF5IHRvIHBsdWdpbiBkb2NzCgoyMDEzLTAxLTE1IDE3OjM4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBTQkMgYXVkaW8gcGFyc2VyCgkgIEZyb20tc2NyYXRjaCByZXdyaXRlLCB0aGUgYmx1ZXogb25lIHdhcyB1c2VsZXNzIGFuZCBicm9rZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMTUgMTU6MDU6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNzJmYWVhIHRvIGE5NDIyOTMKCjIwMTMtMDEtMTAgMTI6Mzg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwOiBpbXBvcnQgcnRwc2JjcGF5IGZyb20gYmx1ZXogYW5kIHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBidXQgbm90IHRlc3RlZCB5ZXQgKHNiYyBlbGVtZW50cyBzdGlsbCBuZWVkIHRvIGJlIHBvcnRlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMDkgMTk6NTk6MTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZi9zcGFuZHNwOiBNb3ZlIGR0bWZkZXRlY3QgdG8gdXNlIGxpYnNwYW5kc3AKCSAgUmVtb3ZlIG91ciBjb3B5IG9mIHRoZSB0b25lX2RldGVjdC5jIGZpbGUgYW5kIHVzZSB0aGUgb3JpZ2luYWwKCSAgZnJvbSBsaWJzcGFuZHNwLiBBbHNvIG1vdmUgdGhlIGVsZW1lbnQgdG8gdGhlIHNwYW5kc3AgcGx1Z2luLgoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wMS0zMCAwMDozMToxNSArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gaXNzdWUgd2l0aGluIEdTdHJlYW1lciBwbHVnaW4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0wMi0yOSAxOTozNzoxNSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBSZW1vdmUgcG9zc2libGUgZXh0cmEgbWVtY3B5IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0yOCAxOTozODo1MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggYnVnIHNlbmRpbmcgZW1wdHkgcGFja2FnZXMgYW5kIHJlbW92ZSBhIGJ1ZmZlciBjb3B5LgoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjQgMTQ6MjU6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IGd0cmVhbWVyIHBheWxvYWRlciBzZW5kaW5nIGZyYWdtZW50ZWQgZnJhbWVzLgoKMjAwOC0wMS0yMyAxOToxNzozMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXggdXNlIG9mIGdzdHJlYW1lciBwbHVnaW4gd2l0aCByaHl0aG1ib3ggYW5kIGJhbnNoZWUgYW5kIHJ0cCB0aW1lc3RhbXBzLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAxMy0wMS0wOCAxNjoyNzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBzbWFsbCBpbXByb3ZlbWVudHMKCjIwMTMtMDEtMDcgMTU6NTA6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciBoYW5kbGUgc3luYyBjb2RlCgkgIE1vdmUgdGhlIGNvZGUgdGhhdCBjb21iaW5lcyB0aGUgbGFzdCBTUiBwYWNrZXQgYW5kIHRoZSBjdXJyZW50IGppdHRlcmJ1ZmZlciBzeW5jCgkgIHZhbHVlcyBpbnRvIGEgc3luYyBzdHJ1Y3R1cmUsIGludG8gaXRzIG93biBmdW5jdGlvbi4gV2Ugd2FudCB0byByZXVzZSB0aGlzIGJpdAoJICBsYXRlci4KCjIwMTMtMDEtMDcgMTU6NDU6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogaW5jbHVkZSBkb3duc3RyZWFtIGxhdGVuY3kgaW4gU1IgY2FsY3VsYXRpb25zCgkgIFdoZW4gd2UgbWFrZSBhIG1hcHBpbmcgYmV0d2VlbiBhbiBSVFAgdGltZXN0YW1wIGFuZCBhbiBOVFAgdGltZXN0YW1wLCBpbmNsdWRlCgkgIHRoZSBkb3duc3RyZWFtIGxhdGVuY3kgYXBwbGllZCB0byB0aGUgc2lua3MuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZQoJICBib3RoIHNpbmtzIHJ1biB3aXRoIGRpZmZlcmVudCBsYXRlbmNpZXMgYW5kIHN0aWxsIGhhdmUgY29ycmVjdCBzeW5jIG9uIHRoZQoJICBjbGllbnQuIEl0IGFsc28gaXMgbW9yZSBjb3JyZWN0IGJlY2F1c2UgdGhlIFJUUCB0aW1lc3RhbXAgaW4gdGhlIFNSIHJlcG9ydCB3aWxsCgkgIGFjdHVhbGx5IGNvcnJlc3BvbmQgbW9yZSBjbG9zZWx5IHRvIHRoZSBOVFAgdGltZSBpdCB3YXMgc2VudCBvbiB0aGUgc2VydmVyLgoJICBGb3IgcGlwZWxpbmVzIHdpdGggaGlnaCBsYXRlbmN5IG9uIHRoZSBzZW5kZXIgc2lkZSwgdGhpcyBhY3R1YWxseSBhbGxvd3MgYQoJICBHU3RyZWFtZXIgcmVjZWl2ZXIgdG8gcGVyZm9ybSBzeW5jaHJvbmlzYXRpb24gaW5zdGVhZCBvZiBkcm9wcGluZyB0aGUgUlRDUAoJICBwYWNrZXRzLgoKMjAxMy0wMS0wNyAxNDoyNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgY2FzdCBldmVudCBmdW5jdGlvbnMKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBjYXN0IHRoZSBldmVudCBmdW5jdGlvbnMgYW5kIG9ubHkgY2F1c2VzIHByb2JsZW1zIGxhdGVyIHdoZW4KCSAgd2UgY2hhbmdlIHRoZSBzaWduYXR1cmUgbGF0ZXIgYW5kIHRoaW5ncyBzaWxlbnRseSBjb21waWxlcyB3cm9uZyBjb2RlLgoKMjAxMy0wMS0wNyAxNDoyMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBtb3JlIGRlYnVnCgoyMDEzLTAxLTA3IDE0OjIyOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTAxLTAyIDAwOjAzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBzYW5pdHkgY2hlY2sgc2l6ZSBvZiBhdmFpbGFibGUgcGFja2V0IGRhdGEgZm9yIHJlYWRpbmcgdG8gYXZvaWQgbWVtb3J5IHdhc3RlCgkgIE9uIFdpbmRvd3MgYW5kIE9TL1gsIF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkgbWF5IG5vdCByZXR1cm4gdGhlIHNpemUKCSAgb2YgdGhlIG5leHQgcGVuZGluZyBwYWNrZXQsIGJ1dCB0aGUgc2l6ZSBvZiBhbGwgcGVuZGluZyBwYWNrZXRzIGluCgkgIHRoZSBrZXJuZWwtc2lkZSBidWZmZXIsIHdoaWNoIG1pZ2h0IGJlIHJhdGhlciBsYXJnZSBkZXBlbmRpbmcgb24KCSAgY29uZmlndXJhdGlvbi4gU2FuaXR5LWNoZWNrIHRoZSBzaXplIHJldHVybmVkIGJ5IF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkKCSAgdG8gbWFrZSBzdXJlIHdlIG5ldmVyIGFsbG9jYXRlIG1vcmUgbWVtb3J5IHRoYW4gdGhlIG1heC4gc2l6ZSBmb3IKCSAgYSBwYWNrZXQsIGlmIGl0J3MgYW4gSVB2NCBzb2NrZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzNjQKCjIwMTMtMDEtMDQgMTA6MDM6MzIgKzAxMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFsc28gaGFuZGxlIHRoZSBuZXcgRU5PRU5UIHJldHVybiB2YWx1ZSBvZiBWSURJT0NfUVVFUllDVFJMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTEwOTgKCjIwMTMtMDEtMDEgMTk6MTQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHNvdXBodHRwc3JjIGVycm9yIGhhbmRsaW5nIHdpdGggZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDI5CgoyMDEyLTA2LTIyIDIxOjU2OjUyICswMDAwICBOb3JiZXJ0IFdhc2NoYnVlc2NoIDxud2FzY2hidUBvcGVudHYuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGVycm9yIG91dCBwcm9wZXJseSB3aGVuIHJlY2VpdmluZyBkYXRhIGFsb25nIHdpdGggYW4gZXJyb3Igc3RhdHVzCgkgIFdoZW4gcmVjZWl2aW5nIGFuIGVycm9yIGNvZGUgZnJvbSB0aGUgaHR0cCBzZXJ2ZXIsIHN1Y2ggYXMgNDA0LAoJICBkYXRhIG1pZ2h0IGJlIHNlbnQgYWxvbmcgd2l0aCBpdCwgbGlrZSBhIHdlYiBwYWdlLiBXZSBkb24ndCB3YW50CgkgIHRvIG91dHB1dCB0aGF0IGRhdGEgaW4gdGhpcyBjYXNlLCBhbmQgd2UgYWxzbyB3YW50IHRvIHBhc3MgdGhlCgkgIEZMT1dfRVJST1IgcmV0dXJuIGJhY2sgdG8gdGhlIGJhc2UgY2xhc3MsIHNvIGl0IGNhbiBzdG9wIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDI5CgoyMDEzLTAxLTAxIDEyOjIwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiB1cGRhdGUgZm9yIG5ldyBydHNwc3JjIHByb3h5LWlkIGFuZCBwcm94eS1wdyBwcm9wZXJ0aWVzCgoyMDEzLTAxLTAxIDEyOjE5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICBkb2NzOiBmaXggZG9jcyBidWlsZCBhbmQgdXBkYXRlIGFmdGVyIHJlbW92YWwgb2Ygb2xkIGNhaXJvIGVsZW1lbnRzCgoyMDEzLTAxLTAxIDEyOjEyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgY2Fpcm86IHJlbW92ZSBvbGQgY2Fpcm8tYmFzZWQgdGV4dCByZW5kZXJlcmluZyBlbGVtZW50CgkgIFRoZXkgaGF2ZW4ndCB3b3JrZWQgd2VsbCBvciBhdCBhbGwgaW4gYSB2ZXJ5IGxvbmcgdGltZQoJICBhbmQgd2VyZSByYXRoZXIgYml0LXJvdHRlbiwgYW5kIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgdGhlbQoJICBhbnkgbW9yZS4KCjIwMTMtMDEtMDEgMTE6NTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jYWlyby8uZ2l0aWdub3JlOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby1tYXJzaGFsLmxpc3Q6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvOiBwb3J0IGNhaXJvb3ZlcmxheSB0byAwLjExCgkgIFRoZSBvdGhlciBlbGVtZW50cyBhcmUgbm90IHRoYXQgaW50ZXJlc3Rpbmcgbm93IHRoYXQgd2UncmUKCSAgdXNpbmcgcGFuZ29jYWlybyBpbiB0aGUgcGFuZ28gcGx1Z2luLCBhbmQgc2hvdWxkIHByb2JhYmx5CgkgIGp1c3QgYmUgcmVtb3ZlZC4KCjIwMTItMTItMzEgMTg6NTk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIGV4YW1wbGVzOiBjaGVjayBmb3IgdXJpIGFyZ3VtZW50IGluIGRlY29kZWJpbi1oMjY0cC1hbXIgc2VydmVyIGV4YW1wbGUKCSAgT3RoZXJ3aXNlIHBlb3BsZSBnZXQgYSByYXRoZXIgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEyLTEyLTMxIDAwOjIyOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCAicHJveHktaWQiIGFuZCAicHJveHktcHciIHByb3BlcnRpZXMKCSAgdG8gbWF0Y2ggc291cGh0dHBzcmMuIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJCgkgIHdpbGwgc3RpbGwgdGFrZSBwcmVjZWRlbmNlIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM5NTQyNwoKMjAxMi0xMi0yNSAxNjo0ODo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICBvc3M0c2luazogbm90aWZ5ICJ2b2x1bWUiIHByb3BlcnR5IG9uIG9wZW4gdG8gbWFrZSBhcHBzIHF1ZXJ5IGluaXRpYWwgdm9sdW1lCgkgIFRoZSBpbml0aWFsIHZvbHVtZSBtaWdodCBub3QgYmUgdGhlIHByb3BlcnR5IGRlZmF1bHQsIHNvCgkgIGVtaXQgYSBub3RpZnkgb24gdGhlIHZvbHVtZSBwcm9wZXJ0eSB0byBtYWtlIGFwcHMgZ2V0CgkgIGFuIHVwLXRvLWRhdGUgcmVhZGluZyBvZiB0aGUgY3VycmVudCB2b2x1bWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEwNTMKCjIwMTItMTItMjAgMTc6MTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjbWQgY29tcGFyaXNvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNDc2CgoyMDEyLTEyLTIwIDE3OjEyOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEyLTEyLTIwIDE2OjQ0OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIDEzOTRjbG9jazogbWFyayBvdXIgY2xvY2sgdHlwZSBhcyBPVEhFUgoKMjAxMi0xMi0yMCAxNjoxNToxMyArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIGpwZWdwYXkgdW5pdCB0ZXN0CgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NTUKCjIwMTItMTItMjAgMTU6NTU6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogcGFzcyBmbG93cmV0dXJuIHVwc3RyZWFtCgoyMDEyLTA5LTI3IDE1OjQyOjU2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBoYW5kbGUgd2lkdGggYW5kIGhlaWdodCA+IDIwNDAKCSAgSWYgd2lkdGggb3IgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiAyMDQwIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHplcm8gaW4KCSAgdGhlIHJ0cCBoZWFkZXIgYW5kIGFkZCB4LWRpbWVuc2lvbnMgdG8gb3V0Y2Fwcy4KCSAgU29sdmVzICM2ODQ5NTUKCjIwMTItMTItMjAgMTM6MDM6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjbGVhbnVwIGluIGZsYWcgZGVmaW5lCgoyMDEyLTEyLTIwIDEzOjAyOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0xMi0xOCAxNTo1Njo1OSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjU1OjQzICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgdGFnbGliOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTQ6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTE6NDYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cDogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ2OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTcgMTY6MzU6NTYgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogc2V0IHNyYyBwYWQgY2FwcyB1cG9uIGxhc3Qgc2luayBwYWQgQ0FQUyBldmVudAoJICBHYXRoZXIgY2FwcyBvbiBhbGwgc2luayBwYWRzIGJlZm9yZSBzZXR0aW5nIHRoZSBzcmMgcGFkIGNhcHMuIFRoaXMgaXMKCSAgc3BlY2lhbGx5IG5lZWRlZCB3aGVuIHRoZSBhdWRpbyBjaGFubmVsIG1hcHBpbmcgaXMgc2V0IG9uIHRoZSBzaW5rCgkgIHBhZHMgYW5kIHRoZSBlbGVtZW50IG5lZWRzIHRvIHByZXNlcnZlIGl0IG9uIGl0cyBzcmMgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjY3CgoyMDEyLTEyLTE3IDIyOjU1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHNraXAgZW1wdHkgdGFncwoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBhZGQgdGFncyB3aXRoIGVtcHR5IHN0cmluZ3MsIHdoaWNoCgkgIGNhdXNlcyBjcml0aWNhbHMgYXQgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDM1OAoKMjAxMi0xMi0xNyAxNToxNzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBNYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtCgoyMDEyLTEyLTE3IDE1OjAxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFVzZSB0aGUgcGVlciBjYXBzIGZvciByZXN0cmljdGlvbnMgaW5zdGVhZCBvZiB0aGUgc3JjcGFkIGFsbG93ZWQgY2FwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgc3JjcGFkIHRlbXBsYXRlIGNhcHMgYW5kIGFkZCBhbGwgdGhlIGNhcHMgZmllbGRzCgkgIHRoYXQgdGhlIHBhcnNlciB3aWxsIGV2ZXIgc2V0LCBubyBtYXR0ZXIgaWYgZG93bnN0cmVhbSByZXN0cmljdHMgdGhpcyBmaWVsZCBvciBub3QuCgkgIFRoaXMgcmVxdWlyZXMgdXBzdHJlYW0gdG8gc2V0IHRoaXMgZmllbGQgb24gdGhlIGNhcHMgdG8gc3VjY2Vzc2Z1bGx5IG5lZ290aWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE4NAoKMjAxMi0xMi0xNCAyMjoyNTowOCArMDAwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogVGVhY2ggd2hlcmUgdGhlIHZpZGVvZGV2Mi5oIGhlYWRlciBsaXZlcyBvbiBmcmVlYnNkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjMzCgoyMDEyLTEyLTE2IDIzOjI3OjQxICswMDAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgYXBwcm9wcmlhdGUgYmxvY2sgaGVhZGVyIGZsYWcgZm9yIFZQOCBpbnZpc2libGUgZnJhbWVzCgkgIFVzZWZ1bCBmb3IgZGVidWdnaW5nIG1vc3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI1OQoKMjAxMi0xMi0xNiAxNToyNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgZG9jczogYWRkIHJ0cG11eCBhbmQgcnRwZHRtZm11eCB0byBwbHVnaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTEyLTE2IDE1OjEzOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHJ0cG1hbmFnZXI6IG1vdmUgcnRwbXV4IGFuZCBydHBkdG1mbXV4IGVsZW1lbnRzIGZyb20gLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xMCAyMDozODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNjIGZpeCBmb3IgMC4xMQoJICBDb252ZXJ0IHRoZSBpbmNvbWluZyBjYXBzIGJlZm9yZSBwcm94eWluZyB0aGVtCgkgIENsZWFyIHRoZSBsYXN0X3BhZCB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIHRlc3RzOiBJbXBsZW1lbnQgYWNjZXB0X2NhcHMsIGRvbid0IGxlYWsgZXZlbnQKCjIwMTItMDctMTcgMTY6Mzk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDIgMTE6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjkgMTg6MDE6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBub24tZm9yd2FyZGVkIGV2ZW50cwoJICBBbHNvLCBkb24ndCB1bnJlZiBmb3J3YXJkZWQgb25lcwoKMjAxMi0wMS0yOCAxNjo1NzowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlc3luYyBpdGVyYXRvciBvbiByZXN5bmMKCjIwMTItMDEtMjcgMTI6MDg6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmUtcHVzaCBzdGlja3kgZXZlbnRzIG9uIGlucHV0IHBhZCBjaGFuZ2UKCjIwMTItMDEtMjUgMTU6NDM6MDEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGd2YWx1ZSBmcm9tIGl0ZXJhdG9yCgoyMDEyLTAxLTI1IDE2OjQ2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI0IDE0OjIwOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wNCAxMjoyMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbWFrZSByZXF1ZXN0IHBhZHMgdGFrZSBfJXUKCjIwMTEtMDQtMTQgMTQ6MzQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgbGFzdC1zdG9wIHRvIGR0bWYtZXZlbnQgdXBzdHJlYW0gZXZlbnRzCgkgIEFkZCB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSBsYXN0IG91dHB1dHRlZCBidWZmZXIgdG8gdGhlCgkgIHVwc3RyZWFtICJkdG1mLWV2ZW50IiBldmVudHMgc28gdGhhdCB0aGUgZHRtZiBzb3VyY2UgZG9lcyBub3QKCSAgbGVhdmUgYSBnYXAuCgoyMDEwLTExLTI1IDE5OjIxOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDktMzAgMTY6MDc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgIEFkZCBhbiBleGFtcGxlIHBpcGVsaW5lLCBhbmQgdHJ5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGl0IGRvZXMuCgoyMDEwLTA5LTI0IDEzOjI5OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDktMjQgMTM6MjU6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCBzaWduYWwgYm9pbGVycGxhdGUKCjIwMTAtMDktMjQgMTM6MjQ6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG5vIG5lZWQgdG8gcmVmIHBhZCBpbiBfY2hhaW4oKQoKMjAxMC0wOC0yNSAyMjo1NjowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVubG9jayB0aGUgcmlnaHQgbXV0ZXgKCSAgVGhlIG11dGV4IGxvY2tlZCBpcyBmb3IgdGhlICdtdXgnIG9iamVjdCwgYnV0IHdlIHVubG9jayB0aGUKCSAgcGFkLCB3aGljaCBtZWFucyB0aGF0IGlmIHRoZSBydHBtdXggZ2V0cyBhIGZsdXNoLCB0aGVuIHRoZQoJICBvYmplY3QgbG9jayB3aWxsIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIGNhdXNpbmcgaXQgdG8gZnJlZXplCgkgIHRoZSBuZXh0IHRpbWUgaXQgdHJpZXMgdG8gdGFrZSBpdC4KCSAgRml4ZXMgYnVnICM2Mjc5OTEKCjIwMTAtMDctMDEgMTU6MTk6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RCdWZmZXJMaXN0CgkgIEZhY3RvciBvdXQgbW9zdCBvZiB0aGUgYnVmZmVyIGhhbmRsaW5nIGFuZCBpbXBsZW1lbnQgYSBjaGFpbl9saXN0CgkgIGZ1bmN0aW9uLiBBbHNvLCB0aGUgRFRNRiBtdXhlciBoYXMgYmVlbiBtb2RpZmllZCB0byBqdXN0IGhhdmUgYQoJICBmdW5jdGlvbiB0byBhY2NlcHQgb3IgcmVqZWN0IGEgYnVmZmVyIGluc3RlYWQgb2YgaGF2aW5nIHRvIHN1YmNsYXNzCgkgIGJvdGggY2hhaW4gYW5kIGNoYWluX2xpc3QuCgoyMDEwLTA3LTAxIDE1OjE1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGludmFsaWQgYnVmZmVycwoKMjAxMC0wNi0wMyAxMDo0MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogZml4IG1pc3NpbmcgZGVidWcgbG9nIG1lc3NhZ2UgYXJndW1lbnQKCjIwMTAtMDUtMTAgMTg6Mzc6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQWRkIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDcgMTg6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IFJlbW92ZSBzdHJlYW0tbG9jayBldmVudCBoYW5kbGluZwoKMjAxMC0wNS0wNyAxODo1NDo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jIGZvciBzaW1wbGlmaWNhdGlvbgoKMjAxMC0wNS0wNyAxODo0MDozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBDaGFuZ2UgdGVzdHMgdG8gbm90IHVzZSB0aGUgcHJpb3JpdHkgcGFkcyBpbnN0ZWFkIG9mIHRoZSBldmVudHMKCjIwMTAtMDUtMDYgMTk6NTE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBkdG1mbXV4OiBEcm9wIGJ1ZmZlcnMgb24gbm9uLXByaW9yaXR5IHNpbmtzIHdoZW4gc29tZXRoaW5nIGlzIGluY29taW5nIG9uIHRoZSBwcmlvcml0eSBzaW5rCgoyMDEwLTA1LTA2IDE4OjExOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIHByaW9yaXR5IHNpbmsgcGFkcwoKMjAxMC0wNS0wNyAxNzoxNTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBDbGVhbnVwIGV2ZW50IGZ1bmN0aW9uCgoyMDEwLTA1LTA3IDE2OjQyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFnZ3JlZ2F0ZSBpbmNvbWluZyBzZWdtZW50cwoKMjAxMC0wNS0wNiAxOTowOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNS0wNiAxODoxMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFNpbXBsaWZ5IHJlcXVlc3QgcGFkIGNyZWF0aW9uCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMS0xOCAxNjozODozMyArMDEwMCAgdW5rbm93biA8aGF2YXJkLmdyYWZmQC5ldS50YW5kYmVyZy5pbnQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgdGhlIGN1cnJlbnRfc3NyYyBmcm9tIHRoZSBjYXBzCgkgIEZpeGVzICM2MDQxMDEKCjIwMDktMTItMDkgMTQ6NDI6MjEgKzAxMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZWxlYXNlIHBhZHMgd2hlbiBkaXNwb3NpbmcKCSAgQmVjYXVzZSBvZiBhbiBhbGxvY2F0ZWQgcHJpdiAoR3N0UlRQTXV4UGFkUHJpdmF0ZSksIHRoZSBlbGVtZW50IHdpbGwKCSAgbGVhayBtZW1vcnkgaWYgbm90IGdzdF9ydHBfbXV4X3JlbGVhc2VfcGFkKCkgaXMgY2FsbGVkLiBUaGlzIHdvdWxkCgkgIHByZXZpb3VzbHkgb25seSBoYXBwZW4gaWYgcmVsZWFzZV9yZXF1ZXN0X3BhZCgpIHdhcyBjYWxsZWQgZXhwbGljaXRseSwKCSAgc29tdGhpbmcgdGhhdCBzaG91bGQgbm90IGJlIG5lY2Nlc2FyeS4KCSAgRml4ZXMgIzYwNDA5OQoKMjAwOS0xMi0wOSAxMzo0MDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgZHRtZm11eDogbWV0aG9kIG5hbWUgY2xlYW51cHMKCjIwMDktMTAtMDggMTk6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZtdXggbG9ja2luZwoKMjAwOS0wOS0yOCAxOTo1NDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0IGZvciBydHBtdXgKCjIwMDktMDktMjggMTM6MzY6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGlnbm9yZSByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMDktMDctMjkgMTc6MjM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBlbXB0eSBmaW5hbGl6ZQoKMjAwOS0wNy0yMSAxNTozMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZQoJICBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlIGluc3RlYWQgb2YgdXNpbmcgYSB3ZWFrIHJlZiwKCSAgd2hpY2ggaXMgbm90IHRocmVhZCBzYWZlLiBBbHNvLCBsb2NrIHRoZSBjb250ZW50IG9mIHRoZSBwYWQgcHJpdmF0ZSB1c2luZyB0aGUgZWxlbWVudCdzCgkgIG9iamVjdCBsb2NrLgoKMjAwOS0wNC0yOCAxNjoxMDoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVqZWN0IHdyb25nIGNhcHMKCjIwMDktMDQtMjggMTY6MDM6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI4IDE1OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoJICBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yMiAxODowMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHdhcm5pbmcKCjIwMDktMDQtMjAgMjA6MDA6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBkaWZmZXJlbnQgY2FwcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0CgoyMDA5LTA0LTIyIDE2OjI1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBPbmx5IGZyZWUgcGFkIHByaXZhdGUgd2hlbiBwYWQgaXMgZGlzcG9zZWQKCjIwMDktMDQtMjAgMTg6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSB1c2VsZXNzIGNhcHMgbWFuZ2xpbmcKCjIwMDktMDQtMjAgMTg6MzY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSB2YXJpYWJsZSBmb3IgbW9yZSBjbGFyaXR5CgoyMDA5LTA0LTIwIDE3OjQzOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMDktMDQtMjAgMTc6NDI6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEbyB0aGUgaW5jbHVkZXMgbG9jYWxseQoKMjAwOS0wNC0xNSAxMzoyMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFJzCgoyMDA5LTA0LTE1IDEzOjE1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2UgbG9ja2VkIHBhZCBvbiByZWxlYXNlX3BhZAoJICBSZWxlYXNlIHRoZSBzcGVjaWFsIHBhZCBpZiB0aGUgcGFkIGlzIHJlbW92ZWQgZnJvbSB0aGUgbXV4ZXIuCgoyMDA5LTA0LTE1IDEzOjA5OjI3IC0wNDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2Ugc3BlY2lhbCBvbiBwYWQgZGlzcG9zZQoJICBGaXhlcyAjNTc3NjkwCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMTAgMTc6MDI6MjQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBNb3ZlIHJ0cG11eCBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDU6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxOToxMToxNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9jdW1lbnQgcnRwIG11eGVyIGEgYml0CgoyMDA5LTAyLTIwIDEzOjMwOjQ5IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwbXV4OiBBZGQgc2lnbmFscyBiZWZvcmUgc3RyZWFtIGxvY2sgYW5kIGFmdGVyIHVubG9ja2luZwoKMjAwOS0wMi0xOCAyMDoxODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTGV0IHNzcmMgdGhyb3VnaCBnZXRjYXBzCgoyMDA5LTAyLTE4IDE5OjU4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgaGF2ZV9iYXNlIHRvIGhhdmVfdHNfYmFzZQoKMjAwOS0wMi0xOCAxODoxNDo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFByb3RlY3QgdGhlIHNlcW51bSB3aXRoIG9iamVjdCBsb2NrIGluIHJ0cG11eAoKMjAwOS0wMi0xOCAxODowNzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIHVudXNlZCBzaW5rX3RzX2Jhc2UKCjIwMDktMDItMTggMTU6MjA6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEhhdmUgZ2V0Y2FwcyB0byBmb3JjZSB0aGUgc2FtZSBjbG9ja3JhdGUgb24gYWxsIHBhZHMKCjIwMDktMDItMTggMTc6MDU6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFZhbGlkYXRlIFJUUCBkYXRhIGluIFJUUCBNdXgKCjIwMDktMDItMTggMTQ6MTY6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgdW51c2VkIGNsb2NrLXJhdGUgcHJvcGVydHkKCjIwMDktMDItMTggMTM6NTY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwbXV4OiBDbGFyaWZ5IGxvY2tpbmcgaW4gcnRwZHRtZm11eAoKMjAwOS0wMi0xOCAxMzozMjo1NiAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyCgoyMDA4LTEyLTAxIDE3OjU1OjIyIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXBkYXRlIHNlcW51bSBiYXNlIGluIHJ0cCBtdXhlcgoJICBXaXRoIGhlbHAgZnJvbSBXaW0KCjIwMDgtMTItMDEgMTc6NTQ6NTggLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBzb21lIG1vcmUgbGVha3MKCjIwMDgtMTItMDEgMTc6NDg6MjkgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCjIwMDgtMDktMjkgMTU6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qga25vdyAodGhhbmtzIFdpbSkKCjIwMDgtMDgtMTIgMTI6NDg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFB1dCBwZXItYnVmZmVyIGRlYnVnIGF0IGxldmVsIExPRwoKMjAwOC0wOC0xMiAxMjo0NzoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBkZWJ1ZyBwcmludCBhY2N1cmF0ZQoKMjAwOC0wOC0xMiAxMjo0NjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IG91ciBjYXBzIG9uIHRoZSBidWZmZXJzCgoyMDA4LTA4LTEyIDEyOjQ2OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBUYWtlIHRoZSBjbG9jay1iYXNlIHN0b3JlZCBmcm9tIHRoZSBsYXN0IHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6NDE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFN0b3JlIHRoZSBjbG9jay1iYXNlIG9uIHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6MzA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBwYWRwcml2YXRlIHRvIHRoZSByZXF1ZXN0IHBhZHMKCjIwMDgtMDgtMTEgMjE6MjA6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgaW5kZW50YXRpb24gbW9yZSBjb3JyZWN0CgoyMDA4LTA4LTExIDIxOjA1OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggdHlwbwoKMjAwOC0wOC0xMSAyMTowMzoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHNlcW51bS1iYXNlIGFuZCBjbG9jay1iYXNlIGluIGNhcHMgZnJvbSBydHBtdXhlcgoKMjAwNy0wOC0xNSAxMzo1MDozOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IG1vcmUgZGVidWcKCSAgMjAwNzA4MTUxMzUwMzgtZjNmMWUtOWM3YTU0OTBhNTI1YzZlODc1M2NiMWI4YzAzMzU0ZGY5OTEzMmI1Yy5negoKMjAwNy0wOC0yMCAxODo1MDozMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1pc3NpbmcgY29tbWVudAoJICAyMDA3MDgyMDE4NTAzMi00ZjBmNi0wYWI2N2I2YWM0MGRkNGUzNWE4ZmU1M2YzY2I2ZGFmZjY1Y2U0M2I5Lmd6CgoyMDA3LTA3LTEyIDE5OjUzOjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgYnVmZmVyIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIGludG8gaXQKCSAgMjAwNzA3MTIxOTUzMzYtM2UyZGMtOTFhNWZiNzk3Y2ZhNDkxOWQ0ZTJmOWE3MjhjNmQ2ZmJkM2I4M2Q5My5negoKMjAwNy0wNy0wNiAyMDoyNDo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgcGFkcyBhY3RpdmUgd2hlbiBhZGRpbmcgdGhlbSB0byBhIHBvdGVudGlhbGx5IHJ1bm5pbmcgZWxlbWVudAoJICAyMDA3MDcwNjIwMjQ1OS0zZTJkYy1hMzczMWY4ODU3MjU1OTRkZWYwYTdiZTk5N2ZjN2IzYTczOWVlOTY3Lmd6CgoyMDA3LTA2LTA3IDEyOjAxOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBtdWx0aXBsZSByZWYgbGVha3MgKHBhdGNoZXMgYnkgU1AgR0xFKQoJICAyMDA3MDYwNzEyMDEyMS0zZTJkYy0wNjFlOWVmN2E0N2IxYjg0ZmE4ZjgwOTJmNGI4YmNjMGU2ZGI4YzhjLmd6CgoyMDA3LTA1LTI4IDE1OjI1OjA1ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBzZW5kIGV2ZW50IHRvIGFsbCBzcmMgcGFkcwoJICAyMDA3MDUyODE1MjUwNS1mM2YxZS0wMzkyMTZjNzNkYzkzZjY0YzQ5OTYyYzc3YTAyNTNjYjljZmVjNGQzLmd6CgoyMDA3LTA1LTI4IDEyOjM3OjQ5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBwcmludCBhIHdhcm5pbmcgaWYgcmVjZWl2ZSBhbiBlcnJvciBpdGVyYXRpbmcgc2lua3BhZHMKCSAgMjAwNzA1MjgxMjM3NDktZjNmMWUtNGMxZWIzZjUxMWI1NjEwMTQzNjEwYTY1YTk0ZDExN2YyYzNkMjU4MC5negoKMjAwNy0wNS0yOCAxMjoyODowOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZGVhbCB3aXRoIGFsbCB0aGUgZ3N0X2l0ZXJhdG9yX25leHQoKSByZXR1cm4gdmFsdWVzCgkgIDIwMDcwNTI4MTIyODA4LWYzZjFlLWQzMDE2NDRjM2JlNzYzM2VjNmRjNWUyODU5NmU5MzQ2ZDJkYTZhNTAuZ3oKCjIwMDctMDUtMjUgMTI6MzE6MTYgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJldHVybiBjb3JyZWN0IHZhbHVlIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIKCSAgMjAwNzA1MjUxMjMxMTYtZjNmMWUtMTMxYjM3YjVmNDUyMTYxOGZlMmYxMzIwNDA5YTQ3ZTY1YjM1YWQyZC5negoKMjAwNy0wNS0yNSAxMDoyNzowOSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVmlsbGUncyBvcmlnaW5hbCBwYXRjaCB0byBmaXggdGhlIHRyYXZlcnNhbCBvZiBkdG1mIGV2ZW50CgkgIDIwMDcwNTI1MTAyNzA5LWYzZjFlLTZjNDFkMWVmOTM0MDY4YTRmNGU4MTBlN2U5ODFiNDIwMDc1YjBjOTguZ3oKCjIwMDctMDMtMjkgMTM6NTI6NTAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHRoZSBjb3JyZWN0IHRzLW9mZnNldCBvbiB0aGUgZ2V0X3Byb3AgdmFsdWUKCSAgMjAwNzAzMjkxMzUyNTAtNjUwMzUtYTQzZTIyMmQ5MWQ1N2MwYTYxY2IzMjg3NTg2YWFhMjlhYmY3ODY3NC5negoKMjAwNy0wMy0yOSAxMzo1MjoyMyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3Rvcml6ZSBzdGF0ZV9jaGFuZ2UKCSAgMjAwNzAzMjkxMzUyMjMtNjUwMzUtMjNhMDEwN2IyZTM5NzcxMGYwMzVjNmU4OGNjMGU0OWI2NWJiNGQ1ZC5negoKMjAwNy0wMy0yOSAxMzozNjoyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogc2V0IFNTUkMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAzMjkxMzM2MjItNjUwMzUtMWJlNmUwYWE4NWE3MTM4OWY3ZDI1N2I5Y2QzZTEzYTczZDZiNzQ1Yi5negoKMjAwNy0wMy0yOSAxMzoxOTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBDb2RlIGNsZWFuLXVwIGFuZCBtb3JlIGRlYnVnIG91dHB1dAoJICAyMDA3MDMyOTEzMTkzNi02NTAzNS05ZDQ5OWUyMDllMGQ3YTQwOWMzYWEwZDEwNDA3NzhiYWJmMDc2MTc5Lmd6CgoyMDA3LTAzLTI4IDExOjIyOjE5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBVc2Ugb3duIGNsb2NrLWJhc2UKCSAgMjAwNzAzMjgxMTIyMTktNjUwMzUtMWJhNWZlZmJjNjUwNTllOWIwYzg2MDUyOGEzMTA2MmNlYjZhNzMzMS5negoKMjAwNy0wMy0yMyAxNjozMTozOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogT25seSBhY2NlcHQgUlRQIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lIGNsb2NrLXJhdGUKCSAgMjAwNzAzMjMxNjMxMzktNjUwMzUtZmMwYjE3YjBiOGE3YTA0MWY0ODk5NGM0ZjI2ZTk2NTY4MTY4YmY5NS5negoKMjAwNy0wMy0yMiAxNjoxNTo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogU29tZSBtb3JlIGNvZGUtY2xlYW51cHMKCSAgMjAwNzAzMjIxNjE1NTItNjUwMzUtYmRhOTYxNjVlMTQ2YjRmMWQ1ZmVhMWNjOTU3NmE3YWIzYWJlYmM5ZS5negoKMjAwNy0wMy0yMiAxNTo0Mjo1MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXR1cm4gbmV3cGFkIGluc3RlYWQgb2YgTlVMTCBhbmQgd2FybiBpZiBmYWlsZWQgdG8gY3JlYXRlIGEgcGFkCgkgIDIwMDcwMzIyMTU0MjUxLTY1MDM1LWNkYjY2NTFlNjFjMmViMDIwNWNjOGMyNDY5M2I0M2Y5OGEyZGE3MTguZ3oKCjIwMDctMDMtMjIgMTI6NDE6MzIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3JpemUgdGhlIFJUUE11eCBjb2RlCgkgIDIwMDcwMzIyMTI0MTMyLTY1MDM1LTBhMzI3ODE0NzU0NmUzM2Y2ODcwOTdhNDNiNzc1YjNmNmFhOTlmOTMuZ3oKCjIwMDctMDMtMjIgMTI6MTQ6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFNvbWUgbW9yZSBkb2MgZml4aW5nCgkgIDIwMDcwMzIyMTIxNDUzLTY1MDM1LTEyZDYwMjI3MjIxN2I1MWJkOTdkZjRlNTc5MDAyNGMzOTk2MjJkZDMuZ3oKCjIwMDctMDMtMjIgMTE6MzI6MjggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IE1vcmUgUmVmYWN0b3JpbmcKCSAgMjAwNzAzMjIxMTMyMjgtNjUwMzUtYmFlMzRhNzk1OTllN2RlNTI5M2VkNzdiMDIyMzYxY2NmZjgyMmJiOS5negoKMjAwNy0wMy0yMiAxMTozMTo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogTW9yZSBkb2N1bWVudGF0aW9uCgkgIDIwMDcwMzIyMTEzMTU0LTY1MDM1LTYyNDg1MDU0MWE1YjVmYzNkZjIzMTIwNGJlNWE4M2QwNzIzOWRiMjguZ3oKCjIwMDctMDMtMjEgMTY6MzM6MTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uCgkgIDIwMDcwMzIxMTYzMzExLTY1MDM1LTk4N2U3ZjI1ZDFhYjUzMzViNzlmNDRiMjc3YWJmMTVlNGUzN2QzMTcuZ3oKCjIwMDctMDMtMjEgMTQ6NTI6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBBZGQgUlRQRFRNRk11eCBlbGVtZW50CgkgIDIwMDcwMzIxMTQ1MjQ0LTY1MDM1LTlhMDEzOTBiMGRlZTMzOThlNTMxOTlhMWZhMWQ5MzUyMDA0ZjMzOGUuZ3oKCjIwMDctMDMtMjEgMTI6MzE6NDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSBEVE1GLXNwZWNpZmljIGNvZGUgZnJvbSBSVFAgbXV4ZXIgYW5kIG1ha2UgaXQgZXh0ZW5kYWJsZQoJICAyMDA3MDMyMTEyMzE0OS02NTAzNS1iOGE4ZjU1ZmY3OGVlZDhjYmIwMDQyZTgyNzg4NWVkZmM1NDM4MjQyLmd6CgoyMDA3LTAzLTIwIDEyOjA1OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFB1dCBtb3JlIGhlbHBmdWwgZGVzY3JpcHRpb24KCSAgMjAwNzAzMjAxMjA1MjQtNjUwMzUtZGIyN2E3Y2Y2MzA3YjUxMWFlYjNkOTk2ZDI2ZTc5MGUzNjdhN2JhZC5negoKMjAwNy0wMy0xNiAxNToxNjo0MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZW1vdmUgdGhlIChjb21tZW50ZWQtb3V0KSBjb2RlIGZvciBibG9ja2luZyB0aGUgcGFkcwoJICAyMDA3MDMxNjE1MTY0MS02NTAzNS0wMTIzYWYzODc5NTFmODg1OTQ3OTdjNzIyZTg4MmNmZTcwMjQwYWZmLmd6CgoyMDA3LTAzLTE2IDEzOjE0OjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERyb3AgYnVmZmVycyBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBzaW5rcGFkcwoJICAyMDA3MDMxNjEzMTQ0NC02NTAzNS05YzEzNDVhZDk2MTA4ODgxZjQ1NWQ0YjU1YTdmNjIzY2QzMDJkMGVkLmd6CgoyMDA3LTAzLTE0IDE3OjE2OjE4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcGxlbWVudCBzdHJlYW0gbG9ja2luZywgbmVlZGVkIGZvciBEVE1GCgkgIDIwMDcwMzE0MTcxNjE4LTY1MDM1LWU0ZDI0YjE2MDZjZTBhM2UyZTczOWYwMTgzM2Y2MWU0ZDc1NTVlYWMuZ3oKCjIwMDctMDMtMTQgMTA6MjA6NTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXNlIEdTVF8qX09CSkVDVCBpbnN0ZWFkIG9mIGdfKgoJICAyMDA3MDMxNDEwMjA1OC02NTAzNS1lMjQ0Mjg4OGYyZTNlNWEzYTc2NTlhZDc5NTRhNGZiYTM0NzQ5Y2UyLmd6CgoyMDA3LTAzLTE0IDEwOjE4OjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE5vIG5lZWQgdG8gbWFuYWdlIHBhZHMsIHBhcmVudCBkb2VzIHRoYXQgZm9yIHVzCgkgIDIwMDcwMzE0MTAxODU0LTY1MDM1LWVmNWY0YWJkZTIyNzEwMmExMTI4ODM1YWIzMjU5MDVlYWU0YzM3MjYuZ3oKCjIwMDctMDMtMTQgMDk6MDM6NTggKzAwMDAgIHplZW5peEBnbWFpbC5jb20gPHplZW5peEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggY29weXJpZ2h0IGhlYWRlcgoJICAyMDA3MDMxNDA5MDM1OC1kMDE0YS0zYTZkM2VlZWFhZjVjYjhjYTNiY2E2YTMzZTk5YTU1MWY1OThiZDQ4Lmd6CgoyMDA3LTAzLTA3IDA4OjUzOjA3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFRoZSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBvZiBSVFAgbXV4ZXIKCSAgMjAwNzAzMDcwODUzMDctNjUwMzUtODMzNDAyNDEzZjk5Y2IzZjhiZTQ4ODNlOTJiYWQ0Yzg3MjI1MTBjOS5negoKMjAxMi0xMi0xNSAyMToyNzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBubyBuZWVkIGZvciBhIHByaXZhdGUgc3RydWN0CgoyMDEyLTEyLTE0IDE1OjEzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMi0xMi0xNCAxNToxMzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIGRvY3M6IGFkZCBzY2FsZXRlbXBvIHRvIGRvY3MKCjIwMTItMTEtMDYgMTM6MzY6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgYXVkaW9meDogbW92ZSBzY2FsZXRlbXBvIGVsZW1lbnQgZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjIKCjIwMTItMTAtMjMgMTQ6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggZXZlbnQgbGVhawoKMjAxMi0xMC0yMyAxNDozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCB0aW1lc3RhbXAgdHJhY2tpbmcKCjIwMTItMTAtMjMgMTQ6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yMyAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogU3RvcmUgaW5zdGFuY2UgcHJpdmF0ZSBkYXRhIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgR2V0dGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHZpYSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKQoJICBpcyByZWFsbHkgc2xvdy4KCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDE2OjQ1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBmZm1wZWdjb2xvcnNwYWNlIGlzIG5vIG1vcmUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJICBzY2FsZXRlbXBvOiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDMtMTggMTg6MzI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDcgMTA6NTI6NTAgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogaW1wcm92ZSB0aGUgZG9jcwoJICBGaXggdGhlIHN5bnRheCwgYWRkIG1vcmUgZXhwbGFuYXRpb24gYW5kIHhyZWYgdGhlIHByb3BlcnRpZXMuCgoyMDExLTAzLTIyIDEzOjQ2OjQyICswMTAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IENvcnJlY3RseSBoYW5kbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBzdG9wPT0tMQoJICBGaXhlcyBidWcgIzY0NTQyMC4KCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTEtMDUgMTM6NDA6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwcm9wZXJseSB1cGRhdGUgbmV3IHNlZ21lbnRzCgkgIFNjYWxldGVtcG8gd2FzIG1pc3NpbmcgYW4gdXBkYXRlIG9mICdzdG9wJyBpbgoJICBuZXcgc2VnbWVudCBwYXJhbWV0ZXJzIHdoZW4gcHVzaGluZyBpdCBkb3duc3RyZWFtLAoJICB3aGljaCBjYXVzZWQgZmlsZXMgdG8gZW5kIGVhcmxpZXIgd2hlbiByYXRlIDwgMS4KCSAgRml4ZXMgIzU5OTkwMwoJICBCYXNlZCBvbiBwYXRjaCBieTogQmFzdGlhbiBIZWNodCA8aGVjaHRiQGdtYWlsLmNvbT4KCjIwMDktMDYtMTQgMjA6MDA6NTEgKzAyMDAgIE1heGltaWxpYW4gSMO2Z25lciA8cGJtYXhpQGhvZWduZXJzLmRlPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBFeHBsaWNpdGVseSBjYXN0IHRvIHNpZ25lZCBpbnRlZ2VycyB0byBmaXggYSBzZWdmYXVsdAoJICBGaXhlcyBidWcgIzU4NTY2MC4KCjIwMDktMDItMTMgMTI6MTg6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBEbyBub3QgdXNlIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwOC0xMC0zMCAxMjoxMzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc2NhbGV0ZW1wbzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0wOC0zMSAxMjoyMDozMyArMDAwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0IGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvdiBKdXZhbm8gPHJvdmp1dmFubyBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6IChwb3Bfc3RhdHVzX2JhciksCgkgIChzdGF0dXNfYmFyX3ByaW50ZiksIChkZW1vX2d1aV9zZWVrX2Jhcl9mb3JtYXQpLCAodXBkYXRlX3Bvc2l0aW9uKSwKCSAgKGRlbW9fZ3VpX3NlZWtfYmFyX2NoYW5nZSksIChkZW1vX2d1aV9kb19jaGFuZ2VfcmF0ZSksCgkgIChkZW1vX2d1aV9kb19zZXRfcmF0ZSksIChkZW1vX2d1aV9kb19yYXRlX2VudGVyZWQpLAoJICAoZGVtb19ndWlfZG9fdG9nZ2xlX2FkdmFuY2VkKSwgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9kaXNhYmxlZCksCgkgIChkZW1vX2d1aV9kb19zZWVrKSwgKGRlbW9fZ3VpX2RvX3BsYXkpLCAoZGVtb19ndWlfZG9fcGF1c2UpLAoJICAoZGVtb19ndWlfZG9fcGxheV9wYXVzZSksIChkZW1vX2d1aV9kb19vcGVuX2ZpbGUpLAoJICAoZGVtb19ndWlfZG9fcGxheWxpc3RfcHJldiksIChkZW1vX2d1aV9kb19wbGF5bGlzdF9uZXh0KSwKCSAgKGRlbW9fZ3VpX2RvX2Fib3V0X2RpYWxvZyksIChkZW1vX2d1aV9kb19xdWl0KSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3N0cmlkZSksIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9vdmVybGFwKSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3NlYXJjaCksIChkZW1vX2d1aV9yYXRlX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19zdGFydGVkKSwgKGRlbW9fZ3VpX3BsYXlpbmdfcGF1c2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfZW5kZWQpLCAoZGVtb19ndWlfcGxheWVyX2Vycm9yZWQpLAoJICAoZGVtb19ndWlfc3RyaWRlX2NoYW5nZWQpLCAoZGVtb19ndWlfb3ZlcmxhcF9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3NlYXJjaF9jaGFuZ2VkKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXJfZnVuYyksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3RfZnVuYyksIChidWlsZF9ndmFsdWVfYXJyYXkpLAoJICAoY3JlYXRlX2FjdGlvbiksIChkZW1vX2d1aV9zaG93X2Z1bmMpLCAoZGVtb19ndWlfc2V0X3BsYXllciksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3QpLCAoZGVtb19ndWlfc2hvdyksIChkZW1vX2d1aV9nZXRfcHJvcGVydHkpLAoJICAoZGVtb19ndWlfc2V0X3Byb3BlcnR5KSwgKGRlbW9fZ3VpX2luaXQpLCAoZGVtb19ndWlfY2xhc3NfaW5pdCksCgkgIChkZW1vX2d1aV9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6IChoYW5kbGVfZXJyb3JfbWVzc2FnZSksCgkgIChoYW5kbGVfcXVpdCksIChtYWluKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6IChub19waXBlbGluZSksCgkgIChkZW1vX3BsYXllcl9ldmVudF9saXN0ZW5lciksIChkZW1vX3BsYXllcl9zdGF0ZV9jaGFuZ2VkX2NiKSwKCSAgKGRlbW9fcGxheWVyX2Vvc19jYiksIChkZW1vX3BsYXllcl9idWlsZF9waXBlbGluZSksIChfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZV9mdW5jKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlX2Z1bmMpLAoJICAoX3NldF9zdGF0ZV9hbmRfd2FpdCksIChkZW1vX3BsYXllcl9sb2FkX3VyaV9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3BsYXlfZnVuYyksIChkZW1vX3BsYXllcl9wYXVzZV9mdW5jKSwgKF9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnlfZnVuYyksIChkZW1vX3BsYXllcl9zZWVrX3RvX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uX2Z1bmMpLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZSksIChkZW1vX3BsYXllcl9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9sb2FkX3VyaSksIChkZW1vX3BsYXllcl9wbGF5KSwgKGRlbW9fcGxheWVyX3BhdXNlKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnkpLCAoZGVtb19wbGF5ZXJfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb24pLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wcm9wZXJ0eSksIChkZW1vX3BsYXllcl9zZXRfcHJvcGVydHkpLAoJICAoZGVtb19wbGF5ZXJfaW5pdCksIChkZW1vX3BsYXllcl9jbGFzc19pbml0KSwKCSAgKGRlbW9fcGxheWVyX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOiAoYmVzdF9vdmVybGFwX29mZnNldF9mbG9hdCksCgkgIChiZXN0X292ZXJsYXBfb2Zmc2V0X3MxNiksIChvdXRwdXRfb3ZlcmxhcF9mbG9hdCksCgkgIChvdXRwdXRfb3ZlcmxhcF9zMTYpLCAoZmlsbF9xdWV1ZSksIChyZWluaXRfYnVmZmVycyksCgkgIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm0pLCAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NjYWxldGVtcG9fc2lua19ldmVudCksIChnc3Rfc2NhbGV0ZW1wb19zZXRfY2FwcyksCgkgIChnc3Rfc2NhbGV0ZW1wb19nZXRfcHJvcGVydHkpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2Jhc2VfaW5pdCksIChnc3Rfc2NhbGV0ZW1wb19jbGFzc19pbml0KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0CgkgIGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgcmF0ZSE9MS4wLgoJICBJbnRlZ3JhdGUgaXQgaW50byB0aGUgZG9jcyBhbmQgYWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciBpdC4KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDEyLTEyLTEzIDEyOjM2OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBhZGQgKGJ1dCBkaXNhYmxlKSBtb3JlIHJ0cCBqaXR0ZXJidWZmZXIgdGVzdHMKCSAgVGVzdHMgbmVlZCB0byBiZSBwb3J0ZWQgdG8gMS4wIGJlZm9yZSB0aGV5IGNhbiBiZSBlbmFibGVkIGJ1dCBhZGRlZCBoZXJlIHNvIHRoZXkKCSAgZG9uJ3QgZ2V0IGZvcmdvdHRlbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MzgKCjIwMTItMDEtMTMgMDE6MTE6MzEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGJ1bmRsZSB0b2dldGhlciBsYXRlIGxvc3QtZXZlbnRzCgkgIFRoZSBzY2VuYXJpbyB3aGVyZSB5b3UgaGF2ZSBhIGdhcCBpbiBhIHN0ZWFkeSBmbG93IG9mIHBhY2tldHMgb2YKCSAgc2F5IDEwIHNlY29uZHMgKDUwMCBwYWNrZXRzIG9mIHdpdGggZHVyYXRpb24gb2YgMjBtcyksIHRoZSBqaXR0ZXJidWZmZXIKCSAgd2lsbCBpZGxlIHVwIHVudGlsIGl0IHJlY2VpdmVzIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgdGhlIGdhcCwgYnV0IHdpbGwKCSAgdGhlbiBnbyBvbiB0byBwcm9kdWNlIDQ5OSBsb3N0LWV2ZW50cywgdG8gImNvdmVyIHVwIiB0aGUgZ2FwLgoJICBOb3cgdGhpcyBpcyBvYnZpb3VzbHkgd3JvbmcsIHNpbmNlIHRoZSBsYXN0IHBvc3NpYmxlIHRpbWUgZm9yIHRoZSBlYXJsaWVzdAoJICBsb3N0LWV2ZW50cyB0byBiZSBwbGF5ZWQgb3V0IGhhcyBvYnZpb3VzbHkgZXhwaXJlZCwgYnV0IHRoZSBmYWN0IHRoYXQKCSAgdGhlIGppdHRlcmJ1ZmZlciBoYXMgYSAibGVuZ3RoIiwgcmVwcmVzZW50ZWQgd2l0aCBpdHMgb3duIGxhdGVuY3kgY29tYmluZWQKCSAgd2l0aCB0aGUgdG90YWwgbGF0ZW5jeSBkb3duc3RyZWFtLCBhbGxvd3MgZm9yIGNvdmVyaW5nIHVwIGF0IGxlYXN0IHNvbWUKCSAgb2YgdGhpcyBnYXAuCgkgIFNvIGluIHRoZSBjYXNlIG9mIHRoZSAibGVuZ3RoIiBiZWluZyAyMDBtcywgd2hpbGUgaGF2aW5nIHJlY2VpdmVkIHBhY2tldAoJICA1MDAsIHRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIHRpbWVvdXQgZm9yIHBhY2tldCA0OTEsIHdoaWNoCgkgIHdpbGwgaGF2ZSBpdHMgdGltZSBleHBpcmUgYXQgMTAsMDIgc2Vjb25kcywgc3BlY2lhbGx5IHNpbmNlIGl0IG1pZ2h0CgkgIGFjdHVhbGx5IGFycml2ZSBpbiB0aW1lISBCdXQgb2J2aW91c2x5LCB3YWl0aW5nIGZvciBwYWNrZXQgMTAwLCB0aGF0IGhhZAoJICBpdHMgdGltZSBleHBpcmUgYXQgMiBzZWNvbmRzLCAocmVtZW1iZXJpbmcgdGhhdCB0aGUgY3VycmVudCB0aW1lIGlzIDEwKQoJICBpcyB1c2VsZXNzLi4uCgkgIFRoZSBwYXRjaCB3aWxsIGNyZWF0ZSBvbmUgImJpZyIgbG9zdC1ldmVudCBmb3IgdGhlIGZpcnN0IDQ5MCBwYWNrZXRzLAoJICBhbmQgdGhlbiBnbyBvbiB0byBjcmVhdGUgc2luZ2xlIG9uZXMgaWYgdGhleSBjYW4gcmVhY2ggdGhlaXIKCSAgcGxheW91dCBkZWFkbGluZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MzgKCjIwMTItMTItMTMgMDk6Mjc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBUQ1AgcmVjb25uZWN0CgkgIElnbm9yZSBvdGhlciBjb21tYW5kcyB3aGVuIHJlY29ubmVjdGluZywgb3RoZXJ3aXNlIHRoZSBsb29wIGZ1bmN0aW9uIHdvdWxkIHBhdXNlCgkgIGFuZCB0aGUgcmVjb25uZWN0aW9uIHdvdWxkIG5vdCBoYXBwZW4uIENvbnRpbnVlIGxvb3BpbmcgYWZ0ZXIgZG9pbmcgYSByZWNvbm5lY3QKCSAgc28gdGhhdCB3ZSBoYXZlIGEgY2hhbmNlIHRvIGFjdHVhbGx5IHJlYWQgdGhlIG5ldyBkYXRhLgoKMjAxMi0xMi0xMyAwMTowMjozNCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICBkaXJlY3Rzb3VuZCwgd2F2ZWZvcm06IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxMjQKCjIwMTItMTItMTIgMTc6MzU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBzeXMvb3NzL2NvbW1vbi5oOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgZXh0L3N5czogRml4IHNvbWUgY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoKMjAxMi0xMi0xMiAxMjowNzozNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHByb3Blcmx5IHNldCBzcmNwYWQgY2hhbm5lbCBwb3NpdGlvbgoJICBUaGUgc3JjIHBhZCBjYXBzIGFsd2F5cyBkZXNjcmliZSBhIHNpbmdsZSBhdWRpbyBjaGFubmVsIHNvIG9ubHkgdGhlCgkgIGZpcnN0IHBvc2l0aW9uIG1hdHRlcnMgaWYgZGVpbnRlcmxlYXZlIGlzIGNvbmZpZ3VyZWQgdG8ga2VlcCBjaGFubmVsCgkgIHBvc2l0aW9ucyBpbiBpdHMgc3JjIHBhZHMuCgoyMDEyLTEyLTEyIDExOjA5OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB0aW1lb3V0IG9uIHVkcHNyYyBpcyBpbiBuYW5vc2Vjb25kcwoKMjAxMi0xMi0xMiAxMTowODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogaW1wcm92ZSB0aW1lb3V0cwoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCB0aGUgdGltZW91dCBhZnRlciB3ZSB3ZW50IHRvIHRoZSBSRUFEWSBzdGF0ZSBieSB1c2luZwoJICB0aGUgdGltZW91dCB3aGVuIGNoZWNraW5nIHRoZSBjb25kaXRpb24uIFRoaXMgYWxzbyBtYWtlcyBpdCBwb3NzaWJsZSB0byBzZXQgdGhlCgkgIHRpbWVvdXQgd2l0aCBhIGhpZ2hlciBncmFudWxhcml0eSB0aGFuIHNlY29uZHMuCgoyMDEyLTEyLTExIDEzOjAwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBhZGQgc3VwcG9ydCBmb3Igc3RyaWRlcwoJICBJbXBsZW1lbnQgc3RyaWRlIHN1cHBvcnQgY29ycmVjdGx5IGJ5IHRha2luZyBpdCBmcm9tIHRoZSBHc3RWaWRlb0ZyYW1lLgoJICBQcm9wb3NlIGEgYnVmZmVycG9vbCB1cHN0cmVhbSB3aGVuIG5vdCBvcGVyYXRpbmcgaW4gcGFzc3Rocm91Z2guCgoyMDEyLTA5LTI3IDEyOjE3OjU4IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRzcHNyYzogZG8gbm90IGNoYW5nZSBzdGF0ZSB0byBQTEFZSU5HIGlmIGN1cnJlbnRseSBjaGFuaW5nIHN0YXRlCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jIChnc3RfcnRzcHNyY19wbGF5KTogc3RhdGUgY2hhbmdlIG1pZ2h0IGJlCgkgIGhhcHBlbmluZyBpbiB0aGUgYXBwbGljYXRpb24gdGhyZWFkLCBzbyB3ZSBkb24ndCBjaGFuZ2UgdGhlIHN0YXRlIHRvCgkgIFBMQVlJTkcgaW4gdGhlIGdzdHJ0c3BzcmMgdGhyZWFkIHVubGVzcyBpdCBpcyBzYWZlLgoJICBBIHNwZWNpZmljIGNhc2UgaXMgd2hlbiBjaGFuaW5nIHRoZSBzdGF0ZSB0byBOVUxMIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHRocmVhZC4gVGhpcyB3aWxsIHN5bmNocm9ub3VzbHkgdHJ5IHRvIHN0b3AgdGhlIHRhc2sgKHdpdGggdGhlIGVsZW1lbnQKCSAgc3RhdGUgbG9jayBhY3F1aXJlZCksIGJ1dCB3ZSB3aWxsIHRyeSBhIGdzdF9lbGVtZW50X3NldF9zdGF0ZSBmcm9tCgkgIGdzdHJ0c3BzcmMgdGhyZWFkIHdoaWNoIHdpbGwgYmxvY2sgb24gdGhlIGVsZW1lbnQgc3RhdGUgbG9jayBjYXVzaW5nIGEKCSAgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMTIKCjIwMTItMTItMTAgMTE6NDQ6MjYgKzAwMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCByZXNpemluZyB0aGUgQ29jb2Egd2luZG93IG9uIHJlY2VpdmluZyBuZXcgY2FwcwoJICBGaXhlcyBidWcgIzY4OTczMi4KCjIwMTItMTEtMzAgMjA6Mzc6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMnNyYzogbGluayBhZ2FpbnN0IC1scnQgZm9yIGNsb2NrX2dldHRpbWUoKQoJICBOZWVkIHRvIGV4cGxpY2l0bHkgbGluayBhZ2FpbnN0IC1scnQgZm9yIGNsb2NrX2dldHRpbWUoKSwgd2hpY2gKCSAgd2UgZG9uJ3QgZ2V0IGluIHRoZSBsaWJzIGFueSBtb3JlLCBiZWNhdXNlIGNvcmUgbW92ZWQgdGhlCgkgIGdtb2R1bGUtbm8tZXhwb3J0LTIuMCBiaXQgaW50byBSZXF1aXJlcy5Qcml2YXRlLgoJICBOb3QgcmVxdWlyZWQgZm9yIG5ld2VyIGdsaWJjLCBidXQgZm9yIG9sZGVyIG9uZXMsIHNvIGNoZWNrIGZvciB0aGF0LgoKMjAxMi0xMS0zMCAxNzoyMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBhY2NlcHQgYXVkaW8vd2VibSBhcyB3ZWxsIGFzIHZpZGVvL3dlYm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMzNgoKMjAxMi0xMS0zMCAxNzoyMDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHdlYm11eDogZml4IGxpbmtpbmcgd2l0aCBzaG91dDJzZW5kIGVsZW1lbnQKCSAgU2hvdXQyc2VuZCBvbmx5IGFjY2VwdHMgd2VibSBmb3JtYXQsIG5vdCBtYXRyb3NrYSwgYnV0IGR1ZQoJICB0byBhIGJ1ZyBpbiBtYXRyb3NrYW11eCwgd2VibW11eCdzIHNvdXJjZSBwYWQgaXMgYWxzbyBjcmVhdGVkCgkgIHdpdGggdGhlIG1hdHJvc2thIHNvdXJjZSBwYWQgdGVtcGxhdGUgYXMgcGFkIHRlbXBsYXRlLCB3aGljaAoJICBtYWtlcyB0aGUgbGluayBmdW5jdGlvbiB0aGluayBpdCBjYW4ndCBsaW5rIHdlYm1tdXggdG8gc2hvdXQyc2VuZC4KCSAgQWxzbyBhZGQgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MzM2CgoyMDEyLTExLTI3IDExOjEzOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgbmV3IG9wdGlvbiBwYXJzZXIgZnVuY3Rpb24KCjIwMTItMTEtMjYgMTU6MTc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbGF3OiBmaXggYWNjaWRlbnRhbCBmaWxlIHBlcm1pc3Npb25zIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY5CgoyMDEyLTExLTI1IDE2OjA1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxMi0xMS0yNSAxNDoxNjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBjcml0aWNhbHMgaWYgdW5rbm93biBmb3VyY2MgaGFzIHNwYWNlIGF0IGJlZ2lubmluZyBvciBlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjkzNgoKMjAxMi0xMS0yNCAxOTozMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogZml4IGJvcmRlciBmaWxsaW5nIGZvciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgV2Ugd291bGQgZ2V0IGEgZ3JlZW4gYm9yZGVyIGluc3RlYWQgb2YgYSBibGFjayBvbmUsIGZvcgoJICBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTkxCgoyMDEyLTExLTI0IDE0OjI3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIG11bGF3OiBjb25zdC1pZnkgc29tZSBhcnJheXMKCjIwMTItMTEtMDIgMTI6Mzg6NDQgLTA0MDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbXVsYXdkZWM6IGZpeCBpbnRlZ2VyIG92ZXJydW4KCSAgVGhlcmUgbWlnaHQgYmUgbW9yZSB0aGFuIDY1NTM1IHNhbXBsZXMgaW4gYSBjaHVuayBvZiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY5CgoyMDEyLTExLTIyIDExOjM0OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXVzZSB0aGUgdGFzayBpbnN0ZWFkIG9mIHNwaW5uaW5nCgkgIEFjdHVhbGx5IHBhdXNlIHRoZSBsb29wIHRhc2sgaW5zdGVhZCBvZiBzcGlubmluZyBmb3JldmVyLgoKMjAxMi0xMS0xOSAwMzozMTozNyAtMDUwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgZ3JheSA4LzE2IHN1cHBvcnQKCjIwMTItMTEtMTkgMTE6MjU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI0OTdjNGYgdG8gYTcyZmFlYQoKMjAxMi0xMS0xNiAxNTozODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlZ21lbnQgZXZlbnQKCSAgTWFrZSBhIHNlZ21lbnQgZXZlbnQgd2hlbiB3ZSBzZW5kIGEgbmV3IHJhbmdlIGhlYWRlciB0byBhIGNsaWVudCAoZmlyc3QgUExBWQoJICByZXF1ZXN0IG9yIGFmdGVyIGEgc2VlaykuIFNlbmQgdGhlIHNlZ21lbnQgZXZlbnQgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgQ2xlYW4gdGhlIHNlZ21lbnQgZXZlbnQgb24gY2xlYW51cAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MzgyCgoyMDEyLTExLTE2IDE1OjE4OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY2hlY2sgZm9yIGFjdGl2ZSBzdHJlYW1zCgkgIEEgc3RyZWFtIGNhbiBiZSBhY3RpdmUgd2l0aG91dCBhIHNyY3BhZCB5ZXQgYW5kIHdlIHdhbnQgdG8gc2VuZAoJICBldmVudHMgb24gdGhvc2Ugc3RyZWFtcyBhcyB3ZWxsLgoKMjAxMi0xMS0xNiAxMzozMTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBhZGQgcGFkcyBvdXRzaWRlIG9mIGxvY2sKCSAgQ3JlYXRlIGFuZCBhZGQgdGhlIGdob3N0cGFkIGZvciB0aGUgbmV3IHN0cmVhbSBvdXRzaWRlIG9mIHRoZSBsb2NrIGJlY2F1c2UgaXQKCSAgaXMgbm90IG5lZWRlZCBhbmQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMDktMTIgMjI6MTE6MjAgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHNwc3JjOiBhbGxvdyBjbGllbnQgdG8gZGlzYWJsZSByZWNvbm5lY3Rpb24KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLltjaF06IGFkZGVkIG5ldyAidWRwLXJlY29ubmVjdCIgcHJvcGVydHkuIEJlZm9yZSwKCSAgcnRzcHNyYyBhbHdheXMgdHJpZWQgdG8gcmVjb25uZWN0IHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgUlRTUAoJICBjb25uZWN0aW9uIHdhcyBjbG9zZWQgYnkgdGhlIHNlcnZlci4gVGhpcyBwcm9wZXJ0eSBsZXRzIHRoZSB1c2VyCgkgIGRlY2lkZSB3aGV0aGVyIGl0IHdhbnRzIHJ0c3BzcmMgdG8gcmVjb25uZWN0IG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzkxMgoKMjAxMi0xMS0xNiAxMjoxNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYXIgdmFyaWFibGVzIGJlZm9yZSByZXRyeWluZwoJICBFbHNlIHdlIG1pZ2h0IHVucmVmIGFuIG9sZCB1ZHBzcmMgdHdpY2UgaW4gY2xlYW51cC4KCjIwMTItMTEtMTYgMTI6MDA6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3Bvc2UgcG9ydHMgaW4gbXVsdGljYXN0CgkgIFdoZW4gdGhlIHVzZXIgY29uZmlndXJlZCBhIHBvcnQtcmFuZ2UsIHByb3Bvc2UgcG9ydHMgZnJvbSB0aGlzIHJhbmdlCgkgIGFzIHRoZSBtdWx0aWNhc3QgcG9ydHMuIFRoZSBzZXJ2ZXIgaXMgZnJlZSB0byBpZ25vcmUgdGhpcyByZXF1ZXN0IGJ1dCBpZiBpdAoJICBob25vdXJzIGl0LCBpbmNyZW1lbnQgb3VyIHBvcnRzIHNvIHRoYXQgd2Ugc3VnZ2VzdCB0aGUgbmV4dCBwb3J0IHBhaXIgZm9yIHRoZQoJICBuZXh0IHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQyMAoKMjAxMi0xMS0xNiAxMTo1ODo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIG1vcmUgZGVidWcKCjIwMTItMTEtMTYgMDk6MDk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBtZXNzYWdlcyBpbiBtYXgtc2l6ZSBtb2RlIGFzIHdlbGwKCSAgTm8gcmVhc29uIG5vdCB0byByZWFsbHkuCgoyMDEyLTExLTE1IDE0OjM3OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBwb3N0IGVycm9yIGJlZm9yZSBzdG9wcGluZwoKMjAxMi0xMS0xNCAwMDoxMzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIC0+IGdzdF9hZGFwdGVyX3ByZXZfcHRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU1OTgKCjIwMTItMTEtMTIgMTk6MjM6NDEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgTlYxMi9OVjIxIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODIyNQoKMjAxMi0xMS0xMiAxMzowMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGxlYWsgR3N0VmlkZW9Db2RlY0ZyYW1lcyB0aGF0IGNhdXNlIHRoZSBjcmVhdGlvbiBvZiBpbnZpc2libGUgZnJhbWVzCgkgIEZpeGVzIGJ1ZyAjNjgyNzE0LgoKMjAxMi0xMS0xMiAxMTo0NzoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBVc2UgbmV3IEdUeXBlIGZvciBHVGhyZWFkIGluc3RlYWQgb2YganVzdCBHX1RZUEVfUE9JTlRFUgoKMjAxMi0xMS0xMiAxMToxNDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIFJUUCBwYWNrZXRzCgoyMDEyLTExLTEyIDEwOjQ0OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQWN0dWFsbHkgdXNlIHRoZSBzdG9wKCkgdmZ1bmMgaW1wbGVtZW50YXRpb24KCjIwMTItMTEtMTIgMTA6MzE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbGFzdCBjb21taXQKCjIwMTItMTEtMTIgMTA6MTA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBLZWVwIHRoZSBpbnB1dCBzdGF0ZSBpbiByZXNldCgpCgkgIEl0J3Mgc3RpbGwgdmFsaWQgYWZ0ZXIgYSBmbHVzaCBhbmQgd2UgbWlnaHQgbm90IGdldCBhIG5ldyBvbmUuCgoyMDEyLTExLTEyIDEwOjA4OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWxzbyBkZXN0cm95IGRlY29kZXIgaW4gc2V0X2Zvcm1hdCgpIGlmIGl0IHdhcyBjcmVhdGVkIGFscmVhZHkKCSAgRml4ZXMgYSBtZW1vcnkgbGVhay4KCjIwMTItMTEtMTIgMDk6NDg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBEb24ndCBjbGVhciBpbnB1dCBzdGF0ZSBpbiByZXNldCgpCgkgIFRoZSBpbnB1dCBzdGF0ZSBpcyBzdGlsbCB2YWxpZCBhZnRlciBmbHVzaGluZyB1bnRpbAoJICBuZXcgY2FwcyBhcnJpdmUuCgkgIEZpeGVzIGJ1ZyAjNjg4MDkyLgoKMjAxMi0xMS0xMCAxODoyMToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogYWRkIHN1cHBvcnQgZm9yIFlWMTIKCSAgV2UgY2FuIGRvIEk0MjAsIHNvIHdlIGNhbiBkbyBZVjEyIGFzIHdlbGwuCgoyMDEyLTExLTEwIDEyOjM5OjA4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVycyB3aXRoIGtleS11bml0LWV2ZW50CgkgIERvbid0IHdyaXRlIHN0cmVhbSBoZWFkZXJzLCBsZXQgdXBzdHJlYW0gZWxlbWVudHMgaW5zZXJ0IHRoZW0gaW4gdGhlIHN0cmVhbSBpZgoJICBhbGxfaGVhZGVycz10cnVlIGlzIHNldCBpbiBrZXkgdW5pdCBldmVudHMuCgoyMDEyLTExLTA5IDEzOjI3OjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IEFkZCBOVjEyL05WMjEgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3OTY0CgoyMDEyLTExLTA5IDE2OjMxOjA1ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IERvbid0IGdpdmUgdXAgc28gZWFzaWx5IGlmIGZhaWxlZCB0byBkZWNvZGUgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDM2CgoyMDEyLTExLTA5IDExOjIyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWxzbyBjbGVhciBHRXJyb3IKCjIwMTItMTEtMDkgMTE6MjA6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMKCSAgU2VlIGJ1ZyAjNTI5NDU0IGFuZCAjNjg3NzgyIGFuZCBjb21taXQKCSAgNzUxZjJiYjM2NDZmMmJlZmYzNjk4YzlmMDk5MDBkYmQwZWEwOGFiYgoKMjAxMi0xMS0wNyAyMDozNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgY291cnRlc3kgb2YgYXV0b3VwZGF0ZQoKMjAxMi0xMS0wNyAxODo0ODo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsZXQgQUdfR1NUX1BMVUdJTl9ET0NTIGNoZWNrIGZvciBweXRob24KCSAgQW5kIHVwZGF0ZSBjb21tb24gZm9yIG1vdmUgZnJvbSBBU19QQVRIX1BZVEhPTiB0byBBTV9QQVRIX1BZVEhPTiwKCSAgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBzaG91bGQgcGljayB1cCBuZXdlciBweXRob24gdmVyc2lvbnMgYXMKCSAgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzkwMwoKMjAxMi0xMS0wNyAxMzozNjozMyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgRml4IHZwOHJ0cCBoZWFkZXIgbmFtZXMgaW4gTWFrZWZpbGUKCjIwMTItMTEtMDYgMTU6MDM6NTUgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgY3JvcHBpbmcKCSAgVGhpcyBjaGFuZ2UgZW5hYmxlIGF1dG9tYXRpYyBjcm9wcGluZyB1c2luZyAtMSBzZXQgdG8gbGVmdCwgdG9wLCByaWdodCBvcgoJICBib3R0b20gcHJvcGVydHkuIEluIHRoZSBjYXNlIGJvdGggc2lkZSBhcmUgc2V0IHRvIGF1dG9tYXRpYyBjcm9wcGluZywgdGhlCgkgIGNyb3Bpbmcgd2lsbCBiZSBkb25lIGVxdWFsbHkgb24gYm90aCBzaWRlIChpbiB0aGUgb2RkIGNhc2UsIHJpZ2h0IGFuZAoJICBib3R0b20gY3JvcHBpbmcgd2lsbCBiZSAxIHBpeGVsIG1vcmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NzYxCgoyMDEyLTExLTAyIDE2OjM5OjI4ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IERvbid0IHVubWFwIG9yIGZpbmlzaF9mcmFtZSBhbiBpbnZhbGlkIEdzdEJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY0CgoyMDEyLTExLTA2IDEzOjIyOjU4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB0aGUgUlRDUCBwb3J0IG51bWJlciBpcyBpbmNsdXNpdmUKCSAgVGhlIGNvbmZpZ3VyZWQgcG9ydCBudW1iZXIgcGFpciBoYXMgaXRzIHVwcGVyIGJvdW5kIHNldCB0byB0aGUgbWF4aW11bQoJICBhbGxvd2VkIFJUQ1AgcG9ydCwgaW5jbHVzaXZlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQyMAoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDQgMDA6MDc6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSogZXh0L2pwZWcvc21va2Vmb3JtYXQuaDoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSogZXh0L21pa21vZC9SRUFETUU6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmg6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmg6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L21hdGhfY29tcGF0Lmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguaDoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2RyYXdtZXRob2RzLmM6CgkqIGdzdC9nb29tL2RyYXdtZXRob2RzLmg6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmlsdGVyc19tbXguczoKCSogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkqIGdzdC9nb29tL2dvb20uaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2dvb21fZ3JhcGhpYy5oOgoJKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuYzoKCSogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJKiBnc3QvZ29vbS9nb29tX3R5cGVkZWZzLmg6CgkqIGdzdC9nb29tL2dvb21fdmlzdWFsX2Z4Lmg6CgkqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tL2xpbmVzLmM6CgkqIGdzdC9nb29tL2xpbmVzLmg6CgkqIGdzdC9nb29tL21hdGh0b29scy5jOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLmg6CgkqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5zOgoJKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5zOgoJKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuYzoKCSogZ3N0L2dvb20vc291bmRfdGVzdGVyLmg6CgkqIGdzdC9nb29tL3N1cmYzZC5jOgoJKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkqIGdzdC9nb29tL3YzZC5jOgoJKiBnc3QvZ29vbS92M2QuaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L2lzb21wNC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L2lzb21wNC9xdHBhbGV0dGUuaDoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5oOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9ydHAvZm52MWhhc2guYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3NtcHRlL3BhaW50Lmg6CgkqIGdzdC9zbXB0ZS9wbHVnaW4uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zcy9jb21tb24uaDoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmg6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdW5hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wMi10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAyIDE4OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBkb24ndCBhY2Nlc3MgcnRwIGJ1ZmZlciBhZnRlciB1bm1hcAoJICBSZWFkIHRoZSBtYXJrZXIgYml0IGJlZm9yZSB3ZSB1bm1hcCB0aGUgcnRwIHBhY2tldC4KCjIwMTItMTEtMDIgMDk6MzQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbW1lZGlhdGVseSByZXR1cm4gaWYgb3BlbmluZyB0aGUgZGVjb2RlciBmYWlsZWQKCSAgSW5zdGVhZCBvZiBpZ25vcmluZyBhbnkgZXJyb3JzLgoKMjAxMi0xMS0wMSAyMjowMjozOSArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTaG9ydCBjaXJjdWl0IGdzdF92cDhfZGVjX2hhbmRsZV9mcmFtZSBpZiBrZXlmcmFtZSBpcyBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczNzYKCjIwMTItMTEtMDIgMTA6NTM6NTcgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb2NvbnZlcnQ6IENvbXBhcmUgeSBvZmZzZXQgd2l0aCBoZWlnaHQsIG5vdCB3aWR0aCwgd2hlbiB0ZXN0aW5nIGZvciBvdmVybGFwCgkgIFRoaXMgY291bGQgaGF2ZSBwcmV2ZW50ZWQgaW1hZ2VzIHNob3dpbmcgdGhhdCBzaG91bGQgaGF2ZSB3aGVuIHRoZQoJICBzb3VyY2UgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBpdHMgd2lkdGguCgkgIFdoZW4gd2lkdGggZXhjZWVkcyBoZWlnaHQsIGFzIGlzIGNvbW1vbiwgaXQgcHJvYmFibHkgb25seSBjYXVzZWQgYQoJICBtaW5pc2N1bGUgYW1vdW50IG9mIHVubmVjZXNzYXJ5IHdvcmsuICBJIGhhdmVuJ3QgdGVzdGVkLgoKMjAxMi0xMS0wMSAyMTowOTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IGluY2x1ZGUgY29uZmlnLmggYW5kIG1pbm9yIHN0eWxlIGZpeGVzCgoyMDEyLTExLTAxIDIwOjEzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBmaXggdGFicy9zcGFjZSBtZXNzIGluIE1ha2VmaWxlLmFtCgoyMDEyLTExLTAxIDIwOjA1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSAgcnRwOiBtb3ZlIFZQOCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGZyb20gLWJhZAoJICBTcGVjIGlzIHN0aWxsIGluIGRyYWZ0IHN0YXRlLCBidXQgc2hvdWxkIGhvcGVmdWxseSBub3QKCSAgY2hhbmdlIG11Y2ggbm93LiBCZXNpZGVzLCB3ZSBhbm5vdW5jZSB0aGluZ3MgYXMgVlA4LURSQUZULUlFVEYtMDEKCSAgaW4gb3VyIGNhcHMsIHNvIGV2ZW4gaWYgdGhpbmdzIGNoYW5nZSBpbiBpbmNvbXBhdGlibGUgd2F5cyBpdAoJICBzaG91bGQgbm90IGJyZWFrIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYzCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkgIHJ0cHZwODogdXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI4IDEyOjQ5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTAxIDE0OjU5OjU1IC0wMzAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODsgZml4IGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgdGhpcmQgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTA3MwoKMjAxMi0wMS0yNSAxNjoyMDo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEwOjQ1OjUxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcG9ydCB0byAwLjExCgoyMDExLTEwLTAzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRml4IHR5cG8KCjIwMTEtMDktMjMgMjI6NTg6MzAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogVXBkYXRlIHRoZSBwYXkvZGVwYXkgdG8gdGhlIGlldGYtZHJhZnQtMDEgc3BlYwoKMjAxMS0wOS0xMCAxMTozMToyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2Rib29saHVmZi5jOgoJKiBnc3QvcnRwL2Rib29saHVmZi5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IGZpeCBiaXRzdHJlYW0gcGFyc2luZyB1c2luZyB0aGUgd3Jvbmcga2luZCBvZiBiaXRyZWFkZXIKCSAgVlA4IHVzZXMgYSBwcm9iYWJpbGlzdGljIGJvb2wgY29kZXIsIG5vdCBhIHN0cmFpZ2h0IGJpdCBjb2Rlci4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIHdoZW4gZXJyb3ItcmVzaWxpZW50IGlzIHNldC4KCSAgVGhpcyBjb21taXQgaW5jbHVkZXMgYSBjb3B5IG9mIGxpYnZweCdzIGJvb2wgY29kZXIsIEJTRCBsaWNlbnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY5NAoKMjAxMS0wNy0xMiAxODowMzo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogUmVqZWN0IHVua25vd24gYml0c3RyZWFtIHZlcnNpb25zCgoyMDExLTAzLTA0IDExOjU5OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweS4KCjIwMTEtMDEtMjMgMTc6MDI6MzggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IEFjY2VwdCBwYWNrZXRzIHdpdGggb25seSBvbmUgYnl0ZSBvZiBkYXRhCgkgIFdoZW4gZnJhZ21lbnRpbmcgcGFydGlvbnMgaXQgY2FuIGhhcHBlbiB0aGF0IGFuIFJUUCBwYWNrZXQgb25seSBjYXJpZXMgMQoJICBieXRlIG9mIFJUUCBkYXRhLgoKMjAxMS0wMS0yMyAxNjo0MjoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4cGF5OiBUcmVhdCB0aGUgZnJhbWUgaGVhZGVyIGp1c3QgbGlrZSBhbnkgb3RoZXIgcGFydGl0aW9uCgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgaW5pdGlhbCBtYXBwaW5nIGp1c3QgYWN0IGFzIGlmIHRoZSBnbG9iYWwgZnJhbWUKCSAgaW5mb3JtYXRpb24gaXMgYW5vdGhlciBwYXJ0aXRpb24uIFRoaXMgc2F2ZXMgc3BlY2lhbC1jYXNpbmcgaXQgbGF0ZXIgaW4KCSAgdGhlIGFjdHVhbCBwYWNrZXRpemluZyBjb2RlLgoKMjAxMC0wNS0xNiAxNzoyMzoxNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogQWRkIHNpbXBsZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgZm9yIFZQOAoJICBNaW5pbWFsIGltcGxlbWVudGF0aW9uIG9mIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvcnRwLywKCSAgdmVyc2lvbiAwLjMuMgoKMjAxMi0xMS0wMSAxODo0MjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogZml4IGZvciAxLjAgZXZlbnRzCgkgIENhcHMgZXZlbnRzIGFyZSBzb21ldGltZXMgbm90IGZvbGxvd2VkIGJ5IGEgYnVmZmVyIGJ1dCBieSBhbiBldmVudC4gRmx1c2ggYW55CgkgIHBlbmRpbmcgY2FwcyBiZWZvcmUgd2UgbWFrZSBhIHBhY2tldCB3aXRoIHRoZSBldmVudC4KCSAgQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBldmVudCBoYW5kbGVyIGJlZm9yZSB3ZSBhdHRlbXB0IHRvIHB1c2ggUlRQIHBhY2tldHMsIGl0CgkgIG1pZ2h0IGJlIGEgc2VnbWVudCBldmVudC4KCjIwMTItMTEtMDEgMTg6NDI6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBmaXggc21hbGwgbGVhawoKMjAxMi0xMS0wMSAxNzo0NDoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGFkZCBzdXBwb3J0IGZvciBldmVudHMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMTEtMDEgMTc6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IGFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGV2ZW50cwoJICBXZSBjdXJyZW50bHkgb25seSBzZW5kIHRhZ3MgYW5kIGN1c3RvbSBldmVudHMuIFRoZSBvdGhlciBldmVudHMKCSAgbWlnaHQgaW50ZXJmZXJlIHdpdGggdGhlIHJlY2VpdmVyIHRpbWluZ3Mgb3IgYXJlIG90aGVyd2lzZSBoYW5kbGVkCgkgIGJ5IFJUUC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDEyLTExLTAxIDE1OjU0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5OiByZXdyaXRlIHBheWxvYWRlcgoJICBVc2UgYWRhcHRlciB0byBhc3NlbWJsZSB0aGUgcGF5bG9hZCBhbmQgbWFrZSBhIGZsdXNoIGZ1bmN0aW9uIHRvCgkgIHR1cm4gdGhpcyBwYXlsb2FkIGludG8gKGZyYWdtZW50ZWQpIHBhY2tldHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oCgoyMDEyLTExLTAxIDEzOjAzOjQ0ICswMDAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZ2V0IGhlaWdodCB2aWEgR1NUX1ZJREVPX0ZSQU1FX0hFSUdIVCwgbm90IF9XSURUSAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MzMwCgoyMDEyLTExLTAxIDEzOjAyOjE2ICswMDAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVib3g6IGZpeCBib3JkZXIgZmlsbGluZyBmb3IgZ3JheSBmb3JtYXRzCgkgIEdldCB0aGUgaGVpZ2h0IHZpYSBHU1RfVklERU9fRlJBTUVfSEVJR0hULCBub3QgX1dJRFRILgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MzMwCgoyMDEyLTExLTAxIDExOjU4OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogY2hlY2sgZm9yIGNvcnJlY3QgZnJhZ21lbnQgb2Zmc2V0CgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IGluc2VydCB0aGUgcnRwIHBhY2tldCBpbiB0aGUgYWRhcHRlciB3aGVuIHRoZQoJICBmcmFnX29mZnNldCBtYXRjaGVzLiBXaGVuIHRoZSBmaXJzdCBwYWNrZXQgb2YgYSBmcmFnbWVudCBpcyBkcm9wcGVkLAoJICBpdCBhdm9pZHMgcHV0dGluZyB0aGUgcmVtYWluaW5nIHBhY2tldHMgaW4gdGhlIGFkYXB0ZXIgYW5kIHByb2Nlc3NpbmcKCSAgdGhlIHBhcnRpYWwgZnJhZ21lbnQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTExLTAxIDExOjU0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBzZXQgQyBmbGFnIG9uIGFsbCBidWZmZXJzIG9mIHRoZSBmcmFnbWVudAoJICBTZXQgdGhlIEMgZmxhZ3Mgb24gYWxsIHRoZSBmcmFnbWVudHMgaW5zdGVhZCBvZiBvbmx5IHRob3NlIHdpdGgKCSAgY2FwcyBpbiB0aGVtLiBUaGlzIG1ha2VzIGl0IGVhc2llciBpbiB0aGUgcmVjZWl2ZXIgdG8gY2hlY2sgaWYgdGhlcmUKCSAgaXMgYSBjYXBzIGluIHRoZSBhc3NlbWJsZWQgZnJhZ21lbnRzIGp1c3QgYnkgbG9va2luZyBhdCB0aGUgbGFzdCBSVFAKCSAgcGFja2V0IGZsYWdzLgoKMjAxMi0xMS0wMSAxMDo1NTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IHVzZSB0aGUgY2Fwc3ZlcnNpb24KCSAgVGFrZSB0aGUgY2FwcyBmcm9tIHRoZSBpbnB1dCBjYXBzIGFuZCBzdG9yZSBpdCBpbiB0aGUgc2xvdCBnaXZlbgoJICBieSBjYXBzdmVyc2lvbi4KCjIwMTItMTEtMDEgMTA6NTI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXk6IHNlbmQgY2FwcyBpbmxpbmUKCSAgUGxhY2UgdGhlIGNhcHN2ZXJzaW9uIG9uIHRoZSBvdXRnb2luZyBjYXBzIHNvIHRoYXQgdGhleSBlbmQgdXAgaW4KCSAgYW4gU0RQIGFzIHdlbGwuIFJlY2VpdmVycyBuZWVkIHRvIGtub3cgd2hhdCBjYXBzdmVyc2lvbiBhIHBhcnRpY3VsYXIKCSAgY2FwcyBpcyBmb3IgdG8gYmUgYWJsZSB0byBtYXRjaCB0aGUgY2FwcyB0byB0aGUgQ1YgaW4gdGhlIFJUUCBwYWNrZXRzLgoJICBQbGFjZSB0aGUgY2FwcyBpbnNpZGUgdGhlIFJUUCBwYWNrZXQgd2hlbmV2ZXIgdGhlIGNhcHMgY2hhbmdlLgoJICBCYXNlZCBvbiBwYXRjaCBieSBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmgKCjIwMTItMTAtMzEgMTY6MTc6NDggKzAwMDAgIEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBhZGQgZGVidWcKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDEyLTEwLTMxIDE2OjA5OjI2ICswMDAwICBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZGVwYXk6IGNvcnJlY3RseSBza2lwIGNhcHMgaGVhZGVyIHNpemUKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMDktMjggMDA6NDM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1dCBzdHJlYW1oZWFkZXJzIG9uIHZvcmJpcy9zcGVleC9mbGFjL3RoZW9yYSBjYXBzIHRvIG1ha2UgcmVtdXhpbmcgd29yawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNTg5CgoyMDEyLTEwLTI4IDAwOjA3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBhc3NlcnQgaW4gZ2V0X3RpbWUoKSB3aGVuIGNhbGxlZCBhZnRlciBzaHV0ZG93bgoJICBXaGljaCBtaWdodCBoYXBwZW4gaWYgdGhlIHNvdXJjZSBnZXRzIHNldCB0byBOVUxMIHN0YXRlIGJlZm9yZQoJICB0aGUgcmVzdCBvZiB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5ODUKCjIwMTItMTAtMzAgMTE6MTA6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIHRlc3RzOiBmaXggbGV2ZWwgZXhhbXBsZQoJICBVc2UgdGhlIEdWYWx1ZUFycmF5IGluIHRoZSBtZXNzYWdlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTU0CgoyMDEyLTEwLTI3IDIzOjIyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBmaXggdmFyaWFibGUgb3JkZXIgaW4gc29tZSBNYWtlZmlsZS5hbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MDEzCgoyMDEyLTEwLTI3IDE3OjI3OjE2IC0wNDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGdzdDogYWRkIHZhcmlvdXMgbWlzc2luZyBHU1RfUExVR0lOU19CQVNFX0xJQlMgaW4gTWFrZWZpbGUuYW0KCSAgVGhvc2UgcGx1Z2lucyBkZXBlbmQgb24gZWl0aGVyIGxpYmdzdGF1ZGlvIG9yIGxpYmdzdHZpZGVvLAoJICB3aGljaCBhcmUgaW4gZ3N0LXBsdWdpbnMtYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzAxMwoKMjAxMi0xMC0yNyAxMzoyNDoyNCArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1hcmsgaW52aXNpYmxlIFZQOCBmcmFtZXMgd2l0aCB0aGUgREVDT0RFX09OTFkgZmxhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjU5CgoyMDEyLTEwLTI2IDEwOjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBhZGQgbXVsdGlmaWxlc3JjIHRlc3QgZm9yIGZpeCBpbiBwcmV2aW91cyBjb21taXQKCSAgTWFrZSBzdXJlIHRoZSBzdG9wLWluZGV4IHNldCBpcyBob25vdXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MwoKMjAxMi0xMC0yNiAxMDozMzowMyArMDEwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQGFrbmV0LnJ1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggc3RvcCBpbmRleCBoYW5kbGluZwoJICBNYWtlIHN1cmUgdGhlIHN0b3AgaW5kZXggaXMgYWx3YXlzIGhvbm91cmVkLiBBdm9pZHMKCSAgZW5kbGVzcyBsb29wIGlmIG9uZSB3YW50cyB0byByZWFkIGFuZCBvdXRwdXQgdGhlIHNhbWUKCSAgZmlsZSBOIHRpbWVzLCBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MwoKMjAxMi0wOC0yNSAwMjoyNjoyOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogU3VwcG9ydCByZWN1cnNpdmUgU2ltcGxlVGFncwoJICBGaXhlcyAjNjgyNjQ0CgkgIERlcGVuZHMgb24gIzY4MjYxNQoKMjAxMi0wOC0yNCAxMzo1NTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBFeHBhbmQgdGhlIHRhZyBtYXBwaW5nLgoJICAqIEFsc28gZXhwb3NlIHVua25vd24gdGFncyBhcyBrZXk9dmFsdWUgcGFpcnMuCgkgICogQXJyYW5nZSB0YWcgbWFwIGluIHRoZSBzYW1lIG9yZGVyIHRhZ3MgYXJlIGxpc3RlZCBpbiBNYXRyb3NrYSBzcGVjLCBsZWF2aW5nCgkgIHVubWFwcGVkIHRhZ3MgYXMgY29tbWVudHMuCgkgICogTW9yZSBzcGVjaWZpYyBUT0RPcy4KCSAgKiBSZW1vdmUgZHVwbGljYXRlIERBVEUgZGVmaW5lLgoJICBGaXhlcyAjNjgyNjE1CgkgIERlcGVuZHMgb24gIzY4MjUyNAoKMjAxMi0xMC0yNiAxMDowOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wOC0yMyAxNTowNzoyMiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBNYXRyb3NrYSB0YWcgVGFyZ2V0VHlwZSBzdXBwb3J0CgkgICogUmVhZHMgVGFyZ2V0VHlwZSBhbmQgVGFyZ2V0VHlwZVZhbHVlIGZyb20gYSBUYWcuCgkgICogQWZ0ZXIgVGFnIGlzIGNvbXBsZXRlbHkgcmVhZCwgcHJvY2Vzc2VzIHRhZ2xpc3QsIHN1YnN0aXR1dGluZyBzb21lIG9mIHRoZQoJICB0YWdzIGRlcGVuZGluZyBvbiB0YXJnZXQgdHlwZSB2YWx1ZSBhbmQgdGhlIHByZXNlbmNlIG9mIHZpZGVvL3N1YnRpdGxlIHN0cmVhbXMuCgkgICogU3VwcG9ydHMgcmVhZGluZyB0d28gbmV3IHNpbXBsZXRhZ3MgLSBQQVJUX05VTUJFUiBhbmQgVE9UQUxfUEFSVFMKCSAgRGVwZW5kcyBvbiAjNjgyNDQ4CgkgIEZpeGVzICM2ODI1MjQKCjIwMTItMDgtMjIgMTU6MzI6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IFBlci10cmFjayB0YWdzIGZvciBNYXRyb3NrYQoJICBSZXF1aXJlcyBNYXRyb3NrYSBmaWxlIHRvIGhhdmUgc2FuZSBsYXlvdXQgKHRyYWNrIGluZm8gYmVmb3JlIHRhZyBpbmZvKS4KCSAgVXNlcyByZXBsYWNlLW1lcmdlLgoJICBNYWtlcyB0cmFjayBVSURzIDY0LWJpdC4KCSAgRml4ZXMgIzY4MjQ0OAoKMjAxMi0xMC0yNSAyMDoxODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTItMTAtMjUgMTI6MTg6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlYWQgdmlkZW8gZm9ybWF0IGhlYWRlciBmdWxseSAoc28gd2UgY2FuIGZpbmQgJ3Bhc3AnIGF0b21zKSBmb3IgbW9yZSBmb3VyY2NzLiBGaXhlcyBhc3BlY3QgcmF0aW8gb2YgcHJvcmVzIGZpbGVzLgoKMjAxMi0xMC0yNSAwMDo0NDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiB0aGUgbmV3IGdldF9jYXBzIGFscmVhZHkgZG9lcyB0aGUgZmlsdGVyIGludGVyc2VjdGlvbgoJICBJdCBzaG91bGQgYmUgZmFzdGVyIHRvIHBhc3MgdGhlIGNhcHMgdG8gaW50ZXJzZWN0IGFzIHRoZSBmaWx0ZXIgY2FwcywKCSAgcmF0aGVyIHRoYW4gdXNpbmcgTlVMTCBhbmQgaW50ZXJzZWN0aW5nICdtYW51YWxseScgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4MzcKCjIwMTItMTAtMjUgMDA6NDM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogYXZvaWQgYXNzZXJ0aW9uIHdoZW4gdXNpbmcgYWNjZXB0IGNhcHMgcXVlcnkKCSAgVGhpcyBxdWVyeSBtdXN0IHJlY2VpdmUgYSBmaXhlZCBjYXBzLCBzbyBpbWFnZWZyZWV6ZSBzaG91bGQKCSAgZml4YXRlIGl0cyBmcmFtZXJhdGUgYmVmb3JlIHNlbmRpbmcgdGhlIHF1ZXJ5IGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4MzcKCjIwMTItMTAtMjUgMTI6MzM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4wLjIgPT09CgoyMDEyLTEwLTI1IDAxOjAxOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMgoKMjAxMi0xMC0yNCAxMzo1MDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGNvcnJlY3QgdHlwZSBmb3IgY2hhbm5lbC1tYXNrIGJpdG1hc2sKCSAgRml4ZXMgY3Jhc2ggb24gMzItYml0IHN5c3RlbXMuCgoyMDEyLTEwLTI0IDExOjE3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGbHVzaCB0aGUgcmluZ2J1ZmZlciBvbiBHQVAgZXZlbnRzIHdpdGhvdXQgZHVyYXRpb24KCSAgVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseSBzdGFydCB0aGUgcmluZ2J1ZmZlciBhbmQgY2xvY2suCgoyMDEyLTEwLTAyIDIwOjUxOjI5ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBzZXQgREVDT0RFX09OTFkgZmxhZyBvbiBpbnZpc2libGUgQWx0UmVmIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjE2CgoyMDEyLTEwLTIzIDE2OjAyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGNvdmVyYXJ0IGV4dHJhY3Rpb24gaWYgdm9yYmlzIGNvbW1lbnRzIGNvbWUgYWZ0ZXIgcGljdHVyZSBoZWFkZXIKCSAgU2VlIHNhbXBsZSBmaWxlIGZvciBidWcgIzY4NDcwMS4KCjIwMTItMTAtMjMgMTM6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBpZ25vcmUgYmFkIGhlYWRlcnMgaWYgd2UgaGF2ZSBhIHZhbGlkIFNUUkVBTUlORk8gaGVhZGVyCgkgIElmIHdlIHJ1biBpbnRvIGFueSBoZWFkZXIgcGFyc2luZyBpc3N1ZXMgYW5kIHdlIGhhdmUgYSB2YWxpZAoJICBTVFJFQU1JTkZPIGhlYWRlciBhbHJlYWR5LCBkb24ndCBlcnJvciBvdXQsIGJ1dCBqdXN0IHN0b3AKCSAgaGVhZGVyIHBhcnNpbmcgYW5kIHRyeSB0byBmaW5kIHNvbWUgYXVkaW8gZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzAxCgoyMDEyLTEwLTIzIDEzOjQzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZSBhbmQgZml4IGJ1ZmZlciBsZWFrIG9uIGhlYWRlciBwYXJzaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjIgMjI6MzI6NDkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB3aXRoIHJhdyBhdWRpbywgc2V0IGEgZGVmYXVsdCBjaGFubmVsLW1hc2sgZm9yIG11bHRpY2hhbm5lbCBhdWRpby4gVGhpcyBkb2Vzbid0IGFjdHVhbGx5IHBhcnNlICdjaGFuJyBiZWNhdXNlIGl0J3MgYWJzdXJkbHkgY29tcGxleC4KCjIwMTItMTAtMjIgMTU6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBmaXggdHlwbyBjYXVzaW5nIGNvbXBpbGF0aW9uIGVycm9yCgkgIGdzdHVkcHNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3VkcHNyY19jcmVhdGUnOgoJICBnc3R1ZHBzcmMuYzozNjU6IGVycm9yOiAncmV0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjY0MgoKMjAxMi0xMC0yMiAxMTo1NTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpXyBmaXggaW52ZXJ0IGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NTAKCjIwMTItMTAtMjIgMTE6NTU6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGRlYnVnCgoyMDEyLTEwLTIyIDExOjM5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICdnZW5lcmljJyBzYW1wbGVzCgkgIEFkZCBzdXBwb3J0IGZvciBzdHVmZmluZyBhIGNvbXBsZXRlIHN0cmVhbSBpbnRvIDEgc2FtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMCAxMzowMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiByZW1vdmUgc3VwZXJmbHVvdXMgZ190eXBlX2luaXQoKSBjYWxsCgkgIEl0J3MgZGVwcmVjYXRlZCBpbiBuZXdlciBHTGliIGFuZCBub3QgbmVlZGVkIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTYKCjIwMTItMTAtMjAgMTE6MzI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNhcHMgbGVhayBpbiBhY2NlcHRjYXBzIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDE5OjI0OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGdzdF9yaWZmX3N0cmZfYXVkcyBpbiBjYXNlIG9mIE1TL1JJRkYgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTE5MgoKMjAxMi0xMC0xOCAyMjoyMDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1bnNpZ25lZCBzdWJ0aXRsZSB0ZW1wbGF0ZQoKMjAxMi0xMC0xOCAxMTozMjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW4gYWNjZXB0X2NhcHMoKSBjaGVjayBpZiByaW5nIGJ1ZmZlciBpcyBOVUxMIGJlZm9yZSBkZS1yZWZlcmVuY2luZwoJICBBbmQgc3ByaW5rbGUgc29tZSB0aHJlYWQtc2FmZXR5ICh0YWtlIG9iamVjdCBsb2NrIGZvcgoJICBhY2Nlc3NpbmcgcmluZyBidWZmZXIsIGFuZCBwYSBtYWluIGxvb3AgbG9jayBmb3IgdGhlCgkgIGNvbnRleHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNzgyCgoyMDEyLTA5LTEzIDAwOjEwOjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEZpeCByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNyYyBzZXRjYXBzIGlzIGlnbm9yZWQKCSAgSWYgYm90aCBwYWRzIHJlY2VpdmUgZGF0YSBhdCB0aGUgc2FtZSB0aW1lLCB0aGV5IHdpbGwgYm90aCBnZXQgdGhlaXIKCSAgc2lua19zZXRjYXBzIGNhbGxlZCB3aGljaCB3aWxsIGNhbGwgdGhlIHNyY19zZXRjYXBzLCBidXQgdGhlcmUgaXMKCSAgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgc2Vjb25kIG9uZSBtaWdodCBub3QgYmUgY2FsbGVkLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg0MgoKMjAxMS0xMC0zMSAxNTo0MzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVub2ZmaWNhbCBWX01KUEVHIGNvZGVjIGlkCgkgIFNpbmNlIGl0J3Mgbm90IHNwZWMnZWQsIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkKCSAgY2FzZS4gTWFueSBhcHBsaWNhdGlvbnMgKGUuZy4gYXZpZGVtdXgpIGRvbid0IHVuZGVyc3RhbmQKCSAgdGhlIHVub2ZmaWNpYWwgVl9NSlBFRyBpZC4KCSAgRml4ZXMgIzY1OTgzNy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTEwLTE3IDE3OjAzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICBqcGVnLCBwbmcsIHZweDogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLgoKMjAxMi0xMC0xNyAxNDoyMzowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIGpwZWdkZXBheTogc3RvcmUgcXVhbnQgdGFibGVzIGluIHppZ3phZyBvcmRlcgoKMjAxMi0xMC0xNyAxMzo1NTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRzZXNzaW9uOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMC0xNyAxMzozNTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGNsYXJpZnkgdGhlIG50cC1zeW5jIG9wdGlvbgoKMjAxMi0xMC0xNyAxMzoxNTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHVwZGF0ZSBjYXBzIGluIHRoZSBzb3VyY2UKCSAgSW5mb3JtIHRoZSBzb3VyY2Ugd2hlbiBjYXBzIGNoYW5nZWQuIFRoaXMgd2FzIHJlbW92ZWQgaW4gdGhlIHBvcnQgdG8gMS4wCgkgIGxlYXZpbmcgdGhlIHNvdXJjZSB1bmF3YXJlIG9mIHRoZSBjbG9jay1yYXRlIGFuZCB1bmFibGUgdG8gaW50ZXJwb2xsYXRlCgkgIHJ0cCB0aW1lc3RhbXBzIGZvciBTUiBwYWNrZXRzLgoKMjAxMi0xMC0xNyAxMjo0NjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBzZXQgUFRTIGFuZCBEVFMgaW4gaml0dGVyYnVmZmZlcgoKMjAxMi0xMC0xNyAxMjoyNDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRpc2FibGUgY2hlY2sgZm9yIG50cC1zeW5jCgkgIERpc2FibGUgdGhlIGNoZWNrIGZvciB0aGUgbnRwLXN5bmMgbWV0aG9kLiBJdCBpcyBleHBlY3RlZCB0aGF0CgkgIGEgcmF0aGVyIGxhcmdlciBvZmZzZXQgbmVlZHMgdG8gYmUgYXBwbGllZCB3aXRoIHRoaXMgbWV0aG9kLgoKMjAxMi0xMC0xNyAxMjoxNzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogdXNlIHJ1bm5pbmctdGltZSBmb3IgTlRQIHRpbWUKCSAgV2hlbiB1c2UtcGlwZWxpbmUtY2xvY2sgaXMgc2V0LCB1c2UgdGhlIHJ1bm5pbmctdGltZSBvZiB0aGUKCSAgcGlwZWxpbmUgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZXN0YW1wcy4gVGhpcyBtZXRob2Qgd291bGQgcHJldmlvdXNseQoJICBvbmx5IHdvcmsgd2hlbiB0aGUgYmFzZS10aW1lIGlzIHNldCB0byAwIGJ1dCB3aXRoIHRoaXMgY2hhbmdlIGl0IGNhbgoJICBhbHNvIHdvcmsgd2l0aCBkaWZmZXJlbnQgb2Zmc2V0cyBhbmQgd2UgY2FuIGFsc28gaW1wbGVtZW50IHBhdXNlL3Jlc3VtZQoJICBvZiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlciBub3cuCgoyMDEyLTEwLTE3IDEwOjIwOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBwb3J0IHRvIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE3IDA5OjM2OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiB1c2Ugb3V0X2luZm8gZm9yIG91dCBwcm9wZXJ0aWVzCgoyMDEyLTEwLTE2IDE0OjQwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJICBtZWRpYW46IHNtYWxsIGNsZWFudXBzCgoyMDEyLTEwLTE2IDEzOjU2OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vLmdpdGlnbm9yZToKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSogZ3N0L21lZGlhbi9tZWRpYW4udmNwcm9qOgoJICBtZWRpYW46IHJlbW92ZSBub3cgdGhhdCBpdCBpcyBpbiB2aWRlb2ZpbHRlcgoKMjAxMi0xMC0xNiAxMzo0OToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbWVkaWFuIGZyb20gYnVpbGQKCjIwMTItMTAtMTYgMTM6NDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJICB2aWRlb21lZGlhbjogY29weSBtZWRpYSB0byB2aWRlb21lZGlhbgoJICBDb3B5IHRoZSBtZWRpYW4gdmlkZW8gZmlsdGVyIHRvIHZpZGVvZmlsdGVycyBhbmQgcmVuYW1lIHRvCgkgIHZpZGVvbWVkaWFuLgoKMjAxMi0xMC0xNiAxMzoxMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSAgbWVkaWE6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTE2IDAxOjAyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhcHBlbmQgcGFsZXR0ZSBkYXRhIHRvIHBhbGV0dGVkIDgtYml0IFJHQiBmcmFtZXMKCSAgRml4ZXMgcGxheWJhY2sgb2YgOC1iaXQgaW5kZXhlZCBSR0IgdmlkZW9zLCB3aXRoIGZpeGVzIGluIC1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDQ2CgoyMDEyLTEwLTE1IDE1OjM2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQW5kIHRoaXMgdGltZSBmaXggdGhlIGRlZmF1bHQgdGFyZ2V0LWJpdHJhdGUgdmFsdWUgZm9yIHJlYWwKCjIwMTItMTAtMTUgMTU6MzA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZQoKMjAxMi0xMC0xMyAwMDowMzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBhc3NlcnQgaWYgdXBzdHJlYW0gc2l6ZSBpcyBub3QgYXZhaWxhYmxlIHdoZW4gZ3Vlc3NpbmcgYml0cmF0ZXMKCSAgRml4ZXMgYWJvcnQgaW4gcHVzaCBtb2RlIHdoZXJlIHRoZSBzb3VyY2UgaXMgbm90IHNlZWthYmxlIGFuZCB0aGUKCSAgc2l6ZSBvZiB0aGUgZmlsZSBpcyBub3QgYXZhaWxhYmxlLCBhcyB3aXRoCgkgIGNhdCBmb28ubXA0IHwgZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9ZmQ6Ly8wCgkgIExlc3Mgbm90aWNhYmxlIHdpdGggcmVsZWFzZXMsIHNpbmNlIHdlIGRpc2FibGUgYWxsCgkgIGdfYXNzZXJ0KCkgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwMDgKCjIwMTItMTAtMTIgMTQ6Mzg6MzMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhbGxvdyBtb3JlIHN0cmVhbXMuIEJ1bXAgdGhpcyBjb25zdGFudCB0byAzMiwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgcmVhbC13b3JsZCBmaWxlcy4KCjIwMTItMTAtMTIgMTQ6MzU6MjQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IG1vcmUgZGlmZmVyZW50IGZvdXJjYyB2YWx1ZXMgZm9yIG90aGVyIFByb1JlcyB2YXJpYW50cy4KCjIwMTItMTAtMTEgMjI6MzY6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBleGFtcGxlczogdXBkYXRlIHNvbWUgZWxlbWVudCBuYW1lcyBmb3IgMS4wIGluIFJUUCBleGFtcGxlcwoJICBnc3RydHBiaW4gLT4gcnRwYmluCgkgIGZmZGVjXyogICAtPiBhdmRlY18qCgkgIGZmZW5jXyogICAtPiBhdmVuY18qCgoyMDEyLTEwLTEwIDEyOjA1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIGluY2x1ZGUKCjIwMTItMTAtMTAgMTA6NTU6MjggKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIG11bHRpY2FzdC1pZmFjZSBwcm9wZXJ0eQoJICB1ZHBzcmMgYWxyZWFkeSBoYXMgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgbXVsdGljYXN0IGludGVyZmFjZSwgd2hpY2gKCSAgaXMgdXNlZnVsIGZvciBtdWx0aS1ob21lZCBtYWNoaW5lcy4gVGhpcyBwYXRjaCBhZGRzIHRoZSBzYW1lIGNvZGUgdG8KCSAgdGhlIG11bHRpdWRwc2luay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg2NAoKMjAxMi0xMC0xMCAxMTozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZG9uJ3QgZXJyb3Igb24gc2VuZCBlcnJvcnMgYnV0IG9ubHkgd2FybgoJICBEb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgc2ltcGx5IHBvc3QgYSB3YXJuaW5nLCBpdCdzIHBvc3NpYmxlCgkgIHRoYXQgdGhlIG5leHQgcGFja2V0IHdpbGwgYmUgZmluZS4KCjIwMTItMTAtMTAgMTA6Mjg6MjQgKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIGZvcmNlLWlwdjQgb3B0aW9uCgkgIEFkZCBhbiBvcHRpb24gdG8gdGhlIG11bHRpdWRwc2luayB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIGZvcmNlCgkgIHRoZSB1c2Ugb2YgYW4gSVB2NCBzb2NrZXQuCgkgIFRoaXMgY2FuIGUuZy4gYmUgdXNlZCB0byBoYW5kbGUgdGhlIGlzc3VlIGRlc2NyaWJlZCBpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDgxCgoyMDEyLTEwLTEwIDEwOjE4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiByZW1vdmUgdW51c2VkIGZpZWxkCgoyMDEyLTEwLTEwIDEwOjEwOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiB1c2UgbmVnb3RpYXRlZCBhbGxvY2F0b3Igb3IgcG9vbAoJICBVc2UgdGhlIGJhc2UgY2xhc3MgdG8gYWxsb2NhdGUgYSBidWZmZXIgZm9yIHVzIGJlY2F1c2UgaXQga25vd3MgaG93CgkgIHRvIHVzZSB0aGUgbmVnb3RpYXRlZCBhbGxvY2F0b3Igb3IgYnVmZmVycG9vbC4KCjIwMTItMTAtMTAgMTA6MDk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHBvc3QgZXJyb3Igd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZwoKMjAxMi0xMC0xMCAxMDowOToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZWxlbWVudHMgcG9zdCBlbGVtZW50IG1lc3NhZ2VzCgoyMDEyLTEwLTA3IDE2OjU2OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjEgPT09CgoyMDEyLTEwLTA3IDE1OjMxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMQoKMjAxMi0xMC0wNiAxNDo1NzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmMwYjUyYyB0byA2YmI2OTUxCgoyMDEyLTEwLTA1IDE1OjEyOjI3IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBvdXRwdXQgY2hhbm5lbHMgc2hvdWxkIGJlIG1hcmtlZCBhcyBNT05PLCBub3QgRlJPTlRfTEVGVCwgaWYgd2UncmUgbm90IHByZXNlcnZpbmcgaW5wdXQgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDEyLTEwLTA0IDE1OjEzOjIwIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHVzZSBnc3RfYXVkaW9fY2hhbm5lbF9wb3NpdGlvbnNfdG9fbWFzayBpbnN0ZWFkIG9mIGEgbG9jYWwgY29weSBvZiBoYWxmIG9mIGl0LiBIYW5kbGVzIHNvbWUgdmFsdWVzIG1vcmUgY29ycmVjdGx5LgoKMjAxMi0xMC0wNCAyMDozMjo0NSArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RydHBkZXBheTogZG9uJ3QgbGVhayBpbnB1dCBidWZmZXIKCSAgVGhlIHJ0cCBidWZmZXIgaXMgbmV2ZXIgdW5tYXBwZWQgaW4gdGhlIG5vcm1hbCBjb2RlIGV4aXQgcGF0aAoJICBvZiBnc3RfcnRwX2dzdF9kZXBheV9wcm9jZXNzKC4uKSByZXN1bHRpbmcgaW4gYSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTUxMgoKMjAxMi0xMC0wNCAxODozNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIE5WMTIgYW5kIE5WMjEKCjIwMTItMTAtMDEgMTU6MTE6MDUgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IGRvIG5vdCBwdXNoIHVubWFwcGVkIGRhdGEKCSAgQWxzbyBkbyBub3QgdXNlIGEgR3N0QnVmZmVyIGFmdGVyIGl0IGhhcyBiZWVuIHB1c2hlZCBpbnRvIHRoZSBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjEzCgoyMDEyLTEwLTAzIDEwOjUxOjQ1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIG1ldGEgaW5mbzogdGhyZWFkc2FmZSByZWdpc3RyYXRpb24gdXNpbmcgZ19vbmNlCgoyMDEyLTEwLTAxIDE1OjQ0OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIHNvbWUgaW5pdGlhbCBqdW5rIGJlZm9yZSBoZHJsIGxpc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTA1OQoKMjAxMi0xMC0wMSAxNDowMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdHM6IHBvcnQgZ2RrcGl4YnVmc2luayB0ZXN0CgoyMDEyLTA5LTI5IDExOjU5OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBQdXJnZSByZWZlcmVuY2VzIHRvIGxpYm9pbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjg1CgoyMDEyLTA5LTI4IDE2OjUxOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZWNvZ25pemUgYWxsIHhzdWIgZnJhbWVzIGFzIGtleWZyYW1lcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTc3CgoyMDEyLTA5LTI4IDE2OjUwOjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTogZmluZCB0aGUgY29ycmVjdCBjaHVuayBmb3Igc2VnbWVudCBmb2xsb3dpbmcgc2VlawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTc3CgoyMDEyLTA5LTI3IDIyOjE3OjQ5ICswMTAwICBBcm5hdWQgVnJhYyA8cmF3b3VsQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmaXggcGFyc2luZyBpbiBwdXNoIG1vZGUgd2hlbiBtb292IGF0b20gaXMgYXQgdGhlIGVuZAoJICBXaGVuIHBsYXlpbmcgYW4gbXA0IGZpbGUgd2l0aCB0aGUgTU9PViBhdG9tIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIHBsYXliYWNrCgkgIGZhaWxzIHdpdGggdGhlIGVycm9yIG1lc3NhZ2UgIm5vICdtb292JyBhdG9tIHdpdGhpbiB0aGUgZmlyc3QgMTAgTUIiLiBUaGlzIGlzCgkgIGR1ZSB0byBhIG1pc3Rha2UgaW4gdGhlIHVwc3RyZWFtX3NpemUgdHlwaW5nLCBtYWtpbmcgdGhlIHNlZWsgdG8gdGhlIGVuZCBvZgoJICBmaWxlIG5ldmVyIGhhcHBlbmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk3MgoKMjAxMi0wOS0yNyAxNTo1MDo0OSAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogcmVtb3ZlIGR1cGxpY2F0ZSBlbnRyaWVzIGF0IGZvcm1hdCBhdCBjYXBzCgkgIEF2b2lkcyBleHRyYSBjYXBzL3N0cnVjdHVyZXMgcHJvY2Vzc2luZwoKMjAxMi0wOS0yNyAxNDoxMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogbmVnb3RpYXRlIHBvb2wgd2l0aCBzcmNwYWQgY2FwcwoKMjAxMi0wOS0yNyAxMTowMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBUaGUgY29udmVydCBhbmQgZHVyYXRpb24gcXVlcmllcyBhcmUgbm90IHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgZm9ybWF0CgoyMDEyLTA5LTI2IDA5OjI4OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2xlYXIgdmlkZW8gZnJhbWUgbW9yZSBjb3JyZWN0bHkKCSAgTWFrZSBzdXJlIG5vdCB0byB0b3VjaCBtZW1vcnkgdGhhdCBkb2Vzbid0IGJlbG9uZyB0bwoJICBvdXIgZnJhbWUsIHdlIG1pZ2h0IGJlIG9uZSBwYXJ0IG9mIGEgc2lkZS1ieS1zaWRlIDNECgkgIGZyYW1lLCBvciBpbiBhIHBpY3R1cmUtaW4tcGljdHVyZSBzY2VuYXJpby4KCjIwMTItMDktMjYgMDA6NDQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBtaW5vciBjbGVhbi11cAoJICBVc2UgR3N0Qnl0ZVdyaXRlciwgYmVjYXVzZSB3ZSBjYW4sIGFuZCBnX3ZhbHVlX3Rha2VfYm94ZWQuCgoyMDEyLTA5LTEwIDEwOjI3OjI4ICswNDAwICBEbWl0cml5IFNhbW9uZW5rbyA8ZG1pdHJpeS5zYW1vbmVua29AdGVsaWdlbnQucnU+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc3BlZXggYXVkaW8gZGVjb2RpbmcgYnkgY3JlYXRpbmcgZmFrZSBzdHJlYW0gaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2MjIKCjIwMTItMDktMjUgMjE6MjE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB2aWRlb21peGVyOiBmaXggd2FybmluZ3Mgd2hlbiB1c2luZyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50LCB3aGljaCBtYWtlcwoJICB0aGUgYnVmZmVyIG5vdCB3cml0YWJsZSBhbnkgbW9yZSB0ZWNobmljYWxseSwgc28gY2FsbGluZwoJICBnc3RfYnVmZmVyX21lbXNldCgpIG9uIGl0IHdpbGwgY2F1c2UgbmFzdHkgd2FybmluZ3MuCgkgIFVuaXQgdGVzdCBkaXNhYmxlZCBiZWNhdXNlIGl0IHZlcnkgcmFyZWx5IChmb3IgbWUpCgkgIGZhaWxzLCBwb3NzaWJseSBuZWdvdGlhdGlvbi1yZWxhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0Mzk4CgoyMDEyLTA5LTI1IDEwOjQzOjI4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzb21lIHVzZWZ1bCBkZWJ1ZyBsb2dnaW5nCgoyMDEyLTA5LTI1IDEwOjQxOjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB0ZWxlY2luZQoJICBUaGlzIG9ubHkgYWZmZWN0cyBiZWhhdmlvdXIgaW4gdGVsZWNpbmUgY2FzZXMgd2l0aCBwYXR0ZXJuIGxvY2tpbmcKCSAgZW5hYmxlZC4gVGhlIGRlZmF1bHQgY2FzZSBzaG91bGQgYmUgdW50b3VjaGVkLgoJICBUaGlzIHdvcmtzIHdpdGggdGhlIG91dHB1dCBmcm9tIGZpZWxkYW5hbHlzaXMgYXQgbGVhc3QsIGJ1dCB0aGUgZmllbGQKCSAgb3JkZXIgbG9va3Mgc3dhcHBlZCBmb3IgdGVsZWNpbmUgbWl4ZWQgYnVmZmVycyB3aXRoIHRoZQoJICBEYXZpZF9zbGlkZXNfU2NobGVlZiBjbGlwLgoKMjAxMi0wOS0yNSAxNDo0MzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERpc2FibGUgR0xJQiBkZXByZWNhdGlvbiB3YXJuaW5ncwoJICBHVmFsdWVBcnJheSBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIDIuMzIgLi4uIGJ1dCB0aGVyZSdzIG5vIHVzYWJsZQoJICByZXBsYWNlbWVudCBmb3IgaXQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTA5LTI1IDE0OjE4OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBsZWFrCgoyMDEyLTA5LTI0IDE2OjQ2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4wID09PQoKMjAxMi0wOS0yNCAxNDowNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMAoKMjAxMi0wOS0yNCAxMTo1Njo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiByZW1vdmUgZ19wcmludGVycigpIHRoYXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIKCSAgbm93IHRoYXQgdGNhc2Vfc2tpcF9icm9rZW5fdGVzdCgpIHByaW50cyBpdCBhcyB3ZWxsLgoKMjAxMi0wOS0yMyAxOTo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGRpc2FibGUgZmFpbGluZyByZXBsYXlnYWluIHRlc3RzCgoyMDEyLTA5LTIzIDE2OjMxOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MTA6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE2OjAyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2VuZCBzdHJlYW0tc3RhcnQKCjIwMTItMDktMjMgMTU6NTc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNTo0ODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBhZGQgYSBidW5jaCBvZiBGSVhNRXMKCSAgTmVlZHMgc29tZSBtb3JlIHdvcmssIHNvIHN0cmVhbS1zdGFydCwgY2FwcyBhbmQgdGFncyBhcmUKCSAgc2VudCBpbiB0aGUgcmlnaHQgb3JkZXIuCgoyMDEyLTA5LTIzIDE1OjE4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNToxNjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjIgMTU6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBVc2UgMS4wLXN0eWxlIGNhcHMgbmVnb3RpYXRpb24gYW5kIGF1ZGlvL3gtcmF3CgoyMDEyLTA5LTIyIDE2OjA4OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0Zjk2MmY3IHRvIDZjMGI1MmMKCjIwMTItMDktMjEgMjE6NTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbnN3ZXIgVVJJIHF1ZXJ5CgkgIFdpdGhvdXQgdGhpcywgc29tZXRoaW5nIGFsc28gYW5zd2VyZWQgdGhlIHF1ZXJ5CgkgIHdpdGggVFJVRSBidXQgd2l0aG91dCBzZXR0aW5nIGEgdXJpLCBub3Qgc3VyZQoJICB3aGF0IHRoYXQgd2FzLi4KCjIwMTItMDktMjAgMTc6Mjg6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogTWFrZSBzdXJlIHRoZSBjYXBzIGRvbid0IGhhdmUgZHVwbGljYXRlZCBzcHMvcHBzCgoyMDEyLTA5LTIwIDE5OjU4OjEyICswMjAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogTXV0ZSBzdHJlYW0gcG9zdC1jb25uZWN0aW9uIGlmIHJlcXVpcmVkCgkgIEEgYnVnIGluIFB1bHNlQXVkaW8gY2F1c2VzIFBBX1NUUkVBTV9TVEFSVF9NVVRFRCB0byBiZSByZWplY3RlZCBvbgoJICByZWNvcmQgc3RyZWFtcy4gVW50aWwgdGhpcyBpcyBmaXhlZCB1cHN0cmVhbSwgd2UgbXV0ZSB0aGUgc3RyZWFtCgkgIG1hbnVhbGx5IGF0IHN0YXJ0dXAuIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQWxiYW4gQnJvd2FleXMKCSAgPHByYWhhbEB5YWhvby5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NDY5CgoyMDEyLTA5LTIwIDE4OjAwOjU5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogMjQgYml0IGF1ZGlvIGhlcmUgaXMgUzI0TEUsIG5vdCBTMjRfM0xFLgoKMjAxMi0wOS0yMCAxMDowNzoyNCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBoYW5kbGUgbGF0ZW5jeSBxdWVyeSBiZWZvcmUgc2V0dGluZyB1cCB0aGUgYnVmZmVycG9vbAoJICBGaXhlcyBjcmFzaCBpZiBubyBidWZmZXJwb29sIGlzIHNldCB1cCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ0MzAKCjIwMTItMDktMTkgMDk6MTc6MDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBDb3JyZXNwb25kcyB0byBhbiBBUEkgY2hhbmdlIGluIGdzdC1wbHVnaW5zLWJhc2UuIFRoaXMgbmVlZHMgdG8gYmUgZml4ZWQKCSAgdG8gcXVlcnkgdGhlIGV4cGVjdGVkIGJ5dGUgb3JkZXIgdXNpbmcgYXBwcm9wcmlhdGUgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDA5OjE1OjUzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgRGlyZWN0U291bmQgZXhwZWN0cyBuYXRpdmUgZW5kaWFuIGJ5dGUgb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDk6MTM6MTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBDb3JyZXNwb25kcyB0byBhbiBBUEkgY2hhbmdlIGluIGdzdC1wbHVnaW5zLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDA6Mzk6MDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIGluY29ycmVjdCBsb2dpYwoJICBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoZXNlIGxpbmVzIHdlcmUgYWRkZWQsIHRoZXkgZG9uJ3QgbWFrZSBzZW5zZSB0bwoJICBtZSBub3cgYW5kIGJvdGggRGF2aWQgYW5kIEkgYWdyZWUgdGhhdCByZW1vdmluZyB0aGVtIG1vdmVzIGNsb3NlciB0bwoJICByZWxhdGVkIGxvZ2ljIGJlaW5nIGNvcnJlY3QsIHRoZXJlZm9yZSwgdGhleSdyZSBiZWluZyByZW1vdmVkLgoJICBJJ3ZlIHRlc3RlZCBhIGZldyBwcm9ncmVzc2l2ZSwgaW50ZXJsYWNlZCBhbmQgdGVsZWNpbmUgY2xpcHMgYW5kIHRoZXkKCSAgYWxsIGJlaGF2ZSBwcm9wZXJseSB0aW1lc3RhbXAtd2lzZSBhbmQgdmlzdWFsbHkgYWZ0ZXIgdGhlc2UgY2hhbmdlcy4KCjIwMTItMDktMTkgMDA6MTc6NDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGZpZWxkIGR1cmF0aW9uCgkgIFRoZSBmcmFtZSByYXRlIGZyYWN0aW9uIGlzIGNvcnJlY3RseSBhZGp1c3RlZCBpbiB0aGUgY2FzZXMgcHJlY2VkaW5nIHRoZQoJICBmaWVsZCBkdXJhdGlvbiBjYWxjdWxhdGlvbiBhbmQgc28gdGhlIGZhY3RvciBvZiAyIGlzIGluY29ycmVjdC4KCjIwMTItMDktMTggMTA6MzQ6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IFUvViBzdHJpZGVzIGZvciBhIG51bWJlciBvZiBjYXNlcy4KCjIwMTItMDktMTggMTI6MTM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogaW5pdCB2aWRlb2luZm8KCSAgLi4uIHRvIHByZXZlbnQgcmFuZG9tIGJvZ3VzIGNhcHMgZmllbGRzLgoKMjAxMi0wOS0xOCAxMjoxMjozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjaGFpbiB1cCB0byBjb2xsZWN0cGFkcyBxdWVyeSBmdW5jdGlvbgoKMjAxMi0wOS0xNyAxMzoxNzowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBsZXQgR3N0Q29sbGVjdFBhZCBzaGFkb3cgY3VzdG9tIHNpbmsgcGFkIHF1ZXJ5IGZ1bmMKCSAgSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZSBjdXN0b20gcGFkIHF1ZXJ5IGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQuCgkgIFRoaXMgcGF0Y2gsIHNldCB0aGF0IHF1ZXJ5IGZ1bmN0aW9uIG9uIHRoZSBHc3RDb2xsZWN0UGFkcyB0byBhdm9pZCB0aGlzCgkgIHNoYWRvd2luZy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTItMDktMTcgMTg6MjM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXN0IGltYWdlLmpwZyBmb3IganBlZyB0ZXN0Cgo9PT0gcmVsZWFzZSAwLjExLjk5ID09PQoKMjAxMi0wOS0xNyAxNzo1Nzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTkKCjIwMTItMDktMTcgMTY6NTM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMTM6MzA6MTUgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgRml4IHNwZWMgZmlsZSBmb3IgdnA4IG1vdmUKCjIwMTItMDktMTcgMTM6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGFubm9kZXg6IEFkZCB0byB0aGUgQ1JVRlRfRElSUwoKMjAxMi0wOS0xNyAxMjoxNDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMDk6NDg6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgZmluaXNoIGZyYW1lcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGFsd2F5cyBnZXQgdGhlIHNhbWUgZnJhbWUgaWYgbXVsdGlwbGUgZnJhbWVzIGFyZSBwZW5kaW5nLAoJICBsZWFraW5nIG1lbW9yeSBvZiB0aGUgcHJldmlvdXMgZnJhbWVzIGFuZCBicmVha2luZyB0aW1lc3RhbXBzLgoKMjAxMi0wOS0xNyAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGNoYW5naW5nIGJpdHJhdGUgYW5kIG90aGVyIHBhcmFtZXRlcnMgZHVyaW5nIHBsYXliYWNrCgkgIEZpeGVzIGJ1ZyAjNjQ4Mjc2LgoKMjAxMi0wOS0xNyAwOToxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IFN0b3JlIGNvbmZpZ3VyYXRpb24gaW4gdGhlIHZweF9jb2RlY19lbmNfY2ZnX3Qgc3RydWN0IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgYWxsIHZhcmlhYmxlcwoJICBBbHNvIHByb3RlY3QgZW5jb2RlciB3aXRoIGEgbXV0ZXguCgoyMDEyLTA5LTE2IDE2OjAzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gdG8gcmVmbGVjdCBuZXcgcHJvcGVydHkgbmFtZXMKCSAgLi4uYW5kIGFsc28gbGluayB0byB0aGUgV2ViTSBlbmNvZGVyIHBhcmFtZXRlcnMgd2Vic2l0ZS4KCjIwMTItMDktMTYgMTU6NTc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBNYWtlIHNvbWUgcHJvcGVydHkgbmFtZXMgbW9yZSByZWFkYWJsZQoKMjAxMi0wOS0xNiAxNTo0NzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB2cDg6IEFkZCB0ZXN0cyB0byAuZ2l0aWdub3JlCgoyMDEyLTA5LTE2IDE1OjQ2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBwYXRjaCB0byB0aGUgbmV3IHByb3BlcnR5IG5hbWVzCgoyMDEyLTA5LTE2IDE1OjQ2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2cHg6IEludGVncmF0ZSB0ZXN0IGludG8gdGhlIGJ1aWxkIHN5c3RlbSB0b28KCjIwMTItMDItMDcgMTc6MDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA2LzZdIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTExLTI0IDIxOjQyOjM5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNS82XSB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDEwLTA3LTEwIDE1OjQ2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNC82XSB2cDhkZWM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB2cDhkZWMKCjIwMTAtMDctMTAgMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAzLzZdIHZwOGVuYzogSW1wcm92ZSB1bml0IHRlc3QgYSBiaXQKCjIwMTAtMDctMTAgMTU6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyLzZdIHZwOGVuYzogQWxzbyBjaGVjayB0aGUgb3V0cHV0IGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0wNy0xMCAxNToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEvNl0gdnA4ZW5jOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxMi0wOS0xNiAxNTo0MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHZweDogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOS0xNiAxNTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJICB2cHg6IFJlbmFtZSB2cDggcGx1Z2luIHRvIHZweAoJICBUaGlzIGlzIHVzaW5nIGxpYnZweCwgd2hpY2ggY2FuIHN1cHBvcnQgbW9yZSBjb2RlY3MgdGhhbiBqdXN0IFZQOAoJICBhbmQgd2lsbCBsaWtlbHkgc3VwcG9ydCBmdXR1cmUgY29kZWNzLgoKMjAxMi0wOS0xNiAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IEFwcGx5IHJlbWFpbmluZyBjaGFuZ2VzIHRoYXQgZ290IGxvc3Qgd2hpbGUgbW92aW5nIHRoZSBwbHVnaW4gdmlhIGdpdCBhbSB0aGFua3MgdG8gbWVyZ2VzCgoyMDEyLTA5LTE2IDE1OjI1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzQvMTM0XSB2cDhkZWM6IFVucmVmIGlucHV0L291dHB1dCBzdGF0ZXMgd2hlbiBzdG9wcGluZyB0aGUgZGVjb2RlcgoKMjAxMi0wOS0xNiAxNToxODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzMvMTM0XSB2cDhlbmM6IFVwZGF0ZSByZWFsdGltZSBwcm9maWxlIHRvIHRoZSBuZXcgcHJvcGVydGllcwoKMjAxMi0wOS0xNiAxMDo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMyLzEzNF0gdnA4OiBSZXF1aXJlIGxhdGVzdCBsaWJ2cHggcmVsZWFzZSAoMS4xLjAgZnJvbSBNYXkgMjAxMikKCSAgRml4ZXMgYnVnICM2ODQxMTYgYW5kIHNpbXBsaWZpZXMgY29uZmlndXJlIGNoZWNrcy4KCjIwMTItMDktMTUgMjA6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMS8xMzRdIHZwOGVuYzogVXNlIGEgc3RyaW5nIGZpZWxkIGZvciB0aGUgcHJvZmlsZSBpbiB0aGUgY2FwcwoJICBKdXN0IGZvciBjb25zaXN0ZW5jeSB3aXRoIGFsbCB0aGUgb3RoZXIgY29kZWNzLgoKMjAxMi0wOS0xNSAwMDowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMwLzEzNF0gdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IHByb2ZpbGUgaW4gY2FwcwoKMjAxMi0wOS0xNCAyMzo0MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI5LzEzNF0gdnA4OiBVcGRhdGUgY29weXJpZ2h0IGFuZCBhdXRob3JzCgoyMDEyLTA5LTA4IDE1OjM4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjgvMTM0XSB2cDhlbmM6IFJld29yayBlbmNvZGVyIHByb3BlcnRpZXMgdG8gYmUgbW9yZSBpbiBsaW5lIHdpdGggdGhlIGxpYnZweCB0b29scyBhbmQgQVBJCgkgIEFsc28gYWRkIGFsbCBhdmFpbGFibGUgcHJvcGVydGllcy4KCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyNy8xMzRdIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA3LTE5IDA5OjA1OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjYvMTM0XSB2cDhkZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDgtMTQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgW01PVkVEIEZST00gQkFEIDEyNS8xMzRdIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRlY29kaW5nIHRocmVhZHMKCjIwMTItMDgtMTQgMTE6MDk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyNC8xMzRdIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBNRlFFIHBvc3Rwcm9jZXNzaW5nIGZsYWcKCSAgV2hpY2ggaXMgZW5hYmxlZCBieSBkZWZhdWx0IGlmIHBvc3Rwcm9jZXNzaW5nIGlzIGVuYWJsZWQuCgoyMDEyLTA4LTA5IDEzOjM3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjMvMTM0XSB2cDg6IFVzZSBwa2ctY29uZmlnIGZpbGUgZm9yIGdldHRpbmcgdGhlIExJQlMgYW5kIENGTEFHUwoKMjAxMi0wOC0wOCAxNzowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIyLzEzNF0gdnA4ZW5jOiBVcGRhdGUgdGhlIHBlci1jb21wb25lbnQgc3RyaWRlcyBmb3IgZXZlcnkgZnJhbWUgdG9vCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgR3N0VmlkZW9BbGlnbm1lbnQKCjIwMTItMDctMjYgMTk6MzE6MTQgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIxLzEzNF0gdnA4ZW5jOiBpbml0aWF0ZSBlbmNvZGVyIHRvIGZpeCBhIGNyYXNoLgoJICBXaXRob3V0IHRoaXMgcGF0Y2ggdnA4ZW5jIHNlbmQgaGVhZGVyIGJlZm9yZSBhbmQgYWZ0ZXIgZmlyc3QKCSAga2V5IGZyYW1lLiBPbiBzZWNvbmQga2V5ZnJhbWUgdnA4ZGVjIHdpbGwgY3Jhc2ggd2l0aG91dCBnZXR0aW5nCgkgIGRlY29kZWQgZnJhbWUuIFdpdGggdGhpcyBwaXBlIGl0IGlzIGVhc3kgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWU6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIHZwOGVuYyAhIHZwOGRlYyAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA2NjcKCjIwMTItMDctMjggMDA6MzI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMC8xMzRdIHRhZzogVXBkYXRlIGZvciB0YWdsaXN0L3RhZyBldmVudCBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAxMDozNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE5LzEzNF0gZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMSAxOTo1OToyMSArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTgvMTM0XSB2cDhlbmM6IGZpeCBtZW1vcnkgbGVhawoJICB1bnJlZiBmcmFtZS4gaSBob3BlIGl0IGlzIGNvcnJlY3QgcGxhY2UgdG8gZG8gaXQuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTA3LTA2IDExOjUwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNy8xMzRdIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE2LzEzNF0gdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTUvMTM0XSB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNi0wNyAxMjozMzozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE0LzEzNF0gdnA4OiBmaXggY29kZWMgc3RhdGUgbGVha3MKCSAgSSBvbmx5IHRlc3RlZCB0aGF0IHZwOGVuYyAhIHZwOGRlYyBkb2VzIG5vdCBjcmFzaCwgYXMgdmFsZ3JpbmQgZG9lcyBub3QgZ3JvawoJICBhdCBsZWFzdCBvbmUgb2YgdGhlIGluc3RydWN0aW9ucyB1c2VkIGJ5IHZwOGVuYywgcHJldmVudGluZyBtZSBmcm9tIGNoZWNraW5nCgkgIGEgbGVhaywgYW5kIHRoZSBsYWNrIG9mIG9uZSBhZnRlciB0aGUgcGF0Y2guCgoyMDEyLTA2LTA2IDEzOjAyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMy8xMzRdIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNS0yOCAxNjowNToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEyLzEzNF0gdnA4OiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMS8xMzRdIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0xNiAxNDowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdFZpZGVvQ29kZWNGcmFtZSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0yNyAxODoyMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgW01PVkVEIEZST00gQkFEIDEwOS8xMzRdIHZwOGRlYzogSW1wcm92ZSBvdXRwdXRfc3RhdGUgaGFuZGxpbmcKCSAgQXZvaWQgZ2V0dGluZyBvdXRwdXRfc3RhdGUgZm9yIGV2ZXJ5IGJ1ZmZlciBhcyB0aGF0IHJlcXVpcmVzCgkgIGdldHRpbmcgdGhlIG9iamVjdGxvY2sgYW5kIGRvaW5nIHJlZmVyZW5jZSBjb3VudGluZy4gU3RvcmUgaXQgbG9jYWxseQoJICB3aGVuIGl0IGlzIGNyZWF0ZWQgYW5kIHVzZSBpdC4KCjIwMTItMDQtMjcgMDk6MDU6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDgvMTM0XSB2cDhkZWM6IFVzZSBvdXRwdXRzdGF0ZSB3aGVuIGNvcHlpbmcgb3V0cHV0IGJ1ZmZlciBkYXRhCgkgIFVzaW5nIHRoZSBpbnB1dCBzdGF0ZSB3YXMgY2F1c2luZyBhIGNyYXNoIGJlY2F1c2UgdGhlIHN0cmlkZXMvb2Zmc2V0cwoJICB3b3VsZCBiZSB3cm9uZy4gRml4IGl0IGJ5IHVzaW5nIHRoZSBvdXRwdXQgYXMgd2UgYXJlIGRlYWxpbmcgd2l0aAoJICB0aGUgZGVjb2RlZCBmcmFtZS4KCjIwMTItMDQtMjQgMTE6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwNy8xMzRdIHZwODogUG9ydCB0byAtYmFzZSB2aWRlbyBiYXNlIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvdnA4L01ha2VmaWxlLmFtCgkgIGV4dC92cDgvZ3N0dnA4ZGVjLmMKCSAgZXh0L3ZwOC9nc3R2cDhlbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUgZm9yIG5vdywgbmVlZCB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDYvMTM0XSB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDEwNS8xMzRdIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA0IDE0OjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDQvMTM0XSBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTAzLTA2IDE1OjIxOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDMvMTM0XSB2cDhlbmM6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMS0zMCAxNzoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDIvMTM0XSB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEyLTAxLTI1IDE4OjQ5OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDEvMTM0XSBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoJICBGaXhlcyAjNjY4Njc3LgoKMjAxMi0wMS0yNCAxMToyMjo0NiArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAwLzEzNF0gdnA4ZW5jOiB0cmFjZSBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIGFkZCBpbmZvIGxldmVsIHByaW50cyBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA0IDExOjA1OjQ4ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTkvMTM0XSB2cDhkZWM6IHVzZSBpc19hbHRfZGF0YSBvcHRpb24gdG8gcHJldmVudCB0aW1lc3RhbXAgY29sbGlzaW9ucwoJICBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyB1c3VhbGx5IHN0b3JlZCBpbiBjb250YWluZXIgd2l0aCBzYW1lIHRpbWVzdGFtcCBhcwoJICBkZXBlbmRldCBmcmFtZS4gVGhpcyBtYWtlIGJhc2V2aWRlb2RlY29kZXIgdG8gdXBkYXRlIHRpbWVzdGFtcCBmb3IgZGVwZW5kZXQKCSAgZnJhbWUgYW5kIGNvdXNlIFRTIGNvbGlzaW9uIG9uIG5leHQgZnJhbWU6CgkgIF4tIGhlcmUgaXMgYWx0cmVmCgkgIHRpbWUgICAgIDogMSAyIDMgNCA1IDYgNyA4IDkKCSAgd2VibSB0cyAgOiAxICAgMyA1IDUgICA3ICAgOQoJICB2cDhkZWMgdHM6IDEgICAzICAgNyAgIDcgICA5CgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTAyIDA4OjI4OjEzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA5OC8xMzRdIHZwODogYWRkIGluaXRpYWwgcHJlc2V0IGZpbGUKCSAgVGhpcyBpcyBpbml0aWFsIHByZXNldCBmaWxlLCBjdXJyZW50bHkgd2l0aCBvbmx5IG9uZSBwcm9maWxlCgkgIGZvciByZWFsdGltZSBlbmNvZGluZy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTcvMTM0XSB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI1IDExOjM2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTYvMTM0XSB2cDhkZWM6IHVzZSBuZXcgYmFzZXZpZGVvZGVjb2RlciBBUEkgdG8gZHJvcCBmcmFtZXMgYW5kIGdldCBRb1MgbWVzc2FnZXMgcG9zdGVkCgoyMDExLTExLTEwIDE1OjEzOjM0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk1LzEzNF0gbWltaWMsIG9wZW5jdiwgdnA4LCBhY21tcDNkZWMsIGxpbnN5czogRG9uJ3QgYnVpbGQgc3RhdGljIHBsdWdpbnMKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGV2ZXJ5d2hlcmUgd2hlcmUgaXQncyBiZWVuIGZvcmdvdHRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzY4CgoyMDExLTExLTAzIDE0OjAxOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTQvMTM0XSB2cDg6IFBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yMSAyMDoxNToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkzLzEzNF0gdnA4ZW5jOiBmaXggZHJvcC1mcmFtZSBwcm9wZXJ0eQoJICBGaXhlcyAjNjU2OTI5LgoKMjAxMS0wOC0xOSAxOToxNzoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkyLzEzNF0gdnA4OiBwcm9iZSBmb3IgdGhlIG5ldyB0dW5pbmcgQVBJIHRvIGtlZXAgYnVpbGRpbmcgd2l0aCBvbGRlciBsaWJ2cHgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyOAoKMjAxMS0wOC0xOCAxMDozOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkxLzEzNF0gdnA4ZW5jOiBSZW1vdmUgdW51c2VkIGFuZCB1c2VsZXNzIHZhcmlhYmxlIGluIHRhZ3MgaGFuZGxpbmcKCjIwMTEtMDgtMTIgMTI6MDg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5MC8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA3LTA5IDE4OjUzOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODkvMTM0XSB2cDhlbmM6IEFkZCBtb3JlIHByb3BlcnRpZXMKCjIwMTEtMDYtMTkgMTY6MDY6NDYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODgvMTM0XSB2cDhlbmM6IGFkZCBtaW4vbWF4c2VjdGlvbi1wY3Qgb3B0aW9uCgkgIFRoaXMgb3B0aW9ucyBzaG91bGQgYmUgZ29vZCB0byByZWRldWNlIGRlY29kZSBDUFUgbG9hZC4KCSAgZm9yIGxvd2VuZCBoYXJkd2FyZToKCSAgbWluc2VjdGlvbi1wY3Q9MTUgbWF4c2VjdGlvbi1wY3Q9NDAwCgkgIGZvciBoaWVuZCBodzoKCSAgbWluc2VjdGlvbi1wY3Q9NSBtYXhzZWN0aW9uLXBjdD04MDAKCSAgc2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX3Zicl9lbmNvZGluZ19mb3Jfc21vb3RoX3BsYXliYWNrX29uX2xvdy1lbmRfaGFyZHdhcmUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMTE6MDU6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODcvMTM0XSB2cDhlbmM6IGFkZCBsYWctaW4tZnJhbWVzIG9wdGlvbi4KCSAgVGhpcyBvcHRpb24gc2V0IG1heGltdW0gb2YgZnJhbWVzIGNvZGVjIHNob3VsZCByZW1lbWJlciwKCSAgdG8gbWFrZSBiZXR0ZXIgcHJlZGlrdGlvbiBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIFNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc19iZXN0X3F1YWxpdHlfdmJyX2VuY29kaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDA3OjE2OjU3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg2LzEzNF0gdnA4ZW5jOiB1c2UgbXVsdGlwYXNzLmNhY2hlIGZpbGUgbmFtZSBhcyBkZWZhdWx0IGZvciBtdWx0aXBhc3MgbW9kZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMjEgMDg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4NS8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTEyIDE4OjA1OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4NC8xMzRdIHZwODogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTA5IDExOjMxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODMvMTM0XSB2cDhlbmM6IFVzZSBkZXN0cm95IG5vdGlmeSB0byBmcmVlIHRoZSBjb2RlciBob29rCgoyMDExLTA2LTE4IDE1OjU2OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODIvMTM0XSB2cDhlbmM6IHVwZGF0ZSBmb3IgbmV3IGxpYnZweCBhcGkKCjIwMTEtMDYtMjYgMTU6MTU6NTQgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODEvMTM0XSB2cDhlbmM6IGdlbmVyYXRlIGEgdGltZXN0YW1wIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgSXQgd2lsbCBmaXggaGFuZGxpbmcgb2YgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgc2luY2UgbWF0cm9za2EtbXV4CgkgIGRyb3AgYW55IGZyYW0gd2l0aCBubyB0aW1lc3RhbXAuCgkgIHNlZSBhbHNvOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL2NvbnRhaW5lci8KCSAgVGhlIGVuY29kZXIgd2lsbCBjdXJyZW50bHkgc2V0IHRoZSBBUidzIHRpbWVzdGFtcCBhcyBjbG9zZSBhcyBwb3NzaWJsZQoJICB0byB0aGUgcHJldmlvdXMgZnJhbWUgd2hpbGUgYXR0ZW1wdGluZyB0byBwcm92aWRlIGEgdGltZXN0YW1wIHRoYXQgaXMKCSAgc3RyaWN0bHkgaW5jcmVhc2luZy4gSW4gY2FzZXMgd2hlcmUgdGhlIHRpbWUgYmFzZSBnaXZlbiB0byB0aGUgZW5jb2RlcgoJICBhdCBjb25maWd1cmUgdGltZSBpcyBub3QgZ3JhbnVsYXIgZW5vdWdoIHRvIGFsbG93IGZvciB0aGlzIHRoZSBBUgoJICB3aWxsIHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyBELCBidXQgc2hvdWxkIGJlCgkgIHRyZWF0ZWQgYXMgaGF2aW5nIG5vIGR1cmF0aW9uLgoJICBGaXhlcyBidWcgIzY1Mjk1MQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTE4IDE3OjQ3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgwLzEzNF0gdnA4ZGVjOiBhZGQgY2hlY2sgaWYgd2UgaGF2ZSBsZWdhbCBhc3BlY3QtcmF0aW8gYmVmb3JlIHJlc2V0IGl0LgoJICB0aGUgY29tbWl0IGY5YjU1MmYwNDk0ZSAodnA4ZGVjOiBzZXQgcGFyIHRvIDEvMSkKCSAgd2lsbCBmaXggc2l0dWF0aW9uIHdoZXJlIG5vIGFzcGVjdC1yYXRpbyBpcyBzZXQsIGJ1dCBpdCBicmFrZQoJICBzdHJlYW0gd2l0aCBhdmFpbGFibGUgYXNwZWN0LXJhdGlvLiBUaGlzIHBhdGNoIGZpeCBpdC4KCSAgRml4ZXM6ICM2NTI5MDIuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMDMgMTk6MzY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3OS8xMzRdIHZwOGRlYzogc2V0IHBhciB0byAxLzEKCjIwMTEtMDUtMTggMTM6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3OC8xMzRdIHZwOGVuYzogTmFtZSBtYXgvbWluIHF1YW50aXplciBwcm9wZXJ0aWVzIHttYXgsbWlufS1xdWFudGl6ZXIKCSAgQWxzbyBpbXByb3ZlIHF1YWxpdHkgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDExLTA1LTE4IDEzOjI2OjIzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc3LzEzNF0gdnA4ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzZWxlY3QgYSBtYXhpbXVtIGFuZCBtaW5pbXVtIHF1YW50aXplcgoJICBGaXhlcyBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTM6MTg6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzYvMTM0XSB2cDhlbmM6IEZpeCBxdWFsaXR5IHRvIChjb25zdGFudCkgcXVhbnRpemVyIG1hcHBpbmcKCSAgVGhpcyBub3cgYWxsb3dzIHRvIHNlbGVjdCBhbGwgcG9zc2libGUgcXVhbnRpemVycyBiZXR3ZWVuCgkgIDAgYW5kIDYzLgoJICBTZWUgYnVnICM2NDE0MDUuCgoyMDExLTA0LTAxIDIyOjEzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzUvMTM0XSB2cDhkZWM6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTM6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3NC8xMzRdIHZwOGRlYzogcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gdG8gdXBzdHJlYW0KCjIwMTEtMDMtMzAgMTA6MTg6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3My8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IHJlYWxseSBhbmQgb25seSBzZXQgc3JjIHBhZCBjYXBzIHdoZW5ldmVyIHJlcXVlc3RlZAoJICAuLi4gc2luY2Ugc3ViY2xhc3MgaXMgZXhwZWN0ZWQgdG8gYmUgd2lzZSBlbm91Z2ggdG8ga25vdyB3aGVuIHRvIGRvIHNvLgoKMjAxMS0wMy0yOSAxMDo0MTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcyLzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgYW5kIHVzZSBzZXRfZm9ybWF0CgkgIFdoaWxlIHRoaXMgY2hhbmdlcyBBUEkgc2xpZ2h0bHkgKGUuZy4gYWN0dWFsbHkgdXNlcyBzZXRfZm9ybWF0IG5vdyksIHdoaWNoIGlzIE9LCgkgIGZvciB1bnN0YWJsZSBBUEksIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIG90aGVyd2lzZSBubyBzdWJjbGFzcyBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIChnbG9iYWwgYWN0aXZhdGlvbiB0aW1lKQoJICBNb3Jlb3Zlciwgc3ViY2xhc3Nlc2UgYXJlIGVpdGhlciB1bmFmZmVjdGVkIG9yIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDMtMjggMDg6NTk6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3MS8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IHN1YnN1bWUgc2tpcF9mcmFtZSBpbnRvIGZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yNCAxNDoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcwLzEzNF0gYmFzZXZpZGVvZW5jb2RlcjogcHJvdmlkZSBwcm9wZXIgdXBzdHJlYW0gZmxvdyByZXR1cm4gaGFuZGxpbmcKCjIwMTEtMDMtMjQgMTM6NTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2OS8xMzRdIHZwOGVuYzogbWlub3Igb3B0aW1pemF0aW9uIGluIHNldHRpbmcgdXAgaW1hZ2UgYnVmZmVyCgoyMDExLTAzLTI0IDEyOjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjgvMTM0XSB2cDhlbmM6IHJlZmFjdG9yIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTEtMDMtMjQgMTE6NTU6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2Ny8xMzRdIHZwOGVuYzogZG8gaW5pdCBhdCBzZXRfZm9ybWF0IHRpbWUKCjIwMTEtMDMtMjQgMTA6MTU6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2Ni8xMzRdIHZwOGVuYzogZml4IGtleWZyYW1lIGZvcmNpbmcKCjIwMTEtMDMtMjMgMDk6NDU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2NS8xMzRdIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcmVkdW5kYW50IGNhcHMgZmllbGQKCSAgLi4uIGFzIGl0IGlzIGFscmVhZHkgYXQgaGFuZCBhcyB0aGUgc3JjIHBhZCdzIG5lZ290aWF0ZWQgY2Fwcy4KCjIwMTEtMDMtMjMgMDg6NTA6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2NC8xMzRdIHZwOGVuYzogdXNlIGJhc2VjbGFzcyBldmVudCB2aXJ0dWFsIGhhbmRsZXIKCjIwMTEtMDItMjAgMTQ6MTY6MTggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2My8xMzRdIGJhc2V2aWRlbzogbWVyZ2UgdXRpbHMgaGVhZGVyIGludG8gYmFzZXZpZGVvY29kZWMKCjIwMTEtMDMtMTcgMTY6MzQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA2Mi8xMzRdIHZwODogZml4IExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMi0wNCAwOTowODoyNiArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2MS8xMzRdIHZwOGVuYzogQWRkIGRlc2NyaXB0aW9uIGZvciBiaXRyYXRlIHVuaXRzLgoKMjAxMC0xMS0zMCAxODo0MzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYwLzEzNF0gdnA4ZW5jOiBSZWFkZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MKCSAgUmV2ZXJ0IHBhcnRzIG9mIGxhc3QgcGF0Y2ggdGhhdCByZW1vdmVkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcy4KCSAgb2dnbXV4IHN0aWxsIHJlcXVpcmVzIGNvcnJlY3QgZ3JhbnVsZXBvcyBpbiBpbmNvbWluZyBwYWNrZXQuCgoyMDEwLTExLTI5IDIwOjIxOjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTkvMTM0XSB2cDhlbmM6IERvbid0IG92ZXJyaWRlIHRpbWVzdGFtcHMgc2V0IGJ5IGJhc2UgY2xhc3MKCSAgQmVjYXVzZSB0aGUgYmFzZSBjbGFzcyBkb2VzIGl0IGNvcnJlY3RseS4KCSAgRml4ZXM6ICM2MzU3MjAsICM2MjU1NTguCgoyMDEwLTExLTI1IDE4OjUyOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1OC8xMzRdIHZwODogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTAtMDkgMTc6MzY6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1Ny8xMzRdIGJhc2V2aWRlbzogTW92ZSBjb21tb24gZmllbGRzL2Z1bmN0aW9ucyB0byBiYXNlY29kZWMKCjIwMTAtMDktMTggMTc6Mjg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1Ni8xMzRdIGJhc2V2aWRlbzogTW92ZSBkZWFkbGluZSB0byBmcmFtZSBzdHJ1Y3R1cmUKCjIwMTAtMDgtMTMgMTQ6MzQ6MjEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU1LzEzNF0gdnA4ZGVjOiBTZXQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFja2V0aXplZCB0byBUUlVFIGFzIHNvb24gYXMgcG9zc2libGUKCSAgVGhpcyBmaXhlcyBhbiBpbmZpbml0ZSBsb29wIGlmIGFuIEVPUyBldmVudCBpcyByZWNlaXZlZCBiZWZvcmUKCSAgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQoKSBpcyBjYWxsZWQsIGUuZy4gaW1tZWRpYXRlbHkgd2hlbiB0aGUKCSAgcGFkcyBhcmUgYWN0aXZhdGVkLgoJICBGaXhlcyBidWcgIzYyNjgxNS4KCjIwMTAtMDctMTAgMTY6NTI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA1NC8xMzRdIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGVuYWJsaW5nIGF1dG9tYXRpYyBpbnNlcnRpb24gb2YgYWx0LXJlZiBmcmFtZXMgYnkgdGhlIGVuY29kZXIKCjIwMTAtMDctMTAgMTY6NTE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1My8xMzRdIHZwOGVuYzogRml4IGhhbmRsaW5nIG9mIGludmlzaWJsZS9hbHQgcmVmIGZyYW1lcwoKMjAxMC0wNy0wMyAxNzo0NzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUyLzEzNF0gdnA4OiBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uLCBiYXNlZCBvbiB0aGUgdGhlb3JhZGVjL3RoZW9yYWVuYyBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjM0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTEvMTM0XSB2cDg6IE1vdmUgc3RydWN0dXJlIGRlZmluaXRpb25zLCBldGMgdG8gcHVibGljIGhlYWRlciBmaWxlcyBmb3IgZ3RrLWRvYwoKMjAxMC0wNi0xMiAwOTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUwLzEzNF0gdnA4ZW5jOiBJbXBsZW1lbnQgbXVsdGlwYXNzIGVuY29kaW5nCgkgIEZpeGVzIGJ1ZyAjNjIxMzQ4LgoKMjAxMC0wNi0xNCAxNTo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ5LzEzNF0gdnA4ZW5jOiBTZXQgVlA4RV9TRVRfQ1BVVVNFRCB0byAwCgkgIFRoaXMgc2V0dGluZyBjb250cm9scyBob3cgbXVjaCBDUFUgY2FuIGJlIHVzZWQgYnkgdGhlIGVuY29kZXIsIHNwZWNpZmllZAoJICBpbiBmcmFjdGlvbnMgb2YgMTYuIE5lZ2F0aXZlIHZhbHVlcyBtZWFuIHN0cmljdCBlbmZvcmNlbWVudCBvZiB0aGlzCgkgIHdoaWxlIHBvc2l0aXZlIHZhbHVlcyBhcmUgYWRhcHRpdmUuCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC00LCB3aGljaCBtZWFucyB0aGF0IHdlJ3JlIG5vdCBydW5uaW5nIGFzIGZhc3QKCSAgYXMgcG9zc2libGUgYW5kIHByb2JhYmx5IGFyZSB3YXN0aW5nIHNvbWUgcXVhbGl0eS4gMCBpcyB0aGUgcmVjb21tZW5kZWQKCSAgZGVmYXVsdCBieSBsaWJ2cHggdXBzdHJlYW0uCgoyMDEwLTA2LTE0IDE1OjUxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDgvMTM0XSB2cDhlbmM6IFVzZSBWUFggZGVmaW5lcyBmb3IgUkVBTFRJTUUsIEdPT0QvQkVTVCBxdWFsaXR5IGRlYWRsaW5lcyBpbnN0ZWFkIG9mIG91ciBvd24KCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgdXNlZCBmb3IgdGhlIHNwZWVkIHByb3BlcnR5LgoKMjAxMC0wNi0wMyAxMDo0OTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ3LzEzNF0gdnA4ZW5jOiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGluIGxvZyBtZXNzYWdlCgkgIGdzdHZwOGVuYy5jOjU2NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCSAgZ3N0dnA4ZW5jLmM6NzQ0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ2LzEzNF0gYmFzZXZpZGVvLCB2cDg6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAxIDE1OjU0OjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSAgW01PVkVEIEZST00gQkFEIDA0NS8xMzRdIGJhc2V2aWRlbzogTW92ZSBiYXNlIHZpZGVvIGZyb20gdnA4IHRvIGdzdC1saWJzCgoyMDEwLTA1LTI2IDA2OjUyOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA0NC8xMzRdIHZwODogVXNlIFZQWF9QTEFORV8qIGluc3RlYWQgb2YgUExBTkVfKgoKMjAxMC0wNS0yNCAxMTowNDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDMvMTM0XSB2cDg6IEFkZCBjb21wYXRpbGliaXR5IGRlZmluZXMgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGxpYnZweCB0b28KCjIwMTAtMDUtMjMgMDk6Mjg6MTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQyLzEzNF0gdnA4ZGVjOiBzL0lNR19GTVRfSTQyMC9WUFhfSU1HX0ZNVF9JNDIwLwoJICBUaGlzIGNvcnJlc3BvbmRzIHRvIHVwc3RyZWFtIGxpYnZweCBjb21taXQgNmNkNGExMGUxNjcyMDNkMWRlYjc5YWJmNjBlZTcyNTk5ZTk3ODkxYgoKMjAxMC0wNS0yMiAxMjo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQxLzEzNF0gdnA4ZW5jOiBBbGxvdyBhIG1heGltdW0ga2V5ZnJhbWUgZGlzdGFuY2Ugb2YgMCwgaS5lLiBhbGwgZnJhbWVzIGFyZSBrZXlmcmFtZXMKCjIwMTAtMDUtMjIgMDg6NDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0MC8xMzRdIHZwOGRlYzogU2V0IGRlY29kZXIgZGVhZGxpbmUgZnJvbSB0aGUgUW9TIGluZm9ybWF0aW9uCgoyMDEwLTA1LTI4IDE2OjM1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzkvMTM0XSB2cDhlbmM6IE1vdmUgZGVidWcgb3V0cHV0IG9uZSBsaW5lIGFib3ZlIHdoZXJlIHRoZSBwYWNrZXQgaXMgc3RpbGwgdmFsaWQKCjIwMTAtMDUtMjggMTU6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzOC8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IGlnbm9yZSBub24tZnJhbWUgcGFja2V0cyBmcm9tIHRoZSBlbmNvZGVyCgkgIEZpeGVzIGJ1ZyAjNjE5OTE2LgoKMjAxMC0wNS0yMiAwNzo0NDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzcvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBUYWtlIHRoZSBmcmFtZSBkdXJhdGlvbiBpbnRvIGFjY291bnQgd2hlbiBjYWxjdWxhdGluZyB0aGUgZWFybGllc3QgdGltZQoJICBUaGlzIGZvcm11bGEgaXMgdXNlZCBpbiBtYW55IG90aGVyIGVsZW1lbnRzIHRvby4KCSAgRml4ZXMgYnVnICM2MTkzMTguCgoyMDEwLTA1LTIyIDA3OjM1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNi8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IFFvUyB2YWx1ZXMgd2hlbiBuZWNlc3NhcnkKCjIwMTAtMDUtMjIgMDk6MzU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNS8xMzRdIHZwOGVuYzogVXNlIEdTVF9WSURFT19DQVBTX1lVVihJNDIwKSBpbnN0ZWFkIG9mIGhhbmR3cml0dGVuIEk0MjAgY2FwcyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGaXhlcyBidWcgIzYxOTM0NC4KCjIwMTAtMDUtMjEgMjA6NTM6MzYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNC8xMzRdIHZwOGRlYzogZHJvcCBsYXRlIGZyYW1lcyBhZnRlciBkZWNvZGluZyB0aGVtCgkgIFRoaXMgc2F2ZXMgYSBtZW1jcHksIHdoaWNoIGlzIGFsd2F5cyBzb21ldGhpbmcuCgoyMDEwLTA1LTIxIDIxOjI4OjI5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMy8xMzRdIHZwOGVuYzogdGhyZWFkcyBwcm9wZXJ0eQoJICBJbmNyZWFzaW5nIGZyb20gMSB0byAyIHRocmVhZHMgb24gYW4gVGhpbmtwYWQgWDYwcyBkZWNyZWFzZWQgZW5jb2RlIHRpbWUKCSAgaW4gYSB0ZXN0IGZyb20gfjI0IHMgdG8gfjE5IHMsIHNvIHRoaXMgaXMgcXVpdGUgdXNlZnVsLgoJICBJZGVhbGx5IHdlIHNob3VsZCBsZXQgMCBiZSB0aGUgZGVmYXVsdCBhbmQgYXV0b21hdGljYWxseSBtYXRjaCB0aGUgbnVtYmVyCgkgIG9mIENQVSBjb3JlcyAob3Igc29tZXRoaW5nKS4KCjIwMTAtMDUtMjEgMTU6MTc6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMyLzEzNF0gdnA4ZW5jOiBhZGQgbW9kZSBwcm9wZXJ0eSB0byBzd2l0Y2ggYmV0d2VlbiBDQlIvVkJSCgkgIEFsd2F5cyB1c2luZyBDQlIgd2hlbiBiaXRyYXRlIGlzIHVzZWQgaXNuJ3QgdGhhdCBncmVhdCwgVkJSIG1vZGUKCSAgY2FuIHByb2R1Y2UgbWVhbmluZ2Z1bCByZXN1bHRzIHRvby4KCjIwMTAtMDUtMjEgMTA6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMS8xMzRdIHZwOGRlYzogT25seSBlbmFibGUgcG9zdHByb2Nlc3NpbmcgaWYgdGhlIGRlY29kZXIgc3VwcG9ydHMgaXQKCjIwMTAtMDUtMjEgMDg6MjM6NTggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMwLzEzNF0gdnA4OiB0eXBvOiBzL0hBVkVfVlA4X0RFQ09ERVIvSEFWRV9WUDhfRU5DT0RFUi8KCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMSAwODoxMzowNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjkvMTM0XSB2cDg6IG1vdmUgI2lmZGVmIEhBVkVfVlA4X0VOQ09ERVIvREVDT0RFUgoJICBPdGhlcndpc2Ugd2UnbGwgdHJ5IGluY2x1ZGluZyBlLmcuIDx2cHgvdnA4Y3guaD4gd2hpY2ggZG9lc24ndCBleGlzdC4KCjIwMTAtMDUtMjAgMjA6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyOC8xMzRdIHZwOGVuYzogV3JpdGUgR1N0cmVhbWVyIGVsZW1lbnQgYW5kIHZlcnNpb24gaW4gdGhlIHZvcmJpc2NvbW1lbnQgdmVuZG9yIHN0cmluZwoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI3LzEzNF0gdnA4OiBPbmx5IGVuYWJsZSB0aGUgZW5jb2RlciBvciBkZWNvZGVyIGlmIGl0J3MgYXZhaWxhYmxlIGluIGxpYnZweAoJICBGaXhlcyBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMTA6MTk6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI2LzEzNF0gdnA4OiBleGxjdWRlIGRlYy9lbmMgYmFzZWQgb24gQ09ORklHX1ZQOF9ERUNPREVSL0VOQ09ERVIKCSAgVGhpcyBtYXkgbm90IGJlIHZlcnkgYXV0b3Rvb2xpc2gsIGJ1dCB3b3JrcyB3aXRoIGxpYnZweCBpbiB0aGUgc3RhdGUKCSAgdGhhdCBsaWJ2cHggaXMgYWN0dWFsbHkgaW4uIE1vdmVkIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBlbGVtZW50cwoJICB0aGVtc2VsdmVzIHRvIG1pbmltaXplIGFtb3VudCBvZiAjaWZkZWZzCgoyMDEwLTA1LTIwIDA5OjI0OjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNS8xMzRdIHZwOGVuYzogTGltaXQgbWF4LWxhdGVuY3kgdG8gMjUgdG8gbWF0Y2ggbGlidnB4CgkgIEZyb20gbGlidnB4L3ZwOC9lbmNvZGVyL29ueXhfaW50Lmg6CgkgICNkZWZpbmUgTUFYX0xBR19CVUZGRVJTIChDT05GSUdfUkVBTFRJTUVfT05MWT8gMSA6IDI1KQoJICBXaGlsZSB3ZSBkb24ndCBuZWVkIHRvIGJlIHRpZWQgdG8gd2hhdCBsaWJ2cHggZG9lcyBpbnRlcm5hbGx5LCBpdAoJICBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJldGVuZCB0byBzdXBwb3J0IGxvbmdlciBmcmFtZSBsYWdzIHRoYW4gYXJlCgkgIGFjdHVhbGx5IHBvc3NpYmxlLgoKMjAxMC0wNS0yMCAwOTo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjQvMTM0XSB2cDg6IFVuZGVmIEhBVkVfQ09ORklHX0ggYmVmb3JlIGluY2x1ZGluZyBsaWJ2cHggaGVhZGVycwoJICBBIHB1YmxpYyBsaWJ2cHggaGVhZGVyIGluY2x1ZGVzIHByaXZhdGUgaGVhZGVycyBpZiB0aGlzIGlzCgkgIGRlZmluZWQsIGNhdXNpbmcgY29tcGlsYXRpb24gZmFpbHVyZXMgYmVjYXVzZSB0aGUgcHJpdmF0ZSBoZWFkZXJzCgkgIGFyZSBub3QgaW5zdGFsbGVkIG9mIGNvdXJzZS4KCjIwMTAtMDUtMjAgMDg6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMy8xMzRdIHZwOGVuYzogU29tZSBtb3JlIG1pbm9yIGFkanVzdG1lbnRzIGZvciB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTkgMjM6MDI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMi8xMzRdIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrCgoyMDEwLTA1LTE5IDIxOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjEvMTM0XSB2cDhlbmM6IEFkanVzdCBPZ2cgbWFwcGluZyBmb3IgdGhlIGNoYW5nZXMKCjIwMTAtMDUtMTkgMTg6MTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMC8xMzRdIHZwOGRlYzogQWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgVlA4IGRlY29kZXIgcG9zdCBwcm9jZXNzaW5nIGZlYXR1cmUKCSAgVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBub3cuCgoyMDEwLTA1LTE5IDE3OjE2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTkvMTM0XSB2cDhlbmM6IFJlbmFtZSBrZXlmcmFtZS1pbnRlcnZhbCB0byBtYXgta2V5ZnJhbWUtZGlzdGFuY2UKCSAgQW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzIGZvciBidWZmZXIgc2l6ZXMgdW50aWwgd2UgZXhwb3NlIHRoaXMKCSAgc29tZWhvdy4KCjIwMTAtMDUtMTkgMTc6MTM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTgvMTM0XSB2cDg6IEltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIGRlYnVnIG91dHB1dAoKMjAxMC0wNS0xOSAxNDo0Njo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE3LzEzNF0gdnA4OiBVc2UgY29ycmVjdCBzdHJpZGVzIGFuZCBwbGFuZSBvZmZzZXRzIGZvciBHU3RyZWFtZXIKCjIwMTAtMDUtMTggMTQ6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNi8xMzRdIHZwOGVuYzogSW1wbGVtZW50IEdzdFRhZ1NldHRlciBpbnRlcmZhY2UKCjIwMTAtMDUtMTggMTQ6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNS8xMzRdIHZwOGVuYzogRml4IHNldHRpbmcgb2YgdGhlIGtleWZyYW1lIGZsYWcgb24gZW5jb2RlZCBmcmFtZXMKCjIwMTAtMDUtMTggMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNC8xMzRdIHZwOGVuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZW5jb2RlciBpbml0aWFsaXphdGlvbiBmYWlscwoKMjAxMC0wNS0xOCAxNDoyODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEzLzEzNF0gdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWtzIGFuZCBmYWlsIGlmIGluaXRpYWxpemluZyB0aGUgZGVjb2RlciBmYWlscwoKMjAxMC0wNS0xOCAwMjo0NDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEyLzEzNF0gdnA4ZW5jOiBTZXQgdGltZWJhc2UKCSAgQWxzbyBtaXNjIGNsZWFudXAuCgoyMDEwLTA1LTE2IDEwOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTEvMTM0XSB2cDhkZWM6IEZpeCBkZWNvZGluZyBvZiBpbnZpc2libGUgZnJhbWVzCgoyMDEwLTA1LTE0IDE0OjI2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSB0aGUgbGF0ZW5jeSB3aGVuIGluaXRpYWxpemluZyB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xNCAxNDowMjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA5LzEzNF0gdnA4ZGVjOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBzdHJlYW0gaW5mbyBiZWZvcmUgcGVla2luZyBhdCB0aGUgc3RyZWFtCgkgIE90aGVyd2lzZSBwZWVraW5nIHdpbGwgZmFpbCBhbmQgd2UnbGwgZ2V0IGludmFsaWQgdmFsdWVzCgoyMDEwLTA1LTE0IDExOjAxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDgvMTM0XSB2cDhkZWM6IE1ha2Ugc3VyZSB0byBwYXNzIGEga2V5ZnJhbWUgYXMgZmlyc3QgZnJhbWUgdG8gdGhlIGRlY29kZXIsIGNvcHkgb3V0cHV0IGZyYW1lcyBvbmx5IG9uY2UgYW5kIHJlcXVpcmUgd2lkdGgvaGVpZ2h0L2V0YyBvbiB0aGUgaW5wdXQgY2FwcwoKMjAxMC0wNS0xNCAxMDozMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA3LzEzNF0gdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgaW52aXNpYmxlIGZyYW1lcyBhbmQgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE0IDAxOjE0OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDYvMTM0XSB2cDhkZWM6IEZpeCByZXNldCBhZnRlciBzZWVraW5nCgkgIEFsc28gcmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDEwLTA1LTEzIDIxOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDUvMTM0XSB2cDhlbmM6IFNldCBmcmFtZSBudW1iZXJzIGFzIGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTA1LTEzIDIxOjE4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDQvMTM0XSB2cDhlbmM6IEFsd2F5cyBnZXQgYXMgbWFueSBmcmFtZXMgYXMgcG9zc2libGUgZnJvbSB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xMyAyMTowODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDAzLzEzNF0gdnA4ZW5jOiBGaWxsIHRoZSBvbGRlc3QgcGVuZGluZyBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBuZXdlc3QKCjIwMTAtMDUtMTMgMjA6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMi8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IHNldCBkZWx0YSB1bml0IGZsYWcgZm9yIG5vbi1rZXlmcmFtZXMKCjIwMTAtMDUtMTMgMDE6MDQ6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDAxLzEzNF0gdnA4OiBBZGQgZW5jb2Rlci9kZWNvZGVyCgoyMDEyLTA5LTE1IDIyOjE2OjUyICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBGMTggbmFtZSBjaGFuZ2UgYW5kIGFkZCBkZWludGVybGFjZXIKCjIwMTItMDktMTUgMTk6MDY6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgdXNlIGdzdF9lbGVtZW50X2ZhY3RvcnlfZ2V0X21ldGFkYXRhIHRvIHJlcGxhY2Ugb2Jzb2xldGUgQVBJCgoyMDEyLTA5LTE0IDE3OjU1OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgcmVwbGFjZSBfZ2V0X2NhcHNfcmVmZmVkIHdpdGggX2dldF9jYXBzCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDE3OjA3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxMzozMDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgZml4IG1vcmUgY2FwcwoKMjAxMi0wOS0xNCAwMjo1Nzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45NCA9PT0KCjIwMTItMDktMTQgMDI6NDg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45NAoKMjAxMi0wOS0xNCAwMTo1MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMi0wOS0xNCAwMTo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTItMDktMTQgMDA6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgIHRlc3RzOiBwdXNoIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMgaW4gd2F2cGFja2VuYyB0ZXN0CgoyMDEyLTA5LTEzIDEwOjU2OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzCgoyMDEyLTA5LTEzIDEwOjE1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkaXNhYmxlIHJlY29uZmlndXJlCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzOTAyCgoyMDEyLTA5LTEwIDIyOjA5OjU5IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvbid0IHRyZWF0IGV2ZXJ5IGN1c3RvbS1kb3duc3RyZWFtIGV2ZW50IGFzIEVPUwoJICBEb24ndCBmYWxsIHRocm91Z2ggdG8gdGhlIEVPUyBoYW5kbGluZyBhZnRlciByZWNlaXZpbmcgYQoJICBjdXN0b20tZG93bnN0cmVhbSBldmVudC4KCjIwMTItMDktMTIgMjE6MDU6NDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGNvbGxlY3RwYWRzOiByZW1vdmUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwKCSAgUmVuYW1lIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsKCkgdG8gZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkKCkgYW5kIGZpeCBhbGwKCSAgaW52b2NhdGlvbnMuCgoyMDEyLTA5LTEyIDE3OjE0OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogYWRkIGluY2x1ZGUgZm9yIElQUFJPVE9fKgoKMjAxMi0wOS0xMiAxNjozOTowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IHByb3Blcmx5IG1hdGNoIGJyYWNlcyBhbmQgY3BwIGRpcmVjdGl2ZXMKCSAgRml4ZXMgY29tcGlsYXRpb24gd2hlcmUgSVBWNl9UQ0xBU1Mgbm90IGRlZmluZWQuCgoyMDEyLTA5LTEyIDE0OjQyOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogVXNlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciB3aGVyZSBuZWVkZWQKCSAgQW5kIGNsZWFuIHVwIGdldF9jYXBzIGNvZGUgd2hpbGUgSSdtIGF0IGl0CgoyMDEyLTA5LTEyIDEzOjI4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXByb3ZlIGZyYW1lcmF0ZSB0cmFuc2Zvcm0KCSAgSGFuZGxlIEdfTUFYSU5UIGluIHRoZSBmcmFtZXJhdGVzIGJldHRlci4gSWYgd2UgY2Fubm90IGRvdWJsZSBvciBkaXZpZGUgdGhlCgkgIGZyYW1lcmF0ZSwgY2xhbXAgdG8gdGhlIHNtYWxsZXN0L2xhcmdlc3QgcG9zc2libGUgdmFsdWUgd2UgY2FuIGV4cHJlc3MgaW5zdGVhZAoJICBvZiBmYWlsaW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODYxCgoyMDEyLTA5LTEyIDEzOjE3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbnVwCgoyMDEyLTA5LTA3IDE3OjIwOjU3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEFkZGluZyBudjEyIGFuZCBudjIxIHN1cHBvcnQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg0MQoKMjAxMi0wOS0xMiAxMDoxODo1MyArMDIwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIHByb3JlcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODM5CgoyMDEyLTA5LTEyIDAwOjE2OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZml4IG1vc3Qgb2YgdGhlIHJnYW5hbHlzaXMgdW5pdCB0ZXN0cwoJICBCZWZvcmUgdGhlIGVsZW1lbnQgd291bGQgcG9zdCBtZXNzYWdlcyBvbiB0aGUgYnVzIGl0c2VsZiwgbm93CgkgIHRoZSBzaW5rcyBkbyB0aGF0IGJhc2VkIG9uIHRoZSB0YWcgZXZlbnRzIHRoZXkgcmVjZWl2ZS4gQnV0CgkgIHNpbmNlIHdlIGRvbid0IGhhdmUgcHJvcGVyIHNpbmsgZWxlbWVudHMgaW4gdGhlc2UgdW5pdCB0ZXN0cywKCSAgYnV0IGp1c3QgZGFuZ2xpbmcgcGFkcywgd2UgaGF2ZSB0byBwb3N0IHRoZSB0YWcgbWVzc2FnZXMgdGhlCgkgIHRlc3QgY2hlY2tzIGZvciBvdXJzZWx2ZXMuCgkgIERvd24gZnJvbSA1Mi81NSBmYWlsaW5nIHRvIDcvNTIgZmFpbGluZy4KCjIwMTItMDktMTEgMTc6MzY6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IG9ubHkgYWN0aXZhdGUgaW4gcHVsbCBtb2RlIGlmIHVwc3RyZWFtIGlzIHNlZWthYmxlCgoyMDEyLTA5LTExIDE1OjM4OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBkaXNhYmxlIHJlbmVnb3RpYXRpb24KCSAgV2UgY2FuJ3QgeWV0IHdhaXQgZm9yIHRoZSBidWZmZXJwb29sIHRvIERSQUlOIGJlZm9yZSBzdGFydGluZyByZW5lZ290aWF0aW9uIHNvCgkgIGRpc2FibGUgaXQgZm9yIG5vdy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxMi0wOS0xMSAxMjo0ODozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IHJ0cGJpbjogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxMjozNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDExOjU5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHJlc2V0IHNlZ21lbnQKCSAgRG9uJ3QgcmVzZXQgdGhlIHNlZ21lbnQgYmVjYXVzZSB3ZSBuZWVkIHRoZSB2YWx1ZXMgZm9yIGFjY3VtdWxhdGlvbi4gdGhlIHNlZ21lbnQKCSAgaXMgcmVzZXQgYXQgc3RhcnQgYW5kIGFmdGVyIGEgZmx1c2hpbmcgc2Vlay4gRml4ZXMgc29tZSBwcm9ibGVtcyB3aXRoIGZpbGVzIHdpdGgKCSAgcXVpY2t0aW1lIHNlZ21lbnRzLgoKMjAxMi0wOS0xMCAxNzoxNDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHRlc3RzOiBmaXggaWQzZGVtdXggdGVzdAoKMjAxMi0wOS0xMCAxNDozMTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIGdzdDogYWRqdXN0IGNvbW1lbnQgc3R5bGUKCjIwMTItMDktMTAgMTQ6MzA6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVtb3ZlIGRlZnVuY3QgY29tbWVudGVkIGNvZGUKCjIwMTItMDktMTAgMTM6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGNvbnNpZGVyIHN0cmVhbSBhbGl2ZSB3aGVuIG5vdCBjb25uZWN0ZWQgeWV0CgkgIFdoZW4gd2Ugc3RhcnQgYW5kIHJlbmVnb3RpYXRlLCB0aGVyZSBpcyBhIG1vbWVudCB3aGVyZSB0aGUgc3RyZWFtIGlzIGNyZWF0ZWQgYnV0CgkgIG5vdCB5ZXQgY29ubmVjdGVkLiBNYWtlIHN1cmUgYWxsIGZ1bmN0aW9ucyBkZWFsIHdpdGggdGhpcyBzaXR1YXRpb24gY29ycmVjdGx5CgkgIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMjQ3CgoyMDEyLTA5LTEwIDEyOjE1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBmYWlsIHdoZW4gbm90IG5lZ290aWF0ZWQgeWV0CgkgIFdoZW4gZ2V0X3RpbWUgaXMgY2FsbGVkIGJ1dCB3ZSBhcmUgbm90IHlldCBuZWdvdGlhdGVkLCByZXR1cm4gMCBpbnN0ZWFkIG9mCgkgIHBvc3RpbmcgYW4gZXJyb3IuIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgYmFzZSBjbGFzcyBpcyBzdGlsbCBuZWdvdGlhdGluZyB3aGVuCgkgIG91ciBnZXRfdGltZSBpcyBjYWxsZWQuCgoyMDEyLTA5LTEwIDExOjMyOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW8gYmFzZSBzcmMgYXBpIGNoYW5nZQoKMjAxMi0wOS0xMCAwMDo0Mjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICB2aWRlby94LTNpdnggYW5kIHZpZGVvL3gteHZpZCAtPiB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQKCSAgSWYgaXQgZXZlciB0dXJucyBvdXQgdGhhdCB3ZSByZWFsbHkgbXVzdCB1c2UgdGhvZSBzcGVjaWZpYwoJICBmb3VyY2NzIGFuZCBub3QgdGhlIGdlbmVyaWMgb25lLCB3ZSBjYW4gc3RpbGwgYWRkIGEgZmxhdm9yCgkgIGZpZWxkIHRvIHRoZSBjYXBzIGxhdGVyLgoKMjAxMi0wOS0wNyAxNjoxNTo0MiArMDIwMCAgRGFuaWVsYSA8ZGFuaWVsYS5tdXp6dUBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgbGVhawoJICBXaGVuIHNldHVwIGZhaWxzLCBtYWtlIHN1cmUgdG8gY2xlYW51cCBhZnRlcndhcmRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNTA5CgoyMDEyLTA5LTA3IDE1OjIzOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IHVubWFwIHJ0cCBidWZmZXIKCSAgLi4uIHRoZXJlYnkgcGx1Z2dpbmcgYSBtZW1sZWFrLgoKMjAxMi0wOS0wNyAxNDoxMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkanVzdCB0byBtb2RpZmllZCBidWZmZXJsaXN0IHNlbWFudGljcwoJICAuLi4gbm93IGltcGxlbWVudGVkIGJ5IGJ1ZmZlciBtZW1vcnkgYmxvY2tzLgoKMjAxMi0wOS0wNyAxNDoxMTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgY3Jhc2hpbmcgb24gTlVMTCBhY2Nlc3MgaW4gZGVidWcgbWVzc2FnZQoKMjAxMi0wOS0wNyAxNDoxMTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wOS0wNiAxNzowOToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIHJlZHVuZGFudCBfc2V0X2FsbG9jYXRpb24gY2FsbAoKMjAxMi0wOS0wNiAxNzowNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGVpbnRlcmxhY2U6IGRvIG5vdCBsZWFrIGRlaW50ZXJsYWNlIHBhZHMKCjIwMTItMDktMDYgMTc6MDQ6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBwbHVnIHNvbWUgbGVha3MKCjIwMTItMDktMDYgMTY6NDk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJldXNlIGNvcmUgZnVuY3Rpb24gZm9yIEdDRAoKMjAxMi0wOS0wNiAxNjozMTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHN1cHBvcnQgZmlsdGVyIGluIGdldGNhcHMKCjIwMTItMDktMDYgMTY6MzA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBkbyBub3QgbGVhayBnZXRjYXBzIHJlc3VsdAoKMjAxMi0wOS0wNiAxNjoyMzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IGFkZCBzdXBwb3J0IGZvciBidWZmZXJwb29sCgkgIEFkZCBidWZmZXJwb29sIHN1cHBvcnQgdG8gYXZvaWQgYSBtZW1jcHkgaW4gdGhlIHZpZGVvc2luayB3aGVuIGFjdGl2ZWx5CgkgIGludGVybGFjaW5nLgoJICBSZW1vdmUgc29tZSBjb21tZW50ZWQgb2Jzb2xldGUgY29kZS4KCjIwMTItMDktMDYgMTM6Mzg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHByb3h5IGFsbG9jYXRpb24gcXVlcnkgaW4gcGFzc3Rocm91Z2gKCSAgV2UgY2FuIGxldCB0aGUgYWxsb2NhdGlvbiBxdWVyeSBwYXNzIHdoZW4gd2UgYXJlIG9wZXJhdGluZyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAxMi0wOS0wNiAxMzoyMzo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIGRlZmF1bHQgZXZlbnQgZnVuY3Rpb25zCgkgIGluc3RlYWQgb2YgYmxpbmRseSBmb3J3YXJkaW5nIHVua25vd24gZXZlbnRzLgoKMjAxMi0wOS0wNiAxMzoyMzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW51cHMKCjIwMTItMDktMDYgMTI6NTY6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGNhbGwgZGVmYXVsdCBxdWVyeSBoYW5kbGVycwoJICBDYWxsIHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgaW5zdGVhZCBvZiBmb3J3YXJkaW5nIHRoZSBxdWVyeSBibGluZGx5LiBGaXhlcwoJICBpc3N1ZXMgb2Ygc3RyaWRlcyBiZWNhdXNlIG9mIHByb3h5aW5nIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHdyb25nbHkuCgoyMDEyLTA5LTA2IDEwOjQyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGNvZGUuCgoyMDEyLTA5LTA2IDEwOjQyOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wOS0wNSAxMTo1MDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgdXBkYXRlIG5ld3NlZ21lbnQgaGFuZGxpbmcgY29kZQoKMjAxMi0wOS0wNCAxMjozNTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBhdm9pZCBkZWFkbG9jawoJICBfdXBkYXRlX3Byb3BlcnRpZXMgdGFrZXMgdGhlIG9iamVjdCBsb2NrIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCB3aGVuIHRoZQoJICBvYmplY3QgbG9jayBpcyBhbHJlYWR5IHRha2VuLgoKMjAxMi0wOS0wMyAxMjo0NjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGV4dHJhY3QgaW50ZXJsYWNlZC1uZXNzIG9mIHZpZGVvIHRyYWNrIGZyb20gaW50ZXJsYWNlLW1vZGUgZmllbGQKCSAgaW5zdGVhZCBvZiB0aGUgb2xkIGJvb2xlYW4gImludGVybGFjZWQiIGZpZWxkLgoKMjAxMi0wOS0wMyAwMjo1MToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgdmlkZW8veC14dmlkIC0+IHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NAoKMjAxMi0wOS0wMiAwMjo1MDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICB0ZXh0L3BsYWluICsgdGV4dC94LXBhbmdvLW1hcmt1cCAtPiB0ZXh0L3gtcmF3CgoyMDEyLTA5LTAyIDAxOjMxOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbiAtPiBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb25fY2hhbmdlZAoKMjAxMi0wOC0zMCAyMjowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWxzbyBzdG9wIHByb2JhdGF0aW9uIG9uIGV4aXN0aW5nIHNvdXJjZXMKCSAgUmVjZWl2aW5nIGFuIFJUQ1AgcGFja2V0IHNob3VsZCBhbHNvIHN0b3AgcHJvYmF0aW9uIG9uIHNvdXJjZXMgd2UgaGF2ZSBzZWVuCgkgIGJlZm9yZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzA2NQoKMjAxMi0wOC0yMiAxNjozNjoyMSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0cDogbWFrZSBydHAgcGFja2V0IHByb2JhdGlvbiBjb25maWd1cmFibGUgKGJ1ZyAjNjgyNTEyKQoKMjAxMi0wOC0zMCAxMjoyMTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1ZjogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgoyMDEyLTA4LTMwIDExOjMwOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4dXAgMC4xMSBwb3J0IG9mIHN1c3BlY3QgZnJhbWUgY2hlY2tpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjk1OQoKMjAxMi0wOC0yOCAxODo1NjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBpbnZhbGlkIEgyNjQgYnl0ZXN0cmVhbSBjb2RlY19kYXRhCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNjkKCjIwMTItMDgtMjggMTk6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBvcnQgc2VnbWVudCBldmVudCBjcmVhdGlvbiB0byAwLjExCgoyMDEyLTA4LTI4IDE2OjI4OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWxlYXNlIGV4dHJhIGV2ZW50IHJlZiB3aGVuIHJlcGxhY2luZyBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnQKCjIwMTItMDctMDMgMTc6NTA6MjQgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IGFkZCBEQVNIIHRmZHQgYm94IHN1cHBvcnQKCSAgTVBFRyBEQVNIIGhhcyBkZWZpbmVkIGEgc2V0IG9mIG5ldyBib3hlcyB0byBzcGVjaWZ5IGR1cmF0aW9uLCBpbmRleGVzIGFuZAoJICBvZmZzZXRzIG9mIElTT0JNRkYgZnJhZ21lbnRzLgoJICBUaGUgVHJhY2sgRnJhZ21lbnQgQmFzZSBNZWRpYSBEZWNvZGUgVGltZSAodGZkdCkgQm94IGNhbiBpbiBwYXJ0aWN1bGFyIGJlCgkgIGluY2x1ZGVkIGluc2lkZSBhIHRyYWYgYm94IHRvIHNwZWNpZnkgdGhlIGFic29sdXRlIGRlY29kZSB0aW1lLCBtZWFzdXJlZCBvbiB0aGUKCSAgbWVkaWEgdGltZWxpbmUsIG9mIHRoZSBmaXJzdCBzYW1wbGUgaW4gZGVjb2RlIG9yZGVyIGluIHRoZSB0cmFjayBmcmFnbWVudC4KCSAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCBieSB0aGUgaXNvbXA0IGRlbXV4IHRvIGZpbmQgb3V0IHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mCgkgIGFuIE1QNCBmcmFnbWVudCBpbiB0aGUgdGltZWxpbmUuCgkgIFRoaXMgcGF0Y2ggYWRkcyBjb2RlIHRvIGlzb21wNCB0bzoKCSAgLSBwYXJzZSB0aGUgdGZkdCBib3gKCSAgLSBhZGp1c3QgdGhlIHRpbWUvcG9zaXRpb24gbWVtYmVyIG9mIHRoZSBuZXcgc2VnbWVudCBzZW50IHdoZW4gcGxheWJhY2sgc3RhcnRzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc1MzUKCjIwMTItMDgtMjYgMjI6Mzk6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZG9jczogZ3N0LWxhdW5jaCAtPiBnc3QtbGF1bmNoLTEuMCBhbmQgZmZtcGVnY29sb3JzcGFjZSAtPiB2aWRlb2NvbnZlcnQKCjIwMTItMDgtMjYgMjI6MzI6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGRvY3M6IGdzdC1sYXVuY2gtMC4xMSAtPiBnc3QtbGF1bmNoLTEuMAoKMjAxMi0wOC0yNiAyMjowODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdGhlIGZpZWxkIGluIGNhcHMgaXMgImludGVybGFjZS1tb2RlIiBub3QgImludGVybGFjZS1tZXRob2QiCgkgIEZpeCBkZWludGVybGFjZSB1bml0IHRlc3QuIE5lZWQgdG8gc2V0IHJpZ2h0IGZpZWxkIG9uIG91dHB1dCBjYXBzLgoJICBBbHNvIHJlbW92ZSByaWdodCBmaWVsZCAobm90IG9sZCAwLjEwICJpbnRlcmxhY2VkIiBib29sZWFuIGZpZWxkKQoJICBmcm9tIGNhcHMgaW4gdW5pdCB0ZXN0IGJlZm9yZSBjb21wYXJpbmcgb2xkIGFuZCBuZXcuCgoyMDEyLTA4LTI2IDIxOjQ1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBpY3lkZW11eCB1bml0IHRlc3QKCSAgV2FzIHdhaXRpbmcgZm9yIGEgdGFnIG1lc3NhZ2Ugb24gdGhlIGJ1cywgd2hpY2ggd291bGQgbmV2ZXIKCSAgY29tZSwgYmVjYXVzZSBlbGVtZW50cyBkb24ndCBwb3N0IHRob3NlIHRoZW1zZWx2ZXMgYW55IG1vcmUKCSAgYnV0IGxldCBzaW5rcyBwb3N0IHRoZW0gZnJvbSB0YWcgZXZlbnRzLiBPbmx5IHRoYXQgdGhlcmUgYXJlCgkgIG5vIHNpbmtzIGluIHRoaXMgdW5pdCB0ZXN0LgoKMjAxMi0wOC0yNiAyMToyNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogZml4IHZpZGVvY3JvcCBjcm9wX3RvXzF4MSB1bml0IHRlc3QgZm9yIEdSQVk4IGZvcm1hdAoJICBVcGRhdGUgdGFibGUgd2l0aCBwaXhlbCB2YWx1ZXMgd2l0aCB0aGUgdmFsdWUgYWN0dWFsbHkgcHJvZHVjZWQKCSAgYnkgdmlkZW90ZXN0c3JjLgoKMjAxMi0wOC0yNyAwOTowMDo0NSArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBPbmx5IHByaW50IGNhcHMgaWYgdGhleSdyZSBwcm92aWRlZAoKMjAxMi0wOC0yNCAxOTo0MzowOCArMDEwMCAgTWljaGFlbCBSdWJpbnN0ZWluIDxtcnViaW5zdGVpbkByYWktZGV2LmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBlbmRpYW5uZXNzIGNoZWNrIG9uIHN5c3RlbXMgd2hlcmUgbm9uLWdsaWIgZW5kaWFubmVzcyBkZWZpbmVzIGFyZSBub3Qgc2V0CgkgIE9uIFdpbmRvd3MgTElUVExFX0VORElBTiB3aXRob3V0IHRoZSBHXyBpbiB3YXMgbm90IGRlZmluZWQsICBzbyB0aGUKCSAgdGVzdCBjb21lcyBvdXQgd3JvbmcuCgoyMDEyLTA4LTIyIDE3OjIzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogZG9uJ3QgY3Jhc2ggb24gTlVMTCBlcnJvcgoJICBDaGVjayBpZiB0aGVyZSBpcyBhbiBlcnJvciBiZWZvcmUgcmV0cmlldmluZyBpdHMgbWVzc2FnZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0ODEKCjIwMTItMDgtMjIgMTM6MzA6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY2OGFjZWUgdG8gNGY5NjJmNwoKMjAxMi0wOC0yMiAxMzoxODowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGd0ay1kb2MgcmVxIHRvIDEuMTIgKG1hci0yMDA5KQoJICBUaGlzIGFsbG93cyB1cyB0byBlLmcuIHVuY29uZGl0aW9uYWxseSB1c2UgZ3RrZG9jLXJlYmFzZS4KCjIwMTItMDgtMjIgMTE6MjE6MzggKzAyMDAgIE1hcnRpbiBFcnRzYWFzIDxtZXJ0c2FzQGNpc2NvLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IE1ha2Ugb3N4dmlkZW9zaW5rIHVzZSB0aGUgbm9uLWRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFwaSBmcm9tIGdsaWIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0NDYKCjIwMTItMDgtMTQgMTU6NDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBIYW5kbGUgbmVnb3RpYXRpb24gZXZlbnRzCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlOgoJICBhKSBEZXN0cm95IGFuIGV4aXN0aW5nIHN0cmVhbSBpZiBhIG5lZ290aWF0ZSgpIHJlcXVlc3QgY29tZXMgaW46IHRoaXMgaXMKCSAgcmVxdWlyZWQgd2hlbiByZWNlaXZpbmcgYSBkb3duc3RyZWFtIHJlbmVnb3RpYXRpb24gcmVxdWVzdCBhZnRlciBhCgkgIHN0cmVhbSBoYXMgYmVlbiBjcmVhdGVkLgoJICBiKSBDcmVhdGUgYSBuZXcgc3RyZWFtIG9uIHByZXBhcmUoKTogdGhpcyBpcyByZXF1aXJlZCBzaW5jZSB3ZSBkbyBhCgkgIHNldGNhcHMoKSBpbiBuZWdvdGlhdGUoKSwgd2hpY2ggY2F1c2VzIHRoZSBzdHJlYW0gdG8gYmUgZHJvcHBlZCBieSBhCgkgIHJpbmdidWZmZXIgcmVsZWFzZSgpIGNhbGwgKHRoaXMgZG9lcyBub3QgaGFwcGVuIGR1cmluZyBmaXJzdCBuZWdvdGlhdGlvbgoJICBzaW5jZSB0aGUgcmVsZWFzZSBpcyBvbmx5IGRvbmUgb24gYSBydW5uaW5nIHJpbmdidWZmZXIpLiBUaGUgc3Vic2VxdWVudAoJICBjYWxsIHRvIHJpbmdidWZmZXIgYWNxdWlyZSgpIGZhaWxzIGJlY2F1c2UgdGhlIHN0cmVhbSB3YXMgbG9zdCBvbgoJICByZWxlYXNlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEyNDcKCjIwMTItMDgtMTQgMTU6Mzg6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogQ2xlYXIgdW5wb3NpdGlvbmVkIGZsYWcgd2hlbiBzZXR0aW5nIHBvc2l0aW9ucwoJICBJZiBjb252ZXJ0aW5nIGEgUEEgY2hhbm5lbCBtYXAgdG8gZ3N0IGNoYW5uZWwgcG9zaXRpb25zIHJlc3VsdHMgaW4gYQoJICB2YWxpZCBzZXQgb2YgY2hhbm5lbCBwb3NpdGlvbnMsIHdlIGNsZWFyIHRoZSB1bnBvc2l0aW9uZWQgZmxhZyBmcm9tIHRoZQoJICByaW5nYnVmZmVyIHNwZWMuCgoyMDEyLTA4LTE0IDA5OjM3OjQ1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogUmVtb3ZlIHJlZHVuZGFudCBjaGFubmVsLW1hc2sgc2V0dGluZyBmb3Igc3RlcmVvIGNhc2UKCSAgVGhlIGdzdGF1ZGlvIGhlbHBlciBsaWJyYXJpZXMgYWxyZWFkeSB0YWtlIGNhcmUgb2YgdGhpcyBjYXNlIGZvciB1cy4KCjIwMTItMDgtMTQgMDk6MzY6MzAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCB1c2UgbWVtc2V0IHRvIHNldCBpbnZhbGlkIGNoYW5uZWwgcG9zaXRpb25zCgkgIFRoaXMgaXRlcmVhdGVzIG92ZXIgdGhlIEdzdEF1ZGlvSW5mbyB0byBzZXQgaW52YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoJICByYXRoZXIgdGhhbiB1c2UgbWVtc2V0KCkgd2hpY2ggd29ya3MgcmlnaHQgbm93IGJlY2F1c2UgaXQgYXNzdW1lcyB0aGF0CgkgIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0lOVkFMSUQgaXMgLTEuCgoyMDEyLTA4LTIyIDEwOjMwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBtaW5vciBkb2NzIGltcHJvdmVtZW50CgoyMDEyLTA4LTIyIDEwOjIzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHJlLWVuYWJsZSBhbHJlYWR5LXBvcnRlZCBnZGtwaXhidWZzaW5rCgoyMDEyLTA4LTIyIDEwOjA4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiBwb3J0IGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudCB0byAwLjExCgoyMDEyLTA4LTIyIDAwOjAwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiByZS1lbmFibGUgYWxyZWFkeS1wb3J0ZWQgZ2RrcGl4YnVmIGVsZW1lbnQgYXMgZ2RrcGl4YnVmZGVjCgkgIE5vdCBzdXJlIHdoeSBpdCBhcyBkaXNhYmxlZCBleGFjdGx5IGdpdmVuIHRoYXQgaXQgaGFkIGFscmVhZHkKCSAgYmVlbiBwb3J0ZWQgKHRob3VnaCB3aXRob3V0IG1ldGFzIG9yIGJhc2VjbGFzcykuCgkgIE1vdmUgcGx1Z2luX2luaXQgYml0cyBpbnRvIHNlcGFyYXRlIHNvdXJjZSBmaWxlLCBhbmQgcmVuYW1lCgkgIGRlY29kZXIgZWxlbWVudCB0byBnZGtwaXhidWZkZWMuCgoyMDEyLTA4LTIxIDIzOjI1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0X2xvYWRlci5jOgoJICBnZGtwaXhidWY6IHJlbW92ZSBvbGQgYW5kIHVudXNlZCBnc3RfbG9hZGVyIHNvdXJjZSBmaWxlCgkgIE9uY2UgdXBvbiBhIHRpbWUgdXNlZCB0byBsb2FkIEdTdHJlYW1lciB2aWRzIHZpYSBHZGtQaXhidWYgQVBJLgoKMjAxMi0wOC0xNiAxNjo1MToxNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG1ha2Ugaml0dGVyYnVmZmVyIGRyb3Atb24tbGF0ZW5jeSBhdmFpbGFibGUgKGZpeCAjNjgyMDU1KQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaAoKMjAxMi0wOC0yMSAxOTo0Nzo0NSArMDgwMCAgSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYWtlIGdzdF92NGwyX2ZpbGxfbGlzdHMoKSBhZGFwdCB0byBrZXJuZWwgMy4zKwoJICBXaGVuIGRvIHY0bDJfaW9jdGwoKSB3aXRoIFZJRElPQ19FTlVNSU5QVVQgZmFpbHMgb24gc29tZSBkZXZpY2VzLAoJICBrZXJuZWxzIGJlZm9yZSAzLjMuMCByZXR1cm4gRUlOVkFMLCBidXQgbmV3ZXIga2VybmVscyByZXR1cm4gRU5PVFRZLgoJICBUaGlzIHBhdGNoIG1ha2UgdGhvc2UgZGV2aWNlcyB3b3JrIHdlbGwgb24ga2VybmVsIDMuMysuCgkgIFJlbGF0ZWQga2VybmVsIGNvbW1pdDoKCSAgaHR0cDovL2dpdC5rZXJuZWwub3JnLz9wPWxpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0O2E9Y29tbWl0O2g9MDdkMTA2ZDBhMzNkNjA2M2QyMDYxMzA1OTAzZGViMDI0ODllYmEyMAoJICBTaWduZWQtb2ZmLWJ5OiBIdWFjYWkgQ2hlbiA8Y2hlbmhjQGxlbW90ZS5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IFJ1aSBXYW5nIDx3YW5nckBsZW1vdGUuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBKaWUgQ2hlbiA8Y2hlbmpAbGVtb3RlLmNvbT4KCjIwMTItMDgtMjAgMjM6MzA6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgdmlkZW8veC1kdmQtc3VicGljdHVyZSAtPiBzdWJwaWN0dXJlL3gtZHZkCgoyMDEyLTA4LTE3IDIwOjUyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgoyMDEyLTA4LTE3IDE0OjU5OjU3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGVuYWJsZSBwcmVzZXRzIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplcgoJICBBZGQgYSB0ZXN0IGZvciBzYXZpbmcgYW5kIHJlc3RvcmluZyB0aGUgcHJlc2V0LgoKMjAxMi0wOC0xNCAwMToyMDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG5vdC1uZWdvdGlhdGVkIGVycm9ycyBvbiB2YXJpYWJsZSBvciBtaXNzaW5nIGZyYW1lcmF0ZSBpbiBpbnB1dCBjYXBzCgkgIFJlbW92ZSBzb21lIGJvZ3VzIGNvZGUgSSBhZGRlZCBkdXJpbmcgcG9ydGluZyB0aGF0IHdvdWxkIGVycm9yIG91dAoJICBvbiBtaXNzaW5nIG9yIHZhcmlhYmxlIGZyYW1lcmF0ZXMgaW4gaW5wdXQgY2Fwcy4gSGFuZGxlIHRoaXMgbGlrZQoJICB3ZSBkbyBpbiAwLjEwCgkgIEZpeGVzIHRlc3RfbW9kZV9kaXNhYmxlZF9wYXNzdGhyb3VnaCB1bml0IHRlc3QgY2hlY2suCgoyMDEyLTA4LTEyIDEzOjE2OjMyICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGxhdzogRmlsdGVyIGxheW91dCBjYXBzIGZpZWxkCgkgIFRoZSBsYXlvdXQgY2FwcyBmaWVsZCBzaG91bGRuJ3QgYmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIHNpbmsgcGFkCgkgIG9mIHttdSxhfWxhd2RlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTY3NwoKMjAxMi0wOC0wOSAxOTo0MTozNCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhbGxvdyBhIFRPQyB3aXRoIHNpbmdsZSBhbHRlcm5hdGl2ZSB0b3AtbGV2ZWwgZW50cnkKCSAgQWxsb3cgYSBUT0MgdGhhdCBoYXMgYSBzaW5nbGUgYWx0ZXJuYXRpdmUgdG9wLWxldmVsIGVudHJ5CgkgIHdpdGggbXVsdGlwbGUgc2VxdWVuY2Ugc3ViLWVudHJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMi0wOC0wOSAxMDozMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQW5kIGZpeCB0aGUgR1RLIGNoZWNrIHRvIHVzZSB0aGUgY29ycmVjdCBwa2ctY29uZmlnIHBhY2thZ2UgbmFtZQoKMjAxMi0wOC0wOSAxMDoyNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdUSyByZXF1aXJlZCB2ZXJzaW9uIHZhcmlhYmxlIG5hbWUKCjIwMTItMDgtMDkgMDg6MzU6MjMgKzAxMDAgIE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IGJ1aWxkIHdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSB2NGwyX2J1ZmZlciBpbnB1dCBmaWVsZCB3YXMgcmVtb3ZlZAoJICBUaGlzIHdhcyB1bnVzZWQgYXBwYXJlbnRseSBhbmQgcmVtb3ZlZCBpbiB0aGUga2VybmVsIGluIGNvbW1pdDoKCSAgRnJvbSAyYjcxOWQ3YmFmNDkwZTI0Y2U3ZDgxN2M2MzM3YjdjODdmZGE4NGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQoJICBGcm9tOiBTYWthcmkgQWlsdXMgPHNha2FyaS5haWx1c0Bpa2kuZmk+CgkgIERhdGU6IFdlZCwgMiBNYXkgMjAxMiAwOTo0MDowMyAtMDMwMAoJICBTdWJqZWN0OiBbUEFUQ0hdIFttZWRpYV0gdjRsOiBkcm9wIHY0bDJfYnVmZmVyLmlucHV0IGFuZCBWNEwyX0JVRl9GTEFHX0lOUFVUCgkgIFJlbW92ZSBpbnB1dCBmaWVsZCBpbiBzdHJ1Y3QgdjRsMl9idWZmZXIgYW5kIGZsYWcgVjRMMl9CVUZfRkxBR19JTlBVVCB3aGljaAoJICB0ZWxscyB0aGUgZm9ybWVyIGlzIHZhbGlkLiBUaGUgZmxhZyBpcyB1c2VkIGJ5IG5vIGRyaXZlciBjdXJyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0OTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgoyMDEyLTA4LTA4IDE3OjI1OjM2IC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IE1ha2UgaXQgYWN0dWFsbHkgd29yayBhZnRlciBjbGVhbnVwcwoKMjAxMi0wOC0wOCAxNzo0MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNjoyNTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MyA9PT0KCjIwMTItMDgtMDggMTU6MjI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkzCgoyMDEyLTA4LTA4IDE1OjE3OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmg6CgkgIHdpbjMyOiBhZGQgZ2VuZXJhdGVkIHR1bmVyLW1hcnNoYWwvZW51bXR5cGVzIGZpbGVzIGZvciB2NGwyc3JjIGFuZCB1cGRhdGUKCSAgQW5kIGdzdC1pbmRlbnQgdGhlIHJpZ2h0IHJ0cCBtYXJzaGFsIGZpbGVzOyBhZGQgbWlzc2luZyBmaWxlcyB0byBNQU5JRkVTVC4KCjIwMTItMDgtMDggMTU6MTA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSAgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBmaWxlcwoKMjAxMi0wOC0wOCAxMTozMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBTaWxlbmNlIHNvbWUgJ3ZhcmlhYmxlIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgoyMDEyLTA4LTA4IDEwOjU2OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgTm8gY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnNpZGUgZ19hc3NlcnQoKSBwbGVhc2UKCjIwMTItMDgtMDcgMTE6MTQ6MjEgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IFJldHVybiBGTFVTSElORyBpbnN0ZWFkIG9mIEVSUk9SIG9uIHVubG9jawoJICBJZiB0aGUgYmFzZSBjbGFzcyBhc2tzIG11bHRpdWRwc2luayB0byB1bmxvY2ssIHRoZW4gaXQgc2hvdWxkIHJldHVybgoJICBGTFVTSElORywgbm90IEVSUk9SCgoyMDEyLTA3LTI2IDE2OjE5OjU3ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogYWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBUT0MgYXMgZW1iZWRkZWQgY3Vlc2hlZXRzIGluIGZsYWMgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OQoKMjAxMi0wOC0wNyAxMjoxMjowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGdlbmVyYXRlIGVtcHR5IHZvcmJpc2NvbW1lbnQgZm9yIGNvbXBsZXRlIHN0cmVhbWhlYWRlcnMgaWYgbmVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzMzUKCjIwMTItMDgtMDYgMTg6MDI6NTAgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBCbG9jayBwYWQgd2hpbGUgaXQgaXMgYW5ub3VuY2VkLgoJICBCbG9jayB0aGUgUlRQIHBhZCBhbmQgYXNzb2NpYXRlZCBSVENQIHBhZHMgd2hpbGUgdGhleSBhcmUgYmVpbmcKCSAgYW5ub3VuY2VkLiBUaGlzIGl0IHRvIHByZXZlbnQgYSByYWNlIHdoZXJlIG9uZSBpcyBhbm5vdW5jZWQgYW5kCgkgIGJlZm9yZSB0aGUgY2FsbGJhY2sgaGFzIGNvbm5lY3RlZCBpdCwgdGhlIG90aGVyIG9uZSBnZXRzIGEgYnVmZmVyLgoJICBXZSBjYW4ndCB1c2UgdGhlICJwYWRsb2NrIiBvZiBzc3JjZGVtdXggYmVjYXVzZSBpdCBjYXVzZXMgZGVhZGxvY2tzLgoKMjAxMi0wOC0wNiAxNTowMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdW4tZG8gYWNjaWRlbnRhbCBjb21tb24gdXBkYXRlIHJldmVydCBpbiBjb21taXQgN2I1OTI1YjUKCjIwMTItMDgtMDYgMTQ6NTA6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogc2V0IGNvcnJlY3QgZGF0YV9zaXplIGZvciBnZW5lcmF0ZWQgZHVtbXkgZnJhbWUKCSAgLi4uIHdoaWNoIHByZXZlbnRzIGdldHRpbmcgc3R1Y2sgaW4gYSBsb29wIGlmIHN1Y2ggb25lIGlzIG5lZWRlZC4KCjIwMTItMDgtMDYgMTQ6NTA6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogaW1wcm92ZSBhbmQgZml4IGRlYnVnIHN0YXRlbWVudAoJICAuLi4gc28gaXQgcmVhbGx5IGluZm9ybXMgYWJvdXQgbmV4dCByYXRoZXIgdGhhbiBwYXN0IGZyYW1lLgoKMjAxMi0wOC0wNiAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiB1cGRhdGUgYXZhaWxhYmxlIGJ5dGV3cml0ZXIgc3BhY2Ugd2hlbiByZXBvc2l0aW9uaW5nCgkgIC4uLiBhbmQgYWRkIHNvbWUgbW9yZSBhc3NlcnQgdG8gY2F0Y2ggcG90ZW50aWFsIHN1cnByaXNlcyBlYXJseSBvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU1OAoKMjAxMi0wOC0wNCAxMjo0Nzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdDogQWRkIHN0cmVhbS1pZCB0byBzdHJlYW0tc3RhcnQgZXZlbnRzCgoyMDEyLTA4LTA0IDEyOjU0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBxdWVyeSBoYW5kbGVyIGlmIG5vIHBhZCBpcyBwcm92aWRlZAoKMjAxMi0wOC0wMiAwMTo0ODoyOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBhIGJldHRlciBkZXRlY3Rpb24gZm9yIHRoZSBtYWluIHJ1biBsb29wCgoyMDEyLTA3LTI3IDE2OjEzOjQ5ICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IERvIG5vdCBvdmVyd3JpdGUgdGhlIERTIGJ1ZmZlciB3aGVuIHRlc3RpbmcgZm9yIEFDMyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDYKCSAgQ29uZmxpY3RzOgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmMKCjIwMTItMDgtMDUgMTY6Mzk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk0Y2NmNGMgdG8gNjY4YWNlZQoKMjAxMi0wOC0wMyAxNjoxMzo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFJlbGVhc2UgbG9jayBiZWZvcmUgc2lnbmFsbGluZyBuZXcgcGFkCgkgIFRoaXMgcHJldmVudHMgYSBkZWFkbG9jayB3aGVyZSBzb21ldGhpbmcgd291bGQgdHJ5IHRvIHB1c2ggYW4gZXZlbnQKCSAgdGhyb3VnaCB0aGUgU1NSQyBkZW11eCBmcm9tIHRoZSBjYWxsYmFjaywgY2F1c2luZyB0aGUgcGFkcyB0byBiZSBpdGVyYXRlZAoJICBhbmQgdGhlIGxvY2sgdGFrZW4uCgoyMDEyLTA4LTA0IDE2OjEwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDMgMTQ6MTA6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYW5hZ2UgcmFjZSBiZXR3ZWVuIGNvbm5lY3Rpb24gY2xvc2luZyBhbmQgZmx1c2hpbmcKCSAgLi4uIHdoZXJlIHRoZSBmb3JtZXIgY2FuIGhhcHBlbiBpbiB0YXNrIHRocmVhZCBhbmQgdGhlIGxhdHRlciBpbiBtYWlubG9vcAoJICB1cG9uIGRvd253YXJkIHN0YXRlIGNoYW5nZS4KCjIwMTItMDgtMDMgMTQ6MDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIGFuZCByZWxheCBhdWRpbyBmcmFtZSBwYXJzaW5nCgkgIC4uLiBzbyBhcyB0byBwcm9wZXJseSByZWNvZ25pemUgZmlyc3QgYXVkaW8gZnJhbWUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEwNzcKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCjIwMTItMDgtMDEgMTI6MTY6NDEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRvdWJsZSB1bnJlZiBvZiBwcml2YXRlIHRhZyBidWZmZXIKCjIwMTItMDctMzAgMTc6NTQ6NTEgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY3JlYXRlIFRPQyBhcyBuZWVkZWQKCSAgQXZvaWQgY3JlYXRpbmcgdGhlIHRvYyBpZiB0aGUgd2F2IGhhcyBubyBvciBlbXB0eSBjdWUgY2h1bmsuCgkgIEFsc28gYSBzbWFsbCBjb2RlIGNsZWFudXAuCgoyMDEyLTA3LTI4IDExOjI2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAxMToyMjo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMTE6MjA6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDAwOjE5OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRhZzogVXBkYXRlIGZvciB0YWdsaXN0L3RhZyBldmVudCBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yNyAxMjowNTo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXQoZGUpbXV4OiBwYXNzIHByaXZhdGUgYmxvYiB0YWdzIGluIGEgc2FtcGxlCgkgIC4uLiByYXRoZXIgdGhhbiBhIGJ1ZmZlciwgYW5kIHRoZSBkZXRhaWxlZCBpbmZvIGluIHRoZSBzYW1wbGUgaW5mbwoJICByYXRoZXIgdGhhbiBjYXBzLgoKMjAxMi0wNy0yNyAxMTozMToxMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBEb24ndCByZXR1cm4gTlVMTCBmcm9tIF90cmFuc2Zvcm1fY2FwcwoJICBJZiBfdHJhbnNmb3JtX2NhcHMgKCkgcmV0dXJucyBOVUxMLCB0aGUgYmFzZXRyYW5zZm9ybSBfdHJhbnNmb3JtX2NhcHMKCSAgdHJpZXMgdG8gY2FsbCBnc3RfY2Fwc19pc19zdWJzZXQgKCkgd2l0aCBhIE5VTEwgc3Vic2V0IHdoaWNoIGhpdHMgYW4KCSAgYXNzZXJ0aW9uLgoKMjAxMi0wNy0yNyAxMToyNjoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9idGFpbiBpbWFnZSB0eXBlIGZyb20gdGhlIHNhbXBsZSBpbmZvCgoyMDEyLTA3LTI3IDExOjI1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIGV4dHJhbmVvdXMgX3VucmVmCgkgIC4uLiBzaW5jZSB3ZSBkaWQgbm90IG9idGFpbiBhIGJ1ZmZlciByZWYgZnJvbSB0aGUgR3N0U2FtcGxlLgoKMjAxMi0wNy0yNyAxMDoxNDoyMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBVcGRhdGUgdG8gdXNlIEdzdFNhbXBsZSB0YWcgc2V0dGluZyBBUEkKCjIwMTItMDctMjYgMTY6MzQ6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogbW9kaWZ5IGJ1ZmZlciBkYXRhIHJhdGhlciB0aGFuIGJ1ZmZlciBpdHNlbGYKCjIwMTItMDctMjYgMTY6Mjg6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogYXZvaWQgbGVha2luZyBieXRld3JpdGVyIGluc3RhbmNlCgoyMDEyLTA3LTI2IDE2OjA0OjIzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB0aW1lc3RhbXAgYWRqdXN0bWVudCBhbmQgY2FwcwoKMjAxMi0wNy0yNiAxNjowMzo1NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXgvc2ltcGxpZnkgdGVsZWNpbmUgc3RhdGUgY2hlY2tzCgoyMDEyLTA3LTI2IDEyOjA4OjU4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA3LTI2IDEyOjA4OjM2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBsb3ctbGF0ZW5jeSBwYXR0ZXJuIGxvY2tpbmcKCjIwMTItMDctMjQgMTY6MTk6NTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUkZGIHNob3VsZCBiZSBpZ25vcmVkIGluIGRlaW50ZXJsYWNlCgkgIFJGRiBvbmx5IG9jY3VycyBvbiBwcm9ncmVzc2l2ZSBmcmFtZXMgaW4gdGVsZWNpbmUgc2VxdWVuY2VzLiBGb3IKCSAgZGVpbnRlcmxhY2UsIHdlIGRvbid0IHdhbnQgdGhlc2UgcmVwZWF0ZWQgZmllbGRzIGFzIHdlIHdpbGwgc2ltcGx5IGJlCgkgIHB1c2hpbmcgdGhlIHByb2dyZXNzaXZlIGZyYW1lIGFuZCB0aGVuIG1vdmluZyBvbi4KCSAgSG93ZXZlciwgd2UgbmVlZCB0byBjb25zaWRlciBSRkYgaW4gb3JkZXIgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHBhdHRlcm5zCgkgIGFuZCBhZGp1c3QgdGhlIHRpbWVzdGFtcHMuCgoyMDEyLTA3LTI0IDE0OjU5OjQ3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgcHJvY2VzcyBsb2dpYwoJICBUaGUgbG9naWMgbm93IHdvcmtzIGJldHRlciBpZiB3ZSBmaWx0ZXIgb3JwaGFucywgdGhlbiBwcm9ncmVzc2l2ZSwgdGhlbgoJICB0ZWxlY2luZSBpbnRlcmxhY2VkIGZpZWxkcyB3aGljaCBuZWVkIHRvIGJlIHdvdmVuIGFuZCBmYWxsIHRocm91Z2ggdG8KCSAgaW50ZXJsYWNlLiBUZWxlY2luZSBpbnRlcmxhY2VkIGZpZWxkcyB3aWxsIGJlIHJlZ3VsYXJseSBkZWludGVybGFjZWQgaWYKCSAgdGhlcmUgaXMgbm8gcGF0dGVybiBsb2NrIGZvciB1cyB0byBiZSBzdXJlIHRoYXQgd2UgaGF2ZSBhIHRlbGVjaW5lCgkgIHBhdHRlcm4uCgkgIFRlbGVjaW5lIHNlcXVlbmNlcyB0aGF0IGFyZW4ndCAyNGZwcyBwcm9ncmVzc2l2ZSB3aXRoIFJGRiBmbGFncyBjYW4ndAoJICByZWFsbHkgYmUgdGVzdGVkIHVudGlsIGZpZWxkYW5hbHlzaXMgaXMgcG9ydGVkLgoKMjAxMi0wNy0yNSAxNjowMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9ubHkgc2V0IGNvbXBsZXRlIG91dHB1dCBjYXBzIG9uY2UKCSAgLi4uIHNvIGFzIHRvIGF2b2lkIGRvd25zdHJlYW0gY29tcGxhaW50cyBhYm91dCBtaXNzaW5nIHN0cmVhbWhlYWRlcnMuCgoyMDEyLTA3LTI1IDE1OjI5OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWxzbyBzdXBwb3J0IFMyNF8zMiBvdXRwdXQKCjIwMTItMDctMjUgMTU6Mjg6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBwYXNzIGNvcnJlY3QgcGFyYW1ldGVycyB0byBlbmNvZGVyIGxpYgoKMjAxMi0wNy0yNSAxNDo1NzoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFkanVzdCB0byBtb2RpZmllZCBhdWRpb2VuY29kZXIgZ2V0Y2FwcyBoZWxwZXIgQVBJCgoyMDEyLTA3LTI1IDEyOjUwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBnbyBhbmQgc3RheSBpbiB0aGUgbG9vcCBmdW5jdGlvbiBvbiBQTEFZCgkgIFdoZW4gd2UgaGF2ZSBhIFBMQVkgcmVxdWVzdCwgZ28gaW50byB0aGUgTE9PUCBmdW5jdGlvbiBuZXh0LiBXaGVuIHdlIGFyZQoJICBsb29waW5nLCBrZWVwIG9uIGxvb3BpbmcgdW50aWwgd2UgYXJlIHRvbGQgb3RoZXJ3aXNlLgoJICBUaGlzIGZpeGVkIHJ0c3AgYW5kIFRDUCBjb25uZWN0aW9ucy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU1MQoKMjAxMi0wNy0yNSAxMjo0OTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogc2V0IGNhcHMgYWZ0ZXIgYWN0aXZhdGluZyB0aGUgcGFkCgoyMDEyLTA3LTI1IDEyOjQ5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBzbWFsbCBjbGVhbnVwcwoKMjAxMi0wNy0yNSAxMDowODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgeHF0ZGVwYXk6IGZpeCBidWZmZXIgcmVmY291bnQgZXJyb3IKCSAgQWZ0ZXIgcHVzaGluZyB0aGUgYnVmZmVyIGludG8gdGhlIGFkYXB0ZXIsIHdlIHNob3VsZCBub3QgbGV0IHRoZSBiYXNlY2xhc3MgcHVzaAoJICBpdCBvdXQgYW55bW9yZS4gVGhpcyBlcnJvciB3YXMgaW50cm9kdWNlZCB3aGlsZSBwb3J0aW5nIHRvIDAuMTEuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTQwCgoyMDEyLTA3LTI0IDIxOjQxOjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiByZW1vdmUgb2Jzb2xldGUgbGlib2lsIGNvbW1lbnQKCjIwMTItMDctMjQgMjE6MTE6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBwdXNoIG1vZGU6IGluY3JlYXNlIHNlZ21lbnQgYWNjdXJhY3kgZm9sbG93aW5nIHNlZWsKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yNCAxNjo0MTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGVyZm9ybSBwcm9wZXIgS0VZX1VOSVQgc2VlayBhbHNvIGluIHB1c2ggbW9kZQoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTI0IDE5OjA0OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZG9uJ3QgY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIGVycm9yIHdoZW4gbGVhdmluZyBtdWx0aWNhc3QgZ3JvdXAgb24gc2h1dGRvd24KCSAgU3RyYW5nZWx5IGVub3VnaCwgaWYgd2UgZG8gcGFzcyBhbiBlcnJvciB2YXJpYWJsZSB0byBiZSBmaWxsZWQsIHdlCgkgIG5vIGxvbmdlciBnZXQgYW4gZXJyb3Igb24gbGVhdmluZy4KCjIwMTItMDctMjQgMTU6NTU6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVhcnJhbmdlIHNvbWUgY2hlY2tzIHRvIGF2b2lkIE5VTEwgdXNlCgoyMDEyLTA3LTI0IDE1OjM4OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVzZSBzYW1lIGZvdXJjYyB0byBkZXRlcm1pbmUgY2FwcyBpbiBkZXRlcm1pbmluZyB1bmNvbXByZXNzZWQtbmVzcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk4CgkgIENvbmZsaWN0czoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jCgoyMDEyLTA3LTI0IDE1OjM2OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0ICJhdmlkZW11eDogRG9uJ3QgY29uc2lkZXIgMCBmY2NfaGFuZGxlciBhcyB1bmNvbXByZXNzZWQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM2YjlmNWIyNWFiNDM1NjY5ODE2YTA3MDQ5YjBlNWE4ZjAxZTA5Y2EuCgkgIGZvdXJjYyBHU1RfUklGRl9yZ2IgPSAwIHN0aWxsIGxlYWRzIHRvIHJhdyB1bmNvbXByZXNzZWQgcmdiIGNhcHMuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTgKCjIwMTItMDctMjQgMTI6MTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggdXAgZXhhbXBsZSBwaXBlbGluZSBzb21lIG1vcmUKCSAgTm8gbW9yZSBmZm1wZWdjb2xvcnNwYWNlCgoyMDEyLTA3LTIwIDE2OjMwOjAwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCB0aGUgZXhhbXBsZSBnc3QtbGF1bmNoIHBpcGVsaW5lLgoKMjAxMi0wNy0yNCAxMjozMzozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgTlVMTCBhY2Nlc3Mgd2hlbiBjaGVja2luZyBzdWJ0aXRsZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMzg4CgoyMDEyLTA3LTI0IDEyOjIyOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlc2V0IHBhcnNlciB3aGVuIHdlIGhhdmUgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEKCSAgVGhpcyBlbnN1cmVzIHRoZSBkZXRlY3Rpb24gKGFuZCBwcm9wZXIgZG93bnN0cmVhbSBjYXBzIHNldHRpbmdzKSB3aWxsCgkgIGFjdHVhbGx5IGhhcHBlbiB3aGVuIHdlIGhhdmUgbmV3IGluY29taW5nIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhLgoJICBUaGlzIHdhcyBlYXNpbHkgdHJpZ2dlcmVkIGJ5IHN0cmVhbXMgZnJvbSBtYXRyb3NrYWRlbXV4IHdoaWNoIGluaXRpYWxseQoJICBwcm92aWRlZCBjYXBzIHdpdGggYSBjb25zdHJ1Y3RlZCBjb2RlY19kYXRhLCBidXQgdGhlbiBwdXNoZWQgbmV3IGNhcHMKCSAgd2l0aG91dCB0aGUgY29kZWNfZGF0YSBvbmNlIGl0IGRldGVjdGVkIHRoZSBzdHJlYW0gd2FzIGFkdHMuCgoyMDEyLTA3LTI0IDA5OjE3OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCB2aWRlb19taXhlcl9vcmNfCgoyMDEyLTA3LTI0IDA5OjEzOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy5vcmM6CgkgIHZpZGVvYm94OiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIHZpZGVvX2JveF9vcmNfCgoyMDEyLTA3LTIzIDE4OjUxOjAwICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMi0wNy0yMyAxNzozNzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZ2VuZXJhdGUgY29ycmVjdCBzZWdtZW50IHN0cmVhbSB0aW1lCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyNzUKCjIwMTItMDctMjMgMTY6NDI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwOiBhbHdheXMgdXNlIGJ1ZmZlciBsaXN0cwoKMjAxMi0wNy0yMyAxNToyNDoxNyArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGFsd2F5cyBlbmFibGUgYnVmZmVyLWxpc3RzCgoyMDEyLTA3LTIzIDE1OjIyOjI0ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgcnRwanBlZ3BheTogYWx3YXlzIGVuYWJsZSBidWZmZXItbGlzdHMKCjIwMTItMDctMjMgMTU6NDk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZ2V0IGZyYW1lIGZsYWdzIGNvcnJlY3RseQoJICBBbHNvIG1vdmUgdGhlIGRlaW50ZXJsYWNlIHBsdWdpbiB0byBwb3J0ZWQgc3RhdHVzCgoyMDEyLTA3LTIzIDE1OjMzOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXIgcGFyc2UgcmVjb3ZlcnkgYWZ0ZXIgc2VlawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNDI3CgoyMDEyLTA3LTIzIDEyOjM5OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGNsZWFyIG9sZCBzZWdtZW50IGV2ZW50IHdoZW4gcmVxdWVzdGluZyBuZXcgb25lCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyODMKCjIwMTItMDctMjMgMTA6MzI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDA4OjQ5OjA3ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY29udmVydCBhbGwgbm9uIEdTVF9GT1JNQVRfQllURVMgdG8gZm9ybWF0IGJ5dGVzLgoJICBDb252ZXJ0IGFsbCBub24gR1NUX0ZPUk1BVF9CWVRFUyB0byBmb3JtYXQgYnl0ZXM6CgkgIGZpeGVzOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9xdWVyeV9zZXRfZHVyYXRpb246IGFzc2VydGlvbiBgZm9ybWF0ID09CgkgIGdfdmFsdWVfZ2V0X2VudW0gKGdzdF9zdHJ1Y3R1cmVfaWRfZ2V0X3ZhbHVlIChzLCBHU1RfUVVBUksgKEZPUk1BVCkpKScKCSAgZmFpbGVkCgkgIHdoZW4gcGxheWluZyBtb3JlIHRoYW4gb25lIHdhdiBzdHJlYW0uCgkgIGdzdC1wbHVnaW5zLWJhc2UvdGVzdHMvaWNsZXMvcGxheWJhY2svdGVzdDcgdXJpMS53YXYgdXJpMi53YXYKCjIwMTItMDctMjMgMDk6MjU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBmYWlsIGlmIG1vcmUgZGF0YSB0aGVuIG5lZWRlZCBpcyBhdmFpbGFibGUgd2hlbiBwYXJzaW5nIGN1ZSBjaHVua3MKCSAgRml4ZXMgYnVnICM2ODAzMjguCgoyMDEyLTA3LTIzIDA5OjIyOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogU29tZSBtaW5vciBjbGVhbnVwIHRvIHRoZSBjdWUvbGFibCBwYXJzaW5nCgoyMDEyLTA3LTIzIDA4OjQ1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOThlMzg2ZiB0byA5NGNjZjRjCgoyMDEyLTA3LTE5IDE0OjU1OjQ1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgZGVpbnRlcmxhY2U6IFBvcnQgdG8gMS4wCgkgIFRoaXMgcmVxdWlyZXMgdGhlIGFkZGl0aW9uYWwgSU5URVJMQUNFRCBidWZmZXIgZmxhZyByZWNlbnRseSBhZGRlZCB0bwoJICAtYmFzZQoKMjAxMi0wNy0yMCAxNToxODo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogY29udmVydCB0aGUgb3V0cHV0IHNlZ21lbnQgdG8gdGltZQoJICBDb252ZXJ0IHRoZSBzdG9yZWQgaW5wdXQgc2VnbWVudCB0byB0aW1lIGJlZm9yZSBwdXNoaW5nIGl0IG91dC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCjIwMTItMDctMjAgMTM6MTI6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogdHJ5IHRvIGZpeCBzZWdtZW50IGhhbmRsaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA3LTIwIDE1OjI4OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBOb24tdXBkYXRlIHNlZWtzIHNob3VsZCBzdGlsbCBtYWtlIHN1cmUgdGhhdCByZXZlcnNlIHBsYXliYWNrIHN0YXR1cyBpcyByZXNldAoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTIwIDE1OjE4OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcm9wZXJseSBpbml0aWFsaXplIGZyb21fb2Zmc2V0IGFuZCBmcm9tX3RpbWUKCjIwMTItMDctMjAgMTQ6MjU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFdlIG5lZWQgYW4gaW5kZXggYW5kIGluZGV4IGVudHJ5IGZvciByZXZlcnNlIHBsYXliYWNrCgkgIFJldmVyc2UgcGxheWJhY2sgZG9lcyBub3Qgd29yayB3aXRoIGluZGV4LWxlc3MgZmlsZXMgeWV0LgoKMjAxMi0wNy0yMCAxNDoxMDo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsZWFuIHVwIHB1c2ggbW9kZSBzZWdtZW50IGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyNzcKCjIwMTItMDctMjAgMTM6MzU6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3Blcmx5IHRyYW5zZm9ybSBpbmNvbWluZyBzZWdtZW50IGV2ZW50CgkgIC4uLiB3aGljaCBpcyByZWFsbHkgdXNlZnVsIGZvciBwcm9wZXIgcHVzaCBtb2RlIHNlZWtpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyNzgKCjIwMTItMDctMjAgMTE6MDc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggcmV2ZXJzZSBwbGF5YmFjayBmb3Igc2Vla3Mgd2l0aG91dCBzdG9wIHBvc2l0aW9uCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmgKCjIwMTItMDctMjAgMTA6NDg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgdGFrZSB0aGUgc3RyZWFtX3N0YXJ0X3RpbWUgaW50byBhY2NvdW50IGZvciBTRVQgc2Vla3MKCSAgRm9yIG90aGVyIHNlZWtzIHRoZSBzdHJlYW1fc3RhcnRfdGltZSBpcyBhbHJlYWR5IGFkZGVkIHRvIHRoZQoJICBzZWdtZW50IHZhbHVlcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0wOCAyMDozNjoyMiArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogQWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBzdXBwb3J0IGZvcjoKCSAgKiBDdWUgQ2h1bmsKCSAgKiBBc3NvY2lhdGVkIERhdGEgTGlzdCBDaHVuawoJICAqIExhYmVsIENodW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczMDYKCjIwMTItMDUtMDkgMTU6NTg6MTYgKzAyMDAgIE1hcmlhIEdpb3Zhbm5hIENoaW9zc2EgPG1hcmlhZ2lvdmFubmEuY2hpb3NzYSBhdCBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBzZXQgVURQIGJ1ZmZlciBzaXplIGluIG11bHRpY2FzdAoJICBBbHNvIHNldCB0aGUgVURQIGJ1ZmZlciBzaXplIGluIG11bHRpY2FzdCBtb2RlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDQ4CgoyMDEyLTA3LTE4IDIzOjQzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGhlYWRlciBwYXJzaW5nIGluIHB1c2ggbW9kZQoJICBGaXggJ2JyZWFrJyB0aGF0IGdvdCB3YXJwZWQgdG8gdGhlIHdyb25nIHBsYWNlLAoJICBwcm9iYWJseSBhcyBwYXJ0IG9mIGEgbWVyZ2UuIEZpeGVzIEdTVF9JU19CVUZGRVIKCSAgY3JpdGljYWxzIGluIHBhcnNlX2lkaXQoKSB3aGVuIGJlaW5nIGFjY2lkZW50YWxseQoJICBwYXNzZWQgYSBOVUxMIGJ1ZmZlciBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nIGJyZWFrLgoJICBnc3QtbGF1bmNoLTEuMCBwbGF5YmluIHVyaT1odHRwOi8vZG9jcy5nc3RyZWFtZXIuY29tL21lZGlhL3NpbnRlbF90cmFpbGVyLTQ4MGkuYXZpCgoyMDEyLTA3LTE4IDIyOjQ3OjIyICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZGVwcmVjYXRlZCBzb3VwX21lc3NhZ2VfaGVhZGVycyBfZ2V0IC0+IF9nZXRfb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyMDYKCjIwMTItMDctMTggMTg6Mjc6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBqcGVnL3BuZzogQ2FsbCB2aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE4IDE3OjU3OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgdXBkYXRlIGZvciBnaG9zdHBhZCBjaGFuZ2VzCgoyMDEyLTA3LTE4IDExOjM2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQYXNzIHNlZWsgcmF0ZSB0byB1cHN0cmVhbSBzZWVrIGV2ZW50cyBpbiBwdXNoIG1vZGUKCSAgRml4ZXMgYnVnICM2Nzk0MzUuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMTcgMTY6Mzk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgdXBkYXRlIGZvciBSVFAgYnVmZmVyIGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTE3IDE2OjM4OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgdXBkYXRlIGZvciBSVFAgYnVmZmVyIGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTE2IDExOjA3OjQ0ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiB1c2UgYnVmZmVyIGxpc3RzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk5OTQKCjIwMTItMDctMTcgMTA6MDE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggcGFyc2luZyBvZiBJU1JDIGZyb20gdGhlIGN1ZXNoZWV0cwoKMjAxMi0wNy0wNSAxNDoxNToyNSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBhZGQgVE9DIHN1cHBvcnQKCSAgQWRkIHN1cHBvcnQgZW1iZWRkZWQgY3Vlc2hlZXRzIGluIGZsYWMgZmlsZXMuCgkgIFBhcnNpbmcgTUVUQURBVEFfQkxPQ0tfQ1VFU0hFRVQgYXMgVE9DLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkxCgoyMDEyLTA3LTEzIDE0OjQzOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYXZvaWQgc29tZSBtb3JlIGZyYW1lIG1pc3BhcnNpbmcgYnkgYWRkaXRpb25hbCBoZWFkZXIgc2FuaXR5IGNoZWNrCgkgIC4uLiB1c2luZyBhIHJlcXVpcmVkIGNvbnN0YW50IGJsb2NraW5nX3N0cmF0ZWd5IGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTgwNwoKMjAxMi0wNy0xMyAxMzo1MTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBkZW11eDogUHVzaCBTVFJFQU1fU1RBUlQgZXZlbnQgd2hlbiBuZWVkZWQKCjIwMTItMDctMTEgMTM6MTA6MDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCB3YXJuaW5nIGlmIGJvdGggdHMgYXJlIGVxdWFsCgoyMDEyLTA3LTExIDEyOjI4OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogY2hlY2sgdGhlIHJpZ2h0IHNpemUgd2hlbiB3YXJuaW5nIGFib3V0IHRvbyBsYXJnZSB1ZHAgcGFja2V0cwoJICBXaGF0IG1hdHRlcnMgaXMgdGhlIHRvdGFsIHNpemUsIG5vdCB0aGUgc2l6ZSBvZiBhbnkgb2YgdGhlCgkgIGluZGl2aWR1YWwgbWVtb3J5IGNodW5rcyB0aGF0IG1ha2UgdXAgdGhlIHBhY2tldC4KCjIwMTItMDctMTAgMTQ6Mzg6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgIGF1dG9kZXRlY3Q6IHByb3h5IHRzLW9mZnNldCBwcm9wZXJ0aWVzCgkgIFByb3h5IHRoZSB0cy1vZmZzZXQgcHJvcGVydHkgaW4gdGhlIGF1ZGlvKnNpbmsgZWxlbWVudHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzNDMKCjIwMTItMDctMDkgMTY6Mjc6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZml4IGZvciBhbGxvY2F0b3IgQVBJIGNoYW5nZXMKCjIwMTItMDctMDkgMTI6MjI6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHJpZmYgZmllbGQgcmVuYW1lCgoyMDEyLTA1LTIxIDEzOjU0OjUxICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXNAb3BlbmlzbXVzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZHJvcCByZWR1bmRhbnQgZWxlbWVudHNfbGV2ZWxfTERBREQgbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MzAyCgoyMDEyLTA3LTA4IDEzOjMwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2RlYy5jOgoJICB0ZXN0czogbWlub3IganBlZ2RlYyBjbGVhbi11cHMgYW5kIGZpeGVzCgkgIEZpeCByYWNlIGNvbmRpdGlvbiBpbiBlb3MgY2hlY2tpbmcgYW5kIGEgbGVhay4gQW5kCgkgIGJ1aWxkIHBpcGVsaW5lIHdpdGhvdXQgcGFyc2VfbGF1bmNoLgoKMjAxMi0wNS0yMSAxMzo1Mzo1NCArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzQG9wZW5pc211cy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9pbWFnZS5qcGc6CgkgIHRlc3RzOiBBZGQgc29tZSBiYXNpYyB0ZXN0cyBmb3IganBlZ2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MzAyCgoyMDEyLTA3LTA4IDAwOjA4OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBwYXNzIHVuaGFuZGxlZCBub24tY3VzdG9tIGV2ZW50cyB0byB0aGUgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjI2CgoyMDEyLTA3LTA2IDE5OjExOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhdm9pZCBzb21lIHJlbG9jYXRpb25zCgoyMDEyLTA3LTA2IDE0OjQ5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiByZW1vdmUgZGVwcmVjYXRlZCBzZW5kLWNvbmZpZyBwcm9wZXJ0eQoJICBVc2UgY29uZmlnLWludGVydmFsIGluc3RlYWQuCgoyMDEyLTA3LTA2IDE0OjQyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgImJ5dGUtc3RyZWFtIiBhbmQgImFjY2Vzcy11bml0IiBwcm9wZXJ0aWVzCgkgIFRoZXNlIHdpbGwgYmUgcGlja2VkIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gZG93bnN0cmVhbSBjYXBzIG5vdywgc28KCSAgaWYgeW91IHdhbnQgdGhlIGRlcGF5bG9hZGVyIHRvIG91dHB1dCBhIHNwZWNpZmljIGZvcm1hdCwgbWFrZSBzdXJlCgkgIHRoZSBlbGVtZW50IGRvd25zdHJlYW0gYWR2ZXJ0aXNlcyB0aGF0IHByZWZlcmVuY2Ugb3IgdXNlIGEgY2Fwc2ZpbHRlcgoJICBhZnRlciB0aGUgZGVwYXlsb2FkZXIgdG8gZm9yY2UgaXQuCgoyMDEyLTA3LTA2IDE0OjEzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgbm9uLWZ1bmN0aW9uYWwgInByb2ZpbGUtbGV2ZWwtaWQiIHByb3BlcnR5CgkgIFRoaXMgaXMgbm93IG9wdGlvbmFsbHkgdGFrZW4gZnJvbSBkb3duc3RyZWFtIGNhcHMsIHNvIGNhbiBiZQoJICBzcGVjaWZpZWQgdmlhIGEgY2Fwc2ZpbHRlciBhZnRlciB0aGUgcGF5bG9hZGVyLgoKMjAxMi0wNy0wNiAxNTowNzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgc2FuaXR5IGNoZWNrIGJlZm9yZSBjb25maXJtaW5nIEFEVFMgZm9ybWF0CgkgIC4uLiBhbmQgdHdlYWsgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2UuCgoyMDEyLTA3LTA2IDE1OjI5OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHJlbW92ZSB1bmhlbHBmdWwgc3RyYXkgZGVidWcgbWVzc2FnZQoKMjAxMi0wNy0wNiAxMzoxNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBkZXByZWNhdGVkIGFuZCB1bnVzZWQgIm50cC1ucy1iYXNlIiBwcm9wZXJ0eQoKMjAxMi0wNy0wNiAxMjo1NzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJICBkb2NzOiB1cGRhdGUgaXNvbXA0IGRvY3MgZm9yIGdwcG11eCAtPiAzZ3BwbXV4IGNoYW5nZSBhcyB3ZWxsCgoyMDEyLTA3LTA2IDEyOjU0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGlzb21wNDogcmVtb3ZlIGdwcG11eCwgd2hpY2ggd2FzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIDNncHBtdXgKCjIwMTItMDctMDYgMTI6NDk6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtdHA6IHJlbW92ZSBkZXByZWNhdGVkICJmcHMiIHByb3BlcnR5CgoyMDEyLTA3LTA2IDEyOjQ2OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCAiYXV0b3NjYW4iIHByb3BlcnR5CgkgIFJlcGxhY2VkIGJ5IGJvdW5kYXJ5PU5VTEwuCgoyMDEyLTA3LTA2IDA5OjA3OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjYzcHBheTogYWNjZXB0IGFueSBoMjYzIGlucHV0IHVubGVzcyBkb3duc3RyZWFtIGZvcmNlcyBzcGVjaWZpYyByZXF1aXJlbWVudHMKCSAgcnRwaDI2M3BwYXkgc2hvdWxkIGFjY2VwdCBhbnkgaW5wdXQgY29tcGF0aWJsZSB3aXRoIGl0cyBzaW5rIHRlbXBsYXRlCgkgIGNhcHMgaWYgaXQganVzdCBvdXRwdXRzIHRvIGUuZy4gdWRwc2luayBvciBmYWtlc2luay4KCSAgcnRwaDI2M3BwYXkgISBydHBoMjYzcGRlcGF5IHNob3VsZCBhbHNvIHdvcmsgd2l0aCBhbnkgY29tcGF0aWJsZSBpbnB1dC4KCSAgVGhpcyB3b3VsZCBmYWlsIGJlZm9yZSB3aXRoIG5vdC1uZWdvdGlhdGVkIGVycm9ycyBiZWNhdXNlIHRoZSBnZXRfY2FwcwoJICBmdW5jdGlvbiB3b3VsZCBzZWUgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIGRlcGF5bG9hZGVyJ3MgdGVtcGxhdGUgY2FwcwoJICBhbmQgZGVmYXVsdCB0byBiYXNlbGluZSBILjI2MyBiZWNhdXNlIHRoZXJlJ3Mgbm8gcHJvZmlsZS9sZXZlbCBpbmZvcm1hdGlvbgoJICBpbiB0aG9zZSBjYXBzLCB3aGljaCBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8gaWYgZG93bnN0cmVhbSBoYXMgZmlsdGVyY2FwcwoJICBmcm9tIGFuIFNEUCwgYnV0IG5vdCBpZiB0aG9zZSBmaWVsZHMgYXJlIGFic2VudCBiZWNhdXNlIHRoZXkgY2FuIGJlCgkgIGFueXRoaW5nIGxpa2Ugd2l0aCB0aGUgZGVwYXlsb2FkZXIncyB0ZW1wbGF0ZSBjYXBzLiBNYWtlcwoJICB2aWRlb3Rlc3RzcmMgISBhdmVuY19oMjYzcCAhIHJ0cGgyNjNwcGF5ICEgcnRwaDI2M3BkZXBheSAhIGZha2VzaW5rCgkgIHdvcmsuCgoyMDEyLTA3LTA1IDIyOjU3OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBmaXggaDI2M3AgcGF5bG9hZCAhIGRlcGF5bG9hZCB1bml0IHRlc3QKCSAgTmVlZCB0byBhZGQgaDI2M3ZlcnNpb24gZmllbGQgdG8gaW5wdXQgY2FwcyBzaW5jZSB0aGUKCSAgcGF5bG9hZGVyIHNpbmsgZ2V0X2NhcHMgZnVuY3Rpb24gd2lsbCBjb250YWluIGl0IGluIHRoZQoJICB0aGUgY2FwcywgYW5kIHRoZSBzdHJpY3RlciBjYXBzIHN1YnNldCBjaGVjayByZXF1aXJlcwoJICB0aGlzIHRvIGJlIHByZXNlbnQgaW4gdGhlIGlucHV0IGNhcHMgYXMgd2VsbCB0aGVuLgoKMjAxMi0wNy0wNiAxMTo1MDo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjAyOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTA3LTA1IDE1OjE0OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiBmaXggcmd2b2x1bWUgdW5pdCB0ZXN0IGV2ZW50IGhhbmRsaW5nCgkgIE11c3QgZmx1c2ggYWZ0ZXIgRU9TIGJlZm9yZSBzZW5kaW5nIG1vcmUgYnVmZmVycyBvcgoJICBhbm90aGVyIEVPUyBldmVudCwgb3IgdGhlIGV2ZW50IG9yIGJ1ZmZlciB3aWxsIGJlCgkgIHJlamVjdGVkLiBBbHNvIHNlbmQgYSBTRUdNRU5UIGV2ZW50IGF0IHRoZSBzdGFydAoJICBvZiBlYWNoIHN0cmVhbSBmb3IgZ29vZCBtZWFzdXJlLgoKMjAxMi0wNy0wNSAxMzoxMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGdzdDogSW1wbGVtZW50IHNlZ21lbnQtZG9uZSBldmVudAoKMjAxMi0wNy0wNSAxMjozNTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIHRoZSBUT0MgcXVlcnkgaGFuZGxpbmcKCjIwMTItMDctMDQgMTk6NTI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBVcGRhdGUgZm9yIG5ldyBHc3RUb2MgQVBJCgkgIFRPQyBzdXBwb3J0IGluIG1hdHJvc2thbXV4IGlzIGRpc2FibGVkIGZvciBub3cgYXMgaXQgd2FzIGJyb2tlbiBhbnl3YXkuCgoyMDEyLTA3LTA0IDIzOjU3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZml4IHJnYW5hbHlzaXMgdW5pdCB0ZXN0IGV2ZW50IGhhbmRsaW5nCgkgIE11c3QgZmx1c2ggYWZ0ZXIgRU9TIGJlZm9yZSBzZW5kaW5nIG1vcmUgYnVmZmVycyBvcgoJICBhbm90aGVyIEVPUyBldmVudCwgb3IgdGhlIGV2ZW50IG9yIGJ1ZmZlciB3aWxsIGJlCgkgIHJlamVjdGVkLiBBbHNvIHNlbmQgYSBTRUdNRU5UIGV2ZW50IGF0IHRoZSBzdGFydAoJICBvZiBlYWNoIHN0cmVhbSBmb3IgZ29vZCBtZWFzdXJlLgoKMjAxMi0wNy0wNCAxODo1ODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGNsZWFyIDAgRFRTIG9uIGJ1ZmZlcnMgb3V0cHV0LCBhcyBzaW5rcyB3aWxsIHByZWZlciBEVFMgb3ZlciBQVFMgZm9yIHN5bmNpbmcKCSAgU2luY2UgdGhlIGluaXRpYWwgZGVjb2RlZCBzdGlsbCBpbWFnZSBidWZmZXIgd2lsbCBoYXZlIGR0cz1wdHM9MCwgYW5kCgkgIHdlIG9ubHkgc2V0IFBUUyBvbiBidWZmZXJzIHdlIHB1c2ggb3V0LCBhbGwgYnVmZmVycyBwdXNoZWQgb3V0IHdvdWxkCgkgIGhhdmUgYSBEVFMgb2YgMC4gU2lua3MsIGhvd2V2ZXIsIHdpbGwgcHJlZmVyIERUUyBvdmVyIFBUUyBpZiBib3RoIGFyZQoJICBzZXQsIGFuZCB3aWxsIHRoZXJlZm9yZSBhbHdheXMgc2VlIGEgdGltZXN0YW1wIG9mIDAgbm8gbWF0dGVyIHdoYXQKCSAgdGhlIFBUUyBpcyBzZXQgdG8uCgkgIEZpeGVzIHVuaXQgdGVzdCB0b28uCgoyMDEyLTA3LTA0IDIwOjU5OjAzICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggcXVlcnkgZnVuY3Rpb24gaW1wbGVtZW50YXRpb247IG1vcmUgZGVidWdnaW5nCgoyMDEyLTA3LTA0IDE5OjQxOjUyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggc3BlYyBzdHVmZiBpbiBkaXJlY3Rzb3VuZHNpbmsKCjIwMTItMDUtMzEgMTk6MjI6NDcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IGFjY2VzcyB0byBpbnZhbGlkIHBvaW50ZXIgaW4gc2V0X3ZvbHVtZQoKMjAxMi0wNi0xMyAxMjoxMjozOSArMDIwMCAgU2ViYXN0aWFuIERyPUMzPUI2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBjYXBzIGxlYWtzCgoyMDEyLTA1LTI5IDExOjM3OjU5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBhY2NlcHRjYXBzIGNoZWNrCgoyMDEyLTA1LTI1IDEwOjE0OjU3ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IHVzZSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgZm9yIHNwZGlmIGZvcm1hdHMKCjIwMTItMDUtMjUgMTA6MTk6MDkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogYWRkIHN1cHBvcnQgZm9yIERUUwoKMjAxMi0wNS0wOCAxNjoyMzo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmb3JjZSA0ODAwMCBrSHogZm9yY2UgQUMtMyBvdmVyIHNwZGlmCgoyMDEyLTA3LTA0IDE3OjQyOjQ5ICswNDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFkZCBzdXBwb3J0IGZvciBhYy0zIG92ZXIgc3BkaWYKCjIwMTItMDctMDQgMTI6Mzc6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgdGVzdHM6IGRpc2FibGUgZGVpbnRlcmxhY2UgdGVzdCBmb3Igbm93LCBlbGVtZW50IHN0aWxsIG5lZWRzIHRvIGJlIHBvcnRlZAoJICBCdXQgbGVhdmUgaXQgYWN0aXZlIGFuZCBwcmludCBhIEZJWE1FLiBQb3J0aW5nIGlzIGluIHByb2dyZXNzLgoKMjAxMi0wNy0wMyAxOTozODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOyBkb3duZ3JhZGUgY2FwcyBjaGFuZ2UgZmFpbHVyZSBkZWJ1ZyBtZXNzYWdlCgkgIEFkZCBzb21lIG1vcmUgaW5mbyBhbmQgZG93bmdyYWRlIHRvIHdhcm5pbmcsIHNvCgkgIGl0IGRvZXNuJ3QgbG9vayBsaWtlIHRoZSB1bml0IHRlc3QgZmFpbGVkLgoKMjAxMi0wNy0wMyAxNzo1MjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBuZWdvdGlhdGlvbiBhbmQgdW5pdCB0ZXN0CgkgIE11c3QgcmVtb3ZlIGEgcG9zc2libHktZml4ZWQgY2hhbm5lbC1tYXNrIGZpZWxkIGlmCgkgIHdlJ3JlIGdvaW5nIHRvIHNldCB1bmZpeGVkIGNoYW5uZWxzIG9uIHRoZSBzdHJ1Y3R1cmUsCgkgIG9yIGEgZGlmZmVyZW50IGNoYW5uZWwgY291bnQuCgoyMDEyLTA3LTAzIDE3OjI2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IHB1c2ggdGhlIFRPQyBldmVudCwgdGhlIG1lc3NhZ2UgaXMgaGFuZGxlZCBieSB0aGUgc2lua3MKCjIwMTItMDctMDMgMTI6NDc6NTggKzA5MDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0czogZG8gbm90IHVzZSBkZXByZWNhdGVkIGd0aysgc3ltYm9scwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzAxCgoyMDEyLTA3LTAzIDA5OjI3OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgR3RrKyAzLjAgZm9yIHRlc3RzL2V4YW1wbGVzCgoyMDEyLTA3LTAzIDEyOjU3OjE4ICswOTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwOiByZW1vdmUgc29tZSBvdXRkYXRlZCBjb21tZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzAxCgoyMDEyLTA2LTI5IDExOjUxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkZWZhdWx0IHRvIGZvcmNlLWFzcGVjdC1yYXRpbz10cnVlCgoyMDEyLTA2LTI4IDIwOjAzOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBhZGQgcHVzaCBtb2RlIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjMxNwoKMjAxMi0wNi0yOCAxMToyOTo1NSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogVHJ5IHRvIHNlZWsgdXBzdHJlYW0gYmVmb3JlIHByb2Nlc3Npbmcgc2VlayBwdXNoIGV2ZW50CgkgIFdoZW4gaXQgcmVjZWl2ZXMgYSBzZWVrIGluIHB1c2ggbW9kZSwgdGhlIHF0ZGVtdXggc2hvdWxkIGZpcnN0IHRyeSB0byBwdXNoIHRoZSBldmVudCB1cHN0cmVhbSwgYW5kIG9ubHkgaWYgdXBzdHJlYW0gZmFpbHMgZmFsbCBiYWNrIHRvCgkgIGl0cyBvd24gc2VlayBsb2dpYy4KCjIwMTItMDYtMjggMTE6NDc6MjAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IEFsbG93IGR1cmF0aW9uIHF1ZXJpZXMgdG8gYmUgZm9yd2FyZGVkIHVwc3RyZWFtCgkgIFdoZW4gcmVjZWl2aW5nIGEgZHVyYXRpb24gcXVlcnkgZm9yIFRJTUUgZm9ybWF0LCB0cnkgdG8gcXVlcnkgdXBzdHJlYW0sIGFuZCBvbmx5IGlmIHVwc3RyZWFtIGZhaWxzIGZhbGwgYmFjayB0byBxdGRlbXV4IGR1cmF0aW9uIGhhbmRsaW5nLgoKMjAxMi0wNi0yOCAxMTo1OToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogY2xlYW51cHMKCSAgVXNlIHRoZSBjYXBzIHByb3BlcnRpZXMgZm9yIGFsaWdubWVudCBhbmQgZm9ybWF0LgoJICBSZW1vdmUgc29tZSBvbGQgcHJvcGVydGllcywgd2UgYWx3YXlzIHdhbnQgdG8gdXNlIGJ1ZmZlcmxpc3RzIHdoZW4gd2UgY2FuIG5vdy4KCjIwMTItMDYtMjggMTE6MzI6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogcHJlZmVyIEFWQywgaXQncyBlYXNpZXIgdG8gcGFyc2UgZXRjCgoyMDEyLTA2LTI3IDA5OjA5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBtYXJrIGFsbCBvdXRwdXQgZnJhbWVzIGFzIGtleWZyYW1lcwoKMjAxMi0wNi0yNiAxODo0ODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0VG9jIEFQSSBhZGRpdGlvbnMKCjIwMTItMDYtMjYgMTc6MDQ6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IHNldCBpbnRlcmxhY2UtbW9kZQoKMjAxMi0wNi0yNiAxMzoxOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGltcHJvdmUgZGVidWcKCjIwMTItMDYtMjYgMTM6MDI6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBSZXZlcnQgInY0bDI6IGZyZWUga2VybmVsIGJ1ZmZlcnMgYmVmb3JlIGFsbG9jYXRpbmcgbmV3IG9uZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWIwOWJjNjA5YTU3OGU3MzFmMGRiYzhmNmU2OThlMjVkOGY0YzVmOC4KCSAgU2VlbXMgdG8gbWFrZSBsaWJ2NGwyIGNvbXBsYWluLCBtYXliZSBiZWNhdXNlIHdlIGNhbGwgUkVRQlVGUyB3aXRoIDAgYnVmZmVycwoJICBiZWZvcmUgd2UgYWxsb2NhdGVkIGJ1ZmZlcnMuCgoyMDEyLTA2LTI2IDEyOjA3OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZnJlZSBrZXJuZWwgYnVmZmVycyBiZWZvcmUgYWxsb2NhdGluZyBuZXcgb25lcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDI1NwoKMjAxMi0wNi0yNiAxMjowNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNi0yNiAxMToxNDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHNldHVwIHN0cmlkZXMgYW5kIG9mZnNldHMgZm9yIGFsbCBwbGFuZXMKCjIwMTItMDYtMjUgMjA6MTE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogdXBkYXRlIGZvciBHc3RUb2NTZXR0ZXIgY2hhbmdlcwoKMjAxMi0wNi0yNSAxMzozMToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmV0dXJuIEZBTFNFIGZyb20gcXVlcmllcyBpZiB3ZSBjYW4ndCBhbnN3ZXIgUE9TSVRJT04vRFVSQVRJT04gcXVlcmllcwoKMjAxMi0wNi0yMSAxNzoxNToxMSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJldHVybiBGQUxTRSBmcm9tIFRPQyBxdWVyeSBpZiBubyBUT0MgZXhpc3RzIGluc3RlYWQgb2YgYW4gZW1wdHkgVE9DCgoyMDEyLTA2LTI0IDIyOjUxOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdFRvYyBBUEkgY2hhbmdlcwoKMjAxMi0wNi0yMyAxNDo1NzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXBkYXRlIGZvciBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpKCkgY2hhbmdlcwoKMjAxMi0wNi0yMCAxMjozMTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcwoKMjAxMi0wNi0yMCAxMDozMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YXNrIGFwaSBjaGFuZ2UKCjIwMTItMDYtMjAgMDk6NTk6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgdXBkYXRlIGZvciBjbG9jayBhcGkgY2hhbmdlcwoKMjAxMi0wNi0xOSAxMjoxNTozMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpb3Npbms6IHJlc3BlY3QgdGhlIHByZWZlcmVkIGNoYW5uZWwgbGF5b3V0CgkgIEluIE9TWCBpcyBhbGxvd2VkIHRvIGNvbmZpZ3VyZSB0aGUgZGVmYXVsdCBhdWRpbyBvdXRwdXQgZGV2aWNlLAoJICBwcmVmZXJlZCBjaGFubmVsIGxheW91dCBhbmQgc3BlYWtlciBwb3NpdGlvbnMgdGhyb3VnaCB0aGUgdG9vbAoJICAiQXVkaW8gTUlESSBTZXR1cCIuCgoyMDEyLTA0LTMwIDIyOjU5OjU4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBTZW5kIGdhcCBldmVudHMgZm9yIHN1YnRpdGxlIHN0cmVhbXMKCjIwMTItMDYtMTcgMDE6MDA6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBmaXggdXAgZG9jcyBmb3IgMC4xMQoKMjAxMi0wNi0xNiAyMzoyOTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IHNtYWxsIHVyaSBoYW5kbGVyIGZpeHVwIGFuZCBzb21lIG1vcmUgZG9jcwoJICBHZXQgVVJJIGxvY2F0aW9uIHVzaW5nIGdzdF91cmlfZ2V0X2xvY2F0aW9uKCksIHNvIGFueQoJICBlc2NhcGVkIGJpdHMgZ2V0IHVuZXNjYXBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwOTA0OQoKMjAxMi0wNi0xNyAwMDo1OToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IHJlLXBvcnQgdG8gMC4xMQoKMjAxMi0wNi0xNiAxOTowNjoyNSArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBJbXBsZW1lbnQgc3BsaXRmaWxlOi8vIFVSSSBzY2hlbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwOTA0OQoJICBDb25mbGljdHM6CgkgIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmMKCjIwMTItMDYtMTQgMTA6NDM6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHRoZW9yYWRlcGF5OiBmaXggYnVmZmVyIG1lbW9yeQoJICBUaGUgbWVtb3J5IHdhcyBhZGRlZCB0byB0aGUgaW5wdXQgYnVmZmVyIGluc3RlYWQgb2YgdGhlIG91dHB1dCBidWZmZXIuCgoyMDEyLTA2LTEzIDEzOjM2OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCByZXNldCB0aW1lIGluIGZsdXNoLXN0b3AKCSAgRG9uJ3QgcmVzZXQgdGhlIHRpbWUgaW4gZmx1c2gtc3RvcC4gTGl2ZSBzb3VyY2VzIGNhbiBkbyB0aGlzIGZsdXNoIGluIHRoZQoJICBwbGF5aW5nIHN0YXRlIGFuZCBzbyB0aGUgcGlwZWxpbmUgd2lsbCBuZXZlciBoYXZlIGEgY2hhbmNlIHRvIHVwZGF0ZSB0aGUKCSAgYmFzZV90aW1lIG9mIHRoZSBlbGVtZW50cywgd2hpY2ggb25seSBoYXBwZW5zIHdoZW4gZ29pbmcgZnJvbSBwYXVzZWQgdG8KCSAgcGxheWluZy4KCjIwMTItMDYtMTIgMTI6NDI6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgU1BESUYgb3V0cHV0CgkgIEEgYmlnIHJlZmFjdG9yaW5nIHRvIGFsbG93IHBhc3N0aHJvdWdoIEFDMy9EVFMgb3ZlciBTUERJRi4KCSAgU2V2ZXJhbCByYW5kb20gY2xlYW51cHMgYW5kIG1pbm9yIGZpeGVzLgoKMjAxMS0wOS0wMSAxNTo0MToyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBzZW5kIFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGEgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Nzk0MQoKMjAxMi0wNi0xMiAxNjowNTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBSZXdvcmsgdGhlIGFzeW5jIHN0YXRlIGhhbmRsaW5nCgkgIEFsd2F5cyBzZW5kIHRoZSBmbHVzaGluZyBldmVudHMgdG8gdGhlIHVkcCBlbGVtZW50cyBub3cgdGhhdCBiYXNlc3JjIHN1cHBvcnRzCgkgIHRoaXMuIFRoaXMgbWFrZXMgc3VyZSBhIHNlZ21lbnQgZXZlbnQgaXMgc2VudCBjb3JyZWN0bHkgYWZ0ZXIgYSBmbHVzaC4KCSAgS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBjb21tYW5kIGFuZCBtYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkKCSAgd2hhdCBjb21tYW5kIHlvdSB3YW50IHRvIGNhbmNlbCB3aGVuIHN0YXJ0aW5nIGEgbmV3IGFzeW5jIGNvbW1hbmQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3OTA1CgoyMDEyLTA2LTExIDE4OjI0OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGNoaWxkcHJveHk6IHVwZGF0ZSBhcGkgdXNlCgoyMDEyLTA2LTExIDEyOjU0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhbHdheXMgcGVyZm9ybSBmdWxsIHNlZWsgaWYgc2VlayBpcyBmbHVzaGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3ODM4CgoyMDEyLTA2LTExIDExOjIwOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogcHJpbnRmIGZvcm1hdCBmaXggZm9yIGxvbmcgLT4gaW50IGNoYW5nZQoKMjAxMi0wNi0wOCAyMDozODozNCArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgcHJvYmUgVVZDIGRldmljZXMgZm9yIGJlaW5nIGludGVybGFjZWQKCSAgVVZDIGRldmljZXMgYXJlIG5ldmVyIGludGVybGFjZWQsIGFuZCBkb2luZyBWSURJT0NfVFJZX0ZNVCBvbiB0aGVtCgkgIGNhdXNlcyBleHBlbnNpdmUgYW5kIHNsb3cgVVNCIElPLCBzbyBkb24ndCBwcm9iZSB0aGVtIGZvciBpbnRlcmxhY2VkLgoJICBUaGlzIHNoYXZlcyAyIHNlY29uZHMgb2YgdGhlIHN0YXJ0dXAgdGltZSBvZiBjaGVlc2Ugd2l0aCBhIExvZ2l0ZWNoCgkgIFdlYmNhbSBQcm8gOTAwMC4KCSAgU2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzcyMgoKMjAxMi0wNi0wOSAxNjo1Mzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIGRlYnVnOiBjaGFuZ2Ugcm5kYnVmZmVyc2l6ZSBwcm9wZXJ0aWVzIGZyb20gbG9uZyB0byBpbnQKCSAgVGhlc2Ugc2hvdWxkIGFsbCBiZSBpbnQgaW5zdGVhZCBvZiBsb25nLCB0byBhdm9pZCBidWdzCgkgIHdoZW4gcGFzc2luZyB0aGVzZSBhcyB2YXJhcmdzIHdpdGggZ19vYmplY3Rfc2V0KCksIGFuZAoJICB0aGVyZSB3YXMgbm8gcmVhc29uIHRvIHVzZSBsb25nIGluIHRoZSBmaXJzdCBwbGFjZSBoZXJlLgoJICBGaXhlcyBGSVhNRS4KCjIwMTItMDYtMDggMTU6NTQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIGVsZW1lbnRzOiBVc2UgZ3N0X3BhZF9zZXRfY2FwcygpIGluc3RlYWQgb2YgbWFudWFsIGV2ZW50IGZpZGRsaW5nCgoyMDEyLTA2LTA4IDE1OjA0OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDNhMGU1NyB0byA5OGUzODZmCgoyMDEyLTA2LTA4IDEwOjExOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvIGFwaSBjaGFuZ2UKCjIwMTItMDYtMDcgMTY6MTI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkyID09PQoKMjAxMi0wNi0wNyAxNjoxMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTIKCjIwMTItMDYtMDcgMTY6MTE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDYtMDcgMTU6MDM6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGltcHJvdmUgY2xvY2sgaGFuZGxpbmcKCSAgUG9zdCB0aGUgbm90aWZ5IG91dHNpZGUgb2YgdGhlIHBhX2xvY2sgdG8gYXZvaWQgYSBkZWFkbG9jayBjYXVzZWQgYnkgYmFzZXNyYwoJICBjYWxsaW5nIGdldF90aW1lIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBSZXNldCB0aGUgY2xvY2sgb24gY29ubmVjdC4KCSAgUG9zdCBjbG9jay1sb3N0IGFuZCBjbG9jay1wcm92aWRlIG1lc3NhZ2VzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTc3CgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCjIwMTItMDQtMTIgMTM6MjE6MTcgKzAzMDAgIE1vaGFtbWVkIFNhbWVlciA8bXNhbWVlckBmb29sYWIub3JnPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIEJldHRlciBHc3RDbG9jayBmb3IgcHVsc2VzcmMKCSAgVGhpcyBjbG9jayB1c2VzIHRoZSBhY3R1YWwgc3RyZWFtIHRpbWUgKHBhX3N0cmVhbV9nZXRfdGltZSkgdG8gZ2V0IGEgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXAuCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCjIwMTItMDYtMDcgMTE6MTY6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBmaXggdmlkZW8gc3RhdGUgbGVha3MKCjIwMTItMDYtMDcgMTE6MTY6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggdmlkZW8gc3RhdGUgbGVhawoKMjAxMi0wNi0wNyAxMjoxMToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSByZXNldCB0aGUgbWFuYWdlciBvYmplY3Qgd2hlbiB3ZSBkaWQgYSBzZWVrCgkgIE9ubHkgcmVzZXQgdGhlIG1hbmFnZXIgb2JqZWN0IHdoZW4gd2UgdXNlZCBhIFJhbmdlIGhlYWRlciwgaWUuIHdoZW4gd2UgZGlkIGEKCSAgc2Vlay4gT3RoZXJ3aXNlIHdlIGp1c3QgcGF1c2VkIGFuZCB3ZSBjYW4gcmVzdW1lIGp1c3QgZmluZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzQ3NQoKMjAxMi0wNi0wNiAxNjoxMzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHJ0cHNlc3Npb24gY2xlYW51cAoKMjAxMi0wNi0wNiAxODoxODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFmYWIzNTkgdG8gMDNhMGU1NwoKMjAxMi0wNi0wNiAxNDoxNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXBkYXRlIGZvciBUT0MgZXZlbnQgQVBJIGNoYW5nZQoKMjAxMi0wNi0wNiAxMzowMjoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDYtMDYgMTM6MDA6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIGZpeCBZODAwIGZvcm1hdAoKMjAxMi0wNi0wMSAwMToxOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogc3RyYWlnaHRmb3J3YXJkIHBvcnQgdG8gMC4xMQoKMjAxMi0wNS0zMSAxODozOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIFNvbWUgcHJpbnRmIHZhcmlhYmxlIGZvcm1hdCBmaXhlcwoJICBUaGUgb3N4IGNvbXBpbGVyIGNvbXBsYWlucyBhYm91dCB0aG9zZQoKMjAxMi0wNi0wNSAwOToxODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBGaXggR3N0QmFzZVBhcnNlOjpnZXRfc2lua19jYXBzKCkgaW1wbGVtZW50YXRpb25zCgkgIFRoZXkgc2hvdWxkIHRha2UgdGhlIGZpbHRlciBjYXBzIGludG8gYWNjb3VudCBhbmQgYWx3YXlzIHJldHVybgoJICB0aGUgdGVtcGxhdGUgY2FwcyBhcHBlbmRlZCB0byB0aGUgYWN0dWFsIGNhcHMuIE90aGVyd2lzZSB0aGUKCSAgcGFyc2VycyBzdG9wIHRvIGFjY2VwdCB1bnBhcnNlZCBzdHJlYW1zIHdoZXJlIHVwc3RyZWFtIGRvZXMgbm90CgkgIGtub3cgYWJvdXQgY2hhbm5lbHMsIHJhdGUsIGV0Yy4KCSAgRml4ZXMgYnVnICM2Nzc0MDEuCgoyMDEyLTA2LTA0IDE2OjE3OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBzZXQgY29sb3JpbWV0cnkgb24gb3V0cHV0IGluZm8KCjIwMTItMDYtMDQgMDg6MTA6MTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvc2luazogSGFuZGxlIGVuZGlhbm5lc3MgY29ycmVjdGx5CgoyMDEyLTA2LTAxIDE2OjM3OjAwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvc2luazogQWRkIHN1cHBvcnQgZm9yIGludCBhdWRpbwoKMjAxMi0wNi0wMSAxMDoyODo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYxYjVhOTYgdG8gMWZhYjM1OQoKMjAxMi0wNS0zMSAxMzozNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgdGhlIHBhbGV0dGUgc2l6ZSBjb3JyZWN0bHkKCjIwMTItMDUtMzEgMTA6MTU6NDMgKzAyMDAgIE1pY2hhZWwgSm9uZXMgPG1pY2hhZWwuam9uZXNAbWF0cml4LXZpc2lvbi5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICB2NGwyOiBhZGQgbWlzc2luZyBHX0VORF9ERUNMUwoJICBHX0JFR0lOX0RFQ0xTIGRpZG4ndCBoYXZlIG1hdGNoaW5nIEdfRU5EX0RFQ0xTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzcxNjUKCjIwMTItMDUtMzEgMTM6MDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MmI3MjY2IHRvIGYxYjVhOTYKCjIwMTItMDUtMzEgMTA6MjY6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBSZWFsbHkgZml4IHRoZSBidWlsZCBvbiAxMC41CgkgIFRoZSBBUEkgdGhhdCB3ZSB1c2UgdG8gcnVuIHRoZSBDb2NvYSBsb29wIGluIGFub3RoZXIKCSAgdGhyZWFkIGRvZXMgbm90IGV4aXN0IGluIDEwLjUgb3IgZWFybGllci4KCjIwMTItMDUtMjYgMTI6MjE6MTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggcmFjZSBpbiBzdGFydGluZyB0aGUgcnVubG9vcCB0aHJlYWQKCSAgQmxvY2sgZ3N0X29zeF92aWRlb19zaW5rX3J1bl9jb2NvYV9sb29wIHVudGlsIHRoZSBsb29wIHRocmVhZCBoYXMgc3RhcnRlZCBhbmQKCSAgZmluaXNoZWQgaW5pdGlhbGl6aW5nIE5TQXBwLiBGaXhlcyBvY2Nhc2lvbmFsIHdhcm5pbmdzL2NyYXNoZXMgZHVlIHRvIHR3bwoJICB0aHJlYWRzIGdvaW5nIGluc2lkZSBOU0FwcCBiZWZvcmUgZmluaXNoTGF1bmNoaW5nIGhhZCBjb21wbGV0ZWQuCgoyMDEyLTA1LTMwIDE2OjAzOjU1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGxhc3QgY29tbWl0IHRvIGFjdHVhbGx5IHdvcmsKCSAgTUFDX09TX1hfVkVSU0lPTl8xMF82IGlzIG9idmlvdXNseSBub3QgZGVmaW5lZCBvbiAxMC41LgoKMjAxMi0wNS0zMCAxMzo1MTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvc2luazogUHV0IHRoZSByaWdodCBmbGFncyBpbiB0aGUgcmlnaHQgdmFyaWFibGUKCjIwMTItMDUtMzAgMTM6MjQ6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBHU1RfT0JKQ0ZMQUdTCgoyMDEyLTA1LTMwIDEyOjQ1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWMxYzRhOCB0byA5MmI3MjY2CgoyMDEyLTA1LTMwIDEyOjQzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBOU1dpbmRvd0RlbGVnYXRlIGlzIGF2YWlsYWJsZSBpbiBhbGwgT1NYIHZlcnNpb25zIG5ld2VyIHRoYW4gMTAuNgoKMjAxMi0wNS0zMCAxMjo0MDo1NyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IEZpeCBidWlsZCB3aXRoIG9sZGVyIE9TWCB2ZXJzaW9ucwoKMjAxMi0wNS0zMCAxMTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBBZGQgT0JKQyBzcGVjaWZpYyBjb21waWxlciBmbGFncwoJICBTZWUgYnVnICM2NDM5MzkuCgoyMDEyLTA1LTMwIDExOjIzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzQyOWJhNiB0byBlYzFjNGE4CgoyMDEyLTA1LTI5IDE3OjUwOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW86IHJlbW92ZSBkdXBsaWNhdGUgZm9ybWF0CgoyMDEyLTA1LTI5IDE2OjUyOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFBvc3QgZXJyb3IgbWVzc2FnZSBpZiBFT1MgYmVmb3JlIHBhZHMgd2VyZSBjcmVhdGVkCgkgIEhhcHBlbnMgd2l0aCBzb21lIGZpbGVzIHdpdGggb25seSBoZWFkZXJzCgoyMDEyLTA1LTI4IDE1OjIyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZzogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE0IDEyOjQ2OjU3ICswMjAwICBKZW5zIEdlb3JnIDxtYWlsQGplbnNnZS5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBEcm9wIHRyYW5zZmVyTW9kZS5kbG5hLm9yZyBoZWFkZXIKCSAgTGVhdmUgaXQgdG8gdGhlIGFwcGxpY2F0aW9uIHRvIGRlY2lkZSBvbiB0aGUgaGVhZGVyLiBObyBoZWFkZXIgYXQgYWxsCgkgIGlzIGJldHRlciB0aGFuIGhhdmluZyB0aGUgd3JvbmcgaGVhZGVyIGFzIERMTkEgbWFuZGF0ZXMgdGhhdCBhIG1pc3NpbmcKCSAgaGVhZGVyIGhhcyB0byBiZSB0b2xlcmF0ZWQgd2hpbGUgYSB3cm9uZyBoZWFkZXIgaXMgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYwMjAKCjIwMTItMDQtMDcgMDk6NTI6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nOiBQb3J0IHRvIGJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuaAoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmgKCSAgUmV2ZXJ0ZWQgdG8gMC4xMCwgbmVlZHMgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0yNyAwMDowMjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZmx2LCBtYXRyb3NrYTogZG9uJ3QgdXNlIEdzdFN0cnVjdHVyZSBBUEkgb24gdGFnIGxpc3RzCgoyMDEyLTA1LTI2IDExOjU3OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgIHJ0cG1wMnRkZXBheTogT25seSBvdXRwdXQgaW50ZWdyYWwgbXBlZy10cyBwYWNrZXRzCgkgIEZyb20gUkZDIDIyNTAKCSAgMi4gRW5jYXBzdWxhdGlvbiBvZiBNUEVHIFN5c3RlbSBhbmQgVHJhbnNwb3J0IFN0cmVhbXMKCSAgLi4uCgkgIEZvciBNUEVHMiBUcmFuc3BvcnQgU3RyZWFtcyB0aGUgUlRQIHBheWxvYWQgd2lsbCBjb250YWluIGFuIGludGVncmFsCgkgIG51bWJlciBvZiBNUEVHIHRyYW5zcG9ydCBwYWNrZXRzLiAgVG8gYXZvaWQgZW5kIHN5c3RlbQoJICBpbmVmZmljaWVuY2llcywgZGF0YSBmcm9tIG11bHRpcGxlIHNtYWxsIE1UUyBwYWNrZXRzIChub3JtYWxseSBmaXhlZAoJICBpbiBzaXplIGF0IDE4OCBieXRlcykgYXJlIGFnZ3JlZ2F0ZWQgaW50byBhIHNpbmdsZSBSVFAgcGFja2V0LiAgVGhlCgkgIG51bWJlciBvZiB0cmFuc3BvcnQgcGFja2V0cyBjb250YWluZWQgaXMgY29tcHV0ZWQgYnkgZGl2aWRpbmcgUlRQCgkgIHBheWxvYWQgbGVuZ3RoIGJ5IHRoZSBsZW5ndGggb2YgYW4gTVRTIHBhY2tldCAoMTg4KS4KCSAgLi4uLgoJICBTaW5jZSBpdCBuZWVkcyB0byBjb250YWluICJhbiBpbnRlZ3JhbCBudW1iZXIgb2YgTVBFRyB0cmFuc3BvcnQgcGFja2V0cyIsIGEKCSAgc2ltcGxlIGZpeCBpcyB0byBjaGVjayB0aGF0J3MgdGhlIGNhc2UsIGFuZCBzdHJpcCBvZmYgYW55IGxlZnRvdmVyIGRhdGEuCgkgIEZpeGVzICM2NzY3OTkKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jCgoyMDEyLTA1LTI0IDIwOjQzOjE2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBtYWtlIHN1cmUgYWxsIHNlbGVjdG9ycyBhcmUgcGVyZm9ybWVkIG9uIHRoZSBzYW1lIHRocmVhZAoJICBXaGVuIHdlIGFyZSB1c2luZyBhIGRlZGljYXRlZCB0aHJlYWQgdG8gcnVuIHRoZSBtYWluIHJ1biBsb29wIHdlCgkgIG11c3QgbWFrZSBzdXJlIHRoYXQgYWxsIHNlbGVjdG9ycyBhcmUgcGVyZm9ybWVkIG9uIHRoaXMgc2FtZSB0aHJlYWQuCgkgIEZvciBpbnN0YW5jZSBpZiBwZXJmb3JtU2VsZWN0b3JPbk1haW5UaHJlYWQgaXMgY2FsbGVkIGZyb20gdGhlIHJlYWwKCSAgbWFpbiB0aHJlYWQsIGl0IHdpbGwgbm90IGdvIHRocm91Z2ggdGhlIG1lc3NhZ2UgcXVldWUgYW5kIHdpbGwgYmUKCSAgZXhlY3V0ZWQgZnJvbSB0aGUgcmVhbCBtYWluIHRocmVhZC4gQnkgZm9yY2luZyB0aGUgdGFyZ2V0IHRocmVhZCwKCSAgd2UgZW5zdXJlIHRoYXQgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIGNhbGxlZCBlaXRoZXIgZnJvbSB0aGUgcmVhbAoJICBtYWluIHRocmVhZCB3aGVuIHRoZSBtYWluIHJ1biBsb29wIGlzIHJ1bm5pbmcgb3IgZnJvbSBvdXIgdGhyZWFkCgkgIHNwaW5uaW5nIHRoZSBtYWluIGxvb3AuCgoyMDEyLTA1LTI0IDE2OjA5OjU0ICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXMuaGFzc2VsbWFubiBhdCBnbXguZGU+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlbW92ZSBmcmFtZXJhdGUKCSAgVGhlIGpwZWcgZGVjb2RlciBkb2Vzbid0IG5lZWQvY2FyZSBhYm91dCB0aGUgZnJhbWVyYXRlIHRvIHNvIGl0IHNob3VsZAoJICBub3QgYmUgaW4gdGhlIGNhcHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDUtMjQgMTM6MDg6MzUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogc3RhcnQgdGhlIGxvb3AgYmVmb3JlIGNhbGxpbmcgW2dzdHZpZXcgaGF2ZVN1cGVydmlld10KCSAgLi4uYXMgaGF2ZVN1cGVydmlldyByZXF1aXJlcyB0aGUgbWFpbmxvb3AgdG8gYmUgcnVubmluZwoKMjAxMi0wNS0yNCAxMzowODoxMyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggaW5kZW50YXRpb24KCjIwMTItMDUtMjIgMTY6NDc6MzYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvc2luazogZW5hYmxlIHJ1bm5pbmcgdGhlIGNvY29hIG1haW4gcnVubG9vcCBpbiBhIHRocmVhZAoKMjAxMi0wNS0yMiAxNjo0NToyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBjb2RlIHRvIG9wdGlvbmFsbHkgcnVuIHRoZSBjb2NvYSBtYWluIHJ1bmxvb3AgaW4gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgQWRkIGEgbGl0dGxlIGhhY2sgdG8gcnVuIHRoZSBjb2NvYSBtYWluIHJ1bmxvb3AgZnJvbSBhIHNlcGFyYXRlIHRocmVhZCBfd2hlbl8KCSAgdGhlIG1haW4gcnVubG9vcCBpcyBub3QgYmVpbmcgcnVuICh3aGljaCBtZWFucyB0aGF0IHRoZSBhcHAgZG9lc24ndCB1c2UgY29jb2EpLgoJICBSdW5sb29wcyBhcmUgdGhyZWFkIHNwZWNpZmljLCBzbyB0aGUgaGFjayBib2lscyBkb3duIHRvIGdldHRpbmcgdGhlIHJ1bmxvb3AgZm9yCgkgIHRoZSBtYWluIHRocmVhZCBhbmQgc2V0dGluZyBpdCBhcyB0aGUgcnVubG9vcCBmb3Igb3VyIGRlZGljYXRlZCB0aHJlYWQuCgoyMDEyLTA1LTIyIDE2OjMyOjUzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlc2V0IGFwcF9zdGFydGVkIHRvIEZBTFNFIHdoZW4gc2h1dHRpbmcgZG93bgoKMjAxMi0wNS0yMiAxNDo0OToxNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZW5hbWUgY29jb2EgcnVubG9vcCBoZWxwZXIgZnVuY3MKCjIwMTItMDUtMjIgMTQ6MjY6MTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZG9uJ3QgY3JlYXRlIGFwcGxpY2F0aW9uIG1lbnVzCgoyMDEyLTA1LTE2IDIxOjUyOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVzZXQgdGhlIGVtYmVkIHByb3BlcnR5IGZvciBiYWNrd2FyZCBjb21wYXRpbGliaXR5CgoyMDEyLTA1LTE2IDIxOjEyOjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IG5hdmlnYXRpb24gd2hlbiBmb3JjZS1hc3BlY3QtcmF0aW8gaXMgYWN0aXZhdGVkCgoyMDEyLTA1LTE2IDE4OjUyOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5CgoyMDEyLTA1LTE0IDE4OjAxOjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBzdGFydCBpbnRlcm5hbCB3aW5kb3cgaWYgbm8gdmlldyBpcyBwcm92aWRlZAoKMjAxMi0wNS0xNCAxNDoyNzo1OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGltcGxlbWVudCB0aGUgbmF2aWdhdGlvbiBpbnRlcmZhY2UKCjIwMTItMDUtMTEgMTg6MjQ6MDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N2aWRlb3Npbms6IGNyZWF0ZSwgZGVzdHJveSwgcmVzaXplIGFuZCBkcmF3IGZyb20gdGhlIG1haW4gdGhyZWFkCgoyMDEyLTA0LTE5IDA4OjM3OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbmNyZWFzZSBORVdTRUdNRU5UIGFjY3VyYWN5IGFmdGVyIHNlZWtpbmcKCSAgZGVtdXgtPmNvbW1vbi5zZWdtZW50IGlzIHBvcHVsYXRlZCBkdXJpbmcgc2VlayBoYW5kbGluZyB3aXRoIHRoZSB0YXJnZXQKCSAgc3RhcnQvc3RvcCBwb3NpdGlvbnMuIERvbid0IG92ZXJyaWRlIHRoZW0gd2hlbiBzZW5kaW5nIG91dCBhIE5FV1NFR01FTlQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDQtMTkgMDg6MzE6MDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGRpc2NhcmQgdGhlIGluY29taW5nIHNlZWsgc2VnbWVudCBvbiBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgVGhlIGluY29taW5nIHNlZWsgc2VnbWVudCB3YXMgYmVpbmcgZGlzY2FyZGVkIGxlYWRpbmcgdG8gcHVzaCBiYXNlZCBzZWVraW5nCgkgIGJlaW5nIHBvdGVudGlhbGx5IGluYWNjdXJhdGUuCgoyMDEyLTA1LTIzIDE4OjEyOjI0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiBVcGRhdGUgc28gdGhlIHBsdWdpbiBzY2FubmVyIGNoYW5nZXMgYXJlIGluY2x1ZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY2NzQKCjIwMTItMDUtMjMgMTg6MDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN1cHByZXNzIHNvbWUgd2FybmluZ3Mgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoJICBXYXJuaW5ncyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIHNob3VsZCBiZSBzdXBwcmVzc2VkIGlmIGNvcmUgaGFzIHRoZQoJICBkZWJ1ZyBzeXN0ZW0gZGlzYWJsZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY2NzEKCjIwMTItMDUtMjQgMDk6Mjk6MjUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBmaXggYnVpbGQgaXNzdWUgaW4gZ3N0cnRwaDI2NHBheS5jCgoyMDEyLTA1LTIxIDEyOjE3OjM1ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBBZGQgdW5yZXN0cmljdGVkIGNhcHMKCSAgSWYgdGhlcmUgYXJlIG5vIHByb2ZpbGUgcmVzdHJpY3Rpb25zIGRvd25zdHJlYW0sIHJldHVybiBjYXBzIHdpdGgKCSAgcHJvZmlsZT1jb25zdHJhaW5lZC1iYXNlbGluZSBpbiB0aGUgZmlyc3Qgc3RydWN0dXJlIGFuZCBhcHBlbmQKCSAgdW5yZXN0cmljdGVkIGNhcHMgYXMgdGhlIGxhc3Qgc3RydWN0dXJlLgoJICBGaXhlcyBidWcgIzY3MjAxOQoKMjAxMi0wNS0yNCAwOTo1NzozMSArMDIwMCAgTWFyaWEgR2lvdmFubmEgQ2hpb3NzYSA8bWFyaWFnaW92YW5uYS5jaGlvc3NhIGF0IHNlbGV4ZWxzYWcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBhZGQgdGhlIFNjYWxlIGhlYWRlciB3aGVuIG5lZWRlZAoJICBTZXR0aW5nIEdTVF9TRUVLX0ZMQUdfU0tJUCB3aGVuIHNlbmRpbmcgYSBzZWVrIGV2ZW50IGluIHJ0c3BzcmMgc2hvdWxkCgkgIHNldCB0aGUgIlNjYWxlIiBmaWVsZCBpbiB0aGUgcnRzcCBQTEFZIGhlYWRlci4KCSAgQmVjYXVzZSB0aGUgYm9vbGVhbiAic3JjLT5za2lwIiBpcyBzZXQgYWZ0ZXIgdGhlIGNhbGwsICJTcGVlZCIgaW5zdGVhZAoJICBvZiAiU2NhbGUiIGlzIGFsd2F5cyBzZXQuIE1vdmUgdGhlIGFzc2lnbm1lbnQgYmVmb3JlIGlzc3VpbmcgdGhlIF9wbGF5CgkgIHJlcXVlc3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY2MTgKCjIwMTItMDUtMTcgMTY6MjM6NTkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IHRoZSBzYW1wbGUgcGlwZWxpbmUuCgoyMDEyLTA1LTIyIDEyOjM1OjA0ICswNDAwICBBbnRvbiBOb3Zpa292IDxyYW5kb20ucGxhbnRAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiB3YXJuaW5nIGlmIHNldHRpbmcgc3JjcGFkIGNhcHMgZmFpbHMKCjIwMTItMDUtMjIgMTI6MzU6MjkgKzA0MDAgIEFudG9uIE5vdmlrb3YgPHJhbmRvbS5wbGFudEBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGFjdGl2YXRlIHNyY3BhZCBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIEJlZm9yZSBnc3RfcGFkX3NldF9hY3RpdmUoKSBpcyBjYWxsZWQsIHRoZSBwYWQgaGFzCgkgIEZMVVNISU5HIGZsYWcgc2V0LCBzbyBzZXR0aW5nIHRoZSBjYXBzIGZhaWxzCgoyMDEyLTA1LTIyIDEzOjQ2OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW5nL2dzdG1uZy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJICBtbmc6IHJlbW92ZSBleHQvbGlibW5nCgkgIFBvcnQgdG8gMC4xMCB3YXMgbmV2ZXIgZmluaXNoZWQuCgkgIEludGVyZXN0IHdhcyBsb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI0MzY0CgoyMDEyLTA1LTE4IDE2OjM3OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGZpeCBhc3NlcnRpb24gd2hlbiBoYW5kbGluZyBhIGRhdGUgdGFnIGFzIGEgc3RyaW5nCgkgIERhdGUgdGFncyBhcmUgR0RhdGUsIG5vdCBzdHJpbmdzLiBBZGQgYSBzcGVjaWFsIGNhc2UgdG8gY29udmVydAoJICBpdCB0byB0aGUgZXhpZiBkYXRlIGZvcm1hdCByZXByZXNlbnRhdGlvbiBpbiBzdHJpbmcgdG8gYXZvaWQKCSAgdGhlIGFzc2VydGlvbgoKMjAxMi0wNS0yMSAxMTo0NzowNyArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBMaXN0ZW4gdG8gc291cmNlIG91dHB1dCBldmVudHMsIG5vdCBzaW5rIGlucHV0CgoyMDEyLTA1LTE4IDEyOjUzOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBtcDJ0cGF5OiByZXNwZWN0IG10dSBhbmQgcGFja2V0IGJvdW5kYXJpZXMKCSAgU2VlICM2NTk5MTUuCgoyMDEyLTA1LTE4IDExOjEwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogUmVtb3ZlIGRlYWQgY29kZQoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoKMjAxMi0wNS0xOCAxMTowNTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCBjb21waWxhdGlvbgoKMjAxMi0wNS0xOCAxMTowMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFdoZW4gZHJvcHBpbmcgZnJhbWVzIG9uIEVPUywgZmx1c2ggb3V0IGRhdGEKCSAgQ2xlYW5lciB3YXkgb2YgaGFuZGxpbmcgc3RyYXkgZGF0YQoKMjAxMi0wNS0xNyAwOTozNDowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoKMjAxMi0wNS0xNyAwOTozMzoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IE9ubHkgcGFyc2UgZm9yIFNPSSB3aGVuIHdlIGRpZG4ndCBzZWUgaXQgYmVmb3JlCgoyMDEyLTA1LTE3IDA5OjMxOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUmVtZW1iZXIgaWYgd2Ugc2F3IFNPSSBhbmQgaGFuZGxlIHN0cmF5IGRhdGEgb24gRU9TCgoyMDEyLTA1LTE1IDIwOjU4OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEFsbG93IFUgYW5kIFYgY29tcG9uZW50cyB0byB1c2UgZGlmZmVyZW50IHF1YW50IHRhYmxlcyBpZiB0aGV5IGNvbnRhaW4gdGhlIHNhbWUgZGF0YQoJICBUaGlzIGFsbG93cyBzb21lIGNhbWVyYXMgKExvZ2l0ZWNoIEM5MjApIHRoYXQgc3BlY2lmeSBkaWZmZXJlbnQgcXVhbnQKCSAgdGFibGVzIGJ1dCBib3RoIHdpdGggdGhlIHNhbWUgZGF0YSwgdG8gd29yay4KCSAgQnVnIHJlcG9ydGVkIGJ5IFJvYmVydCBLcmFrb3JhCgoyMDEyLTA1LTE0IDE1OjUxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggcG9zc2libGUgZGF0YSBjb3JydXB0aW9uIGFmdGVyIHNlZWtpbmcKCSAgQ29uc2lkZXIgYSBkb3duc3RyZWFtIGVsZW1lbnQgdGhhdCBtYXkgaXNzdWUgc2Vla3MgaW4gdmVyeSBzaG9ydAoJICBzdWNjZXNzaW9uIChlLmcuIHF1ZXVlMiksIGRlcGVuZGluZyBvbiB0aGUgYWNjZXNzIHBhdHRlcm4gb2YKCSAgdGhlIGRvd25zdHJlYW0gZWxlbWVudCAoZS5nLiBxdGRlbXV4IHdpdGggYXVkaW8vdmlkZW8gY2h1bmtzCgkgIGludGVybGVhdmVkIHNvIHRoYXQgdGhlcmUncyBhbHdheXMgYSBzaXplYWJsZSBnYXAgYmV0d2VlbiB0aGUKCSAgY3VycmVudCBjaHVua3MgZm9yIGVhY2ggc3RyZWFtKS4gSW4gdGhpcyBjYXNlLCBxdWV1ZTIgd2lsbCBtYWludGFpbgoJICB0d28gcmFuZ2VzLCBhbmQgZXZlbiB3aGVuIGl0IHNlcnZlcyBhIGNodW5rIGZyb20gbWVtb3J5LCBpdCB3aWxsCgkgIHN3aXRjaCByYW5nZXMgYW5kIG1ha2Ugc291cGh0dHBzcmMgc2VlayB0byB0aGUgZW5kIG9mIHRoZSBhdmFpbGFibGUKCSAgZGF0YSBmb3IgdGhhdCByYW5nZSwgYXNzdW1pbmcgdGhhdCB0aGF0J3Mgd2hlcmUgd2UnbGwgd2FudCB0bwoJICBjb250aW51ZSByZWFkaW5nIGZyb20gbmV4dC4KCSAgVGhpcyBtYXkgbGVhZCB0byB0aGUgZm9sbG93aW5nIHNlZWsgcmVxdWVzdCBwYXR0ZXJuOgoJICAtIHNvdXJjZSByZWFkaW5nIHBvc2l0aW9uIEEKCSAgLSBzZWVrIHRvIEIKCSAgLSBub3cgcmVhZGluZyBwb3NpdGlvbiBzdGlsbCBBLCByZXF1ZXN0ZWRfcG9zdGlvbiBpcyBCCgkgIC0gc3RyZWFtaW5nIHRocmVhZCB0byBiZSByZXN0YXJ0ZWQgdG8gY29udGludWUgZnJvbSBCCgkgIC0gc2VlayB0byBBLCBiZWZvcmUgc3RyZWFtaW5nIHRocmVhZCBoYWQgdGltZSB0byBkbyB0aGUgc2VlawoJICAtIGRvX3NlZWsoKSBub3cgc2VlcyByZWFkaW5nIHBvc2l0aW9uID09IHNlZWsgcG9zaXRpb24gYW5kCgkgIHJldHVybnMgZWFybHkuCgkgIC0gaG93ZXZlciwgcmVxdWVzdGVkIHBvc2l0aW9uIGlzIHN0aWxsIEIgZnJvbSB0aGUgZWFybGllcgoJICBzZWVrIHJlcXVlc3QKCSAgLSBzdHJlYW1pbmcgdGhyZWFkIHN0YXJ0cyB1cCwgc2VlcyB0aGF0IGEgc2VlayB0byBCIGlzIHBlbmRpbmcKCSAgYW5kIHJlcXVlc3RzIGRhdGEgZnJvbSBCIGZyb20gdGhlIHNlcnZlciwgd2hpbGUgdGhlIEdzdEJhc2VTcmMKCSAgc2VnbWVudCBoYXMgb2YgY291cnNlIGJlZW4gdXBkYXRlZC9yZXNldCB0byBwb3NpdGlvbiBBLCB3aGljaAoJICB3YXMgdGhlIGxhc3Qgc2VlayByZXF1ZXN0LgoJICAtIHdlIHdpbGwgbm93IHNlbmQgZGF0YSBmb3IgcG9zaXRpb24gQiBhbmQgcHJldGVuZCB0aGF0J3MgdGhlCgkgIGRhdGEgZnJvbSBwb3NpdGlvbiBBICh2aWEgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIGV0Yy4pCgkgIC0gdGhpcyBjYXVzZXMgZGF0YSBjb3JydXB0aW9uCgkgIFJlcHJvZHVjaWJsZSBkb2luZyBzZWVrLWVtdWxhdGVkIGZhc3QtZm9yd2FyZC9iYWNrd2FyZCBvbiAwMDY2NDguCgoyMDEyLTA1LTE2IDA5OjEyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjExLjkxCgoyMDEyLTAxLTEzIDE4OjA5OjUwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogYWRkIHZpc3VhbCBzdHVkaW8gSURFIGZpbGVzIGFuZCBPUyBYIC5EU19TdG9yZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODk5CgoyMDEyLTA1LTAzIDA5OjMyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA0LTA2IDEyOjEzOjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogUG9ydCBqcGVnZGVjL2pwZWdlbmMgdG8gYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuaAoJICBleHQvanBlZy9nc3RqcGVnZW5jLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5oCgkgIFJldmVydGVkIHRvIDAuMTAgdmVyc2lvbnMgZm9yIG5vdywgbmV4dCBwb3J0IGFnYWluLgoKMjAxMi0wNS0xMyAxOToyMToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIGFubm9kZXg6IHJlbW92ZSBhbm5vZGV4IHBsdWdpbiBhbmQgQ01NTCBlbGVtZW50cwoJICBUaGlzIG5ldmVyIHJlYWxseSB0b29rIG9mZiBhbmQgaXMgbW9zdCBsaWtlbHkgY29tcGxldGVseQoJICB1bnVzZWQuIElmIHRoZXJlIGlzIHN0aWxsIGEgbmVlZCBmb3IgdGhpcywgaXQgc2hvdWxkCgkgIHByb2JhYmx5IGJlIGRvbmUgZGlmZmVyZW50bHksIHBlcmhhcHMgaW5zaWRlIG9nZ2RlbXV4L211eC4KCjIwMTItMDUtMTMgMTY6NTk6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkxID09PQoKMjAxMi0wNS0xMyAxNjozMTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkxCgoyMDEyLTA1LTEzIDE2OjMwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA1LTEzIDE1OjU2OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGM3MDIwMyB0byAzNDI5YmE2CgoyMDEyLTA1LTA5IDE1OjE0OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogb25seSBzZW5kIGZsdXNoLXN0b3AgaWYgaXQgd2FzIGEgZmx1c2hpbmcgc2VlawoKMjAxMi0wNS0wOSAxMjo1NDoxMSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBmaXggdjRsMl9zdGRfaWQgbG9nZ2luZwoJICBpbnB1dC5zdGQgaXMgb2YgdHlwZSB2NGwyX3N0ZF9pZCB3aGljaCBpcyBkZWZpbmVkIGFzIDY0LWJpdCB1bnNpZ25lZCBpbnRlZ2VyLgoJICBDYXN0aW5nIHRvIHVpbnQgbWVhbnMgdGhlIGhpZ2hlciBiaXRzLCB3aWNoIGFyZSB1c2VkIGZvciB0aGUgcHJpdmF0ZSB2aWRlbwoJICBzdGFuZGFyZHMgb2YgdGhlIFRJIHZpZGVvIGNhcHR1cmUvZGlzcGxheSBkcml2ZXIgZm9yIGV4YW1wbGUsIGFyZSBsb3N0LgoKMjAxMi0wNS0wOSAxMjoyNDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IG11c3Qgc2VuZCBmbHVzaC1zdG9wIGFmdGVyIGFjcXVpcmluZyB0aGUgc3RyZWFtIGxvY2sKCSAgT3RoZXJ3aXNlIHRoZSBzdHJlYW1pbmcgdGhyZWFkIG1pZ2h0IGp1c3Qga2VlcCBvbiBnb2luZyBhbmQgd2UKCSAgbWlnaHQgbmV2ZXIgZ2V0IHRoZSBzdHJlYW0gbG9jay4KCjIwMTItMDUtMDkgMTE6MTU6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBwb3J0IHNlZWtpbmcgY29kZSB0byAwLjExCgoyMDEyLTA1LTA4IDE5OjA3OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogYWRkIHN1cHBvcnQgZm9yIHNlZWtzCgkgIFVzZWZ1bCBmb3IgZS5nLiBmaWxlc3JjICEgcm5kYnVmZmVyc2l6ZSAhIHF1ZXVlMiAhIC4uLgoKMjAxMi0wNS0wOCAxODo0NTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHNlbmQgU0VHTUVOVCBldmVudCBiZWZvcmUgcHVzaGluZyBidWZmZXJzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jCgoyMDEyLTA1LTA5IDExOjE1OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggY29tcGlsYXRpb24gYWdhaW4KCjIwMTItMDEtMTMgMTA6NDk6NDMgKzAxMDAgIFBhc2NhbCBCdWhsZXIgPHBhYnVobGVyQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogY3JlYXRpb24gc2hvdWxkIGJlIHNpZ25hbGVkIGJlZm9yZSB2YWxpZGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4NTAKCjIwMTItMDUtMDQgMTU6MjA6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZG8gbm90IHByb3h5IG91ciBmaWx0ZXIgY2FwcyBkb3duc3RyZWFtIG9uIGNhcHMgcXVlcmllcwoJICBEb3duc3RyZWFtIGxpa2VseSB3b24ndCBhY2NlcHQgdmlkZW8veC1yYXcgYW5kIHRoZSBjYXBzIHF1ZXJ5CgkgIHdpbGwgcmV0dXJuIEVNUFRZIGNhcHMuIEluc3RlYWQsIGNyZWF0ZSBhIGNvcHkgb2YgdGhlIGNhcHMgdGhhdAoJICBoYXMgYWxsIHN0cnVjdHVyZSBuYW1lcyByZXBsYWNlZCBieSAnaW1hZ2UvanBlZycKCSAgU2ltcGxlIHBpcGVsaW5lIHRoYXQgc2hvd3MgdGhlIHByb2JsZW06CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0xICEgInZpZGVvL3gtcmF3LCBcCgkgIHdpZHRoPShpbnQpNjQwLCBoZWlnaHQ9KGludCk0ODAiICEgdmlkZW9zY2FsZSAhIGpwZWdlbmMgISBcCgkgICJpbWFnZS9qcGVnLCB3aWR0aD0oaW50KTgwMCwgaGVpZ2h0PShpbnQpNjAwIiAhIGZpbGVzaW5rIFwKCSAgbG9jYXRpb249L3RtcC9pbWFnZS5qcGcKCjIwMTItMDUtMDIgMjE6MTc6NDMgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogc2V0IGxheW91dD1pbnRlcmxlYXZlZCBvbiByYXcgYXVkaW8gY2FwcwoJICBUaGlzIGZpeGVzIGEgbm90LW5lZ290aWF0ZWQgZXJyb3IgYXQgbGVhc3Qgb24gbW92IGZpbGVzIHdpdGgKCSAgdHdvcyBhdWRpbyB3aXRoIHR3byBjaGFubmVscyBhbmQgdmlkZW8gZHZjcC4gQXMgcGxheWJpbiBhbmQgZ3N0LWxhdW5jaAoJICBzYW1wbGUgY29taW5nIGZyb20gdGhlIHF0ZGVtdXguYyBmaWxlIHVzZXMgYXVkaW9jb252ZXJ0IGFuZCB0aGUgbGF0dGVyCgkgIHJlcXVpcmUgZm9ybWF0IGludGVybGVhdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MzI2CgoyMDEyLTA1LTAyIDIxOjQ5OjU2ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgd2F2ZWZvcm06IE5vIG1vcmUgZ3N0aW50ZXJmYWNlcwoJICBGaXhlcyAjNjc1MzE5CgoyMDEyLTA1LTAyIDIwOjE0OjI0ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgZGlyZWN0c291bmQ6IE5vIG1vcmUgZ3N0aW50ZXJmYWNlcwoJICBGaXhlcyAjNjc1MzE5CgoyMDEyLTA1LTAxIDE4OjU4OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IGNoYW5nZSBzaW5rIHBhZCB0ZW1wbGF0ZSBuYW1lIGZyb20gc2lua18lZCB0byBzaW5rXyV1CgoyMDEyLTA0LTMwIDExOjAwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBoYW5kbGUgRU9TIG9uIGFsbCBwYWRzCgkgIFdoZW4gYWxsIHBhZHMgZ28gdG8gRU9TIGltbWVkaWF0ZWx5LCB3ZSBhcmUgbm90IG5lZ290aWF0ZWQgYW5kIG91ciBjb2xsZWN0ZWQKCSAgZnVuY3Rpb24gaXMgY2FsbGVkICh3aXRob3V0IGFueSBhdmFpbGFibGUgZGF0YSkuIEhhbmRsZSB0aGlzIGNhc2UgZ3JhY2VmdWxseS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCjIwMTItMDQtMzAgMTA6NTk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGltcHJvdmUgZGVidWdnaW5nCgoyMDEyLTA1LTAxIDEzOjMxOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogVXBkYXRlIGZvciBiYXNlc3JjIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTMwIDIzOjU3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZG9uJ3Qgc2V0IHVwIHN0dWZmIGJlZm9yZSB0aGUgaW5wdXQgYW5kIG91dHB1dCBmb3JtYXRzIGFyZSBrbm93bgoJICBGaXhlcyBjcmFzaCBvbiBzdGFydHVwLgoKMjAxMi0wNC0zMCAxNDowOToyMyArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IHdyaXRlIHN0cmVhbSBoZWFkZXIgdHdpY2UgZm9yIGZpcnN0IGZpbGUKCjIwMTItMDQtMzAgMTM6MzI6NDEgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBmaXggYnVmZmVyIGxpc3Qgc2l6ZSBjYWxjdWxhdGlvbiBpbiByZW5kZXJfbGlzdAoJICBGaXggdW5pbml0aWFsaXplZCAnc2l6ZScgdmFyaWFibGUgaW4gY2FsbCB0byBnc3RfYnVmZmVyX2xpc3RfZm9yZWFjaCgpLgoKMjAxMi0wNC0zMCAyMTo1ODowMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZTogdW5uZWNlc3Nhcnkgc2l6ZSBjaGVjawoKMjAxMi0wNC0zMCAyMTozMDo1NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggYnVpbGQgZXJyb3JzCgkgIGZpeCByZWR1bmRhbnQgZGVjbGFyYXRpb25zCgkgIGFuZCBhbHNvIHN0eWxlL2luZGVudCBpc3N1ZXMKCjIwMTItMDQtMjYgMTI6NDc6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBpbXBsZW1lbnQgZm9yd2FyZCBzbmFwcGluZyBrZXlmcmFtZSBzZWVraW5nCgkgIFJlcXVpcmVzIGFuIGluZGV4LgoKMjAxMi0wNC0yNiAxMjo0NjoxMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogaW1wbGVtZW50IGZvcndhcmQgc25hcHBpbmcga2V5ZnJhbWUgc2Vla2luZwoJICBJbiBwdWxsIG1vZGUgd2l0aCBhbiBpbmRleC4KCjIwMTItMDQtMjggMjM6MTQ6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgdGVzdHM6IGZpeCBtYXRyb3NrYW11eCB1bml0IHRlc3QgYWZ0ZXIgbWVkaWEgdHlwZSBjaGFuZ2VzCgoyMDEyLTA0LTI4IDE5OjU3OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgbWVkaWEgdHlwZSBjaGFuZ2VzCgoyMDEyLTA0LTI0IDE2OjA4OjQ3ICswMjAwICBpZGMtZHJhZ29uIDxpZGMtZHJhZ29uIGF0IGdteC5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkgIGNlbHRkZXBheTogY2FsY3VsYXRlIHNpemUgY29ycmVjdGx5CgkgIFRoZSBzdW1tYXRpb24gd2FzIGRvbmUgd3JvbmcsIGNhdXNpbmcgdGhlIGRlLXBheWxvYWRlciB0byBleGl0IGl0cyBsb29wIHRvbwoJICBlYXJseSwgYmVmb3JlIGFsbCBmcmFtZXMgYXJlIHByb2Nlc3NlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDQ3MgoKMjAxMi0wNC0yNCAxNTo1NzoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA0LTI0IDE1OjM0OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHN0YXJ0IHVubXV0ZWQgd2hlbiByZXF1ZXN0ZWQKCSAgV2hlbiB3ZSBleHBsaWNpdGVseSBzZXQgdGhlIG11dGUgcHJvcGVydHkgdG8gRkFMU0UsIGNvbm5lY3QgdG8gcHVsc2VhdWRpbyB3aXRoCgkgIHRoZSBQQV9TVFJFQU1fU1RBUlRfVU5NVVRFRCBmbGFnIHNldCwgb3RoZXJ3aXNlIHB1bHNlYXVkaW8gd2lsbCB1c2UgaXRzCgkgIHByZXZpb3VzbHkgdXNlZCB2YWx1ZSAod2hpY2ggbWlnaHQgc3RhcnQgdGhlIHN0cmVhbSBtdXRlZCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI0MDEKCjIwMTItMDQtMjUgMDk6NDE6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGltcHJvdmUgdGltZXN0YW1wIGNvZGUKCSAgU2FtcGxlIHRoZSBwaXBlbGluZSBjbG9jayBhbmQgZGV2aWNlIGNsb2NrIGNsb3NlciB0byBlYWNob3RoZXIgdG8gcmVkdWNlIGppdHRlci4KCSAgRG9uJ3Qgc3VidHJhY3QgdGhlIGZyYW1lIGR1cmF0aW9uIGZyb20gdGhlIHRpbWVzdGFtcCB3aGVuIHdlIGNhbiB1c2UgdGhlIGRldmljZQoJICB0aW1lc3RhbXBzLgoJICBBc3N1bWUgYSBkZWxheSBvZiAxIGZyYW1lIGluIHJlYWQtd3JpdGUgbW9kZS4KCjIwMTItMDQtMjQgMTI6Mzc6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVzZSBkcml2ZXIgdGltZXN0YW1wcwoJICBVc2UgdGhlIGRyaXZlIHRpbWVzdGFtcHMgZm9yIHRpbWVzdGFtcGluZyBvdXRnb2luZyBidWZmZXJzLgoKMjAxMi0wNC0yMyAxODowMTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogSW1wcm92ZSBidWZmZXIgbWFuYWdlbWVudAoJICBRdWVyeSB0aGUgYW1vdW50IG9mIGF2YWlsYWJsZSBidWZmZXJzIHdoZW4gZG9pbmcgc2V0X2NvbmZpZygpLiBUaGlzIGFsbG93cyB1cyB0bwoJICBjb25maWd1cmUgdGhlIHBhcmVudCBidWZmZXJwb29sIHdpdGggdGhlIG51bWJlciBvZiBidWZmZXJzIHRvIHByZWFsbG9jYXRlLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBwcm92aWRlZCBhbGxvY2F0b3IgYW5kIHVzZSBpdCB3aGVuIHdlIG5lZWQgdG8gYWxsb2NhdGUgYQoJICBidWZmZXIgaW4gUlcgbW9kZS4KCSAgV2hlbiB3ZSBhcmUgY2FuIG5vdCBhbGxvY2F0ZSB0aGUgcmVxdWVzdGVkIG1heF9idWZmZXJzIGFtb3VudCBvZiBidWZmZXJzLCBtYWtlCgkgIHN1cmUgd2Uga2VlcCAyIGJ1ZmZlcnMgYXJvdW5kIGluIHRoZSBwb29sIGFuZCBjb3B5IHRoZW0gaW50byBhbiBvdXRwdXQgYnVmZmVyLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBhbHdheXMgaGF2ZSBhIGJ1ZmZlciB0byBjYXB0dXJlIGludG8uIFdlIGFsc28gbmVlZCB0bwoJICBkZXRlY3QgdGhvc2UgY29waWVkIGJ1ZmZlcnMgYW5kIHVucmVmIHRoZW0gd2hlbiB0aGV5IHJldHVybiB0byB0aGUgcG9vbC4KCjIwMTItMDQtMjMgMTY6NTE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIHRoZSBxdWV1ZWQgYnVmZmVycwoJICBPbmx5IGZyZWUgdGhlIHF1ZXVlZCBidWZmZXJzIHRoYXQgd2Uga2VlcCB0cmFjayBvZiBpbiBvdXIgYnVmZmVyIGFycmF5LiBmb3IgcncKCSAgaW8tbW9kZSwgd2UgZG8gYWxsb2NhdGUgYnVmZmVycyBidXQgd2UgZG9uJ3Qga2VlcCB0cmFjayBvZiB0aGVtIGluIHRoZSBidWZmZXIKCSAgYXJyYXkuCgoyMDEyLTA0LTIzIDE2OjEwOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogbWFyayBtZW1vcnkgYXMgbm8tc2hhcmUKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzaGFyaW5nIG91ciBtbWFwcGVkIG1lbW9yeSBzbyBtYXJrIGl0IGFzIE5PX1NIQVJFLgoKMjAxMi0wNC0yMyAxNjowOTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcmVtb3ZlIG9sZCB1bnVzZWQgZmlsZQoKMjAxMi0wNC0yMyAxMzozMjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbgoKMjAxMi0wNC0xMSAxMjo0MjoxNyArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogSGFuZGxlIGljeSBhbmQgaWN5eCBVUkkgc2NoZW1lcwoJICBBcyBoYW5kbGVkIGJ5IFF1aWNrVGltZSAoZm9yIGljeSksIGFuZCBPcmJhbi9Db2RpbmcgVGVjaG5vbG9naWVzCgkgIEFBQy9hYWNQbHVzIFBsYXllciAoZm9yIGljeXgpLiBTZWUgYWxzbzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDIwNwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMjg1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTkKCjIwMTItMDQtMjMgMTA6MDM6MTkgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZG9jczogQWRkIFNpbmNlIHRhZyBmb3IgbmV3IEdzdFY0bDJTcmM6OnByZXBhcmUtZm9ybWF0IHNpZ25hbAoKMjAxMi0wNC0yMyAxMDowNzoxMiArMDIwMCAgQ2hyaXMgUGFua293IDxrYWluMjM5NkBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRml4IHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uIGZvciBtdWx0aWNoYW5uZWwgaW5wdXQKCSAgRml4ZXMgYnVnICM2NzQwMjUuCgoyMDEyLTA0LTIxIDExOjA4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogcmVtb3ZlIHNvbWUgbW9yZSBub24tZXhpc3RlbnQgZmlsZXMgZnJvbSB0aGUgbGlzdAoKMjAxMi0wNC0yMSAxMDowNTo0NSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFJlbW92ZSBub24tZXhpc3RlbnQgcG90ZmlsZXMgZnJvbSB0aGUgbGlzdAoJICBGaXhlcyAjNjc0NTE4CgoyMDEyLTA0LTIwIDE4OjEzOjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogb3NzNDogbGltaXQgdGVzdCBzY29wZQoKMjAxMi0wNC0yMCAxODoxMzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkgIG9zczQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yMCAxODoxMjo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJICBvc3M6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yMCAxNjo0OTo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGZpcnN0IGFjdGl2YXRlIHBhZCB0aGVuIHNldCBjYXBzCgoyMDEyLTA0LTIwIDEzOjM1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2V0IGNhcHMgb24gc3JjcGFkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMTkKCjIwMTItMDQtMTkgMTQ6MTY6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIHZpZGVvIGFwaSBjaGFuZ2UKCjIwMTItMDQtMTkgMTI6Mzg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb21waWxhdGlvbiBvbiBvbGRlciB2NGwyCgkgIEZpeCBjb21waWxhdGlvbiBvbiBzeXN0ZW1zIHdoZXJlIHRoZSBIMjY0IGZvcm1hdCBpcyBub3QgZGVmaW5lZC4KCjIwMTItMDQtMTkgMTI6MjA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2aWRlbzogVXBkYXRlIGZvciBsaWJnc3R2aWRlbyBBUEkgY2hhbmdlcwoKMjAxMi0wNC0xOSAwODoyNzowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBBbGxvdyBtcGVnLXRzIGNhbWVyYXMgdG8gbmVnb2NpYXRlIGZvcm1hdAoJICBUaGlzIHJlbW92ZXMgYW4gdWdseSBoYWNrIHVudGlsIHRoZSByZWFzb24gZm9yIHRoZSBoYWNrIGNhbiBiZSBkb2N1bWVudGVkCgoyMDEyLTA0LTE5IDA5OjUwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogRml4IG1lcmdlCgoyMDEyLTA0LTE5IDA5OjQwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBSZW5hbWUgcHJlLXNldC1mb3JtYXQgc2lnbmFsIHRvIHByZXBhcmUtZm9ybWF0CgoyMDEyLTA0LTE2IDIyOjA4OjIxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBBZGQgSDI2NCBlbmNvZGVkIHN0cmVhbSBzdXBwb3J0IHRvIHRoZSBjYXBzCgkgIFRoaXMgaXMgbm90IGVub3VnaCB0byBwcm9wZXJseSBzdXBwb3J0IEgyNjQgY2FtZXJhcywgYnV0IGl0IHdpbGwKCSAgYWxsb3cgYW4gSDI2NCBzdHJlYW0gdG8gYmUgZ2VuZXJhdGVkIGJ5IHY0bDJzcmMgdXNpbmcgdGhlIGRlZmF1bHQKCSAgc2V0dGluZ3Mgb2YgdGhlIGNhbWVyYS4gSWYgdXNlZCB3aXRoIHRoZSBwcmUtc2V0LWZvcm1hdCBzaWduYWwsIHRoZQoJICBIMjY0IGVuY29kZXIgY2FuIGJlIGZ1bGx5IGNvbmZpZ3VyZWQuCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jCgoyMDEyLTA0LTE2IDIyOjA2OjIxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvLmdpdGlnbm9yZToKCSogc3lzL3Y0bDIvZ3N0djRsMi1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBBZGRpbmcgYSBwcmUtc2V0LWZvcm1hdCBzaWduYWwKCSAgSW4gb3JkZXIgdG8gc3VwcG9ydCBVVkMgSDI2NCBlbmNvZGluZyBjYW1lcmFzLCBhbiBIMjY0IFByb2JlJkNvbW1pdAoJICBtdXN0IGhhcHBlbiBiZWZvcmUgdGhlIG5vcm1hbCB2NGwyIHNldC1mb3JtYXQuIFRoaXMgbmV3IHNpZ25hbCBpcwoJICBtZWFudCB0byBhbGxvdyBhbiBleHRlcm5hbCBhcHBsaWNhdGlvbiBvciBiaW4gdG8gZG8gaXQuCgkgIEl0IGFsc28gc2VydmVzIHRvIGV4cG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yIHVzZWQgYnkgdjRsMnNyYyBpbiBjYXNlCgkgIHNvbWUgY3VzdG9tIGlvY3RscyBuZWVkIHRvIGJlIGNhbGxlZC4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9NYWtlZmlsZS5hbQoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmMKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDEyLTA0LTE4IDE3OjA5OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5oOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBkdjEzOTQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xNyAxNToxNDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgY29sbGVjdHBhZHMyOiByZW5hbWUgdG8gY29sbGVjdHBhZHMKCjIwMTItMDQtMTYgMTY6Mzc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIG1pc2M6IGNoYWluIHVwIHRvIGNvbGxlY3RwYWRzIGV2ZW50IGhhbmRsZXIKCjIwMTItMDQtMTYgMDk6MDk6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGIyNWJlIHRvIGRjNzAyMDMKCjIwMTItMDQtMTUgMjI6NDk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiB1cGRhdGUgZm9yIG9nZyBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMTMgMTY6NTQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wNC0xMyAxNjo1NDo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGltcHJvdmUgc2VnbWVudCBoYW5kbGluZwoJICAuLi4gdG8gc2VuZCBhIHByb3BlciBUSU1FIHNlZ21lbnQgZG93bnN0cmVhbS4KCjIwMTItMDQtMTMgMTY6NTQ6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBmbHhkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMyAxNjo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBhZGp1c3QgdG8gZGVwcmVjYXRlZCBHTXV0ZXggc2V0dXAKCjIwMTItMDQtMTMgMTY6NTQ6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTMgMTY6NTQ6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIGFscGhhLCBzbXB0ZTogYWRqdXN0IHRvIHJlbW92ZWQgY29sb3ItbWF0cml4IGNhcHMgZmllbGQKCjIwMTItMDQtMTMgMTY6Mjc6MzQgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDI6IGVuc3VyZSBhdXRvZ2VuZXJhdGVkIGZpbGVzIGFyZSBjcmVhdGVkCgkgIFRoZSB0dW5lciBtYXJzaGFsIGFuZCBlbnVtdHlwZXMgYXJlIGF1dG9nZW5lcmF0ZWQsIGFuZCB0aGV5IG5lZWQKCSAgdG8gYmUgY3JlYXRlZCBiZWZvcmUgdGhlIGNvbXBpbGF0aW9uIG9mIGdzdHY0bDJ0dW5lci5jCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYXV0b21ha2UgaW5zdHJ1Y3Rpb24gZm9yIGVuc3VyaW5nIHRoZQoJICBhdXRvZ2VuZXJhdGlvbiBvZiB0aG9zZSBmaWxlcyBwcmV2aW91cyB0aGUgY29tcGlsYXRpb24uCgoyMDEyLTA0LTEzIDEzOjQxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNb2Rlcm5pemUgYXV0b3Rvb2xzIHNldHVwIGEgYml0CgkgIEFsc28gd2Ugbm93IG9ubHkgY3JlYXRlIHRhci5iejIgYW5kIHRhci54eiB0YXJiYWxscy4KCjIwMTItMDQtMTMgMTM6Mzc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjRmZTE1IHRvIDZkYjI1YmUKCjIwMTItMDQtMTMgMTM6MDQ6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuaDoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi90dW5lci1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuaDoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVXBkYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSByZW1vdmFsIG9mIHRoZSBpbnRlcmZhY2UgbGlicmFyeSBhbmQgbWl4ZXIvdHVuZXIgaW50ZXJmYWNlcwoKMjAxMi0wNC0xMiAxNTo1MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cDogVXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVXcml0ZXIgd2hlcmUgYXBwbGljYWJsZQoJICBUaGUgc2l6ZSB3YXMgY2hlY2tlZCBiZWZvcmUKCjIwMTItMDQtMTIgMTU6NDk6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCeXRlUmVhZGVyL1dyaXRlcgoKMjAxMi0wNC0xMiAxNTo0ODo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBpc29tcDQ6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCeXRlV3JpdGVyCgkgIEFuZCB1c2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVJlYWRlciB3aGVyZSBhcHBsaWNhYmxlCgoyMDEyLTA0LTEyIDE1OjQ4OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlUmVhZGVyCgkgIFdlIGtub3cgdGhlcmUncyBhdCBsZWFzdCA3IGJ5dGVzIChjaGVja2VkIGFib3ZlKQoKMjAxMi0wNC0xMiAxNTo0Nzo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmk6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCeXRlV3JpdGVyCgoyMDEyLTA0LTEyIDE1OjQ3OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qml0UmVhZGVyL0dzdEJ5dGVSZWFkZXIKCjIwMTItMDQtMTIgMTE6NTc6NTkgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgQWRkIGludGVybGVhdmUgcGx1Z2luIHRvIHNwZWMgZmlsZQoKMjAxMi0wNC0xMiAxMToxOTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTAgPT09CgoyMDEyLTA0LTEyIDEwOjI3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MAoKMjAxMi0wNC0xMiAxMDoyNjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNC0xMSAwMDoxOTozMCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIEZpeCBmb3JtYXQgc3RyaW5nCgkgIEZpeGVzICM2NzM4NTkKCjIwMTItMDQtMTEgMDA6MTk6MTYgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIEZpeGVzICM2NzM4NTkKCjIwMTItMDQtMTAgMTE6NTc6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA0LTEwIDExOjM3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzb21lIG1vcmUgc2VnbWVudCBoYW5kbGluZyB0d2Vha2luZwoKMjAxMi0wNC0xMCAwMDo1MTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgVXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCjIwMTItMDQtMDkgMTI6NTU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IGRpc2FibGUgc2ltcGxlIHNtb2tlZW5jL2RlYyBsYXVuY2ggbGluZXMgdGVzdAoJICBEaXNhYmxlIHRlc3QgZm9yIHNtb2tlIGVsZW1lbnRzLCB3aGljaCBhcmVuJ3QgcG9ydGVkIHlldAoJICAoYW5kIG1heWJlIHNob3VsZG4ndCBiZSBwb3J0ZWQpLgoKMjAxMi0wNC0wOSAwMDoxNDo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBtYWtlIGNoYW5uZWwtcG9pc2l0aW9ucyBwcm9wZXJ0eSBhIEdWYWx1ZUFycmF5IGFnYWluCgkgIE9yIHBlcmhhcHMgaXQgc2hvdWxkIGp1c3QgYmUgYSBndWludDY0IGNoYW5uZWwgbWFzaywgd2hpY2ggd291bGQKCSAgYmUgbmljZXIgaW4gQywgYnV0IG1vcmUgYXdrd2FyZCBmb3IgYmluZGluZ3MgKGV2ZW4gbW9yZSBzbyBzaW5jZQoJICB3ZSBjYW4ndCBhZGQgYSBmbGFncyB0eXBlIGZvciBpdCwgc2luY2UgdGhhdCBvbmx5IHN1cHBvcnRzIGd1aW50CgkgIHNpemUgZmxhZ3MpLiBGaXhlcyB3YXZlbmMgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjQzCgoyMDEyLTA0LTA2IDE2OjAzOjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjbGVhbmx5IGluaXRpYWxpemUgYW5kIHNldCBuZWVkZWQgc2VnbWVudAoJICBGaXhlcyAjNjczMTY1LgoKMjAxMi0wNC0wNSAxNzoxNzoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHRocmVhZGluZyBpc3N1ZSBpbiBpbmRleCBoYW5kbGluZwoKMjAxMi0wNC0wNiAwOToxMzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCB1c2Ugc3RhdGljIHZhcmlhYmxlcyB0byBob2xkIGluZGV4IGFzc29jaWF0aW9ucwoJICBUaGlzIG5vdCByZWFsbHkgdGhyZWFkc2FmZSBpbiBhbnkgd2F5LgoKMjAxMi0wNC0wNSAxOToxNzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogbWFrZSBmZXcgdGVzdHMgbW9yZSB2YWxncmluZC1mcmllbmRseQoKMjAxMi0wNC0wNSAxOToxNzo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICAoZGUpaW50ZXJsZWF2ZTogZml4IHBvcnRlZCB1bml0IHRlc3QgYW5kIGVuYWJsZSBhcyBwb3J0ZWQKCjIwMTItMDQtMDUgMTk6MTc6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogY21tbGRlYzogYWRqdXN0IHRvIHRhZyBldmVudHMgbm8gbG9uZ2VyIHBvc3RlZCBvbiBidXMgYnkgZWxlbWVudAoKMjAxMi0wNC0wNSAxOToxNzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRzcmM6IGNsZWFyIGVycm9yCgoyMDEyLTA0LTA1IDE4OjQyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2ZkYTUyNCB0byA0NjRmZTE1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTc6MzY6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvZHYvZ3N0ZHYuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvcGx1Z2luLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTM6MjY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSB2ZXJzaW9uIHRvIDAuMTEuODkuMQoKMjAxMi0wNC0wNCAyMDowNjo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGVuc3VyZSBpbml0aWFsaXplZCB0ZXN0IGJ1ZmZlciBtZW1vcnkKCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTQ6MzM6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxMjoxMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmgKCjIwMTItMDQtMDMgMTg6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBwbHVnIHRlbXBsYXRlIGNhcHMgbGVhawoKMjAxMi0wNC0wMyAxMTo1MDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2aSBvbmx5IGtub3dzIGFib3V0IERUUwoJICBPbmx5IHNldCBEVFMgb24gb3V0Z29pbmcgYnVmZmVycyB1bmxlc3Mgd2UgaGF2ZSBhIGtleWZyYW1lIGFuZCB0aGVuIHdlIGNhbiBzZXQKCSAgdGhlIFBUUyB0byBEVFMgYXMgd2VsbC4KCjIwMTItMDQtMDIgMjM6MzU6NDMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWt2OiBwb3J0IHRvYyBjaGFuZ2VzIHRvIDAuMTEKCjIwMTItMDQtMDIgMjM6MTg6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oCgoyMDEyLTAzLTI5IDIzOjIyOjI4ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBhZGQgR3N0VG9jIHN1cHBvcnQgZm9yIG11eGVyCgoyMDEyLTAzLTI5IDIzOjEyOjEzICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR3N0VG9jIGluIGRlbXV4ZXIKCjIwMTItMDMtMjkgMjM6MDU6MTQgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBhZGQgY2hhcHRlciBzdXBwb3J0IGluIEdzdE1hdHJvc2thUmVhZENvbW1vbgoKMjAxMi0wNC0wMiAxMzowMDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9saW5lcy5jOgoJICBnb29tMmsxOiBGaXggJ21heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wNC0wMiAxMToxMzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHVzZSB0cmFuc2Zvcm1faXBfb25fcGFzc3Rocm91Z2gKCjIwMTItMDMtMzEgMTU6NDM6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgY2hpbGQgcHJveHkgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxODoxMzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDEyOjUzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X2hlYWRlcnMoKSBBUEkKCjIwMTItMDMtMzAgMTI6MTg6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI5IDIzOjIyOjI4ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBhZGQgR3N0VG9jIHN1cHBvcnQgZm9yIG11eGVyCgoyMDEyLTAzLTI5IDIzOjEyOjEzICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR3N0VG9jIGluIGRlbXV4ZXIKCjIwMTItMDMtMjkgMjM6MDU6MTQgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBhZGQgY2hhcHRlciBzdXBwb3J0IGluIEdzdE1hdHJvc2thUmVhZENvbW1vbgoKMjAxMi0wMy0yOSAxNzoyMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogd2F2cGFjazogZmV3ZXIgYnVmZmVycyBhcmUgYWxzbyBhZGVxdWF0ZSBhbmQgbW9yZSBjb252ZW5pZW50CgoyMDEyLTAzLTI5IDE3OjIyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogdmlkZW9jcm9wOiB1bm1hcCB2aWRlbyBmcmFtZSBhbmQgdW5yZWYgY2FwcwoKMjAxMi0wMy0yOSAxNzoyMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICB0ZXN0czogYXVkaW93c2luY2JhbmQ6IHVubWFwIGV4YW1pbmVkIG91dHB1dCBidWZmZXJzCgoyMDEyLTAzLTI5IDE3OjIxOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcGx1ZyByZWYgbGVhawoKMjAxMi0wMy0yOSAxNzoyMTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBzdXBwb3J0ZWQgdGVtcGxhdGUgY2FwcyBhbmQgc2FtcGxlIHByb2Nlc3NpbmcKCjIwMTItMDMtMjkgMTc6MjE6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogcGx1ZyBzdHJ1Y3R1cmUgbGVhawoKMjAxMi0wMy0yOSAxNjowNDoyNiArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTAzLTI5IDE1OjAzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMi0wMy0yOCAxNjoyNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IG11eGVycyBuZWVkIFRJTUUgZm9ybWF0CgoyMDEyLTAzLTI4IDE2OjI2OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiBmbGFjZGVjOiBuZWVkcyBmbGFjcGFyc2Ugbm93YWRheXMKCjIwMTItMDMtMjggMTQ6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBxdWVyeSBkb3duc3RyZWFtIGZvciBCWVRFIHNlZWtpbmcgc3VwcG9ydAoKMjAxMi0wMy0yOCAxNDo0ODo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIEJZVEUgc2Vla2luZyBzdXBwb3J0CgoyMDEyLTAzLTI4IDE0OjQ2OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogY2xlYW4gdXAgb2Jzb2xldGUgbG9nIHN0YXRlbWVudAoKMjAxMi0wMy0yOCAxMjo0OToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTI4IDEyOjE2OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJICB0ZXN0czogYXVkaW9keW5hbWljOiBjb3JyZWN0bHkgcG9ydCBvcmlnaW5hbCB0ZXN0IHRvIG1pbmQgaW4gcGxhY2UgdHJhbnNmb3JtCgoyMDEyLTAzLTI4IDExOjA1OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgYXVkaW9meDogbW9yZSBhZGp1c3RtZW50IHRvIGNoYW5nZWQgc2VtYW50aWNzIG9mIGF1ZGlvZmlsdGVyIF9zZXR1cCBtZXRob2QKCjIwMTItMDMtMjggMTE6MTA6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvZmlyZmlsdGVyOiBuZWdvdGlhdGUgdGhlIGludGVuZGVkIHJhdyBhdWRpbyBmb3JtYXQKCjIwMTItMDMtMjcgMTg6NDE6NDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IGluaXQgZGF0YXN0cnVjdHVyZQoKMjAxMi0wMy0yNyAxNzoxODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogZml4IHN0cmlkZXMKCjIwMTItMDMtMjcgMTY6NDE6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGNhcHM6IGltcHJvdmUgY2FwcyBoYW5kbGluZwoJICBBdm9pZCBjYXBzIGNvcHkgYW5kIGxlYWtzCgoyMDEyLTAzLTI3IDE0OjA0OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIHRlc3RzOiBpY3lkZW11eDogYWN0aXZhdGUgaW50ZXJuYWwgdGVzdCBoZWxwZXIgc3JjIHBhZAoKMjAxMi0wMy0yNyAxMjo0NDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXBkYXRlIGZvciBnZXRfcGFyYW0KCSAgUmVtb3ZlIGNvbnN0IGZyb20gdGhlIEdzdENhcHMuCgkgIFBsdWcgc29tZSBHc3RTdHJ1Y3R1cmUgbGVha3MKCjIwMTItMDMtMjcgMDA6MDI6MDggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IEZpeCBjb21waWxpbmcgd2l0aCBtaW5ndy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mjg4MAoKMjAxMi0wMy0yNiAxODozMTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiByZXBsYXlnYWluOiBtaXNjIGNvbXBhdGliaWxpdHkgZml4ZXMKCSAgRGlzY2FyZCBjYXBzIGV2ZW50IHdoZW4gY2hlY2tpbmcgZm9yIGFuZCBjb3VudGluZyB2YXJpb3VzIHRhZyBldmVudHMsCgkgIGFuZCByZW1vdmUgYWxsIHRlc3Rpbmcgb2YgOCBiaXRzIGRlcHRoIGluIDE2IGJpdHMgd2lkdGggZm9ybWF0IHNpbmNlCgkgIGl0IG5vIGxvbmdlciBleGlzdHMuCgoyMDEyLTAzLTI2IDE4OjI4OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogcnRwOiBtaXNjIGNvbXBhdGliaWxpeSBmaXhlcwoJICAuLi4gc3VjaCBhcyBhbHdheXMgc2V0dGluZyBwYWQgY2FwcyBhbmQgcHJvdmlkaW5nIG5lZWRlZCBjYXBzIGZpZWxkcy4KCjIwMTItMDMtMjYgMTg6MjY6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IHZpZGVvZmlsdGVyOiBlbnN1cmUgaW5pdGlhbCBzZWdtZW50IGV2ZW50CgoyMDEyLTAzLTI2IDE4OjI1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogcHJvcGVyIHZpZGVvIGluZm8gYW5kIGZyYW1lIG1hbmFnZW1lbnQKCSAgLi4uIHBhcnRpY3VsYXJseSBzaW5jZSBlYWNoIGluY29taW5nIHBhZCBoYXMgYSBkaXN0aW5jdCBmb3JtYXQuCgoyMDEyLTAzLTI2IDE4OjI0OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBlbnN1cmUgb3V0cHV0IGNhcHMgYXJlIHNldCB3aGVuIHB1c2hpbmcgb3V0cHV0IGRhdGEKCSAgLi4uIGV2ZW4gaWYgc29tZSBTUFMvUFBTIGhhcyBub3QgcGFzc2VkIGJ5IHlldC4KCjIwMTItMDMtMjYgMTg6MjI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9maWx0ZXI6IGF2b2lkIGhvbGRpbmcgb2JqZWN0IGxvY2sgd2hlbiBjYWxsaW5nIGJhc2V0cmFuc2Zvcm0gZnVuY3Rpb24KCjIwMTItMDMtMjYgMTg6MjI6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHNvbWUgbG9jayBtYW5hZ2VtZW50CgkgIC4uLiB0byBhdm9pZCB0cnlpbmcgdG8gdGFrZSBhIG5vbi1yZWN1cnNpdmUgbG9jayB0d2ljZS4KCjIwMTItMDMtMjYgMTg6MjE6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICBydHBMMTYoZGUpcGF5OiBmaXggcmF3IGF1ZGlvIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTAzLTI2IDE4OjIwOjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5Z2FpbjogYWxzbyBzdGlsbCBwb3N0IHRoZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcwoKMjAxMi0wMy0yNiAxNTo1OTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZG9uJ3QgZXJyb3IgaW4gc2h1dGRvd24KCSAgRG9uJ3QgbG9nIHdpdGggdGhlIEVSUk9SIGNhdGVnb3J5IHdoZW4gd2UgYXJlIHN0b3BwaW5nIGJlY2F1c2Ugd2UgYXJlIHNodXR0aW5nCgkgIGRvd24uCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODI0CgoyMDEyLTAzLTI2IDE1OjUxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBmaXggbGF0ZW5jeQoKMjAxMi0wMy0yNiAxNTozMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGNhbGxlZCBiYXNlIGNsYXNzIHN0YXJ0CgkgIENoYWluIHVwIHRvIHRoZSBiYXNlIGNsYXNzIHN0YXJ0IG1ldGhvZCBzbyB0aGF0IG1ldGFkYXRhIGlzIHByb3Blcmx5IHRhZ2dlZC4KCSAgUmVtb3ZlIGFuIHVudXNlZCB2YXJpYWJsZS4KCSAgZml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4MTMKCjIwMTItMDMtMjYgMTI6MTI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBSZXBsYWNlIG1hc3RlciB3aXRoIDAuMTEKCjIwMTItMDMtMjUgMDA6MDA6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJhbHBoYSIgcHJvcGVydHkgdG8gc2V0IGFscGhhIG9mIG92ZXJsYXkgaW1hZ2UKCSAgLi4gb3IgdHVybiB0aGUgb3ZlcmxheSBvZmYgYnkgc2V0dGluZyBhbHBoYSB0byAwLjAKCjIwMTItMDMtMjQgMDk6NTE6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wMy0yMyAxODo0Nzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICB0ZXN0czogaW1hZ2VmcmVlemU6IHJlbW92ZSBleHRyYW5lb3VzIF91bnJlZgoKMjAxMi0wMy0yMyAxODo0NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgdGVzdHM6IGF2aW11eDogYWRqdXN0IHRvIG1vZGlmaWVkIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUKCjIwMTItMDMtMjMgMTg6NDY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBjbGVhbnVwIGVsZW1lbnQgc29vbmVyCgkgIC4uLiB0byBhdm9pZCBzdHJheSByZWZzIGluIHN0aWNreSBjYXBzIGV2ZW50cy4KCjIwMTItMDMtMjMgMTg6NDU6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYXJyYW5nZSBmb3Igc2VuZGluZyBhbiBpbml0aWFsIHNlZ21lbnQgZXZlbnQKCSAgLi4uIHdoaWNoIGlzIG5lZWRlZCBub3dhZGF5cyBzaW5jZSB2YXJpb3VzIGdzdF9zZWdtZW50X3RvXy4uLgoJICBubyBsb25nZXIgYXV0b21hdGljYWxseSBzZXQgdGhlIGZvcm1hdCB0byB0aGUgc3BlY2lmaWVkIG9uZQoJICAoZnJvbSBfVU5ERUZJTkVEKS4KCjIwMTItMDMtMjMgMTg6NDQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBpbW1lZGlhdGVseSByZXR1cm4gR1NUX0ZMT1dfRU9TCgkgIC4uLiByYXRoZXIgdGhhbiBfT0sgc2luY2Ugd2Ugd2lsbCBub3QgYmUgY2FyaW5nIGFib3V0IHN1YnNlcXVlbnQgYnVmZmVyCgkgIGFueXdheS4KCjIwMTItMDMtMjMgMTg6NDM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBmaXggcXVlcnkgYW5kIF9nZXRjYXBzIGhhbmRsaW5nCgoyMDEyLTAzLTIzIDE4OjQyOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb2Z4OiBhZGp1c3QgdG8gY2hhbmdlZCBzZW1hbnRpY3Mgb2YgYXVkaW9maWx0ZXIgX3NldHVwIG1ldGhvZAoJICAuLi4gaW4gdGhhdCBpdCB3aWxsIG5vdyBjYWxsIHN1YmNsYXNzIHdpdGggaW5mbyBvbiBwcm9wb3NlZCBhdWRpbyBmb3JtYXQKCSAgd2l0aG91dCBoYXZpbmcgc2V0IHRoYXQgaW5mbyBhbHJlYWR5IGluIGJhc2UgY2xhc3MuICBBcyBzdWNoLAoJICBzdWJjbGFzcyBjYW4gbm90IHJlbHkgb24gYXVkaW8gZm9ybWF0IGluZm8gYmVpbmcgYXZhaWxhYmxlIHRoZXJlLgoKMjAxMS0wNy0xNCAxNjoyMzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSBvdXRwdXQgaW4gQVZDIHN0cmVhbSBmb3JtYXQgd29yayBldmVuIHdpdGhvdXQgY29tcGxldGUgc3Byb3AtcGFyYW1ldGVyLXNldAoJICBUaGlzIGFsbG93cyBvdXRwdXR0aW5nIHN0cmVhbXMgaW4gQVZDIGZvcm1hdCBldmVuIGlmIHRoZSBTUFMvUFBTIGFyZSBzZW50IGluc2lkZQoJICB0aGUgUlRQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoJICBQb3J0ZWQgZnJvbSBtYXN0ZXIKCjIwMTItMDEtMjkgMTg6Mzk6NTQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBVbmxvY2sgb24gZXJyb3IKCjIwMTItMDMtMjIgMTg6Mjc6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIHNpbmsgcGFkIHRlbXBsYXRlIGNhcHMgcmF0aGVyIHRoYW4gc3JjCgoyMDEyLTAzLTIyIDE4OjIzOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDMtMjIgMTg6MjE6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjIgMTY6MTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogaW50ZXJzZWN0IGRvd25zdHJlYW0gYWxsb3dlZCBwZWVyIGNhcHMgd2l0aCBzaW5rIHBhZCB0ZW1wbGF0ZQoKMjAxMi0wMy0yMiAxNTo1NToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4yID09PQoKMjAxMi0wMy0yMiAxNTo1MToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJICBSZWxlYXNlIDAuMTEuMgoKMjAxMi0wMy0yMiAxMTo1NToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDMtMjIgMTE6NTM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIHVucG9ydCBnZGtwaXhidWYKCSAgbm90IG1lcmdlZDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoJICBDb25mbGljdHM6CgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbQoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeQoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbAoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYwoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoKMjAxMi0wMy0yMiAxMTo0NToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IG9ubHkgc3RhcnQgY29sbGVjdHBhZHMyIGF0IHN0YXRlIGNoYW5nZSByYXRoZXIgdGhhbiBpbml0CgoyMDEyLTAzLTIxIDEzOjIyOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMjAgMTA6MjQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTkgMTI6MDE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY3JjIGNoZWNrIGlmIGFwcGxpY2FibGUKCSAgLi4uIHN1Y2ggYXMgYSBmcmFtZSBoZWFkZXIgcGFyc2luZyB0aHJvd2luZyBzb21lIHN1c3BpY2lvdXMgd2FybmluZ3MuCgkgIFNvIHdlIGNhbiBiZSBhIGJpdCBtb3JlIGNvbnZpbmNlZCB3ZSBkZXRlcm1pbmUgdGhlIHJpZ2h0IGZyYW1lIGVuZC4KCjIwMTItMDMtMTkgMTE6NTg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBpbmRlZmluaXRlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZnJhbWUgZW5kIGlmIHBvc3NpYmxlCgkgIC4uLiB3aGljaCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIGxvY2tlZCBvbiB0byB0aGUgd3JvbmcgZnJhbWUgc3RhcnQKCSAgYW5kL29yIGNvcnJ1cHQgZnJhbWUgYmVpbmcgY3JjIGNoZWNrZWQuCgoyMDEyLTAzLTE2IDE4OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBpbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCByZXNpbGllbmNlCgkgIC4uLiBieSBub3RpbmcgdGhhdCBvbmUgb2NjdXJyZWQgaW4gdGhlIGZpcnN0IHBsYWNlLCBhbmQgdGhlbiBhcHByb3ByaWF0ZWx5CgkgIGlnbm9yaW5nIHNvbWUgdHJhbnNpZW50IG9uZXMuCgoyMDEyLTAzLTE5IDEwOjMzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG5lZ290aWF0ZSBhbiBhbGxvY2F0b3Igb24gdGhlIHNyY3BhZHMKCSAgV2UgZG8gYW4gQUxMT0NBVElPTiBxdWVyeSB0byBmaW5kIG91dCBhbiBhbGxvY2F0b3IgYW5kIHBhcmFtZXRlcnMgb24gdGhlCgkgIHNyY3BhZHMuIFRoaXMgd2F5IGRlY29kZXJzIChhbmQgc2lua3MpIGNhbiBzcGVjaWZ5IHRoZSBtZW1vcnkgYW5kIHBhcmFtZXRlcnMKCSAgdGhleSB3YW50IHVzIHRvIHdyaXRlIGludG8uCgoyMDEyLTAzLTE3IDIwOjUzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0aWVzIGFuZCBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50CgkgIFNvbWV3aGF0IGF0IGxlYXN0LiBObyBpZGVhIHdoeSBpdCBkb2Vzbid0IHBpY2sgdXAgdGhlIGRlc2NyaXB0aW9uCgkgIG9yIGV4YW1wbGUgcGlwZWxpbmUuCgoyMDEyLTAzLTE4IDAwOjExOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBtYWtlIG1vc3QgcHJvcGVydGllcyBjb250cm9sbGFibGUgYW5kIGZsYWcgdGhlbSBhcyBtdXRhYmxlLXBsYXlpbmcKCjIwMTItMDMtMTcgMjM6NDE6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBwcm9wZXJ0aWVzIGZvciBwb3NpdGlvbmluZyBhbmQgc2l6aW5nCgoyMDEyLTAzLTE3IDIwOjE4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1ZjogYWRkIGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudAoJICBTdGlsbCBsYWNrcyBmZWF0dXJlcyBzdWNoIGFzIHBvc2l0aW9uaW5nIG9yIHJlc2l6aW5nLCBvcgoJICBhbmltYXRpb25zLCBidXQgaXQncyB1c2FibGUgYWxyZWFkeSwgYW5kIHN1cHBvcnRzIGxvdHMgb2YKCSAgZm9ybWF0cy4KCjIwMTItMDMtMTYgMjI6NTI6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBkb24ndCBwb2tlIGludG8gYmFzZXRyYW5zZm9ybSBpbnRlcm5hbHMKCSAgQnV0IHVzZSB0aGUgbWV0aG9kcwoKMjAxMi0wMy0xNiAyMTo0NzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBkb24ndCBwYXNzIHJhbmRvbSBwb2ludGVycyB0byBwdWxsX3JhbmdlCgoyMDEyLTAzLTE1IDIyOjE1OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgdXBkYXJ0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIyOjExOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIwOjM3OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTEtMDctMTQgMTY6MjM6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IE1ha2Ugb3V0cHV0IGluIEFWQyBzdHJlYW0gZm9ybWF0IHdvcmsgZXZlbiB3aXRob3V0IGNvbXBsZXRlIHNwcm9wLXBhcmFtZXRlci1zZXQKCSAgVGhpcyBhbGxvd3Mgb3V0cHV0dGluZyBzdHJlYW1zIGluIEFWQyBmb3JtYXQgZXZlbiBpZiB0aGUgU1BTL1BQUyBhcmUgc2VudCBpbnNpZGUKCSAgdGhlIFJUUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTItMDMtMTUgMTQ6MDY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgYXBpIGNoYW5nZQoKMjAxMi0wMy0xNSAxMzozNzozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDEzOjM2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTQgMjE6MzY6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDE5OjU1OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdGFrZSBwYWRkaW5nIGludG8gYWNjb3VudAoKMjAxMi0wMy0xNCAxNzowNzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xNCAxNTo0NTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlcGx5IEZBTFNlIG9uIHNlcmlhbGl6ZWQgcXVlcmllcwoKMjAxMi0wMy0xMyAyMzowODozOCArMDEwMCAgQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBhZGQgc3VwcG9ydCBmb3IgOC0gYW5kIDE2LWJpdCBncmF5IGltYWdlcwoJICBBZGQgc3VwcG9ydCBmb3IgZGlyZWN0IGVuY29kaW5nIG9mIDgtIGFuZCAxNi1iaXQgYmlnIGVuZGlhbiBncmF5IGltYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjAyNQoKMjAxMi0wMy0xNCAxMToyMTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBtcDR2cGF5OiB3ZSBjYW4gYWxzbyBoYW5kbGUgeC1kaXZ4CgoyMDEyLTAzLTE0IDEwOjM5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogZG8gbm90IHNldCBvdXRwdXQgY2FwcyBkaXJlY3RseQoJICAuLi4gYnV0IHVzZSBiYXNlIGNsYXNzIGZ1bmN0aW9uIGluc3RlYWQuCgoyMDEyLTAzLTEzIDIxOjMxOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgbXA0dmRlcGF5OiBmaXggYnVmZmVyIGhhbmRsaW5nCgkgIERvbid0IGFsd2F5cyBvdXRwdXQgdGhlIHBheWxvYWQgc3ViYnVmZmVyLCB1c2UgYSBzZXBhcmF0ZSB2YXJpYWJsZSB0bwoJICBtYWtlIHRoaW5ncyBjbGVhcmVyIGFuZCB3aXRob3V0IHRoZSBlcnJvci4KCjIwMTItMDMtMTMgMjA6NDk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBtYWtlIGJ1ZmZlci1zaXplIHdvcmsgYWdhaW4KCjIwMTItMDMtMTMgMjA6MzY6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBTT19SQ1ZCVUYgaGFuZGxpbmcKCjIwMTItMDMtMTMgMTk6MjY6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IGxlYWsgdGhlIGFkZHJlc3MKCjIwMTItMDMtMTMgMTk6MjY6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IHVubWFwIG9uIGVtcHR5IHBhY2tldAoKMjAxMi0wMy0xMyAxODowNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBkbyBEVFMgYW5kIFBUUyBjb3JyZWN0bHkKCjIwMTItMDMtMTMgMTc6NTQ6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IERUUyBhbmQgUFRTIG9uIG91dHB1dCBidWZmZXJzCgkgIFNldCBQVFMgYW5kIERUUyBvbiBvdXRwdXQgYnVmZmVycyBpbnN0ZWFkIG9mIGp1c3QgdGhlIFBUUy4gSW4gc3RyZWFtaW5nIGNhc2VzCgkgIHlvdSB3YW50IHRvIHN5bmNocm9uaXplZCBlbmNvZGVkIGRhdGEgYmFzZWQgb24gdGhlIERUUyBiZWNhdXNlIHRoYXQgaXMKCSAgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nLgoKMjAxMi0wMy0xMyAxNzo1NDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGRlYnVnIGFkZGl0aW9uYWwgc2R0cCBmbGFnCgoyMDEyLTAzLTEzIDE3OjI3OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwOiBmaXggdW5tYXAgY2FsbHMKCjIwMTItMDMtMTMgMTM6MjU6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiBmaXggZm9ybWF0cywgd2UgY2FuIG5vdCBoYW5kbGUgUzggYnV0IG9ubHkgVTgKCjIwMTItMDMtMTMgMTI6NDA6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBzdHJlYW1oZWFkZXJzCgkgIEZpeCB0aGUgY2FwcyBvZiBmbGFjZW5jLCB0aGUgcmVmZXJlbmNlIGVuY29kZXIgb25seSBzdXBwb3J0IDI0IGJpdHMgaW4KCSAgMzIgYml0cy4KCSAgU2V0IHN0cmVhbWhlYWRlciBvbiBvdXRwdXQgY2Fwcy4KCjIwMTItMDMtMTIgMTc6MTc6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICB1cGRhdGUgZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTIgMTY6NDM6MjcgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjIDogYnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIDIuMzEuMTQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMQoKMjAxMi0wMy0xMiAxNToyNzoyNyArMDEwMCAgUm9zcyBCdXJ0b24gPHJvc3MgYXQgYnVydG9uaW5pLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZ2VuZXJhdGUgc2Vla3RhYmxlcyBldmVyeSAxMCBzZWMgYnkgZGVmYXVsdAoJICBTaW5jZSB0aGlzIGlzIHdoYXQgdGhlIGNvbW1hbmQgbGluZSB0b29sIGRvZXMgYXMgd2VsbCwgaXQgc2VlbXMgbGlrZQoJICBhIGJldHRlciBkZWZhdWx0LgoKMjAxMi0wMy0xMCAxMzo0NDowOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSB1bmxvY2sgcGFkIHdoZW4gaXQgd2FzIGxvY2tlZAoJICBUaGlzIGZpeGVzIHRoZSBtdXRleCBiZWluZyB1bmxvY2tlZCB0b28gbXVjaCBhbmQgZW5kaW5nIHVwIGFsbG93aW5nCgkgIG90aGVyIHRocmVhZHMgd2hlbiB0aGV5IHNob3VsZCBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE3NzYKCjIwMTItMDMtMDcgMTM6Mzk6NTAgKzAxMDAgIEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogYWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LWdyYXkgZm9ybWF0cwoJICBwbmdkZWMgY2FuIG5vdyBkZWNvZGUgZ3JheSA4LSBhbmQgMTYtYml0IGltYWdlcyB3aXRob3V0IGFscGhhIGNoYW5uZWwKCSAgZGlyZWN0IHRvIHZpZGVvL3gtcmF3LWdyYXkgZm9ybWF0LiAxNi1iaXQgZ3JheSBpbWFnZXMgaGF2ZSBiaWctZW5kaWFuCgkgIGZvcm1hdCwgYmVjYXVzZSBpdCdzIG5hdGl2ZSBQTkcgZW5kaWFubmVzcy4gR3JheSBpbWFnZXMgd2l0aCBhbHBoYQoJICBjaGFubmVsIHN0aWxsIGNvbnZlcnRlZCB0byBSR0JBLgoJICBTaWduZWQtb2ZmLWJ5OiBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoyMDEyLTAzLTA4IDE3OjA3OjUxICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIGdzdHJ0c3BzcmM6IGRpc2FibGUgUlRTUCBrZWVwLWFsaXZlIG9uIHJlcXVlc3QKCjIwMTItMDMtMTIgMTQ6NDg6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGZpeCBzdHJpZGUgaGFuZGxpbmcKCjIwMTItMDMtMTIgMTI6MjM6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICBmaXggZm9yIGNhcHMgX25vcm1hbGl6ZSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDExOjQ3OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlCgoyMDEyLTAzLTEyIDEwOjQzOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgZml4IGZvciBfZG9fc2ltcGxpZnkgY2hhbmdlcwoKMjAxMi0wMy0xMiAwODo0ODozMiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgZ3N0OiBGaXggc29tZSBxdWVyeSBsZWFrcwoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTEgMTk6MDY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEwIDEwOjUxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBmaXggdGVtcGxhdGUgY2FwcyByZWZjb3VudAoKMjAxMi0wMy0wOSAxNTo1MzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVzZSBvZiBBQ19MQU5HX1BST0dSQU0KCSAgTm8gbmVlZCB0byBpbmNsdWRlIHRoZSBpbnQgbWFpbiAoKSB7IH0gYml0cywgdGhlIGJvZHkgaXMgZW5vdWdoLgoKMjAxMi0wMy0wOSAxNToyNTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGF1dG9nZW4uc2ggd2FybmluZ3MKCSAgY29uZmlndXJlLmFjOjQxMDogd2FybmluZzogQUNfTEFOR19DT05GVEVTVDogbm8gQUNfTEFOR19TT1VSQ0UgY2FsbCBkZXRlY3RlZCBpbiBib2R5CgoyMDEyLTAzLTA4IDEzOjA2OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgIGFhc2luazogcHJvcG9zZSB2aWRlb21ldGEgdXB0cmVhbQoJICBzdWJjbGFzcyBmcm9tIHZpZGVvc2luay4KCSAgUHJvcG9zZSB2aWRlb21ldGEgdXBzdHJlYW0gYmVjYXVzZSB3ZSBjYW4gaGFuZGxlIGl0IHdpdGggdGhlIHZpZGVvIGFwaS4KCjIwMTItMDMtMDggMDE6NTM6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgdW5yZWYgc2FtcGxlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTUzNAoKMjAxMi0wMy0wOCAxMTozNjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBpbXByb3ZlIG1vcmUgdGVzdHMKCjIwMTItMDMtMDggMTE6MjA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1ZnNpbmsuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDMtMDcgMTU6MjI6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBpbXByb3ZlIGNsZWFudXAKCSAgUmV1c2UgY2xlYW51cCBtZXRob2RzIHRvIG1ha2Ugc3VyZSB3ZSByZW1vdmUgYWxsIHBhZHMgY29ycmVjdGx5CgoyMDEyLTAzLTA3IDE1OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzZXQgY2FwcyB3aXRob3V0IHRoZSBsb2NrCgkgIFJlbGVhc2UgdGhlIGxvY2sgYmVmb3JlIHNldHRpbmcgdGhlIGNhcHMgb24gdGhlIHNyY3BhZCwgd2hpY2ggdHJpZ2dlcnMgYW4gZXZlbnQsCgkgIHdoaWNoIGNvdWxkIGV2ZW50dWFsbHkgY2FsbCBiYWNrIGludG8gdXMgYW5kIGNhdXNlIGEgZGVhZGxvY2suCgoyMDEyLTAzLTA3IDE0OjU1OjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBwdGRlbXV4OiBzZXQgY2FwcyBhZnRlciBhY3RpdmF0aW5nIHRoZSBwYWQKCSAgU2V0IHRoZSBjYXBzIGFmdGVyIHdlIGFjdGl2YXRlZCB0aGUgcGFkIG9yIGVsc2UgaXQgd2lsbCBqdXN0IGZhaWwuCgoyMDEyLTAzLTA3IDE0OjU0OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBhZGQgbGF5b3V0IHRvIGF1ZGlvIGNhcHMKCjIwMTItMDMtMDcgMTQ6NTE6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgbGF3OiB1c2UgR3N0QXVkaW9JbmZvCgkgIFVzZSBHc3RBdWRpb0luZm8gdG8gZ2VuZXJhdGUgb3V0cHV0IGNhcHMuCgoyMDEyLTAzLTA3IDA0OjIwOjAwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdGRlbXV4OiBjb3ZlcnQgYXJ0IHRhZyB0eXBlIGlzIEdzdFNhbXBsZSBub3QgR3N0QnVmZmVyIG5vdwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNTM0CgoyMDEyLTAzLTA3IDEwOjI4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogZml4IFBPVEZJTEVTLmluIGZvciBuZXcgd2F2cGFja3BhcnNlIGxvY2F0aW9uIGluIHNvdXJjZSB0cmVlCgoyMDEyLTAzLTA2IDIxOjQ0OjM2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IENoYW5nZSB0aGUgZGVmYXVsdCBwb3J0IHRvIDUwMDQKCSAgdWRwc3JjL3VkcHNpbmsgYXJlIGFsbW9zdCBhbHdheXMgdXNlZCB3aXRoIFJUUCwgc28gbGV0J3MgdXNlIGFuCgkgIFJUUCBwb3J0IGFzIHRoZSBkZWZhdWx0IHBvcnQuICBJdCdzIHVuY2xlYXIgd2h5IDQ5NTEgd2FzIHVzZWQsIGl0CgkgIGdvZXMgYmFjayB0byBlYXJseSBjb21taXRzIGluIENWUy4KCjIwMTItMDMtMDYgMjE6MzY6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWVyZ2UgYnJhbmNoICcwLjExJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTItMDMtMDYgMTU6NTg6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTQ6MjU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICB3YXZwYWNrOiBGaXggcG9zc2libGUgdW5kZXJmbG93IG9mIHVuc2lnbmVkIGludGVnZXIgdmFyaWFibGUKCjIwMTItMDMtMDYgMTQ6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJwoJICBUaGlzIHZhcmlhYmxlIGNhbiBuZXZlciBiZSBiZWxvdyB6ZXJvIGFueXdheS4KCjIwMTItMDMtMDYgMTQ6MTg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgY29ycmVjdCBlbnVtIGZvciByZXR1cm4gdmFsdWVzCgoyMDEyLTAzLTA2IDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJICBkdmRlcGF5OiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgkgIFRoaXMgd2FzIGFuIGFjdHVhbCBidWcgYXMgaXQgY291bGQndmUgY2F1c2VkIHJlYWRpbmcgZnJvbQoJICBpbnZhbGlkIG1lbW9yeSBhcmVhcyB3aGVuIHRoZSBpbnB1dCBpcyBicm9rZW4uCgoyMDEyLTAzLTA2IDEzOjIxOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCAndmFyaWFibGUgJ29sZGJ4JyBpcyB1bmluaXRpYWxpemVkIHdoZW4gdXNlZCBoZXJlJyBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMy0wNiAxMzoxOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCAnaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdERlaW50ZXJsYWNlRmllbGRzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnR3N0RGVpbnRlcmxhY2VNb2RlJycgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNSAxNToyOTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgZ2RrOiBjbGVhbnVwcyBhbmQgZml4IHJvd3N0cmlkZQoJICBGaXggdGhlIG91dHB1dCByb3dzdHJpZGUsIHdlIG5lZWQgdG8gdGFrZSB0aGUgc3RyaWRlIG9mIHRoZSBvdXRwdXQgdmlkZW8gZnJhbWUuCgkgIFNpbmNlIHdlIGFyZSBhbHNvIGRlYWxpbmcgd2l0aCBwbGFuZXMsIHRha2UgdGhlIHBsYW5lIGRhdGEgYW5kIHN0cmlkZS4KCSAgRG9uJ3Qgc3RvcmUgdGhlIHNhbWUgaW5mbyB0d2ljZSBpbiBkaWZmZXJlbnQgdmFyaWFibGVzLgoKMjAxMi0wMy0wNSAxMzozMTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWY6IGZpeCBldmVudCBoYW5kbGluZwoKMjAxMi0wMy0wNSAxMjoyMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogcG9ydCB3YXZwYWNrIHRlc3RzIHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6MzY6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgd2F2cGFja2RlYzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA1IDEyOjE3OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzozNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgd2F2cGFjazogcmVtb3ZlIGxlZ2FjeSB3YXZwYWNrcGFyc2UKCjIwMTItMDMtMDUgMTI6MTU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBwb3J0IHdhdnBhY2twYXJzZSB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjI5OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmgKCSAgc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jCgoyMDEyLTAzLTA1IDEyOjQzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB4LXJhdy1iYXllciAtPiB4LWJheWVyCgoyMDEyLTAzLTA1IDExOjE3OjMwICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICB2NGwyc2luazogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgWEtleWNvZGVUb0tleXN5bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjk5CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMy0wNSAxMjowMzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZTogdXNlIG5ldyBzdHlsZSBjYXBzCgoyMDEyLTAzLTA1IDEwOjQ5OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogYWxsb3cgc29tZSB0aW1lc3RhbXAgdG9sZXJhbmNlIHRvIGFycmFuZ2UgZm9yIHBlcmZlY3QgdGltZXN0YW1waW5nCgkgIC4uLiB3aGljaCBhbHNvIGhhcHBlbnMgdG8gbWFrZSBzb21lIG1vcmUgdW5pdCB0ZXN0cyBwYXNzLgoKMjAxMi0wMy0wNSAxMDo0Nzo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGZpeCBjb3B5aW5nIG91dHB1dCBkYXRhCgoyMDEyLTAzLTA1IDEwOjQ2OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcmVzdG9yZSBsZWdhY3kgYnVmZmVyIG9mZnNldCBkZWNvcmF0aW5nIHNvbWV3aGF0CgkgIC4uLiBhdCBsZWFzdCBzdWZmaWNpZW50bHkgdG8gYWlkIGluIHJlY29nbml6aW5nIHJld3JpdHRlbiBoZWFkZXIgYnVmZmVyCgkgIG1ha2luZyB1bml0IHRlc3QgcGFzcy4KCjIwMTItMDMtMDUgMTA6NTE6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IGluaXRpYWxpemUgaGVhZGVyIHRvIHNpbGVuY2Ugb2xkZXIgZ2NjIHZlcnNpb25zCgoyMDEyLTAzLTA1IDEwOjQ1OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogcmVtb3ZlIGVtcHR5IGxpbmVzIGluIHZhcmFibGUgZGVjbGFyYXRpb25zIGNhdXNlZCBieSBvbGQgaW5kZW50CgoyMDEyLTAzLTA1IDEwOjQ0OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBqYWNrOiBmaXggb2J2aW91cyB3cm9uZyBkZWZpbml0aW9uIGZvciB0aGUgbWFzdGVyIGZsYWcKCjIwMTItMDMtMDQgMTk6NTU6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGNoYW5nZSB0aGUgdHJhbnNwb3J0LW1vZGUgZW51bSBpbnRvIGZsYWdzCgkgIE9uZSBjYW4gdXNlIChvciBub3QgdXNlKSBtYXN0ZXIgYW5kIHNsYXZlIG1vZGUgaW5kZXBlbmRlbnRseS4KCjIwMTItMDMtMDIgMTE6NDk6MDIgLTA1MDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHN1cHBvcnQgdXAgdG8gNiBjaGFubmVscyBvZiBBQy0zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMjAKCjIwMTItMDMtMDMgMTM6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2xlYXIgRElTQ09OVCBmbGFnIHdoZW4gcmVjeWNsaW5nIGJ1ZmZlcnMgaW50byB0aGUgYnVmZmVyIHBvb2wKCSAgVGhlIGJhc2UgY2xhc3MgbWF5IGhhdmUgc2V0IHRoZSBESVNDT05UIGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBwdXNoZWQKCSAgb3V0LiBXZSBuZWVkIHRvIGNsZWFyIHRoYXQgd2hlbiByZWN5Y2xpbmcgYnVmZmVycyBiYWNrIGludG8gdGhlIGJ1ZmZlcgoJICBwb29sLCBvdGhlcndpc2Ugd2UgY29uc3RhbnRseSBwdXNoIG91dCBidWZmZXJzIHdpdGggdGhlIGRpc2NvbnQgZmxhZwoJICBzZXQsIHdoaWNoIG1pZ2h0IHVwc2V0IGRvd25zdHJlYW0gZWxlbWVudHMsIGVzcC4gZm9yIGNvbXByZXNzZWQKCSAgZm9ybWF0cyBsaWtlIG1wZWctdHMuCgoyMDEyLTAzLTAxIDE0OjE1OjI5ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX211bm1hcCgpIGZvciBjb21wcmVzc2VkIGZvcm1hdHMKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBjYWxsIG11bm1hcCgpIHdpdGggdGhlIHNhbWUgc2l6ZSB3ZSBjYWxsZWQgbW1hcCgpCgkgIHdpdGggYmVmb3JlLgoJICBDdXJyZW50IHY0bDJzcmMgdXNlcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgZm9yIFZJRElPQ19RVUVSWUJVRiwgVklESU9DX1FCVUYKCSAgYW5kIHY0bDJfbXVubWFwIGNhbGxzLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSB2aWRlbyBidWZmZXIgc2l6ZSAobGVuZ3RoKQoJICBtYXkgdmFyeSBmb3IgY29tcHJlc3NlZCBvciBlbXVsYXRlZCBidWZzLiBWSURJT0NfUUJVRiB3aWxsIGNoYW5nZSBpdCBpZgoJICB3ZSBwYXNzIHRoZSBwb2ludGVyIG9mIGEgdjRsMl9idWZmZXIuIFRoaXMgaXMgd2h5IHdlIHNob3VsZCBhdm9pZCB1c2luZwoJICBzYW1lIHZhcmlhYmxlIGZvciBtbWFwIGFuZCB2aWRlbyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTI2CgoyMDEyLTAzLTAyIDExOjE3OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIHRoZSBnc3RtYXJzaGFsLltjaF0gcmVtb3ZhbAoKMjAxMi0wMy0wMiAxMDoxMzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgIG1peGVyL2NvbG9yYmFsYW5jZTogVXBkYXRlIGZvciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0wMSAxNzoxNTo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiBmaXggc3RyaWRlCgoyMDEyLTAzLTAxIDExOjM2OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogZGlzYWJsZSBub24tcG9ydGVkIHdhdnBhY2twYXJzZQoKMjAxMi0wMy0wMSAxMToyOTo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmMKCSAgdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jCgoyMDEyLTAyLTI5IDIyOjMxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTItMDItMjkgMjI6MzA6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZnNjYWxlOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMi0wMi0yOSAyMjoyODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBnZGtwaXhidWZzaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMjI6MjU6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgZ2RrcGl4YnVmc2NhbGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAyMjoyNDo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIGdka3BpeGJ1ZmRlYzogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDE3OjI2OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZXMKCjIwMTItMDItMjggMTM6NTE6MTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYmFzZXBhcnNlIGJhc2VkIHdhdnBhY2twYXJzZQoKMjAxMi0wMi0yOCAxMTozODo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIHRhZ3MKCjIwMTItMDItMjcgMjM6NDY6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogYWRqdXN0IHRvIGF1ZGlvIGZvcm1hdCBsaW1pdGF0aW9ucwoJICAuLi4gd2hpY2ggZG9lcyBub3QgYWxsb3cgZXhwcmVzc2luZyBhcmJpdHJhcnkgZGVwdGggaW4gYSBHc3RBdWRpb0Zvcm1hdC4KCSAgQWxzbyBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91ci4KCjIwMTItMDItMjcgMjM6NDY6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tkZWM6IGRldGVybWluZSBkZXB0aCBmcm9tIGJ5dGVzIHBlciBzYW1wbGUKCSAgLi4uIHJhdGhlciB0aGFuIGZyb20gYml0cyBwZXIgc2FtcGxlLCBzaW5jZSBzcGVjIHN0YXRlcyB2YWx1ZXMgYXJlIGFscmVhZHkKCSAgbGVmdCBqdXN0aWZpZWQgdy5yLnQuIGJpdHMgcGVyIHNhbXBsZSBidXQgbm90IHcuci50LiBieXRlcyBwZXIgc2FtcGxlCgkgIChhbmQgc28gdGhlIGxhdHRlciBkZXRlcm1pbmVzIHRoZSBub3JtYWxpemF0aW9uLCBvciBpbmRpY2F0ZWQgZGVwdGgpLgoKMjAxMi0wMi0yNyAyMzo0NjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgd2F2cGFja2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDItMjcgMjM6NDU6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCSAgQWxzbyBhZGp1c3QgdW5pdCB0ZXN0IHRvIHNsaWdodGx5IG1vZGlmaWVkIGJlaGF2aW91ci4KCjIwMTItMDItMjcgMTQ6NDc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgU3VwcHJlc3MgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gc2VsZWN0ZWQgZmlsZXMsIGZvciBnX3ZhbHVlX2FycmF5XyogbW9zdGx5CgoyMDEyLTAyLTI3IDEzOjA5OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNyAxMzowNTozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGV2ZW50IGhhbmRsaW5nCgkgIEZpeCBkb2RneSBzZWdtZW50IGV2ZW50IGhhbmRsaW5nCgkgIENoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI3IDA5OjE0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXNlIHB1YmxpYyBhcGkKCSAgaW5zdGVhZCBvZiBwb2tpbmcgaW50byB0aGUgcHJpdmF0ZSBzdHJ1Y3R1cmVzIG9mIHRoZSBiYXNlIGNsYXNzCgoyMDEyLTAyLTI3IDAxOjA5OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBmbHZtdXgsIG1hdHJvc2thbXV4LCBxdG11eDogaWYgaW4gZG91YnQgYWJvdXQgZG93bnN0cmVhbSBzZWVrYWJpbGl0eSBkZWZhdWx0IHRvIHN0cmVhbWluZz10cnVlCgkgIElmIGRvd25zdHJlYW0gZGlkbid0IGFuc3dlciBvdXIgU0VFS0lORyBxdWVyeSBhbmQgdG9sZCB1cwoJICBpdCdzIHNlZWthYmxlLCBkZWZhdWx0IHRvIHN0cmVhbWluZz10cnVlLiBXZSBjb3VsZG4ndCBkbwoJICB0aGlzIGluIDAuMTAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIGJ1dCB3ZQoJICBjYW4gaW4gMC4xMS4gUGxheSBpdCBzYWZlLgoKMjAxMi0wMi0yNyAwMTowMDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmMKCjIwMTItMDItMjcgMDA6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICdmOTIwNzcyMmNhOGZkOGRjYzFlNzIxNWQ4YWY4NWVmZTRkZWJmZGY0JyBpbnRvIDAuMTEKCjIwMTItMDItMjcgMDA6NTU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHVwIGFmdGVyIG1lcmdlCgoyMDEyLTAyLTI3IDAwOjQ4OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnMzg1MTZhZDM2NzEyOGQ4M2Y5ZTE1NjUyOTAxOGFkYjQ0MzNjZDMyOCcgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jCgoyMDEyLTAyLTI2IDIwOjM5OjUyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDItMjYgMjA6MzA6MjQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDItMjUgMTU6NTU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIHF0bXV4ICEgYXBwc2luayBwb3NzaWJseSBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjUgMTU6NDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2UgZmx2bXV4ICEgYXBwc2luayBwb3NzaWJseSBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjUgMTU6NDA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIHdlYm1tdXggISBhcHBzaW5rIGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNCAxMTowMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdXBkYXRlIGZvciBiYXNldHJhbnNmb3JtIGNoYW5nZQoKMjAxMi0wMi0yNCAxMDoyNjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIGNoYW5nZQoKMjAxMi0wMi0yMyAwODo0MjoyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS52Y3Byb2o6CgkgIGVmZW5jZTogcmVtb3ZlIHBsdWdpbgoJICBWYWxncmluZCBpcyBtdWNoIG1vcmUgdXNlZnVsIHRoZXNlIGRheXMuCgoyMDEyLTAyLTIzIDEyOjA1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkgIFVwZGF0ZSBORVdTIGFuZCBSRUxFQVNFIGFzIHdlbGwKCjIwMTItMDItMjMgMTE6MDc6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJ1bXAgdmVyc2lvbiBhZnRlciByZWxlYXNlCgoyMDEyLTAyLTIzIDEyOjAzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBhdWRpb2Z4OiByZW1vdmUgdHJhbnNmb3JtIGxvY2sgdXNhZ2UKCjIwMTItMDItMjMgMTE6MTY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdXBkYXRlIGZvciBiYXNldHJhbnNmb3JtIGxvY2sgcmVtb3ZhbAoKMjAxMi0wMi0yMiAyMzozNjo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgZGVidWd1dGlsczogZGlzYWJsZSBlZmVuY2UgcGx1Z2luIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgaXQgYnVpbHQgaWYgbW1hcCBpc24ndCBhdmFpbGFibGUgZWl0aGVyLi4KCjIwMTItMDItMjIgMTc6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZ2V0X2NhcHMgZnVuY3Rpb24gc29tZSBtb3JlIHNvIHRoYXQgYWxsIHN0cnVjdHVyZXMgaGF2ZSBjaGFubmVsIGluZm8KCSAgU2V0IGNoYW5uZWxzIGFuZCBjaGFubmVsLWxheW91dCBvbiB0aGUgcmlnaHQgc3RydWN0dXJlOyB0aGF0IGlzLCB0aGUKCSAgc3RydWN0dXJlIHdlIGFyZSBnb2luZyB0byBhcHBlbmQgdG8gdGhlIGNhcHMgd2UgYXJlIGJ1aWxkaW5nLCBhbmQgbm90CgkgIHRoZSBzdHJ1Y3R1cmUgd2UgYXJlIHVzaW5nIGFzIGEgdGVtcGxhdGUgZm9yIGFsbCB0aGUgc3RydWN0dXJlcy4gRml4ZXMKCSAgZmlyc3Qgc3RydWN0dXJlIG9mIHRoZSByZXR1cm5lZCBjYXBzIG5vdCBoYXZpbmcgYW55IGNoYW5uZWwgaW5mbyBzZXQKCSAgb24gaXQuCgoyMDEyLTAyLTIyIDE3OjA5OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IGxpc3QgYW5kIHN0cmluZyBjb3BpZXMKCjIwMTItMDItMjIgMTc6MDM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhdWRpbyBjYXBzIGhhdmUgYSAqbGlzdCogb2YgZm9ybWF0cywgbm90IGFuIGFycmF5IG9mIGZvcm1hdHMKCSAgQSBsaXN0IG9mIHRoaW5ncyBpbiBjYXBzIGlzIHNvbWV0aGluZyB3aGVyZSBvbmUgaXMgcGlja2VkIGluIHRoZQoJICBjb3Vyc2Ugb2YgbmVnb3RpYXRpb24uIEFuIGFycmF5IGlzIGFsd2F5cyBzb21ldGhpbmcgdGhhdCBvbmx5IG1ha2VzCgkgIHNlbnNlIGFzIGEgd2hvbGUgaW4gdGhhdCBvcmRlci4KCjIwMTItMDItMjIgMTg6MDI6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgcG9zdC1wb3J0IGJvZ3VzIF91bnJlZgoKMjAxMi0wMi0yMiAxNzowMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBib2d1cyBwYWQgbG9ja2luZyB0aGF0IGNhdXNlcyBkZWFkbG9ja3MKCSAgSXQncyBub3QgY2xlYXIgd2h5IHRoZSBwYWQgb2JqZWN0IGxvY2sgaXMgdGFrZW4gaGVyZS4gQnV0CgkgIGdzdF9wYWRfe2hhcyxnZXR9X2N1cnJlbnRfY2FwcygpIHdpbGwgdHJ5IHRvIHRha2UgdGhlIGxvY2sKCSAgYXMgd2VsbCBhbmQgZGVhZGxvY2ssIHNpbmNlIGl0J3Mgbm90IHJlY3Vyc2l2ZS4KCjIwMTItMDItMjIgMTY6NTk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBzZXQgcmlnaHQgbnVtYmVyIG9mIGNoYW5uZWxzIG9uIGNhcHMgaW4gZ2V0X2NhcHMgZnVuY3Rpb24KCjIwMTItMDItMjEgMTc6MTY6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogYXZvaWQgdG91Y2hpbmcgLnBvIGZpbGVzIGR1cmluZyAnbWFrZScKCSAgQSBzaW1wbGUgd29ya2Fyb3VuZCB0byBkZWFsIHdpdGggR05VIGdldHRleHQgYXV0b21ha2UgaW50ZWdyYXRpb24KCSAgZmFpbGluZyB0byBkZWFsIHdpdGggZ2l0LiAgRml4ZXM6ICM2NjkyMDcKCjIwMTItMDItMjIgMDI6MDY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0yMSAxNzo1Nzo0NCArMDEwMCAgVmluY2VudCBVbnR6IDx2dW50ekBnbm9tZS5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IEZpeCBhIGJ1aWxkIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBhc3NlcnRzIGRpc2FibGVkCgkgIFJldHVybiBhIHZhbHVlIGV2ZW4gaWYgdGhlIGNvZGUgd2lsbCBuZXZlciBiZSByZWFjaGVkLCB0byBtYWtlIGNvbXBpbGVycwoJICBoYXBweS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDU2MQoKMjAxMi0wMi0yMSAxODo0MjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHN1cHBvcnQgcGFyc2luZyBmcmVlZm9ybSBiaXRyYXRlIHN0cmVhbQoKMjAxMi0wMi0yMSAxODozOToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIG1vbm9zY29wZTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTIxIDEwOjUzOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0yMCAxMjoyMjoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGb3JjZSBiYXNlbGluZSBpcyBwcm9maWxlLWxldmVsLWlkIGlzIHVuc3BlY2lmaWVkCgoyMDEyLTAyLTIxIDEwOjQwOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggbWVyZ2UgZXJyb3IKCjIwMTItMDItMjAgMTI6MjI6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRm9yY2UgYmFzZWxpbmUgaXMgcHJvZmlsZS1sZXZlbC1pZCBpcyB1bnNwZWNpZmllZAoKMjAxMi0wMi0yMCAxNjozNToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yNiAwMzoyOToyOCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yNiAwNjo1ODo0NiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAyLTE4IDExOjM4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBmaXggdXAgbGV2ZWwgdGVzdCBmb3IgR3N0VmFsdWVMaXN0IC0+IEdWYWx1ZUFycmF5IGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMzAzCgoyMDEyLTAyLTE2IDE4OjAxOjI5ICswMjAwICBQZXRlcmlzIEtyaXNqYW5pcyA8cGVjaXNrQGdtYWlsLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogdXNlIEdWYWx1ZUFycmF5IGluc3RlYWQgb2YgR3N0VmFsdWVMaXN0IGluIG1lc3NhZ2VzCgkgIFVwZGF0ZWQgR3N0TGV2ZWwgZWxlbWVudCB0byB1c2UgR1ZhbHVlQXJyYXkgaW5zdGVhZCBvZgoJICBHc3RWYWx1ZUxpc3QgZm9yIHJtcy9wZWFrL2RlY2F5IGtleXMgYXR0YWNoZWQgdG8gZWxlbWVudAoJICBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMzAzCgoyMDEyLTAyLTE4IDAwOjAwOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBkZXZlbG9wbWVudAoKMjAxMi0wMi0xNyAyMzo1NDoyOSArMDEwMCAgRG9taW5pcXVlIExldWVuYmVyZ2VyIDxkb21pbmlxdWUtZ25vbWV6aWxsYSBhdCBsZXVlbmJlcmdlci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIE5vIGxvbmdlciByZWZlcmVuY2UgZGVwcmVjYXRlZCBoZWFkZXIgZmlsZXMgd2hpbGUgYnVpbGRpbmcgZG9jcy4KCjIwMTItMDItMTcgMjM6NDk6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYwoKMjAxMi0wMi0xNyAxNzoyMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGZpeCBzd2l0Y2hpbmcgZnJvbSBwYXNzdGhyb3VnaCB0byBub24tcGFzc3Rocm91Z2ggd2hlbiBwYXJhbWV0ZXJzIGNoYW5nZQoJICBjb21taXQgYjViZjAyOTQgbW92ZWQgdGhlIGlmKG5lZWRfbmV3X2NvZWZmaWNpZW50cykgc2V0X3Bhc3N0aHJvdWdoKGVxdSkKCSAgYWZ0ZXIgdGhlIGlmKGlzX3Bhc3N0aHJvdWdoKSByZXR1cm4gRkxPV19PSyBzaG9ydGN1dCwgc28gdGhlIHBhc3N0aHJvdWdoCgkgIG1vZGUgd291bGQgbmV2ZXIgZ2V0IHVwZGF0ZWQgZXZlbiBpZiB0aGUgY29lZmZpY2llbnRzIGNoYW5nZS4KCSAgRml4ZXMgZXF1YWxpemVyLXRlc3QgZG9pbmcgLi4gbm90aGluZy4KCjIwMTItMDItMTcgMTc6NTc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20qOiBmaXggbGVha2VkIGNhcHMgZXZlbnQKCjIwMTItMDItMTcgMTM6MjY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcGFyc2UgZWl0aGVyIFhpbmcgb3IgVkJSSSBkYXRhCgkgIC4uLiBhbmQgYXZvaWQgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2UgY2xhaW1pbmcgbmVpdGhlciBwcmVzZW50LgoKMjAxMi0wMi0xNyAxNDozODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrOiBmaXggc2VnbWVudCB1cGRhdGUKCjIwMTItMDItMTcgMTE6MDU6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMSA9PT0KCjIwMTItMDItMTcgMTE6MDQ6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJICBSRUxFQVNFIDAuMTEuMQoKMjAxMi0wMi0xNiAyMzozMzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBidWZmZXIgbGVhawoKMjAxMi0wMi0xNiAyMzo0MDo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDItMTYgMjM6MzM6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTE2IDE1OjMxOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wMi0xNiAxNToyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTE0IDExOjU2OjAwICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogcG9ydCB0byAwLjExCgkgIFBvcnQgb2YgdGhlIGludGVybGVhdmUgZWxlbWVudCBhbmQgaXRzIHVuaXR0ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY0MwoKMjAxMi0wMi0xNiAxNDoyMzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTYgMTc6MTQ6MjAgKzA4MDAgIEdhcnkgQ2hpbmctUGFuZyBMaW4gPGNoaW5ncGFuZ0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZhaWx1cmUgdG8gcXVlcnkgc29tZSBvcHRpb25hbCBjb250cm9scyBpcyBub3QgYSBmYXRhbCBlcnJvcgoJICBEb24ndCBwb3N0IGEgKGZhdGFsKSBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMganVzdCBiZWNhdXNlIHdlCgkgIGZhaWxlZCB0byBxdWVyeSBzb21lIGNvbnRyb2wuIEZpeGVzIGlzc3VlIHdpdGggYnVpbHQtaW4KCSAgU3V5aW4gQ29ycCB3ZWJjYW0gZm9yIEhQIG5vdGVib29rICh1c2JpZCAwNjRlOmUyOGEpIG9uCgkgIE9wZW5TdXNlIDEyLjEsIHdoZXJlIHF1ZXJ5aW5nIHJlZC9ibHVlIGJhbGFuY2UgZmFpbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAxOTcKCjIwMTItMDItMTYgMTI6NTk6MTAgKzAwMDAgIFR1dWtrYSBQYXNhbmVuIDx0dXVra2EucGFzYW5lbkBpbG1pLmZpPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBmaXggZm9yIHdlYmNhbXN0dWRpbyB2bG9vcGJhY2sKCSAgQmVjYXVzZSB2bG9vYmFjayBlbWl0cyAyNSAtIEVOT1RUWSBhbmQgbm8gRUlOVkFMIHY0bDJzcmMgdGhvdWdodCBpdAoJICBjYW4ndCBoYW5kbGUgdGhpcyBhbmQgZG9lcyBub3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTQ1NQoKMjAxMi0wMi0xNiAxMToyMToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jawoJICBJdCdzIGhvdyB3ZSByb2xsLiBGaXhlcyAnSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZScKCSAgY29tcGlsZXIgd2FybmluZy4KCjIwMTItMDItMTUgMjM6NTU6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBmaXggc3BlY3RydW0gZXhhbXBsZSBidWlsZCBpc3N1ZXMKCSAgRmluZCBmZnQgaGVhZGVycyBpbiB1bmluc3RhbGxlZCBzZXR1cCwgZml4IExJQlMgb3JkZXIuCgoyMDEyLTAyLTE1IDEyOjQxOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVtb3ZlIHNvbWUgdW51c2VkIGRlY2xhcmF0aW9ucwoKMjAxMi0wMi0xNSAxMToyNTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICBzcGVjdHJ1bS1kZW1vOiBzaG93IHRoZSBlZmZlY3Qgb2YgZmFzdC1tb2RlCgoyMDEyLTAyLTE0IDEyOjI2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgYXNwZWN0cmF0aW9jcm9wOiBmaXggY2FwcyByZWZjb3VudAoKMjAxMi0wMi0xNCAxMToyMjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIHRlc3RzOiBmaXggdGVzdCwgdXNlIHZpZGVvY29udmVydAoKMjAxMi0wMi0xNCAxMDo1MTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYwoKMjAxMi0wMi0wOSAxMzo0MTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxNzoxMzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlCgoyMDEyLTAyLTEzIDEyOjA2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICB0ZXN0czogZmxhY3BhcnNlOiBjaGVjayBhbmQgY29tcGFyZSBpbnRlbmRlZCBkYXRhCgoyMDEyLTAyLTEyIDE3OjAzOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2MKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYwoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmgKCjIwMTItMDItMTIgMTY6MjI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkgIHRhZ2xpYjogcG9ydCB0byBHc3RUYWdNdXggYmFzZSBjbGFzcwoKMjAxMi0wMi0xMiAxMjoyNDo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICB0YWdsaWI6IGZpbmlzaCBvZmYgYSBmZXcgbWlzc2VkIHZhcmlhYmxlIGNoYW5nZXMKCSAgTG9jYWwgdmFyaWFibGVzIGFyZSBub3cgdW51c2VkLCBhbmQgdGhlIHZhbHVlcyBmcm9tIHRoZSBzZWdtZW50IGNvcHkKCSAgYXJlIHVzZWQgaW5zdGVhZCwgc28gcmVtb3ZlIHRoZSBub3cgdXNlbGVzcyBsb2NhbCB2YXJpYWJsZXMgYW5kIHdyaXRlCgkgIHRvIHRoZSBzZWdtZW50IHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAxMi0wMi0xMCAxNjoyMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jCgkgIGV4dC9wdWxzZS9wbHVnaW4uYwoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYwoKMjAxMi0wMi0wOCAyMzowMzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYWRkIHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCB0byBoMjY0IHNpbmsgY2FwcwoJICBXZSdyZSBoYXBweSB0byBhY2NlcHQgYm90aCBieXRlLXN0cmVhbSBhbmQgYXZjLCBhZHZlcnRpc2UKCSAgdGhhdCBvbiB0aGUgc2luayBjYXBzIGFuZCBmaXggdXAgX2dldF9jYXBzKCkgZnVuY3Rpb24gdG8KCSAgbm90IGp1c3QgcmV0dXJuICJ2aWRlby94LWgyNjQiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEyLTAyLTA4IDIwOjU4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYWRkIHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCBmaWVsZHMgdG8gc3JjIHRlbXBsYXRlIGNhcHMKCSAgQmVjYXVzZSB3ZSBjYW4uIEFuZCBzbyB3ZSBnZXQgYSB3YXJuaW5nIGlmIHdlIHRyeSB0byBvdXRwdXQgYXZjIHdpdGgKCSAgbmFsIGFsaWdubWVudCBvciBzb21lc3VjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMi0wMi0xMCAxMzo0NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogY2xlYW4gdXAgcnRwLXBheWxvYWRpbmcgdGVzdCBhIGxpdHRsZQoJICBGZWVkIGRhdGEgaW50byB0aGUgcGlwZWxpbmUgdXNpbmcgYXBwc3JjIGluc3RlYWQgb2YgZmRzcmMgYW5kCgkgIGEgcGlwZS4gU3RvcmUgdW5zaWduZWQgYnl0ZSB2YWx1ZXMgaW4gZ3VpbnQ4IGluc3RlYWQgb2YgY2hhci4KCSAgR2V0dGluZyByaWQgb2YgdGhlIGNhcHNmaWx0ZXIgYWxzbyBoZWxwcyB0byBhdm9pZCAnZm9ybWF0IGlzCgkgIG5vdCBmdWxseSBzcGVjaWZpZWQnIHdhcm5pbmdzIHdoZW4gcHVzaGluZyAidmlkZW8veC1oMjY0IiBkYXRhCgkgIGludG8gcnRwaDI2NHBheSB3aXRoIGZ1bGx5IHNwZWNpZmllZCBoMjY0IGNhcHMgaW4gdGhlIHNpbmsgdGVtcGxhdGUuCgoyMDEyLTAyLTEwIDEwOjA3OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IHVzZSBkZWZhdWx0IHBhZCBxdWVyeQoJICBXZSBuZWVkIHRvIGNoYWluIHVwIHVua25vd24gcXVlcmllcyB0byB0aGUgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIGluc3RlYWQgb2YKCSAgYmxpbmRseSBmb3J3YXJkaW5nIHRoZW0uIEluIHRoaXMgY2FzZSBpdCBjYXVzZWQgdGhlIGNhcHMgcXVlcnkgdG8gYmUgZm9yd2FyZGVkCgkgIHRvIHRoZSB1cHN0cmVhbSB0eXBlZmluZCBhbmQgcmV0dXJuIHRoZSB3cm9uZyB0eXBlIGZvciB0aGUgYXVkaW8vdmlkZW8gcGFkLgoKMjAxMi0wMi0wOSAyMjoxMjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICB0ZXN0czogbXBlZ2F1ZGlvcGFyc2U6IHJlbW92ZSBzdHJheSBkZWNsYXJhdGlvbgoKMjAxMi0wMi0wOSAyMjowNzo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBjb3JyZWN0bHkgc2V0IEFESUYgc3JjIGNhcHMKCjIwMTItMDItMDkgMjI6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcHJldmVudCBhIGZldyBkaXJlY3QgZXhpdHMgd2l0aG91dCBjbGVhbnVwCgoyMDEyLTAyLTA5IDIyOjA3OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2hpZnQgaW4gcHJvcGVyIGRpcmVjdGlvbiBmb3IgYXVkaW8gc2FtcGxlIGNvbnZlcnNpb24KCjIwMTItMDItMDkgMTg6MDk6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMi0wOSAxMDoxMTo0OCArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogdHlwbyBmaXggKGJ5dGVzIHNlbmQgLT4gYnl0ZXMgc2VudCkKCjIwMTItMDItMDggMTY6MzQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgR1NUX0ZMT1dfV1JPTkdfU1RBVEUgLT4gR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTItMDItMDggMTY6Mzc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgR1NUX0ZMT1dfV1JPTkdfU1RBVEUgLT4gR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTItMDItMDcgMTQ6MTA6NDQgLTA4MDAgIFJhbHBoIEdpbGVzIDxnaWxlc0Btb3ppbGxhLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IHNlbmQgdmlkZW8vd2VibSB0aHJvdWdoIGxpYnNob3V0LgoJICBUaGlzIHJlcXVpcmVzIFNIT1VUX0ZPUk1BVF9XRUJNLCBhZGRlZCBpbiBsaWJzaG91dCAyLjMuMCwKCSAgc28gdmlkZW8vd2VibSBzdXBwb3J0IGlzIGNvbnRpbmdlbnQgb24gdGhhdCBzeW1ib2wgYmVpbmcKCSAgZGVmaW5lZC4KCSAgQWxzbyBhbiBpbmRlbnRhdGlvbiBjaGFuZ2UgcmVxdWlyZWQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTU5MAoKMjAxMi0wMS0zMCAxNjo0MDoxOSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBwb3J0IHRvIDAuMTEKCSAgUG9ydCBvZiB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQgYW5kIGl0cyB1bml0dGVzdHMuIFRoZSBpbnRlcmxlYXZlCgkgIGVsZW1lbnQgd2lsbCBiZSBwb3J0ZWQgYXMgcGFydCBvZiBhbm90aGVyIHBhdGNoLCBoZW5jZSBkaXNhYmxpbmcgaXQKCSAgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODg0NwoKMjAxMi0wMi0wNyAyMzo0MToxMyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNvbXBpbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjA3CgoyMDEyLTAyLTA4IDAwOjA4OjQ5ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiBQb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTYxMgoKMjAxMi0wMi0wNyAyMTo1Nzo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiByZXdvcmsgdHJhbnNwb3J0IHN1cHBvcnQKCSAgTW92ZSBjb21tb24gY29kZSB0byBqYWNrY2xpZW50LiBUaGVyZSB3ZSBjYW4gYWxzbyBoYW5kbGUgdGhlIHJlcXVlc3Qgc3RhdGUKCSAgbWVzc2FnZSBpbiBhIGJldHRlciB3YXksIGFzIHRoZSBlbGVtZW50IGNhbGxiYWNrcyBhcmUgb25seSBydW4gaWYgdGhlIGVsZW1lbnQgaXMKCSAgYWN0aXZlLgoKMjAxMi0wMi0wNyAxMDo0NzoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIHRlc3RzOiBpbXByb3ZlIHRhZ211eCB0ZXN0cwoKMjAxMi0wMi0wNyAxMDoyOToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHRhZ2xpYjogZml4IG9iamVjdCByZWdpc3RyYXRpb24KCSAgV2UgY2FuJ3QgdXNlIEdfREVGSU5FX1RZUEUgYmVjYXVzZSB0aGUgY2xhc3MgaXMgbm90IHNldCBpbiB0aGUgY2xhc3NfaW5pdCBhbmQgd2UKCSAgbmVlZCBpdCB0byBnZXQgdGhlIHNyY3BhZCB0ZW1wbGF0ZS4KCSAgRml4IGEgY2FwcyBsZWFrCgoyMDEyLTAyLTA3IDEwOjE2OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICB0ZXN0czogZml4IGpwZWcgdGVzdAoKMjAxMi0wMi0wNyAxMDoxNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCBjYXBzCgoyMDEyLTAyLTA3IDA5OjU0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHR2OiBmaXggaW5pdGlhbGlzYXRpb24KCjIwMTItMDItMDcgMDk6NDI6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IGZpeCBuZWdvdGlhdGlvbgoKMjAxMi0wMi0wNyAwOTo0MTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMjI6MTM6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHY6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wNiAxODozNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdDogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTU6NTI6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDE1OjUyOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IGZpeCBjYXBzCgoyMDEyLTAyLTA2IDE1OjIwOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIGlpcmVxdWFsaXplcjogZml4IGVxdWFsaXplciBhbmQgdW5pdCB0ZXN0CgoyMDEyLTAyLTA2IDEzOjQ0OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTM6NDM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHRha2UgdGhlIHBhZCBmcm9tIGNvbGxlY3RwYWRzMiBjb3JyZWN0bHkKCjIwMTItMDItMDYgMTM6Mjk6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMi0wMi0wNiAxMzoyODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IGZpeCBuZWdvdGlhdGlvbgoKMjAxMi0wMS0yOCAxMToxMzoxNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgcG9zdGluZyBpbnZhbGlkIGR1cmF0aW9uIGZvciBlYWNoIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY1ODMKCjIwMTItMDItMDYgMTA6MDc6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAwOTo0OTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBpbXByb3ZlIHNvbWUgdGVzdHMKCjIwMTItMDItMDYgMDk6MjM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGZpeCBqaXR0ZXJidWZmZXIgdGVzdAoKMjAxMi0wMi0wNiAwOToyMzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBjYXBzIGFmdGVyIHB0IGNoYW5nZQoKMjAxMi0wMi0wNiAwOToxODoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDItMDMgMjI6MDU6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICBwdWxzZWF1ZGlvc2luazogTG93ZXIgcmFuayB0byBwcmV2ZW50IGF1dG9wbHVnZ2luZwoJICBwdWxzZWF1ZGlvc2luayBicmVha3MgdmlzdWFsaXNhdGlvbnMgaW4gaXRzIGN1cnJlbnQgZm9ybSwgc28gbGV0J3MKCSAgcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIGZvciB0aGUgdGltZSBiZWluZy4KCSAgVGhlIGJlc3Qgd2UgY2FuIGhvcGUgdG8gZG8gaW4gdGhlIDAuMTAgc2VyaWVzIGlzIHF1ZXJ5IHRoZSBsaXN0IG9mCgkgIGF2YWlsYWJsZSBzaW5rcyBhbmQgdGhlaXIgZm9ybWF0cywgYW5kIGV4cG9zZSB0aGVzZSBhcyB0aGUgYmluJ3Mgc2lua3BhZAoJICBjYXBzLiBXaGlsZSB0aGlzIGlzIG5vdCBhIGNvbXByZWhlbnNpdmUgc29sdXRpb24sIGl0IHdpbGwgbWFrZSBzdXJlIHRoYXQKCSAgd2UncmUgb25seSB0cnlpbmcgdG8gc3VwcG9ydCBjb21wcmVzc2VkIGZvcm1hdHMgaWYgd2UncmUgY2VydGFpbiB0aGF0CgkgIG9uZSBleGlzdHMuCgkgIFRoZSBsb25nLXRlcm0gZml4IGZvciB0aGlzIHdpbGwgYmUgaW4gdGhlIGZvcm0gb2YgcHJvcGVyIHVwc3RyZWFtCgkgIHJlbmVnb3RpYXRpb24gc3VwcG9ydCBpbiB0aGUgMC4xMS8xLjAgc2VyaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2MzYxCgoyMDEyLTAyLTAzIDE3OjIzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDMgMTY6MTM6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDItMDMgMTY6MTI6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc3JjcGFkIGNhcHMgaGFuZGxpbmcKCjIwMTItMDItMDMgMTY6MTI6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGNtbWxlbmM6IGZpeCBjYXBzIGhhbmRsaW5nCgoyMDEyLTAyLTAzIDE0OjUzOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGV2ZW50IGxlYWsgd2hlbiB0aGVyZSBpcyBubyBwZWVyIG9uIHRoZSBzcmMgcGFkCgoyMDEyLTAyLTAyIDE2OjIxOjI5ICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDEyLTAyLTAyIDEyOjI3OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogc3BlY2lmeSB3ZSBvbmx5IGFjY2VwdCByYXcgQUFDIGluIHRlbXBsYXRlIGNhcHMKCSAgTm8gaGVhZGVyIHNlZW1zIHRvIGJlIGFkZGVkLCBhbmQgdGhlIGNvZGVjIElEIGlzIHRoZSBzYW1lIGFzIHVzZWQKCSAgZm9yIHJhdyBieSBmbHZkZW11eCwgc28gcmF3IHNlZW1zIHRoZSBvbmx5IHN1cHBvcnRlZCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDEyOjI1OjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNwZWNpZnkgd2Ugb25seSBvdXRwdXQgcmF3IEFBQyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDEgMTg6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICB0YWdsaWI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMSAxNjo0MDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBpZ25vcmUgR1ZhbHVlQXJyYXkgZGVwcmVjYXRpb24gd2FybmluZ3MgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIHVudGlsIHRoaXMgZ2V0cyBzb3J0ZWQgb3V0IHdpdGggdGhlIEdMaWIgZm9sa3MgYW5kIHdlIGhhdmUgYQoJICB2aWFibGUgYWx0ZXJuYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDItMDEgMTY6MzY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgcHVsc2U6IGRpc2FibGUgc29tZSB1bnVzZWQgcHJvcGVydHkgcHJvYmUgY29kZQoJICB3aGljaCB3YXMgdXNpbmcgR1ZhbHVlQXJyYXkKCjIwMTItMDItMDEgMTY6MTE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjA1OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDEtMzEgMTU6Mzk6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAxLTMwIDE0OjUyOjM3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBtcDJ0cGF5OiBkbyBub3QgdHJ5IHRvIGZsdXNoIGEgcGFja2V0IHdoZW4gbm8gZGF0YSBpcyBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODg3NAoKMjAxMi0wMS0zMSAxMzo0MTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogdXBkYXRlIHNvbWUgdGVzdHMgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAxLTMxIDEyOjIyOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sLXNvdXJjZSB0eXBlIGNoYW5nZXMKCjIwMTItMDEtMzAgMjE6Mzk6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHJlbmFtZSBjb250cm9sLWJpbmRpbmdzCgkgIGdzdF9jb250cm9sX2JpbmRpbmdfeHh4IC0+IGdzdF94eHhfY29udHJvbF9iaW5kaW5nIGZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDEtMzAgMTc6MTY6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEwLTA2LTExIDA4OjM2OjMzICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogRXhjbHVkZSBOQUx1IHNpemUgZnJvbSBwYXlsb2FkIGxlbmd0aCBvbiB0cnVuY2F0ZWQgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg0NgoKMjAxMi0wMS0yOCAyMzozNTo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgb2Jzb2xldGUgdmFyaWFibGUsIHNldCBidXQgbm90IHVzZWQKCSAgUmVwb3J0ZWQgYnkgYW5kcmVkaWViIG9uICNnc3RyZWFtZXIuCgoyMDEyLTAxLTI4IDEzOjA1OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogYXZvaWQgd3JhcHBpbmcgb3BhcXVlIHRvIHRyYW5zcGFyZW50CgoyMDEyLTAxLTI4IDEyOjM1OjEzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCBmcmVlIG1lbW9yeSB0d2ljZQoJICBBIHJlY2VudCBjaGFuZ2UgdG8gZml4IGxlYWtpbmcgY29kZWMgSUQgc3RyaW5nIGFjY2lkZW50YWxseSBjYXVzZWQKCSAgb25lIG9mIHRoZSB2ZXJ5IGZldyBwbGFjZXMgdGhhdCB3ZXJlbid0IGxlYWtpbmcgdG8gbm93IGZyZWUgdHdpY2UuCgoyMDEyLTAxLTI3IDE2OjI3OjQ5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjOiBFYWNoIG91dHB1dCBzYW1wbGUgaXMgMiBieXRlcwoKMjAxMi0wMS0yNyAxMjoxNDo0OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IGxlYWsgY2FwcyBldmVudCB3aGVuIG5vdCBwdXNoaW5nCgoyMDEyLTAxLTI3IDEyOjA0OjUzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBGb3J3YXJkIHN0aWNreSBldmVudHMKCjIwMTItMDEtMjcgMTI6MDQ6MDUgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFByb3RlY3QgYWxsIHVzZXMgcGFkIGxpc3Qgd2l0aCBPQkpFQ1QgTE9DSwoJICBBY3R1YWxseSBwcm90ZWN0IHRoZSBlbnRpcmUgcGFkIGxpc3QgYW5kIHVzZSBpdCBpbiBhIHRocmVhZCBzYWZlCgkgIHdheS4KCjIwMTItMDEtMjcgMTI6MDI6MjUgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGb3J3YXJkIHN0aWNreSBldmVudHMgdG8gbmV3IHBhZHMKCjIwMTItMDEtMjcgMTI6MDE6NDAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBBZGQgc3NyYyB0byBmb3J3YXJkZWQgQ0FQUyBldmVudHMKCSAgQWxzbyBpdGVyYXRlIHRoZSBsaXN0IG9mIEdzdFJ0cFNzcmNEZW11eFBhZCBzYWZlbHkKCjIwMTItMDEtMjcgMTE6NTk6MDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2NkZW11eDogRmFjdG9yIG91dCBnZXR0aW5nIGRwYWQgYnkgcGFkCgoyMDEyLTAxLTI2IDE4OjM1OjQ4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBLZWVwIHRoZSBidWZmZXIgbWFwcGVkIHdoaWxlIGl0IGlzIGJlaW5nIG1vZGlmaWVkCgoyMDEyLTAxLTI2IDE4OjM1OjI3ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBhZGRyZXNzIHBvaW50ZXIgdG8gTlVMTAoKMjAxMi0wMS0yNyAxMjowNzo0MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogVXNlIG5ldy1zdHlsZSBjYXBzCgoyMDEyLTAxLTI3IDE2OjM3OjE5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWNzb3VuZHNpbms6IFBvcnQgZWxlbWVudCB0byAwLjExCgoyMDEyLTAxLTI2IDE5OjQ4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHJlbW92ZSBwYWQgZXZlbnQgZnVuY3Rpb24KCSAgV2UgdXNlIHRoZSBvbmUgZnJvbSBjb2xsZWN0cGFkcwoKMjAxMi0wMS0yNiAxODoyNjowMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDUzMjYxMjYxMTIwYjRjMDA4ZGU2MTY5MWM3MGU5NDM1NGIyODAwNGEuCgkgIFRoZSBHc3REYXRlVGltZS0+R0RhdGVUaW1lIGNoYW5nZSBpbiBjb3JlIHdhcyBhcHBhcmVudGx5IGFjY2lkZW50YWwsCgkgIGFuZCBpcyBub3cgcmV2ZXJ0ZWQuCgoyMDEyLTAxLTI2IDE4OjI1OjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0ICJhdmlkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhY2M5ZjE1MDk2OGIyNWM1YWU1YTY5NDBiMzRhZDJkNTFiMTc0ZmQyLgoJICBUaGUgR3N0RGF0ZVRpbWUtPkdEYXRlVGltZSBjaGFuZ2UgaW4gY29yZSB3YXMgYXBwYXJlbnRseSBhY2NpZGVudGFsLAoJICBhbmQgaXMgbm93IHJldmVydGVkLgoKMjAxMi0wMS0yNiAxNzo1MDozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwCgkgIFRoaXMgaXMgYSBibGluZCBmaXggdG8gbWF0Y2ggdGhlIG9uZSBJIGp1c3QgbWFkZSB0byBxdGRlbXV4LAoJICBhcyBJIGRvIG5vdCBoYXZlIGFuIEFWSSBmaWxlIHdoZXJlIHRoZSBjb2RlIGdldHMgZXhlY3V0ZWQuCgoyMDEyLTAxLTI2IDE3OjQ3OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwCgoyMDEyLTAxLTI2IDE4OjUxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbW9yZSBmaXhlcwoKMjAxMi0wMS0yNiAxODo0MzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IG1ha2UgdmlkZW9taXhlciB3b3JrIHNvbWV3aGF0CgoyMDEyLTAxLTI2IDE4OjE1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBwb3J0IHRvIDAuMTEKCSAgSXQgYnVpbGRzIGFuZCBnc3QtaW5zcGVjdC0wLjExIHdvcmtzLi4gb3RoZXJ3aXNlIHVudGVzdGVkCgoyMDEyLTAxLTI2IDE1OjQ4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICBkeW51ZHBzaW5rOiBmaXggZ2V0LXN0YXRzIHNpZ25hbCByZWdpc3RyYXRpb24gc29tZSBtb3JlCgoyMDEyLTAxLTI2IDE1OjQ2OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIFJldmVydCAidWRwOiBtYXJrIGFjdGlvbiBzaWduYWxzIGFzIFJVTl9GSVJTVCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1YzgzMDg1OTkxMjlkOWUxNjA2ZWVkYjJkMzU0MzYxNzY1OGRjMzA2LgoKMjAxMi0wMS0yNiAxNTozOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IG1hcmsgYWN0aW9uIHNpZ25hbHMgYXMgUlVOX0ZJUlNUCgoyMDEyLTAxLTI2IDE1OjM3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICB1ZHA6IG1hcmsgImdldC1zdGF0cyIgYXMgYWN0aW9uIHNpZ25hbAoKMjAxMi0wMS0yNiAxNTozMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogZml4IGdldC1zdGF0cyBhY3Rpb24gc2lnbmFsIHJlZ2lzdHJhdGlvbgoJICBJdCByZXR1cm5zIGEgR3N0U3RydWN0dXJlIG5vdywgbm90IGEgR1ZhbHVlQXJyYXkKCjIwMTItMDEtMjYgMTY6MDU6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHByaW50IGZvcm1hdAoKMjAxMi0wMS0yNiAxMTo1MDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogRml4IHNpemUgb2Ygb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDEtMjYgMTE6MzM6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHJpZ2h0IGNvbGxlY3RwYWRzIHZlcnNpb24KCjIwMTItMDEtMjYgMTE6Mjk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFByb3Blcmx5IHVzZSB0aGUgYWxpZ25tZW50IHBhcmFtZXRlciBvZiBnc3RfYnVmZmVyX25ld19hbGxvY2F0ZSgpCgkgIEl0J3MgYSBiaXRtYXNrIGZvciB0aGUgYWxpZ25tZW50LCBub3QgdGhlIGFsaWdubWVudCBpdHNlbGYuCgoyMDEyLTAxLTI2IDExOjE4OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBQcm9wZXJseSB1bm1hcCBXUklURSBtYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMS0yNiAxMDo0NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVXBkYXRlIGZvciB0aGUgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6NDA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXBkYXRlIGZvciB0aGUgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mzc6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXBkYXRlIGZvciB0aGUgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mjg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBVcGRhdGUgZm9yIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjI3OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogVXBkYXRlIGZvciBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNSAxODo0MTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBPbmx5IGZvcndhcmQgdGhlIGV2ZW50IHdoZW4gd2UgZGlkbid0IGhhbmRsZSBpdCBvdXJzZWx2ZXMKCjIwMTItMDEtMjUgMTg6NDA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyOiBzb21lIG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNSAxODowMDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkgIHZpZGVvbWl4ZXI6IHBvcnQgYmxlbmQgZnVuY3Rpb24KCjIwMTItMDEtMjUgMTY6NTg6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCSAgKG9yIHJhdGhlciBjaXJjdW12ZW50IGlzc3VlcyB3aXRoIG5haXZlIGNvbXBpbGVycyAuLi4pCgoyMDEyLTAxLTI1IDE1OjIxOjQ0ICswMDAwICBKYXlha3Jpc2huYW4gTSA8amF5LmtyaXNobmFubUBnbWFpbC5jb20+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvOiBmaXggYnVpbGQsIG1ha2Ugc3VyZSBsaWJnc3R2aWRlbyBjYW4gYmUgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODY0OAoKMjAxMi0wMS0yNSAxNDo1MDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMzoxOToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBkb24ndCBwcmV0ZW5kIG91ciByYW5kb20gaG9zdG5hbWVzIGFyZSBmdWxseS1xdWFsaWZpZWQgZG9tYWluIG5hbWVzCgoyMDEyLTAxLTI1IDEzOjQ3OjMwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDYzYmMwIHRvIDdmZGE1MjQKCjIwMTItMDEtMjUgMTI6NDk6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICcwLjExJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTItMDEtMjUgMTI6NDk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBleHQvanBlZy9nc3RqcGVnZW5jLmMKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYwoKMjAxMi0wMS0yNSAxMjo0MTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMjo0MTozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNCAxNDozODo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBtb3JlIG1lbW9yeSBBUEkgcG9ydGluZwoKMjAxMi0wMS0yMyAxNzoyNTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTE6MjE6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxMTozODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJhNTkwMTYgdG8gYzQ2M2JjMAoKMjAxMi0wMS0yNCAxODoyNDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGRpc2FibHkgc25hcHNob3QgYmVoYXZpb3VyIGJ5IGRlZmF1bHQKCSAgLi4uIHNpbmNlIHN1Y2ggYmVoYXZpb3VyIGlzIG5vdCBjb25zaXN0ZW50LCBpZiBhbGxvd2FibGUgYXQgYWxsLgoKMjAxMi0wMS0yNCAxODoyMzoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIHBuZ2RlYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDE4OjIxOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDE0OjUzOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTI0IDE0OjUyOjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHVzZSBvZiBmcmVlZCBtZW1vcnkKCjIwMTEtMTItMDEgMTU6NDk6NDAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgRG9uJ3QgY3Jhc2ggb24gZW1wdHkgbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTIyNAoKMjAxMi0wMS0yMyAxMzoxNTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBkb24ndCByZXZlYWwgdGhlIHVzZXIncyB1c2VybmFtZSwgaG9zdG5hbWUgb3IgcmVhbCBuYW1lIGJ5IGRlZmF1bHQKCSAgU2VuZCBhIHJhbmRvbWx5IG1hZGUtdXAgdXNlckBob3N0bmFtZSBhcyBDTkFNRSBhbmQgZG9uJ3QKCSAgc2VuZCBhIE5BTUUgYXQgYWxsIGJ5IGRlZmF1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzMjAKCjIwMTItMDEtMjEgMjA6MDc6NTYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IG1vdmUgZnJvbSBjb250cm9sLWJpbmRpbmcgdG8gY29udHJvbC1iaW5kaW5nLWRpcmVjdAoKMjAxMi0wMS0yMiAyMzozMToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIEFQSQoKMjAxMi0wMS0yMiAyMzoxNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgVXNlIG5ldyBHTGliIEFQSSB1bmNvbmRpdGlvbmFsbHkKCjIwMTItMDEtMjAgMTc6MDY6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzaW1wbGlmeSBpbnRlcm5hbCBzcmMgZXZlbnQgZGVidWcgbG9nZ2luZwoJICAuLi4gd2hpY2ggYXZvaWRzIGFsbW9zdCBzdXBlcmZsdW91cyBvYnRhaW5pbmcgb2YgcnRzcCBlbGVtZW50LgoKMjAxMi0wMS0yMCAxNzowMzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIE5VTEwgc3RyaW5nIGNvbXBhcmlzb24KCjIwMTItMDEtMjAgMTc6MDM6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYXJyYW5nZSBmb3IgaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEyLTAxLTIwIDE3OjAyOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogcHJldmVudCBvdXQtb2YtYm91bmQgYXJyYXkgYWNjZXNzCgoyMDEyLTAxLTIwIDE3OjAxOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBpc29tcDQ6IHJlY292ZXJ5OiBhZGQgc2FuaXR5IGNoZWNrCgkgIC4uLiBvbiBwb3NzaWJseSBib2d1cy9jb3JydXB0IGlucHV0IGRhdGEuCgoyMDEyLTAxLTIwIDE3OjAwOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCjIwMTItMDEtMjAgMTY6NTg6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgcmVkdW5kYW50IHZhcmlhYmxlCgoyMDEyLTAxLTIwIDE2OjU3OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGFyaXRobWV0aWMgZm9yIHVuc2lnbmVkIGNvbXBhcmlzb24KCjIwMTItMDEtMjAgMTY6NTU6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBhZGQgdmFyaW91cyBtaXNzaW5nIGJyZWFrCgoyMDEyLTAxLTIwIDE2OjU0OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIERFRkFVTFQgZm9ybWF0IGR1cmF0aW9uIHF1ZXJ5IHJlc3BvbnNlCgoyMDEyLTAxLTIwIDE2OjQ5OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IHJlbW92ZSByZWR1bmRhbnQgc3RhdGVtZW50CgoyMDEyLTAxLTIwIDE2OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSB1cHN0cmVhbSBwZWVyIGR1cmF0aW9uIHF1ZXJ5aW5nCgkgIC4uLiB0byBhdm9pZCBhY2NlcHRpbmcgdW5oYW5kbGVkIGR1cmF0aW9uIHF1ZXJ5IHJlc3VsdC4KCjIwMTItMDEtMjAgMTY6NDc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBhZGRpdGlvbmFsIGVycm9yIGNvbmRpdGlvbiBjaGVja2luZwoKMjAxMi0wMS0yMCAxNjo0NjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkaXRpb25hbCBlcnJvciBjb25kaXRpb24gY2hlY2tpbmcKCjIwMTItMDEtMjAgMTY6NDQ6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBjaGVjayBfYWxsb2NfYnVmZmVyIHJlc3VsdCBhbmQgcGVyZm9ybSBmYWxsYmFjayBhbGxvYyBpZiBuZWVkZWQKCSAgLi4uIHJhdGhlciB0aGFuIGNhcnJ5aW5nIG9uIHdpdGggTlVMTCBidWZmZXIuCgoyMDEyLTAxLTIwIDE0OjQ1OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sIGJpbmRpbmcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxMTozNzozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbGxlciBhcGkgY2hhbmdlcwoJICBEb24ndCB1c2UgdGhlIGNvbnZlbmllbmNlIGFwaSBmb3IgY29udHJvbCBzb3VyY2VzLgoKMjAxMi0wMS0xOSAxNDoyNDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC0tZGlzYWJsZS1mYXRhbC13YXJuaW5ncyBjb25maWd1cmUgb3B0aW9uCgoyMDEyLTAxLTE5IDEyOjQ0OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBBUEkKCjIwMTItMDEtMTkgMTE6MzM6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgcG9ydCB0byBuZXcgZ3RocmVhZCBBUEkKCjIwMTItMDEtMTggMTY6NTg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBHSU8gY2hlY2ssIHRoaXMgaXMgaW4gZ3N0LWdsaWIyLm00IG5vdwoKMjAxMi0wMS0xOCAxNjo0NjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MDcxODcgdG8gMmE1OTAxNgoKMjAxMi0wMS0xOCAxNjoxNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBHTGliIDIuMzEuMTAgYW5kIGltcHJvdmUgR0lPIGNoZWNrCgoyMDEyLTAxLTE3IDE2OjU4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogUmVtb3ZlIHVubmVlZGVkIHNvY2tldC5oIGluY2x1ZGUKCjIwMTItMDEtMTcgMTY6NTM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBjb25maWd1cmU6IFJlbW92ZSBzb2NrZXQvd2luc29jayBzcGVjaWZpYyBjaGVja3MKCSAgTm90IG5lY2Vzc2FyeSBhbnltb3JlLgoKMjAxMi0wMS0xNyAxNjo0OToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVcGRhdGUgZm9yIHRoZSBuZXcgR0lPIHZlcnNpb25zIG9mIHRoZSB1ZHAgZWxlbWVudHMKCjIwMTItMDEtMTcgMTM6MDg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDExOjE5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdJTyAyLjMxLjEwCgoyMDEyLTAxLTE3IDExOjE4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IFJlbW92ZSBub3cgdW5lY2Vzc2FyeSBjb2RlCgoyMDEyLTAxLTE3IDExOjE4OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgdWRwc2luay9tdWx0aXVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZHludWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6MzI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICBkeW51ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTowMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE2IDE3OjUxOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogZml4IGxlYWsgb2YgdW51c2VkIEdWYWx1ZQoKMjAxMi0wMS0xNiAxNjoxMDowOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIHRlc3RzOiBmaXggYXV0b2RldGVjdCB0ZXN0IG5vdCB0ZXN0aW5nIGNvcnJlY3RseSBmb3Igc3RhdGUgY2hhbmdlIHN1Y2Nlc3MKCSAgU3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBjYW4gYmUgZG9uZSBhc3luYywgc28gaWYgdGhpcyBoYXBwZW5zLCB3ZSBuZWVkCgkgIHRvIHdhaXQgZm9yIHRoZSBjaGFuZ2UgdG8gYmUgZG9uZSAob3IgZmFpbGVkKS4KCjIwMTItMDEtMTYgMTU6NDI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xNiAxMjoxMzo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IG1ha2UgaW50ZXJsYWNlZG5lc3MgdGVzdCBkZXRlcm1pbmlzdGljCgkgIElmIHRoZSBpbnRlcmxhY2VkIGZsYWcgaXMgbm90IHByZXNlbnQgaW4gdGhlIGNhcHMsIHdlIGFzc3VtZSB0aGUKCSAgZGF0YSBpcyBub3QgaW50ZXJsYWNlZCwgaW5zdGVhZCBvZiBsZWF2aW5nIHRoZSBib29sZWFuIHVuaW5pdGlhbGl6ZWQuCgoyMDEyLTAxLTEzIDE4OjEyOjA1IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTUKCjIwMTItMDEtMTMgMTg6MTE6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBmaXggd3JvbmcgZXJyb3IgY2hlY2sKCSAgcGFfc3RyZWFtXyogZnVuY3Rpb25zIHJldHVybiBuZWdhdGl2ZSBvbiBlcnJvciwgZGVzcGl0ZSB0aGUgZGVmaW5lcwoJICBmb3IgZXJyb3IgY29kZXMgYmVpbmcgcG9zaXRpdmUuCgkgIEkgb25seSBnb3QgdG8gcmVwcm8gdGhlIGVycm9yIHR3aWNlLCBzbyBJJ20gbm90IHN1cmUgMTAwJSBzdXJlIHRoaXMKCSAgZml4ZXMgdGhlIGlzc3VlICh0aGUgbmVnYXRpdmUgdmFyIGJlaW5nIHVuaW5pdGlhbGl6ZWQgYWZ0ZXIgcmV0dXJuaW5nCgkgIGZyb20gcGFfc3RyZWFtX2dldF9sYXRlbmN5KS4KCjIwMTItMDEtMTMgMTc6NDM6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIG9zczQ6IGZpeCBjYXBzIGxlYWtzCgoyMDEyLTAxLTEzIDE3OjI1OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMyAxNTo1NzoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4gdmlkZW90ZXN0c3JjIHRlc3QKCjIwMTItMDEtMTMgMTI6NTA6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBjbGVhbiB1cCBvYnNvbGV0ZSBjbG9zaW5nIHNlZ21lbnQgaGFuZGxpbmcKCjIwMTItMDEtMTMgMTA6MzI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBwbHVnIHBhZCBsZWFrIGluIGVycm9yIGNvZGUgcGF0aAoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RpZyBTYW5kbmVzIDxzdGlnLnNhbmRuZXNAY2lzY28uY29tPgoJICBEb24ndCBsZWFrIHNyY3BhZCBpZiB0aGVyZSBhcmUgbm8gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgyMAoKMjAxMS0xMC0wNCAxMDowMDowMiArMDIwMCAgU3RpZyBTYW5kbmVzIDxzdGlnc2FuZEBjaXNjby5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW86IEZpeCBsZWFrIG9mIE5TT3BlbkdMUGl4ZWxGb3JtYXQgb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTgKCjIwMTEtMDktMDUgMTA6NDM6MTkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRG9uJ3QgYXNzZXJ0IHdoZW4gdGhlIGludGVyZmFjZSBpcyBub3QgaW1wbGVtZW50ZWQuCgkgIFNpbXBseSByZXR1cm4gRkFMU0UgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNwoKMjAxMi0wMS0xMiAwMDoxODozOSArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgd2F2ZWZvcm1zaW5rOiBGaXggbWluZ3cgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzcxOQoKMjAxMi0wMS0xMiAyMzo1NTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIEdTVF9UWVBFX0RBVEUgLT4gR19UWVBFX0RBVEUKCjIwMTItMDEtMTIgMjM6NDg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgZXFNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jCgoyMDEyLTAxLTEyIDE4OjIzOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBnc3RydHBzc3JjZGVtdXg6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTItMDEtMTIgMTQ6MTk6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgbGVhayBhdHRhY2htZW50IGJ1ZmZlcnMKCjIwMTItMDEtMTIgMTM6MTc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnRzCgoyMDEyLTAxLTEyIDEwOjMwOjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZG8gbm90IGRyb3AgdGhlIGZpcnN0IGRhdGEgYnVmZmVyIG9uIHRoZSBmbG9vciAoYW5kIGxlYWsgaXQgZWl0aGVyKQoKMjAxMi0wMS0xMiAxMTowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSAgZmx2ZGVtdXg6IGFkZCBwcmVmaXggdG8gbG9jYWwgR3N0SW5kZXggcmVsYXRlZCBjb3BpZXMKCSAgLi4uIHRvIGF2b2lkIGR1cGxpY2F0ZSB0eXBlIG5hbWVzIHdpdGggb3RoZXIgc3VjaCBsb2NhbCBjb3BpZXMgaW4gdGhlIHdpbGQuCgoyMDEyLTAxLTEyIDExOjA3OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIC4uLiByYXRoZXIgdGhhbiB0aGUgdXN1YWwgMC4xMCBvdGhlciB3YXkgYXJvdW5kLgoJICBGaXhlcyAjNjY3NTU4LgoKMjAxMi0wMS0xMSAxODo0NTozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFRlbXBvcmFyaWx5IGRpc2FibGluZyBtdWx0aWZpbGUgZm9yIHRoZSBBbmRyb2lkIGJ1aWxkCgkgIFRoZXJlIGlzIGEgaGFyZCBkZXBlbmRlbmN5IG9uIGlub3RpZnkgY29tbWluZyBmcm9tIGdpby4gV2UKCSAgYXJlIG5vdCBjdXJyZW50bHkgYnVuZGxpbmcgaW5vdGlmeSB3aXRoIHRoZSBBbmRyb2lkIGRpc3Qgc28KCSAgSSdtIGRpc2FibGluZyBtdWx0aWZpbGUgZm9yIG5vdyB1bnRpbCBzb21lb25lIGdldHMgYXJvdW5kCgkgIHRvIHNvcnQgdGhpcyBvdXQuCgkgIFRoaXMgY2hhbmdlIGZpeGVzIGJ1aWxkaW5nIG9uIEFuZHJvaWQKCjIwMTAtMTAtMjAgMDI6MTc6NDMgLTA3MDAgIExlbyBTaW5nZXIgPGxlby5zaW5nZXJAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IFVzZSBtb3N0IGNvbW1vbiBjb252ZW50aW9uIGZvciBkZWZpbml0aW9ucyBvZiBJSVIgZmlsdGVyIGNvZWZmaWNpZW50cy4KCSAgTW9zdCBzaWduYWwgcHJvY2Vzc2luZyB0ZXh0cywgaW5jbHVkaW5nIE1BVExBQiwgdXNlIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbiBmb3IgSUlSIGZpbHRlciBjb2VmZmljaWVudHM6CgkgIGFfMCB5W25dICsgYV8xIHlbbi0xXSArIC4uLiArIGFfTSB5W24tTV0gPSBiXzAgeFtuXSArIGJfMSB4W24tMV0gKyAuLi4gKyBiW05dIHhbbi1OXQoJICBVc3VhbGx5LCBhXzAgaXMgc2V0IHRvIDEgYmVjYXVzZSB0aGUgY29lZmZpY2llbnRzIGNhbiBhbHdheXMgYmUgcmVzY2FsZWQsIGdpdmluZwoJICB5W25dID0gYl8wIHhbbl0gKyBiXzEgeFtuLTFdICsgLi4uICsgYltOXSB4W24tTl0gLSBhXzEgeVtuLTFdIC0gLi4uIC0gYV9NIHlbbi1NXQoJICBUaGUgY29udmVudGlvbiB0aGF0IHdhcyBwcmV2aW91c2x5IHVzZWQgYnkgYXVkaW9meGJhc2VpaXJmaWx0ZXIgYW5kIGRlcml2ZWQgY2xhc3MgaGFkIHRoZSBhIGFuZCBiIGNvZWZmaWNpZW50cyBzd2FwcGVkLCBhbmQgZGlkIG5vdCBoYXZlIHRoZSBtaW51cyBzaWducy4KCSAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIGF1ZGlvZnggcGx1Z2luIHVzZSB0aGUgbW9yZSBjb21tb24gY29udmVudGlvbiBkZXNjcmliZWQgYWJvdmUuCgoyMDEyLTAxLTExIDE0OjQ3OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZCBhIHRyYW5zcG9ydCBtb2RlIGVudW0KCSAgQ2xpZW50cyBjYW4gY29uZmlndXJlIHRoZSBkZXNpcmVkIGJlaGF2aW91ciB2aWEgInRyYW5zcG9ydCIgcHJvcGVydHkuIFRoZQoJICBkZWZhdWx0IGJlaGF2aW91ciBpcyBpZ25vcmluZyB0aGUgdHJhbnNwb3J0IHN0YXRlLiBPdGhlciBtb2RlcyBhcmUgbWFzdGVyIGFuZAoJICBzbGF2ZS4KCjIwMTItMDEtMTEgMTQ6MTA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcKCSAgc291cGh0dHBzcmMgaXMgbm93IHVzYWJsZSBhZ2FpbiBhbmQgZG9lc24ndCBjcmFzaCBhbnltb3JlCgkgIHdoZW5ldmVyIHNvbWV0aGluZyBpcyByZWFkIGZyb20gYSBIVFRQIGNvbm5lY3Rpb24uCgoyMDEyLTAxLTExIDAxOjQ1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCB3YXZlbmMgdGVzdCBvbiBiaWcgZW5kaWFuCgkgIHdhdmVuYyBvbmx5IGFjY2VwdHMgbGl0dGxlLWVuZGlhbiBQQ00sIGJ1dCBtb3N0IG9mIG91cgoJICBlbGVtZW50cyBzdWNoIGFzIGF1ZGlvdGVzdHNyYyBvbmx5IHByb2R1Y2Ugb3IgcHJvY2VzcwoJICBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcywgc28gd2UgbmVlZCB0byBwbHVnIGEKCSAgY29udmVydGVyIGJlZm9yZSB3YXZlbmMgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLgoKMjAxMi0wMS0xMCAyMzowMjo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRlYWN0aXZhdGUgdGhlIHJlcXVlc3Rfc3RhdGUgY29kZQoJICBXaGVuIHFqYWNrY3RsIGlzIHN0YXJ0ZWQsIHRyYW5zcG9ydCBpcyBzdG9wcGVkIGJ5IGRlZmF1bHQuIFRoaXMgd291bGQgYmUgYQoJICByZWdyZXNzaW9uIGZvciBnc3RyZWFtZXIgYXBwcyB0aGF0IGJlZm9yZSBqdXN0IHN0YXJ0ZWQgdG8gcGxheSByaWdodCBhd2F5LgoKMjAxMi0wMS0xMCAyMjoyNzoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkIHRyYW5zcG9ydCBjb250cm9sIGhhbmRsaW5nCgkgIFRoaXMgZmVhdHVyZSBhbGxvd3MgdG8gc3RhcnQgYW5kIHN0b3AgcGxheWJhY2sgZnJvbSBvdGhlciBqYWNrIGFwcGxpY2F0aW9ucyAoZS5nLiBxamFja2N0bCkuCgoyMDEyLTAxLTEwIDE4OjUwOjI3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBjb2RlY19wcml2IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc0MTkKCjIwMTItMDEtMTAgMTU6MDY6MzkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogdXNlIGphY2sgdHlwZSBmb3IgdGhlIGNhbGxiYWNrCgkgIEphY2sgaGVhZGVycyBoYXZlIGEgdHlwZWRlZiBmb3IgdGhlIHNodXRkb3duIGNhbGxiYWNrIGFzIHdlbGwuCgoyMDEyLTAxLTEwIDE0OjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYwoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F2aS9nc3RhdmltdXguYwoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoJICBnc3QvaXNvbXA0L2dzdHF0bXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaAoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYwoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jCgkgIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmMKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmMKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYwoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYwoJICBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYwoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jCgkgIHBvL2phLnBvCgkgIHBvL2x2LnBvCgkgIHBvL3NyLnBvCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYwoKMjAxMi0wMS0wOSAyMjo1ODozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IFJlbW92ZSBvbGQgdmlkZW9taXhlciBoZWFkZXJzCgkgIFRoZXNlIGdvdCByZW1vdmVkIGluIHRoZSB0cmFuc2l0aW9uIHRvIHZpZGVvbWl4ZXIyLgoKMjAxMi0wMS0wOSAxNzoyODoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggY29kZWMgc3RyaW5nIGxlYWtzCgoyMDEyLTAxLTA5IDE0OjUxOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdmlkZW9taXhlciBhbmQgcmVnaXN0ZXIgdmlkZW9taXhlcjIgYXMgdmlkZW9taXhlcgoKMjAxMi0wMS0wOSAxMTozNjo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdGlhbGl6ZSB2YXJpYWJsZSB0byBhdm9pZCB1bmRlZmluZWQgdXNlCgoyMDEyLTAxLTA2IDA5OjQwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjOiBQb3J0IHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMTk6MjU6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMDUgMTk6MDg6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTItMDEtMDUgMTQ6MTg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIGZpeCBwYWQgdGVtcGxhdGVzCgoyMDEyLTAxLTA0IDE1OjA1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDo1NDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgdGhlIG5ldyBsYXlvdXQgZmllbGQgdG8gdGhlIHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjUyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrYXVkaW9zcmM6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDoxMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIEZMQUMgYW5kIGludGVybGVhdmUgdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucyBsaXN0CgkgIEJvdGggbmVlZCB0byBiZSB1cGRhdGVkIHRvIHRoZSBhdWRpby94LXJhdyBjYXBzIGFuZCB3ZXJlIG9ubHkKCSAgaGFsZi1wb3J0ZWQgYmVmb3JlLgoKMjAxMi0wMS0wNCAxMzo0ODozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBVcGRhdGUgZm9yIHRoZSBuZXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMjowNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVwZGF0ZSBmb3IgbGliZ3N0cmlmZiBBUEkgY2hhbmdlcwoJICBTdGlsbCBuZWVkcyB0byBoYW5kbGUgcmF3IGF1ZGlvIGNoYW5uZWwgcmVvcmRlcmluZwoKMjAxMi0wMS0wNCAxMjowNToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMjowMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmVwbGF5Z2FpbjogVXBkYXRlIGZvciB0aGUgbmV3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTE6NTI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gaW50ZXJsZWF2ZWQgY2FwcyBmaWVsZAoJICBTdGlsbCBuZWVkcyB0byBiZSBmaXhlZCB0byBoYW5kbGUgdGhlIG11bHRpY2hhbm5lbCBjaGFubmVsLW1hc2sKCSAgYW5kIHJlb3JkZXJpbmcuCgoyMDEyLTAxLTA0IDExOjMxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6Mjk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFBvcnQgdG8gdGhlIG5ldyBhdWRpbyBjYXBzCgkgIFN0aWxsIG5lZWRzIHRvIGhhbmRsZSB0aGUgY2hhbm5lbCBwb3NpdGlvbnMvbWFza3MgYW5kCgkgIGNoYW5uZWwgcmVvcmRlcmluZy4KCjIwMTItMDEtMDQgMTE6MTE6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowOTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDg6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVcGRhdGUgZm9yIHRoZSBsaWJnc3RyaWZmIEFQSSBjaGFuZ2VzCgkgIFN0aWxsIG5lZWRzIHRvIGRvIHJlb3JkZXJpbmcgb2YgY2hhbm5lbHMgZm9yIHJhdyBhdWRpby4KCjIwMTItMDEtMDQgMTE6MDY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb2Z4OiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMDo1NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgb3NzOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSByYXcgYXVkaW8gY2FwcyBpbnRlcmxlYXZlZCBmaWVsZAoKMjAxMi0wMS0wNCAxMDoyNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMKCjIwMTItMDEtMDQgMTk6NTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NjJiNjkyIHRvIDA4MDcxODcKCjIwMTItMDEtMDQgMTc6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGFuZCByZW1vdmUgZmlsZXMgd2hlbiBkb25lIGluIHF0bXV4IHRlc3QKCjIwMTEtMTItMTQgMTA6MTQ6MjAgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gd2UgcnVuIG91dCBvZiBkaXNrIHNwYWNlCgkgIE1hcCB3cml0ZSBlcnJubyBFTk9TUEMgdG8gR1NUX1JFU09VUkNFX0VSUk9SX05PX1NQQUNFX0xFRlQuCgoyMDEyLTAxLTA0IDEzOjI2OjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogTW9yZSBmaXhlcy9jbGVhbnVwCgoyMDEyLTAxLTA0IDEzOjI1OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgcGFyYW0vcHJvY2VzcyBmdW5jdGlvbnMKCSAgV2hlbiA6OnNldF9pbmZvKCkgaXMgY2FsbGVkLCB0aGUgaW5wdXQvb3V0cHV0IFZpZGVvSW5mbyBhcmVuJ3Qgc2V0CgkgIHlldCBvbiB0aGUgdmlkZW9maWx0ZXIuCgoyMDEyLTAxLTA0IDEwOjAxOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMS0xMi0zMSAyMzozMzozMyAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IHVzZSByaWdodCB2YXJpYWJsZQoJICBGaXhlcyB1c2Ugb2YgdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcwODUKCjIwMTItMDEtMDMgMTU6MjY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAzIDE0OjQyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogcmV3cml0ZSB0ZXN0IGEgbGl0dGxlCgkgIFJld3JpdGUgdGhlIHRhZyBjaGVjayBzbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gZGVhbCB3aXRoIHRhZyBsaXN0cy4KCjIwMTItMDEtMDMgMTQ6MTY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBtYWtlIG1vcmUgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMyAxMTo1NjoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0OiBtYWtlIG1vcmUgdW5pdCB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAzIDEwOjI2OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL2luZGV4LmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBmaXggc29tZSB1bml0IHRlc3RzCgkgIFJlbW92ZSB1bml0IHRlc3QgZm9yIEdzdEluZGV4LgoJICBNYWtlIHNvbWUgb3RoZXIgdW5pdCB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAyIDE0OjMyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgYXV0b2RldGVjdCwgcnRzcDogZ3N0X3JlZ2lzdHJ5X2dldF9kZWZhdWx0KCkgLT4gZ3N0X3JlZ2lzdHJ5X2dldCgpCgoyMDExLTEyLTMxIDEwOjAwOjQxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gQVBJIGNoYW5nZXMKCjIwMTEtMTItMzAgMTc6NDE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMzAgMTc6MjM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMzAgMTc6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5oOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkgIGZsdmRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCSAgQWRkIHByaXZhdGUgR3N0TWVtSW5kZXggZm9yIG5vdy4KCjIwMTEtMTItMzAgMTc6MTI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMjcgMjI6NTk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIE1pbmdXCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY0ODUKCjIwMTEtMTItMjcgMTI6MDY6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0IGJpbmFyeQoKMjAxMS0xMi0yNyAxMTo1MDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCB2YWxncmluZCB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCjIwMTEtMTItMjcgMTE6NDk6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCB1bml0IHRlc3QgdGhhdCBzZW5kcyAwLXNpemUgcGFja2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCjIwMTEtMTItMjEgMTM6MjI6MDMgKzAxMDAgIEpvaG4gT2duZXNzIDxqb2huLm9nbmVzc0BsaW51dHJvbml4LmRlPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBkcm9wIGRhdGFsZXNzIFVEUCBwYWNrZXRzCgkgIEl0IGlzIGFsbG93ZWQgdG8gc2VuZC9yZWNlaXZlIFVEUCBwYWNrZXRzIHdpdGggbm8gZGF0YS4gV2hlbiBzdWNoCgkgIGEgcGFja2V0IGlzIGF2YWlsYWJsZSwgc2VsZWN0KCkgd2lsbCByZXR1cm4gd2l0aCBzdWNjZXNzIGJ1dAoJICBpb2N0bChGSU9OUkVBRCkgd2lsbCByZXR1cm4gMC4gQnV0IGEgcmVhZCgpIG11c3Qgc3RpbGwgb2NjdXIgaW4KCSAgb3JkZXIgdG8gY2xlYXIgb2ZmIHRoZSBVRFAgcGFja2V0IGZyb20gdGhlIHF1ZXVlLgoJICBUaGlzIHBhdGNoIHdpbGwgcmVhZCB0aGUgZGF0YWxlc3MgcGFja2V0IGZyb20gdGhlIHNvY2tldC4gSWYKCSAgc2VsZWN0KCkgd2FzIHdva2VuIGZvciBvdGhlciByZWFzb25zIChhbmQgRklPTlJFQUQgcmV0dXJucyAwKSwKCSAgdGhpcyBtYXkgcmVzdWx0IGluIGEgVURQIHBhY2tldCBnZXR0aW5nIGFjY2lkZW50YWxseSBkcm9wcGVkLgoJICBCdXQgc2luY2UgVURQIGlzIG5vdCByZWxpYWJsZSwgdGhpcyBpcyBhY2NlcHRhYmxlLgoJICBOT1RFOiBUaGlzIHBhdGNoIGZpeGVzIGEgbmFzdHkgYnVnIHdoZXJlIHNlbmRpbmcgYSBkYXRhbGVzcwoJICBVRFAgcGFja2V0IHRvIGEgdWRwc3JjIGluc3RhbmNlIHdpbGwgY2F1c2UgYW4gaW5maW5pdGUKCSAgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoJICBTaWduZWQtb2ZmLWJ5OiBKb2huIE9nbmVzcyA8am9obi5vZ25lc3NAbGludXRyb25peC5kZT4KCjIwMTEtMTItMjYgMjI6MjI6NTkgKzAwMDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgd2F2ZWZvcm06IGFkZCBhdXRvdG9vbHMgYml0cyBmb3Igd2F2ZWZvcm0gcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY0ODUKCjIwMTEtMTItMjEgMjA6NTA6MjEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcGVlcl9jYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY4OAoKMjAxMS0xMi0yNSAyMzo1Mjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrIGZvciBnZHAgbGlicmFyeQoKMjAxMS0xMi0yNSAyMjoxNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiByZW1vdmUgcHVsc2VhdWRpb3NpbmsgaGVscGVyIGJpbgoJICBUaGlzIGlzIGNhdXNpbmcgdXMgbG90cyBvZiBoZWFkYWNoZXMgaW4gMC4xMCBhbmQgbmVlZHMgdG8gYmUgZG9uZQoJICBkaWZmZXJlbnRseSBhbmQgcHJvcGVybHkgaW4gMC4xMS4gcGxheWJpbiBvciBkZWNvZGViaW4gc2hvdWxkCgkgIHJlY29uZmlndXJlIHRoZW1zZWx2ZXMgYmFzZWQgb24gcmVjb25maWd1cmUgZXZlbnRzLCBmb3IgZXhhbXBsZS4KCjIwMTEtMTItMjUgMjE6NDU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiB1cGRhdGUgZm9yIHJpbmcgYnVmZmVyIGF1ZGlvIGZvcm1hdCB0eXBlIGVudW0gcmVuYW1lCgoyMDExLTEyLTI1IDIwOjM0OjUyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2wgc291cmNlIGFwaQoKMjAxMS0xMi0yNSAxNDoyMzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHRyeSB0byBwdXNoIGFscmVhZHktZnJlZWQgYnVmZmVycwoJICBGaXhlcyB1bml0IHRlc3QuCgoyMDExLTEyLTI0IDEwOjU3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXNlIHNjYWxlX2NlaWwoKSBmdW5jdGlvbnMgZnJvbSBjb3JlIGluc3RlYWQgb2YgY3VzdG9tIG9uZXMKCjIwMTEtMTItMjEgMjM6NTE6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB1cGRhdGUgZm9yIHZpZGVvZmlsdGVyIGNoYW5nZXMuCgoyMDExLTEyLTIxIDE3OjQzOjEwICswMTAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBkbyBub3QgY29uc2lkZXIgZHVyYXRpb24gb2Ygbm9uLWZpbmFsaXplZCBmaWxlCgkgIC4uLiB0byBhdm9pZCBpdCBjbGFtcGluZyByZXF1ZXN0ZWQgc2VlayBwb3NpdGlvbi4KCSAgTm9uLWZpbmFsaXplZCBmaWxlIGNhc2UsIGRldGVybWluZWQgYnkgd2hldGhlcgoJICBfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayBldmVyIHVwZGF0ZXMgdGhlIHNlZ21lbnQgZHVyYXRpb24uCgkgIEZpeGVzICM2NTIxOTUuCgoyMDExLTEyLTIxIDE1OjA2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIGRlY2lzaW9uIHRvIGZhbGwgYmFjayB0byBzY2FubmluZyB3aGVuIHNlZWtpbmcKCSAgLi4uIHdoaWNoIGlzIGJhc2ljYWxseSBpZmYgbm90IHN0cmVhbWluZyBhbmQgbm8gZW50cnkgZm91bmQgaW4gaW5kZXgKCjIwMTEtMTItMjEgMDk6MDk6MjcgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICByZW1vdmUgdW51c2VkIHZhcmlhYmxlIHRvIGZpeCBjb21waWxlIGVycm9yOgoJICBtYWtlIC1DIGF1ZGlvcGFyc2VycwoJICBtYWtlWzNdOiBCZXRyZXRlIFZlcnplaWNobmlzICcvaG9tZS9sZXgvdG1wL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L2F1ZGlvcGFyc2VycycKCSAgQ0MgICAgIGxpYmdzdGF1ZGlvcGFyc2Vyc19sYS1nc3RhYWNwYXJzZS5sbwoJICBnc3RhYWNwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2FhY19wYXJzZV9yZWFkX2xvYXNfYXVkaW9fc3BlY2lmaWNfY29uZmlnJzoKCSAgZ3N0YWFjcGFyc2UuYzo0NDY6MTI6IGVycm9yOiB2YXJpYWJsZSAnc2JyJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQoJICBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTItMjEgMTE6NTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJICB1cGRhdGUgZm9yIHJlbW92ZWQgcHJvcGVydHkgcHJvYmUKCjIwMTEtMDktMDkgMTE6NDI6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogbGV0IGJzaWQgOSBhbmQgMTAgdGhyb3VnaAoJICBGaWxlcyB3aXRoIDkgYW5kIDEwIGhhcHBlbiwgYW5kIHNlZW0gdG8gY29tcGx5IHdpdGggdGhlIDw9IDgKCSAgZm9ybWF0LCBzbyBsZXQgdGhlbSB0aHJvdWdoLgoJICBUaGUgc3BlYyBzYXlzIG5vdGhpbmcgYWJvdXQgOSBhbmQgMTAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDYKCjIwMTEtMTItMTkgMjM6NTA6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgaW50ZXJwb2xhdGlvbi1tb2RlIGFwaQoKMjAxMS0xMi0xOSAyMjo1Mzo1NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGFwaQoKMjAxMS0xMi0xOSAxOTowMzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXBkYXRlIGZvciBuZXcgaW50ZXJsYWNlZCBjYXBzCgoyMDExLTEyLTE2IDE5OjE1OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcHJvcGVybHkgZGV0ZXJtaW5lIGZpbmFsIGR1cmF0aW9uCgkgIC4uLiB3aGljaCBjYW4gYmUgYXV0aG9yYXRpdmVseSBvYnRhaW5lZCBmcm9tIG91ciBvd24gd3JpdHRlbiB0aW1lc3RhbXBzLgoKMjAxMS0xMi0xOSAxMzo1NjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IG9ubHkgd3JpdGUgZnVsbCBtZXRhZGF0YSBhdCBzdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gaGF2aW5nIChwb3RlbnRpYWxseSkgdW5uZWNlc3NhcnkgZHVwbGljYXRlcyB3cml0dGVuIGFsbCBvdmVyLAoJICBvciBldmVuIGNvbnRyYWRpY3RvcnkgdmFyeWluZyBmaWxlc2l6ZSBpbmZvLCBvciBkdXJhdGlvbiBpbmZvIHRoYXQgd2lsbCBub3QKCSAgYmUgcmV3cml0dGVuIHVwb24gaGVhZGVyIHJld3JpdGUuCgoyMDExLTEyLTE2IDE5OjE1OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgkgIC4uLiBzaW5jZSB0aGUgZGVmYXVsdCBjb2xsZWN0aW9uIGhldXJpc3RpY3Mgc3VmZmljZS4KCjIwMTEtMTItMTYgMTg6MDM6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgkgIC4uLiBzaW5jZSBkZWZhdWx0IGNvbGxlY3Rpb24gaGV1cmlzdGljcyBzdWZmaWNlLgoKMjAxMS0xMi0xNiAxNzoyMDo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBicmluZyBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIHNwZWNzCgkgIC4uLiBhbmQgbWlub3Igc3BlbGxpbmcgZml4LgoKMjAxMS0xMi0xNiAxNjo1NjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGRpdGlvbmFsIHN1YnRpdGxlIHN1cHBvcnQKCjIwMTEtMTItMTUgMjE6NTA6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBhZGRpdGlvbmFsIGJ1ZmZlciBoYW5kbGluZyBjbGVhbnVwCgoyMDExLTEyLTE1IDIxOjQ1OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoKMjAxMS0xMi0wNyAxMzoyNDo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHBhcnNlIExPQVMgdmFyaWFudAoJICBUaGUgTE9BUyB2YXJpYW50IHNlZW1zIHRvIGhhdmUgdGhyZWUgZGlmZmVyZW50IHN1YnZhcmlhbnRzIGl0c2VsZiwKCSAgb25seSBvbmUgb2YgdGhlbSBpcyBpbXBsZW1lbnRlZCBhcyBteSB0d28gc2FtcGxlcyBoYXBwZW4gdG8gYmUKCSAgdXNpbmcgdGhhdCBvbmUuCgkgIFRoZSBzYW1wbGUgcmF0ZSBpcyBub3QgYWx3YXlzIHJlcG9ydGVkIGNvcnJlY3RseSwgYXMgdGhlICJtYWluIgoJICBzYW1wbGUgcmF0ZSBpcyBhcHBhcmVudGx5IHNvbWV0aW1lcyBoYWxmIHdoYXQgaXQgc2hvdWxkIGJlIChib3RoCgkgIG9mIG15IHNhbXBsZXMgcmVwb3J0IDI0MDAwIEh6IHRoZXJlKSwgYW5kIHRoZXJlIGFyZSB0d28gb3RoZXIKCSAgcGFydHMgb2YgdGhlIHN1YnZhcmlhbnQgd2l0aCBkaWZmZXJlbnQgc2FtcGxpbmcgcmF0ZXMuIE9uZSBvZiB0aGVtCgkgIGlzIHBhcnNlZCwgYnV0IG5vdCB0aGUgb3RoZXIsIGFzIGl0J3MgbG9jYXRlZCBhZnRlciBzb21lIG90aGVyCgkgIGxhcmdlIGFtb3VudCBvZiB2YXJpYWJsZSBkYXRhIHRoYXQgbmVlZHMgcGFyc2luZyBmaXJzdCwgYW5kIHRoZXJlCgkgIHNlZW1zIHRvIGJlIGEgTE9UIG9mIGl0LCB3aGljaCBpcyB1c2VsZXNzIGZvciBvdXIgbmVlZHMgaGVyZS4KCSAgVGhpcyBlbmRzIHVwIGJlaW5nIHJhdGhlciBpbmNvbnNlcXVlbnRpYWwsIGFzIGZmZGVjX2FhY19sYXRtLAoJICB3aGljaCBpcyB0aGUgb25seSBkZWNvZGVyIHRoYXQgY2FuIGRlY29kZSBzdWNoIHN0cmVhbXMsIGRvZXMgbm90CgkgIG5lZWQgdGhlIHNhbXBsZSByYXRlIG9uIHRoZSBjYXBzIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMS0xMi0xOSAxMDo0ODo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG9uJ3QgcmVtb3ZlIHNyY3BhZAoJICBEb24ndCByZW1vdmUgdGhlIGFsd2F5cyBzcmNwYWQgaW4gcmVhZHkgYW5kIG1ha2UgdGhlIGVsZW1lbnQgcmV1c2FibGUuCgoyMDExLTEyLTE1IDE2OjQwOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MzA6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjoxNjo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjE1OjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTQgMTk6MTM6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MTA6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOTowNzoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjAyOjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6NTU6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjUyOjM3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZseG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6Mzg6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTEzIDE4OjE4OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaWx0ZXIgYm9ndXMgaW5kZXggZW50cmllcyB3aXRoIG1pc3NpbmcgYmxvY2sgbnVtYmVyCgkgIC4uLiB0byBhdm9pZCBjb250cmFkaWN0b3J5IGluZm9ybWF0aW9uIHJlc3VsdGluZyBpbiBzZWVrcyBzZW5kaW5nIG1vcmUKCSAgZG93bnN0cmVhbSB0aGFuIG5lZWRlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc2VnbWVudC4KCjIwMTEtMTItMTMgMTg6MTU6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhdGVyIGZvciBzYWZlciBhcml0aG1ldGljIHdpdGggZ2xvYmFsIHN0YXJ0IHRpbWUKCjIwMTEtMTItMTMgMTc6MDI6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR3ZWFrIGZpbmFsIGNsb3Npbmcgc2VnbWVudCBzZW5kaW5nCgkgIC4uLiB0byBhdm9pZCBpdCBpbnRlcmZlcmluZyB3aXRoIChzcGFyc2UpIHN0cmVhbSBzeW5jaW5nLgoKMjAxMS0xMi0xMiAxMTo1MTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFrZSBkZWJ1ZyBtZXNzYWdlIG1vcmUgdXNlZnVsCgkgIEFkZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFnbGlzdCBhbmQgd2hpY2ggcGFkIHJlY2VpdmVkIHRoZQoJICB0YWcgZXZlbnQgb24gdGhlIGRlYnVnIGxvZ2dpbmcuCgoyMDExLTEyLTEzIDExOjQ2OjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogYXZvaWQgdXNpbmcgZmxvYXRpbmcgcG9pbnQgdW5uZWNlc3NhcmlseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEzIDExOjQyOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZml4IGZvcm1hdCBzcGVjaWZpZXIgc2lnbmVkbmVzcwoJICBVc2UgdW5zaWduZWQgc3BlY2lmaWVycyBmb3IgYWxsIHVuc2lnbmVkIHZhbHVlcy4KCSAgQSBsb3Qgb2YgdGhlIHZhbHVlcyB1c2VkIGhlcmUgYXJlIHVuc2lnbmVkLCBhbmQgc29tZSBjYW4gdGFrZQoJICBoaWdoIGVub3VnaCB2YWx1ZXMgdGhhdCB0aGVpciBzaWduZWQgY291bnRlcnBhcnQgd2lsbCBiZSBuZWdhdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMiAxNjo0OToxOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBhZGQgYSBpZ25vcmUtbGVuZ3RoIHByb3BlcnR5CgkgIFRoaXMgYWxsb3dzIHBsYXlpbmcgYnJva2VuIHN0cmVhbXMgd2hpY2ggd3JpdGUgYW4gaW5jb3JyZWN0CgkgIGxlbmd0aCBpbiB0aGVpciBkYXRhIGNodW5rcyAoc3VjaCBhcywgYXQgbGVhc3QsIG9uZSBzdHJlYW1pbmcKCSAgY2FtZXJhKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMiAxMTo1NDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJICBnbGliLWNvbXBhdDogQWRkIGxpY2Vuc2UgYm9pbGVycGxhdGUgZm9yIExHUEwKCjIwMTEtMTItMTIgMTU6MTU6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1pbmQgKHVuKXNpZ25lZCBpbiBzb21lIHRpbWVzdGFtcCBhcml0aG1ldGljCgkgIC4uLiB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCBpbnZhbGlkIChuZWdhdGl2ZSkgZHVyYXRpb24uCgoyMDExLTAyLTA5IDE1OjMxOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbmNyZWFzZSBwYXJzZSB0b2xlcmFuY2UgZm9yIGZ1enp5IGZpbGUgY2FzZXMKCjIwMTEtMTItMTIgMTA6Mzg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBkaXN0IGdsaWItY29tcGF0LXByaXZhdGUuaCBwcm9wZXJseQoJICBBZGQgbWlzc2luZyBzbGFzaC4KCjIwMTEtMTItMTIgMTA6MTg6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHVzZSBhdGV4aXQsIGdfYXRleGl0IGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZ2xpYiBtYXN0ZXIKCjIwMTEtMTItMTIgMDI6NTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgU3VwcHJlc3MgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gc2VsZWN0ZWQgZmlsZXMsIGZvciBnX3N0YXRpY19yZWNfbXV0ZXhfKiBtb3N0bHkKCSAgR1N0YXRpY1JlY011dGV4IGlzIHBhcnQgb2Ygb3VyIEFQSS9BQkksIG5vdCBtdWNoIHdlIGNhbiBkbyBoZXJlCgkgIGluIDAuMTAgZm9yIG1vc3Qgb2YgdGhlc2UuCgoyMDExLTEyLTEyIDAyOjQxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgdGVzdHM6IGdfdGhyZWFkX2luaXQoKSBpcyBkZXByZWNhdGVkIGluIGdsaWIgbWFzdGVyCgkgIEl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLgoKMjAxMS0xMi0xMiAwMjozODozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBVc2UgZ190aHJlYWRfdHJ5X25ldygpIGluc3RlYWQgb2YgZ190aHJlYWRfY3JhdGUoKSB3aXRoIG5ld2VyIGdsaWIgdmVyc2lvbnMKCjIwMTEtMTItMTIgMDI6MzE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogdXNlIG5ldyBnbGliIEFQSSBmb3Igc3RhdGljIG11dGV4IGlmIGF2YWlsYWJsZQoKMjAxMS0xMi0xMiAwMjozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgV29yayBhcm91bmQgZGVwcmVjYXRlZCB0aHJlYWQgQVBJIGluIGdsaWIgbWFzdGVyCgkgIEFkZCBwcml2YXRlIHJlcGxhY2VtZW50cyBmb3IgZGVwcmVjYXRlZCBmdW5jdGlvbnMgc3VjaCBhcwoJICBnX211dGV4X25ldygpLCBnX211dGV4X2ZyZWUoKSwgZ19jb25kX25ldygpIGV0Yy4sIG1vc3RseQoJICB0byBhdm9pZCB0aGUgZGVwcmVjYXRpb24gd2FybmluZ3MuIFdlJ2xsIGNoYW5nZSB0aGVzZQoJICBvdmVyIHRvIHRoZSBuZXcgQVBJIG9uY2Ugd2UgZGVwZW5kIG9uIGdsaWIgPj0gMi4zMi4KCjIwMTEtMTItMTIgMTA6MjQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0xpYiA+PSAyLjI0CgkgIEFsbCBvdGhlciBtb2R1bGVzIHJlcXVpcmUgdGhpcyBhbHJlYWR5IGFuZCBub2JvZHkgaXMgdGVzdGluZyB3aXRoCgkgIG9sZGVyIHZlcnNpb25zIGFueXdheS4KCjIwMTEtMTItMTEgMTg6NDA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBmaXggaW52ZXJ0ZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFNwb3R0ZWQgYnkgTWlrZSBNb3JyaXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTg4MgoKMjAxMS0xMi0xMSAxNzo1NToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGRvbid0IGxlYWsgcGFkIHRlbXBsYXRlCgoyMDExLTEyLTEwIDE0OjQ4OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwOiBmaXggc3RhcnQvc3RvcCByYWNlIGluIHNvdXBodHRwY2xpZW50c2luawoJICBGaXggY3Jhc2ggb3IgaGFuZyBpbiBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3Qgd2hlbiBkb2luZyBzdG9wKCkKCSAgcmlnaHQgYWZ0ZXIgc3RhcnQoKS4gQ3JlYXRlIG1haW4gbG9vcCBpbiB0aGUgc3RhcnQgZnVuY3Rpb24gYWxyZWFkeQoJICBhbmQgbm90IGp1c3QgaW4gdGhlIHRocmVhZCBmdW5jdGlvbiwgc28gdGhhdCBzdG9wKCkgYWx3YXlzIGhhcyBhCgkgIHZhbGlkIG1haW4gbG9vcCB0byBxdWl0IG9uLiBBbHNvLCBjYWxsaW5nIGdfbWFpbl9sb29wX3F1aXQoKSBiZWZvcmUKCSAgZ19tYWluX2xvb3BfcnVuKCkgd29uJ3Qgd29yayBhbmQgcmVzdWx0IGluIHRoZSBzdG9wIGZ1bmN0aW9uIHdhaXRpbmcKCSAgZm9yIHRoZSB0aHJlYWQgdG8gam9pbiBmb3JldmVyLiBUaGVyZWZvcmUsIHdhaXQgZm9yIHRoZSB0aHJlYWQgdG8KCSAgYmUgcmVhZHkgYW5kIGdldCB0aGUgbWFpbiBsb29wIHJ1bm5pbmcgaW4gdGhlIHN0YXJ0KCkgZnVuY3Rpb24sIHRvCgkgIGJlIHN1cmUgc3RvcCgpIGFsd2F5cyB3b3Jrcy4KCjIwMTEtMTItMTAgMTM6MzU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXN0IHRlc3QgZmlsZSB1c2VkIGluIG1hdHJvc2thcGFyc2UgdW5pdCB0ZXN0CgoyMDExLTEyLTEwIDEyOjMyOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiBmaXggdXAgcmd2b2x1bWUgdGVzdCBmb3IgYmFzZXRyYW5zZm9ybSBldmVudCBjYWNoaW5nCgkgIFNvbWUgdGVzdHMgYXNzdW1lZCB0aGF0IHRhZyBldmVudHMgd291bGQgYWx3YXlzIHB1c2hlZCB0aHJvdWdoCgkgIGltbWVkaWF0ZWx5LCB3aGljaCBpc24ndCB0aGUgY2FzZSBhbnkgbG9uZ2VyLCBzbyBwdXNoIGEgbmV3c2VnbWVudAoJICBldmVudCBhbmQgYW4gZW1wdHkgYnVmZmVyIGZpcnN0LgoKMjAxMS0xMi0xMCAxMToxMjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IGZpeCBpdGVyYXRvciBhbmQgY2FwcwoKMjAxMS0xMi0xMCAxMToxMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZm9yd2FyZCB0aGUgY2FwcyBldmVudAoKMjAxMS0xMi0xMCAxMTowOTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpbXBseSBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50CgkgIGZvcndhcmQgdGhlIGNhcHMgZXZlbnQgd2UgZ2V0IGFzIGlucHV0IGluc3RlYWQgb2YgbWFraW5nIGEgbmV3IGV2ZW50IGV0Yy4uCgoyMDExLTEyLTA5IDIwOjEwOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmb3J3YXJkIGNhcHMKCjIwMTEtMTItMDkgMTk6NDY6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogcGFzcyBwYXJlbnQgdG8gc2V0Y2FwcyBtZXRob2RzCgoyMDExLTEyLTEwIDAyOjIxOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VvLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3NyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0xMi0wOSAxNjowNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVuYW1lICJjbGllbnQiIHByb3BlcnRpZXMgdG8gImNsaWVudC1uYW1lIgoJICBCZXR0ZXIgbmFtZSwgYnV0IGFsc28gbWF0Y2hlcyB0aGUgcHJvcGVydHkgb24gdGhlIGphY2sKCSAgZWxlbWVudHMgKHdoZXJlICJjbGllbnQiIGlzIHVzZWQgZm9yIHNvbWV0aGluZyBlbHNlKS4KCjIwMTEtMTItMDkgMTU6NTA6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjbGllbnQgbmFtZSB3aGVuIGZyZWVpbmcgdGhlIGVsZW1lbnQKCSAgQW5kIGFkZCBndGstZG9jIGNodW5rcyBmb3IgdGhlIG5ldyBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTg3MgoKMjAxMS0xMi0wOSAxNTo0NTowMyArMDAwMCAgTmljb2xhcyBCYXJvbiA8aG9nZ2luc0ByYWRpb20uZnI+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGQgImNsaWVudC1uYW1lIiBwcm9wZXJ0eSB0byBqYWNrYXVkaW9zaW5rIGFuZCBqYWNrYXVkaW9zcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTg3MgoKMjAxMS0xMi0wOSAxMjoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICBsYXc6IGZpeCBDRkxBR1MgYW5kIExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMTItMDkgMTI6MTU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEyLTA5IDEwOjUxOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHA6IGZpeCBtYXJzaGFsbGVycwoJICBSZW1vdmUgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBtaW5vYmplY3QuCgkgIEluaXQgUlRDUCBidWZmZXIgY29ycmVjdGx5LgoJICBIYW5kbGUgcmVzdWx0cyBmcm9tIHNldGNhcHMKCSAgUmVtb3ZlIGFzc2VydHMuCgoyMDExLTEyLTA5IDEwOjUwOjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBsYXc6IGZpeCBuZWdvdGlhdGlvbgoKMjAxMS0xMi0wOCAxMTowMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdHJlYW0tZm9ybWF0PXJhdyBnb2VzIHdpdGggYWFjIGNhcHMsIG5vdCBtcDMgY2FwcwoKMjAxMS0xMi0wOCAwMToyODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMKCjIwMTEtMTItMDIgMTI6MDc6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgaWdub3JlIHRoZSBoaWdoZXN0IGZyYW1lIGludGVydmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDIgMTE6NTk6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgaWdub3JlIHRoZSBsYXJnZXN0IHJlc29sdXRpb24KCSAgVGhlICdtYXgnIHZhbHVlIGlzbid0IGFuIFNUTCBzdHlsZSAib25lIGFmdGVyIHRoZSBlbmQiIGJvdW5kLAoJICBidXQgdGhlIGxhcmdlc3QgYWxsb3dlZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wNiAxNjo0NzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBkb2NzOiBhZGQgYWRkIHRoZSB0d28gZW51bSB2YWx1ZXMgdGhhdCB3ZXJlIGp1c3QgYWRkZWQgdG9vCgoyMDExLTEyLTA2IDE2OjE0OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBleHBvc2UgdGhlIGVudW0gcHJvcGVydHkgZG9jcyBmb3Igc3BsaXR0aW5nIG1vZGUuCgkgIEZpeGVzICM2NjU2NjYuCgoyMDExLTEyLTA2IDE0OjIzOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIGgyNjNwYXk6IGZpeCBpbnZhbGlkIHJldHVybiB2YWx1ZQoKMjAxMS0xMi0wNiAxMzo1OTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHVudXNlZCBmbHVzaCBwYXJhbQoKMjAxMS0xMi0wNSAxODo0MDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIHJ0cHhxdGRlcGF5OiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTg6NDA6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxODozOTo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTI6MTU6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZXBsYWNlIGRlcHJlY2F0ZWQgR1NUX0NMQVNTX0xPQ0sKCjIwMTEtMTEtMjQgMTM6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IENlaWwganBlZyBkaW1lbnNpb25zLCBpbnN0ZWFkIG9mIGZsb29yCgkgIEEgSlBFRyBpbWFnZSBpbnNpZGUgYW4gUlRQIHN0cmVhbSBoYXMgYSBwcmVjZWVkaW5nIFJGQzI0MzUgaGVhZGVyIHRoYXQKCSAgY29udmV5cyB3aWR0aC9oZWlnaHQuIFRoZSBkaW1lbnNpb25zIGluIHRoaXMgaGVhZGVyIGFyZSBsaW1pdGVkIHRvIGJlCgkgIG11bHRpcGxlcyBvZiA4LiBTaW5jZSBKUEVHIHVzZXMgYW4gTUNVIG9mIDh4OCBwaXhlbHMgYW55IGltYWdlIG11c3QKCSAgYWxyZWFkeSBpbmRpcmVjdGx5IGhhdmUgaW1hZ2UgZGF0YSBkaW1lbnNpb25zIHRoYXQgYXJlIHJvdW5kZWQgdXAgaW4KCSAgb3JkZXIgdG8gY29udGFpbiBlbm91Z2ggZGF0YSB0byByZW5kZXIgdGhlIGltYWdlLiBUaGVyZWZvcmUgdGhpcyBmaXgKCSAgc2FmZWx5IHJvdW5kcyB0aGUgaW1hZ2UgZGltZW5zaW9ucyBpbiB0aGUgUkZDMjQzNSBoZWFkZXIgdXAgdG8gdGhlCgkgIGNsb3Nlc3QgbXVsdGlwbGUgb2YgOC4KCjIwMTEtMTItMDQgMTI6NTA6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBlbnN1cmUgd2Ugb25seSBjaGVjayBmb3Igc2FtcGxlL2Jsb2NrIG1peHVwIGF0IHN0YXJ0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCB0cmlnZ2VyIGF0IHNvbWUgcG9pbnQgd2l0aGluIHRoZSBmaWxlLCBidXQgdGhlCgkgIGNoZWNrIGlzIG9ubHkgbWFraW5nIHNlbnNlIGZvciB0aGUgc2Vjb25kIGJsb2NrLgoKMjAxMS0xMi0wMyAxODoxNDo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogd2FybiBpZiBhY2N1bXVsYXRpbmcgaGVhZGVycyBhZnRlciB0aGV5IHdlcmUgcHVzaGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU0MTIKCjIwMTEtMTAtMjUgMTI6NTQ6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGZpeCBwYXJzaW5nCgkgIE1hcmsgbW9yZSBwYXJ0cyBhcyBiZWxvbmdpbmcgdG8gc3RyZWFtaGVhZGVycy4KCjIwMTEtMTItMDMgMTc6MzA6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGRpc2NvbnRpbnVpdHkgdGhyZXNob2xkIGNoZWNrIHdoZW4gdGltZXN0YW1wcyBnbyBiYWNrd2FyZHMKCSAgU2luY2UgdW5zaWduZWQgdHlwZXMgYXJlIHVzZWQsIGEgbmVnYXRpdmUgdmFsdWUgd291bGQgc2hvdyBhcyB2ZXJ5LCB2ZXJ5CgkgIHBvc2l0aXZlLgoJICBGaXhlcyBBL1Ygc3luYyBvbiBzb21lLi4uIGxlc3MgdGhhbiB3ZWxsIG1hZGUgZmlsZXMgd2hlcmUgdGltZXN0YW1wcyBnbwoJICBiYWNrd2FyZHMuCgoyMDExLTEyLTAyIDIyOjI1OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgYmFzZXNpbmsgZXZlbnQgaGFuZGxlciBjaGFuZ2VzCgoyMDExLTEyLTAyIDEyOjAxOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYWRkIGEgY29tbWVudCBhYm91dCBhICJoaWRkZW4iIGFzc3VtcHRpb24gb24gcmFuayB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wMiAwMTo1ODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYwoKMjAxMS0xMi0wMSAxODo1NTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdXBkYXRlIGZvciB0YWcgQVBJIGNoYW5nZXMKCjIwMTEtMTItMDEgMTU6Mjk6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBsYWNhdGUgZ2NjIHNpbmNlIC1XZXJyb3IgaXMgdXNlZAoJICBJbml0aWFsaXplIHZhbHVlcyB0aGF0IEdDQyBjYW5ub3QgcHJvdmUgYXJlIG5vdCB1c2VkIHdpdGhvdXQKCSAgYmVpbmcgaW5pdGlhbGl6ZWQsIGFuZCBhc3NlcnQgdGhhdCBJIGRpZCBub3QgbWVzcyB1cCBteSBwcm9vZi4KCjIwMTEtMTItMDEgMTQ6MTM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggdXAgTElCUyBvcmRlciBzb20gbW9yZWAKCjIwMTEtMTItMDEgMTM6MjI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IGZpeCBuYW1lIG9mIG5ldyBwcm9wZXJ0eSBhbmQgdGhlIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mzc5CgoyMDExLTA5LTI1IDE0OjU3OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgYmFzaWMgYnVmZmVyIGxpc3QgaGFuZGxpbmcKCSAgV2UgYXNzdW1lIGZvciBub3cgdGhhdCBhbGwgYnVmZmVycyBpbiBhIGJ1ZmZlciBsaXN0CgkgIHNob3VsZCBlbmQgdXAgaW4gdGhlIHNhbWUgZmlsZSAoc28gd2UgY2FuIGdyb3VwIEdPUHMKCSAgaW4gYnVmZmVyIGxpc3RzLCBmb3IgZXhhbXBsZSkuIENvdWxkIG9wdGltaXNlIHRoaXMKCSAgYSBiaXQgdG8gYXZvaWQgdGhlIG1lbWNweS4KCjIwMTEtMDktMjMgMTg6NDM6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHdyaXRlIHN0cmVhbS1oZWFkZXJzIHdoZW4gc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGZpbGUgaW4gbWF4LXNpemUgbW9kZQoKMjAxMS0wOS0yMyAxODozMTowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBuZXcgJ21heC1zaXplJyBtb2RlIGZvciBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgZmlsZQoKMjAxMS0wOS0yMyAxNzo0OTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCAibWF4LWZpbGUtc2l6ZSIgcHJvcGVydHkgZm9yIG5ldyBuZXh0LWZpbGUgbW9kZQoKMjAxMS0xMi0wMSAxMzozODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgZm9yZ2V0IFNTQSBzdWJ0aXRsZXMgaW4gbGFzdCBjb21taXQKCjIwMTEtMTItMDEgMTM6MzQ6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogT25seSBjaGVjayBmb3IgbWFya3VwIGFuZCBlc2NhcGUgaWYgbmVjZXNzYXJ5IGZvciBwbGFpbnRleHQgc3VidGl0bGVzCgkgIE90aGVyd2lzZSB3ZSBicmVhayBVU0YgYW5kIEFTUy9TU0Egc3VidGl0bGVzLgoKMjAxMS0xMi0wMSAxMzoyMzozMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBtdWx0aWZpbGU6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgLWJhc2UgbGlicyBpbmNsdWRlcyB0byBDRkxBR1MsIGZpeCBvcmRlciBvZiBMSUJTIDxjaXQ+LgoKMjAxMS0xMi0wMSAxMzowODowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGZpeCBnX21rZHRlbXAgcHJlc2VuY2UgY2hlY2sgaW4gbXVsdGlmaWxlIHRlc3RzCgkgIGdfbWtkdGVtcCB3YXMgYWRkZWQgaW4gZ2xpYiAyLjMwIGV2ZW4gdGhvdWdoIHRoZSBkb2MgY2xhaW1zIGl0IHdhcyBhZGRlZCBpbgoJICAyLjI2LgoKMjAxMS0wNy0xNyAyMzo1NjowNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIGZsYWcgdG8gY3V0IGFmdGVyIGEgZm9yY2Uga2V5IHVuaXQgZXZlbnQKCjIwMTEtMTItMDEgMTI6NDc6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENvcHkgYWxsIGJ1ZmZlciBmbGFncyB3aGVuIGNyZWF0aW5nIGEgc3VidGl0bGUgYnVmZmVyIGNvcHkgYWZ0ZXIgcG9zdHByb2Nlc3NpbmcKCSAgVGhpcyBhbHNvIGNvcGllcyB0aGUgY2Fwcy4gT3RoZXJ3aXNlIHdlIGNvdWxkIGVuZCB1cCBwdXNpbmcKCSAgdGhlIGZpcnN0IGJ1ZmZlciB3aXRob3V0IGFueSBjYXBzLCB3aGljaCBjYXVzZXMgZG93bnN0cmVhbQoJICB0byBub3QgZ2V0IG5vdGlmaWVkIGFib3V0IHRoZSBjYXBzLgoJICBGaXhlcyBidWcgIzY2NDg5Mi4KCjIwMTEtMTAtMTEgMDI6MDc6MTMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgZGVmYXVsdCBmcmFtZXJhdGUgb3B0aW9uYWwgcGVyIHN0cmVhbQoJICB0aGVyZSBpcyBhdCBsZWFzdCB0d28gdXNlIGNhc2VzIHdoZXJlIGRlZmF1bHQgZnJhbWUgcmF0ZQoJICBzaG91bGQgb3IgbWF5IGJlIGRpc2FibGVkOgoJICAtIHZwOCBzdHJlYW0gd2l0aCBhbHRyZWYgZnJhbWUgZW5hYmxlZC4gSWYgZGVmYXVsdCBmcmFtZSByYXRlCgkgIGlzIGVuYWJsZWQsIHNvbWUgcGxheWVycyB3aWxsIG1pc3NpbnRlcnByZXRlIGl0IChjcml0aWNhbCEpCgkgIC0gZm9yIHdlYm0gY29udGFpbmVyLCB0byByZWR1Y2UgbWljcm8gb3ZlcmhlYWQKCSAgLSBmb3Igc3RyZWFtIHdpdGggdmFyaWFibGUgZnJhbWUgcmF0ZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMS0zMCAyMjoxMzoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICByaXBwbGV0djogZml4IENMQU1QIGVuZC12YWx1ZXMKCjIwMTEtMTEtMzAgMTk6MjU6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTExLTMwIDE5OjAwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5oOgoJICBzcGxpdGZpbGVzcmM6IHNwZWNpZnkgZmlsZW5hbWVzIHZpYSBub3JtYWwgd2lsZGNhcmRzIGluc3RlYWQgb2YgcmVndWxhciBleHByZXNzaW9ucwoJICBMZXNzIGNyYWNrdGFzdGljIGluIHRoZSBlbmQuCgoyMDExLTEwLTEwIDE4OjI4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogY2hlY2sgYnl0ZXMgYWN0dWFsbHkgcmVhZCwganVzdCBpbiBjYXNlCgkgIEhhbmRsZSBjb3JuZXIgY2FzZSB3aGVyZSB3ZSB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUKCSAgbGFzdCBmaWxlIHBhcnQsIGluIHdoaWNoIGNhc2Ugd2Ugd2FudCB0byByZXR1cm4gYSBzaG9ydCByZWFkLgoJICBJZiB3ZSBnZXQgZmV3ZXIgYnl0ZXMgdGhhbiBleHBlY3RlZCBmb3IgYW55IG90aGVyIGZpbGUgcGFydCwKCSAgd2Ugc2hvdWxkIGp1c3QgZXJyb3Igb3V0LCBzaW5jZSBzb21ldGhpbmcgZmlzaHkncyBnb2luZyBvbgoJICB0aGVuLgoKMjAxMS0xMC0wNiAwODozMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IHNldCBvZmZzZXRzIG9uIGJ1ZmZlcnMKCSAgTG9va3MgbGlrZSBzb21lIHBhcnNlcnMgKGluIHNvbWUgdmVyc2lvbnMgYXQgbGVhc3QpIGV4cGVjdCB0aGUKCSAgb2Zmc2V0cyB0byBiZSBzZXQsIGFuZCBiZWhhdmUgd2VpcmQgaWYgdGhhdCdzIG5vdCB0aGUgY2FzZQoJICAoZS5nLiBvZmYtYnktb25lIGluIGgyNjRwYXJzZSkuCgoyMDExLTA3LTI4IDIwOjE5OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlOiBhZGQgc3BsaXRmaWxlc3JjIGVsZW1lbnQKCSAgQWRkIG5ldyBzcGxpdGZpbGVzcmMgZWxlbWVudCB0aGF0IHByZXNlbnRzIG11bHRpcGxlIGZpbGVzCgkgIChzZWxlY3RhYmxlIHZpYSBhIGxvY2F0aW9uIHJlZ2V4KSBhcyBvbmUgc2luZ2xlIGNvbnRpZ3VvdXMKCSAgZmlsZS4KCjIwMTEtMTEtMzAgMDc6NTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgdXBkYXRlIGZvciBtb3ZlZCBhdWRpbyBpbnRlcmZhY2VzCgoyMDExLTExLTI5IDE3OjM0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgUmV2ZXJ0ICJwdWxzZWF1ZGlvc2luazogZml4IGNhcHMgbGVhayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNmE5ZGU5ZTJhZWRjOGI2NmFiMzIxOTkwMmI1YTM3ZThkNjVhZGEyLgoJICBzZXRjYXBzIGZ1bmN0aW9ucyBhcmVuJ3Qgc3VwcG9zZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkCgoyMDExLTExLTI5IDE5OjEwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgZml4IGZvciBtb3ZlZCBpbnRlcmZhY2VzCgoyMDExLTExLTI4IDIzOjIwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnNzUyMWI1OTdmNGRjNDlkOGQxNjhmMzY4ZjBlN2ViYWY5OGE3MjE1NicgaW50byAwLjExCgoyMDExLTExLTI4IDIxOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMToyNzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJ2EyMzM3YjhhZjQ1Y2I1ZThjMDkxZmYwZTFjM2VmNGI2Y2M3YjIwYTMnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAxODoyNTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBVcGRhdGUgZm9yIGluZGV4YWJsZSBjaGFuZ2UKCjIwMTEtMTEtMjggMTc6NTI6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHVwZGF0ZSBmb3IgY2xvY2sgcHJvdmlkZXIgQVBJIGNoYW5nZQoKMjAxMS0xMS0yOCAxNjo1NzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZml4IGZvciBlbGVtZW50IGZsYWcgdXBkYXRlcwoKMjAxMS0xMS0yOCAxMjo1ODo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjggMTM6MDg6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgcmVmIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjggMTE6NDc6MTEgKzAxMDAgIENoYWQgPGNoYW5uYUBjYWx0ZWNoLmVkdT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IHNldCBnYXAtYXdhcmUKCSAgVGhlIGVsZW1lbnQgZG9lcyBub3QgbW9kaWZ5IHRoZSBkYXRhIGFueXdheS4KCjIwMTEtMTEtMjcgMjM6MzI6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSBwbyBmaWxlcwoKMjAxMS0xMS0yNyAyMzozMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jCgoyMDExLTExLTI2IDIxOjM5OjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBhbHNvIHN5bmMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmaWx0ZXIgYmFuZHMKCjIwMTEtMTEtMjYgMTY6MDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbml0aWFsaXNlIHNlZW5fbWFya3VwX3RhZyBmaWVsZCBvbiBzdWJ0aXRsZSBzdHJlYW0gY29udGV4dAoKMjAxMS0xMS0yNiAxMDowMTowNyArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thOiBwb3J0IHRvIDAuMTEKCSAgU3VwcG9ydCBmb3IgVEFHX0lNQUdFIGFuZCBUQUdfQVRUQUNITUVOVCBpcyBjb21tZW50ZWQgb3V0OyB0aGlzIHJlcXVpcmVzIGNhcHMKCSAgb24gYnVmZmVycyB3aGljaCBpcyBnb25lIGZyb20gMC4xMS4KCSAgU2VnbWVudCBoYW5kbGluZyBpbiB0aGUgZGVtdXhlciBpcyBhIGJpdCBjb21wbGV4OyBJIGFkZGVkIHNvbWUgRklYTUUgY29tbWVudHMKCSAgaW4gcGxhY2VzIHdoZXJlIEknbSBub3QgeWV0IHN1cmUgaWYgSSBwb3J0ZWQgY29ycmVjdGx5LgoKMjAxMS0xMS0yNiAxMzo1NDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZWF1ZGlvOiByZXF1aXJlIHB1bHNlYXVkaW8gPj0gMS4wCgoyMDExLTExLTI2IDEzOjM0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jCgkgIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaAoJICBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYwoJICBTb21lIHBvc3NpYmxlIEZJWE1FcyByZW1haW5pbmcgaW4gdGhlIGF1ZGlvIHBhcnNlciBnZXRjYXBzIGZ1bmN0aW9ucy4KCjIwMTEtMTEtMjUgMTk6Mjg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgaXNtbG11eDogVXNlIGlzby1mcmFnbWVudGVkIGFzIHZhcmlhbnQgdHlwZQoJICBVc2luZyAnaXNvJyBjb25mbGljdHMgd2l0aCBtcDRtdXggdmFyaWFudCB0eXBlLCBpc21sbXV4IG5vdwoJICB1c2VzIGlzby1mcmFnbWVudGVkCgkgIEZpeGVzICM2NTY4MjMKCjIwMTEtMTEtMjQgMTI6MDU6MzMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogSW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UKCSAgUHVsc2VBdWRpbyAxLjAgc3VwcG9ydHMgcGVyLXNvdXJjZS1vdXRwdXQgdm9sdW1lcywgYW5kIHRoaXMgZXhwb3NlcyB0aGUKCSAgZnVuY3Rpb25hbGl0eSB2aWEgdGhlIEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UuCgkgIFdoZW4gY29tcGlsZWQgYWdhaW5zdCBwcmUtMS4wIFB1bHNlQXVkaW8sIHRoZSBpbnRlcmZhY2UgaXMgbm90CgkgIGltcGxlbWVudGVkLCBhbmQgdGhlICJ2b2x1bWUiIG9yICJtdXRlIiBwcm9wZXJ0aWVzIGFyZSBub3QgYXZhaWxhYmxlLgoJICBUaGlzIGJpdCBvZiB1Z2xpbmVzcyB3aWxsIGdvIGF3YXkgd2hlbiB3ZSBjYW4gZGVwZW5kIG9uIFB1bHNlQXVkaW8gMS4wCgkgIG9yIGdyZWF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTUwNTUKCjIwMTEtMDktMTAgMjE6MjE6MzggLTA3MDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBUcml2aWFsIGNvbW1lbnQgY29weS1wYXN0ZS1vIGZpeAoKMjAxMS0xMS0xNCAxMjo0MzoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IFJlbW92ZSByZWR1bmRhbnQgY29kZQoKMjAxMS0xMS0xNCAxMjo0MTo0MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IENsZWFuIHVwIHJlZmNvdW50aW5nIGluIGV2ZW50IHByb2JlCgkgIE1ha2VzIHN1cmUgd2UgZG9uJ3QgbGVhayBhIHJlZmNvdW50IGlmIHRoZSBvYmplY3QgaXMgZGlzcG9zZWQgYmVmb3JlIGEKCSAgTkVXU0VHTUVOVCB0dXJucyB1cC4KCjIwMTEtMTEtMjQgMTY6MzE6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IHNlZWtpbmcKCSAgV2hpY2ggSSBhY2NpZGVudGFsbHkgYnJva2Ugd2hlbiBmaXhpbmcgZmx2IHZpZGVvcyBicmVha2luZyBvbgoJICBzcHVyaW91cyB0aW1lc3RhbXAgZGlzY29udGludWl0aWVzIGluIGJyb2tlbiBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQzMAoKMjAxMS0xMS0yNSAxMzoxMzo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiByZXBhaXIgY29sb3IgbW9kZXMgaW4gcmFkaW9hY3R2IGJ5IHRha2luZyByZ2IsYmdyIGludG8gYWNjb3VudAoKMjAxMS0xMS0yNSAxMTo0NDo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSAgcmFkaW9hY3R2OiBhZGQgb25lIG1vcmUgc2V0IG9mIGNhcHMKCSAgSXQgYWxzbyB3b3JrIGluIHRoaXMgZm9ybWF0LiBBdm9pZHMgdGhlIG5lZWQgZm9yIGNvbnZlcnNpb24uCgoyMDExLTExLTI1IDExOjQ0OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHR2OiBmaXggcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBUaGUgcGx1Z2lucyB3ZXJlIHVzaW5nIF9maXhlZF9jYXBzXyBhbmQgdGh1cyBub3QgYWRqdXN0aW5nIHRvIG5ldyB1cHN0cmVhbQoJICBzaXplcy4gU3BvdHRlZCBieSBUaW0gTcO8bGxlci4KCjIwMTEtMTEtMjUgMTE6NDM6MTYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIHdhcnB0djogcmVtb3ZlIG5vdCBuZWVkZWQgaWZkZWYKCjIwMTEtMTEtMjUgMTA6MTU6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgcmlwcGxldHY6IGNsZWFuIHVwIHRoZSByZW5kZXJpbmcgY29kZSBhIGJpdAoJICBUaGlzIGlzIGNvcnJydXB0cyB0aGUgbWVtb3kgd2hlbiByZXNpemluZy4gQWRkIGEgRklYTUUgdG8gbWFrZSBpdCByZXNpemVhYmxlCgkgIG9uY2UgdGhhdCBpcyBzb2x2ZWQuCgoyMDExLTExLTI0IDIxOjQxOjAzICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDExLTExLTI0IDIwOjQyOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R0djogZml4IHJldmVyc2UgbmVnb3RpYXRpb24KCSAgVGhlIHBsdWdpbnMgd2VyZSB1c2luZyBfZml4ZWRfY2Fwc18gYW5kIHRodXMgbm90IGFkanVzdGluZyB0byBuZXcgdXBzdHJlYW0KCSAgc2l6ZXMuIFNwb3R0ZWQgYnkgVGltIE3DvGxsZXIuCgoyMDExLTExLTI0IDE0OjE0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogRml4IGxlYWsgb2YgZmlsZW5hbWUgc3RyaW5ncwoJICBEbyBub3QgZm9yZ2V0IHRvIGZyZWUgdGhlIGZpbGVuYW1lIHN0cmluZ3Mgd2hlbiBkZWxldGluZwoJICB0aGUgbGlzdCBvZiBmaWxlcy4KCjIwMTEtMTEtMjQgMTQ6MTE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IGZpeCBidWlsZCBvZiB0ZXN0cwoJICBUZXN0cyBmYWlsIHRvIGJ1aWxkIGJlY2F1c2UgZ19ta2R0ZW1wIGlzIGF2YWlsYWJsZSBmcm9tIGdsaWIgc2luY2UKCSAgMi4yNi4KCSAgVGhpcyBwYXRjaCBhZGRzIGEgY29uZGl0aW9uIGFyb3VuZCB0aGUgcmVkZWZpbml0aW9uIG9mCgkgIGdfbWtkdGVtcCBvbiB0aGUgdGVzdHMgdG8gb25seSBidWlsZCBpdCBpZiBnbGliIGlzIG9sZGVyIHRoYW4KCSAgMi4yNi4KCjIwMTEtMDktMjcgMTY6NDk6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBza2lwIGlkMzIgdGFncwoJICBUaGlzIGFsbG93cyBkZWNvZGluZyBhdCBsZWFzdCBvbmUgc2FtcGxlIHdoZXJlIHNvbWV0aGluZyBoYXMKCSAgc3R1ZmZlZCBzb21lIElEMyB0YWcgYmVmb3JlIHRoZSAoc3VwcG9zZWRseSBpbml0aWFsKSBGTVRcIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDI0OQoKMjAxMS0xMC0zMSAxNzowNjoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogdHJpdmlhbCBjb21tZW50IGZpeCBmb3IgY2xhcml0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxODQxCgoyMDExLTEwLTMxIDE3OjA0OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBkb24ndCBsZWF2ZSBiaXRzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIHVuaW5pdGlhbGl6ZWQKCSAgTGV0J3MgaW5pdGlhbGl6ZSB0aGVtIHRvIHplcm8uIEl0IGxvb2tzIGFscmlnaHQsIGJ1dCB0aGVuIGl0CgkgIGFsc28gbG9va3MgYWxyaWdodCB3aXRoIHYzLCBvciB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHBpeGVscwoJICBmcm9tIHRoZSBzb3VyY2UuIEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBvcmlnaW5hbCBpbnRlbnQgd291bGQKCSAgYmUsIGFuZCB0aGUgb3JpZ2luYWwgZWZmZWN0diBzb3VyY2UgYWxzbyBoYXMgdGhpcyBidWcvZmVhdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTg0MQoKMjAxMS0xMS0yNCAxMDoyNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogVXNlIHRoZSBzaW5rcGFkIHRlbXBsYXRlIGNhcHMgYXMgZmFsbGJhY2ssIG5vdCB0aGUgc3JjcGFkIG9uZXMKCjIwMTEtMTEtMjQgMDk6NTk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjU3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjU1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1MzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NDk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogTWFyayBzb21lIG1vcmUgZnVuY3Rpb25zIGFzIHN0YXRpYwoKMjAxMS0xMS0yNCAwOTo0ODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NDQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogTWFyayBzb21lIGZ1bmN0aW9ucyBhcyBzdGF0aWMgYW5kIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gZGVjbGFyYXRpb25zCgoyMDExLTExLTI0IDA5OjQzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwMTo0ODoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogdXBkYXRlIHNvdXAgdGVzdCBmb3IgcmVtb3ZlZCBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoKMjAxMS0xMS0yNCAwMTo0NTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogZ2V0IHJpZCBvZiBpcmFkaW8tKiBwcm9wZXJ0aWVzLCBwb3N0IHRhZ3MgaW5zdGVhZAoKMjAxMS0xMS0yNCAwMTo0MDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWx3YXlzIHNlbmQgaWNlY2FzdCByZXF1ZXN0IGhlYWRlciwgZHJvcCBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoJICBTZXJ2ZXIgc2hvdWxkIGlnbm9yZSB1bmtub3duL3VuaGFuZGxlZCBoZWFkZXJzLi4KCjIwMTEtMTEtMjQgMDE6MTk6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG1ha2UgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eSBhIGd1aW50NjQKCjIwMTEtMTEtMjQgMDA6NTI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgcnRwbWFuYWdlcjogcmVuYW1lIGdzdHJ0cCogLT4gcnRwKgoJICBUaGlzIHdhcyBkb25lIGluIDAuMTAgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCB0aGUgcnRwIGVsZW1lbnRzIGluCgkgIGZhcnNpZ2h0LCBidXQgdGhlIGdzdC1wcmVmaXhpbmcgaXMgbm8gbG9uZ2VyIG5lZWRlZCBpbiAwLjExCgoyMDExLTExLTIzIDEwOjIzOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yMyAwOToyNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogYXZvaWQgZW5kbGVzcyBjYXBzIGxvb3AKCSAgQ2hlY2sgaWYgdGhlIGNhcHMgYXJlIHRoZSBzYW1lIGJlZm9yZSBhZGRpbmcgYSBuZXcgcHJvYmUuIEJlY2F1c2Ugb2YgcmVjb25maWd1cmUKCSAgZXZlbnRzLCB1cHN0cmVhbXMgc2VuZHMgbXVsdGlwbGUgY2FwcyBldmVudHMuCgoyMDExLTExLTIzIDAwOjU3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL3Bpbmtub2lzZS12b3JiaXMubWt2OgoJICB0ZXN0czogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgbWF0cm9za2FwYXJzZQoKMjAxMS0xMS0yMyAwMDo1NjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZG9uJ3QgbGVhayBzdHJlYW0gaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NTQ4CgoyMDExLTExLTIyIDAxOjQwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIE1vcmUgcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGZpeGVzCgoyMDExLTExLTIxIDIwOjMxOjMxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIC8gNjRiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxNQoKMjAxMS0xMS0yMSAxMzozNzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgYWN0aXZhdGlvbiBjaGFuZ2VzCgoyMDExLTExLTE4IDE3OjU5OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTExLTE4IDEzOjU3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gYWN0aXZhdGUgZnVuY3Rpb25zCgoyMDExLTExLTE3IDE3OjM2OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIFNldGluZyBjYXBzIG9uIGFuIGluYWN0aXZlIGZsdXNoaW5nIHBhZCBkb2VzIG5vdGhpbmcuCgoyMDExLTExLTE3IDE3OjE3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYwoKMjAxMS0xMS0xNyAxNTowMjo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTE3IDA4OjI0OjU4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGNvbGxlY3RwYWRzOiBwb3J0IEFQSSBjaGFuZ2VzCgoyMDExLTExLTE2IDE5OjA4OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZW5zdXJlIHRvIGZyZWUgYWxsb2NhdGVkIHBhZGRlZCBkYXRhCgoyMDExLTExLTE2IDE4OjU3OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogcmVzZXQgdGFnIHNldHRlciBpbnRlcmZhY2Ugd2hlbiBhcHByb3ByaWF0ZQoKMjAxMS0xMS0xNiAxODo1NzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlc2V0IHRhZyBzZXR0ZXIgaW50ZXJmYWNlIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTEtMTEtMTYgMTc6NTQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgYWRkIHBhcmVudCB0byBpbnRlcm5hbCBsaW5rcwoKMjAxMS0xMS0xNiAxNzoyNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhZGQgcGFyZW50IHRvIHF1ZXJ5IGZ1bmN0aW9uCgoyMDExLTExLTE2IDEyOjQwOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiB1cGRhdGUgZm9yIHJlbmFtZWQgZmxhZ3MKCSAgVXNlIHRoZSBfY2hlY2tfcmVjb25maWd1cmUgbWV0aG9kIGluc3RlYWQgb2YgY2hlY2tpbmcgZmxhZ3MuCgkgIERvbid0IG5lZWQgdG8gcmVmIHRoZSBwYXJlbnQgYW55bW9yZSwgY29yZSBkb2VzIHRoYXQuCgoyMDExLTExLTE1IDE4OjAxOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgX3F1ZXJ5X3BlZXJfKigpIC0+IF9wZWVyX3F1ZXJ5XyooKQoKMjAxMS0xMS0xNSAxNzo0NTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBfYWNjZXB0X2NhcHMoKSAtPiBfcXVlcnlfYWNjZXB0X2NhcHMoKQoKMjAxMS0xMS0xNSAxNzoyOTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgX3BlZXJfZ2V0X2NhcHMoKSAtPiBfcGVlcl9xdWVyeV9jYXBzKCkKCjIwMTEtMTEtMTUgMTY6NTU6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB1cGRhdGUgZm9yIF9nZXRfY2FwcygpIC0+IF9xdWVyeV9jYXBzKCkKCjIwMTEtMTEtMTUgMTY6MzE6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGNoYW5nZSBnZXRjYXBzIHRvIHF1ZXJ5CgkgIENoYWluIHVwIGV2ZW50IGZ1bmN0aW9uIGluIHBheWxvYWRlcnMuCgoyMDExLTExLTE1IDEzOjIzOjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHNwdXJpb3VzIHRpbWVzdGFtcCBkaXNjb250aW51aXR5CgkgIFdlIG5lZWQgdG8gdGVsbCB0aGUgYmFzZSBjbGFzcyB0aGF0IHdlJ3JlIGRyb3BwaW5nIGJ1ZmZlcnMsCgkgIHNvIGl0IGRyb3BzIHRoZSBpbnB1dCB0aW1lc3RhbXBzIGNvcnJlc3BvbmRpbmcgdG8gdGhlc2UuCgkgIE90aGVyd2lzZSwgdGhlIGZpcnN0IGFjdHVhbCBhdWRpbyBidWZmZXJzIHdlIG91dHB1dCB3aWxsIGJlCgkgIHN0YW1wZWQgd2l0aCB0aG9zZSAtIEdTVF9DTE9DS19USU1FU1RBTVBfTk9ORS4gVGhhdCBtaXNtYXRjaAoJICBiZXR3ZWVuIGlucHV0IGJ1ZmZlciBjb3VudCBhbmQgb3V0cHV0IGJ1ZmZlciBjb3VudCB3aWxsIHN0YXkKCSAgd2hpbGUgcGxheWluZy4gV2l0aCBlbm91Z2ggaGVhZGVycyBhbmQgbG9uZyBlbm91Z2ggYnVmZmVyCgkgIGR1cmF0aW9ucywgdGhlIHNpbmsgd2lsbCBoYXZlIHBsYXllZCBlbm91Z2ggYmVmb3JlIHJlY2VpdmluZwoJICB0aGUgZmlyc3QgdmFsaWQgdGltZXN0YW1wICh1c3VhbGx5IDApLCBhbmQgd2lsbCB0cmlnZ2VyIGFuCgkgIGF1ZGlibGUgZGlzY29udGludWl0eS4KCjIwMTEtMTEtMTQgMTU6MzQ6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBkZXRlY3Qgd2hlbiBhIGZpbGUgbGllcyBhYm91dCBmaXhlZCBibG9jayBzaXplCgkgIElmIHRoZSBzYW1wbGUvYmxvY2sgbnVtYmVyIGhhcHBlbnMgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGJsb2NrCgkgIHNpemUsIHdlIGFzc3VtZSB2YXJpYWJsZSBibG9jayBzaXplLCBhbmQgdGh1cyBjb3VudGVycyBpbiBzYW1wbGVzCgkgIGluIHRoZSBoZWFkZXJzLiBUaGlzIGNhbiBvbmx5IGdldCB1cyBhIGZhbHNlIHBvc2l0aXZlIGZvciBhIGJsb2NrCgkgIHNpemUgb2YgMSwgd2hpY2ggaXMgaW52YWxpZC4gV2UgY2FuIGdldCBmYWxzZSBuZWdhdGl2ZXMgbW9yZQoJICBvZnRlbiB0aG91Z2ggKGVnLCBpZiBub3Qgc3RhcnRpbmcgYXQgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0pLAoJICBidXQgdGhlbiB0aGF0J3MgYWxyZWFkeSBHSUdPLgoKMjAxMS0wOS0wMiAxOToyMDowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogQWRkIHNwZWNpYWwgbW9kZSB0byB1c2UgRklSIGFzIHJlcGFpciBhcyBHb29nbGUgZG9lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA5LTAxIDE3OjQ3OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IFNlbmQgRklSIHJlcXVlc3RzIGluIHJlc3BvbnNlIHRvIGtleSB1bml0IHJlcXVlc3RzIHdpdGggYWxsLWhlYWRlcnM9VFJVRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA5LTAxIDE2OjI1OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IFB1dCB0aGUgUExJIHJlcXVlc3RzIGluIGVhY2ggUlRQU291cmNlCgkgIEFsc28gcmVmYWN0b3IgYSBiaXQgYW5kIHB1dCBhbGwgdGhlIGtleWZyYW1lIHJlcXVlc3QgY29kZSBpbiBvbmUKCSAgcGxhY2UgaW5zaWRlIHJ0cHNlc3Npb24uYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA4LTMxIDE0OjM1OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBIYWNrIHRvIEZJUiBiZWNhdXNlIEdvb2dsZSBkb2Vzbid0IHNldCB0aGUgc2VuZGVyIHNzcmMgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDgtMzAgMTk6MDY6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogUHJvY2VzcyByZWNlaXZlZCBGdWxsIEludHJhIFJlcXVlc3RzCgkgIFByb2Nlc3MgRklSIHJlcXVlc3RzIGFjY29yZGluZyB0byBSRkMgNTEwNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTExLTA3IDE4OjQzOjI2ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyB0byAxLzEKCSAgV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgc2V0dGluZyB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gVjRMMi4gU28KCSAgc2ltcGx5IHNldCBpdCB0byBiZSAxLzEgaW4gdGhlIGNhcHMgdG8gcHJldmVudCBuZWdvdGlhdGlvbiBmYWlsdXJlcyB3aGVuCgkgIGZpeGF0aW5nIHRvIHdlaXJkIHZhbHVlcyAoZS5nLiB3aGVuIHRoZSBkb3duc3RyZWFtIGNhcHMgaGFzCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyA9IFsgTUlOLCBNQVggXSApCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM1ODAKCjIwMTEtMTEtMTQgMDk6Mzk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdGVzdHM6IG1ha2UgaWQzZGVtdXggdGVzdCBjb21waWxlCgkgIFN0aWxsIGZhaWxzIHRob3VnaC4KCjIwMTEtMTEtMTIgMTU6NDI6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IG5vIG5lZWQgdG8gZXhwbGljaXRlbHkgYWRkIGNvbnRyb2xsZWQgcHJvcGVydGllcyBhbnltb3JlCgoyMDExLTExLTEzIDIzOjQyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBnZXRfcHJvdG9jb2xzKCkgY2hhbmdlcwoKMjAxMS0xMS0xMyAxODo1MDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBzb3VwLCBwdXNoZmlsZSwgcnRzcCwgdWRwLCB2NGwyOiB1cGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTk6MjQ6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCjIwMTEtMTEtMTEgMTk6MjE6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwOiBmaXggZm9yIHJ0cCBoZWFkZXIgY2hhbmdlcwoKMjAxMS0xMS0xMSAxMDowNjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBmaXggY2FwcyBsZWFrCgoyMDExLTExLTExIDE0OjU1OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkbyBub3QgbGVhayBjbGllbnRuYW1lIHdoZW4gc2V0dGluZyB1cCBwcm9wZXJ0eQoKMjAxMS0xMS0xMSAxODowNTozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IENoYWluIHVwIGRpc3Bvc2UoKSBpbiBwdWxzZWF1ZGlvc2luawoKMjAxMS0xMS0xMSAxMjozMjo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTI6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTI6MDE6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgdXBkYXRlIGZvciBhdWRpb2Jhc2UqIHJlbmFtZQoKMjAxMS0xMS0xMSAxMTo1Mzo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIGF1ZGlvOiB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDExOjMzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBmaXggZm9yIHJpbmdidWZmZXIgcmVuYW1lCgoyMDExLTExLTExIDExOjI0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICB1cGRhdGUgZm9yIHJpbmdidWZmZXIgY2hhbmdlCgoyMDExLTExLTEwIDIzOjE1OjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IGFwaSBjaGFuZ2VzCgoyMDExLTExLTEwIDIzOjA5OjIzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgdmFyaW91czogYWRkIG1pc3NpbmcgaW5jbHVkZXMKCjIwMTEtMTEtMTAgMjE6MzU6MjQgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNvbXBpbGF0aW9uIHdpdGggcHVsc2VhdWRpbyAwLjkKCjIwMTEtMTEtMTAgMTg6MzI6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlcwoKMjAxMS0xMS0xMCAxNzoyMzo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHVwZGF0ZSBmb3IgY2hhbmdlZCBiYXNlIGNsYXNzZXMKCjIwMTEtMTEtMTAgMTM6NTA6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIGZpeCBmb3IgYXVkaW8gY2xvY2sgY2hhbmdlCgoyMDExLTExLTEwIDExOjAzOjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcmVtb3ZlZCBmaXhhdGUgZnVuY3Rpb24KCjIwMTEtMTEtMDkgMTc6NDA6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA5IDE3OjM4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgdXBkYXRlcyBmb3IgbmV3IGFjY2VwdGNhcHMgcXVlcnkKCjIwMTEtMTEtMDggMTU6MzU6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHdyb25nIHN0cmlkZSB3aGVuIGludmVydGluZyB1bmNvbXByZXNzZWQgdmlkZW8KCSAgU3VjaCBmcmFtZXMgaGF2ZSBhIHN0cmlkZSBtdWx0aXBsZSBvZiA0LCBzZWUKCSAgaHR0cDovL2xzY3ViZS5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1pc3N1ZXMvMjAxMC1BcHJpbC8wMTAyNDcuaHRtbC4KCSAgVGhpcyBzaG93ZWQgdXAgb24gYSBzYW1wbGUgdXNpbmcgYSBvZGQgd2lkdGggb2YgMjQgYml0IHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMjg4CgoyMDExLTExLTA5IDEyOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBoMjYzcHBheTogcmVwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDkgMTI6MTg6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTEtMTEtMDkgMTE6NTY6MDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgoyMDExLTExLTA5IDExOjUzOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICByZW1vdmUgcXVlcnkgdHlwZXMKCjIwMTEtMTEtMDkgMTA6MzI6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1pbmltYWwgc2FuaXR5IGNoZWNrIG9uIGNyZWF0aW9uIGRhdGV0aW1lCgoyMDExLTExLTA0IDE3OjU0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBSZWplY3Qgc3RhcnQvc3RvcCByZXF1ZXN0cyB0aGF0IGNvbWUgb3V0IG9mIG9yZGVyCgoyMDExLTEwLTI5IDE4OjI0OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFBvc3QgbWVzc2FnZXMgd2hlbiBzdGFydGluZyB0byBzZW5kL3JlY2VpdmUgRFRNRgoJICBUaGlzIHdheSwgdGhlIFVJIGNhbiBkaXNwbGF5IHRoZSBEVE1GIGV2ZW50cyBhcyB0aGV5IGFzIGJlaW5nIHNlbnQuCgoyMDExLTExLTAyIDEyOjU4OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogUmV0dXJuIHRoZSBzaW5rIHBhZCB0ZW1wbGF0ZSBhcyBzaW5rIGNhcHMsIG5vdCB0aGUgc3JjJ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAwOS0wMy0xNSAxOToyNjo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogQWxzbyBpbXBsZW1lbnQgc2l6ZS9mcmFtZXJhdGUgcmVzdHJpY3Rpb25zIGluIGdldGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAwOS0wMy0wNCAyMDo1MDoxOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogSW1wbGVtZW50IGdldGNhcHMgZm9sbG93aW5nIFJGQyA0NjI5LCBwaWNrcyB0aGUgcmlnaHQgYW5uZXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDExLTExLTA4IDE0OjMxOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIHNldCBzZWdtZW50IHN0b3AgYXQgc3RhcnR1cCByYXRoZXIgdGhhbiBvbmx5IHBvc3Qgc2VlawoJICAuLi4gc28gYXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgcGxheWJhY2sgd2l0aCBvciB3aXRob3V0IHNlZWssIGVzcGVjaWFsbHkKCSAgaW4gcHJlc2VuY2Ugb2Ygc29tZSBib2d1cyBlZGl0IGxpc3QgZW50cmllcy4KCjIwMTEtMTEtMDggMTE6MTg6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICB1cGRhdGUgZm9yIHByb2JlIGFwaSBjaGFuZ2VzCgoyMDExLTExLTA4IDA4OjUwOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBjb2RlIGNsZWFudXBzCgkgIE1vdmUgdmFyaWFibGVzIHRvIHRoZSBzY29wZSB3aGVyZSB0aGV5IGFyZSBuZWVkZWQuIFVzZSBvdXIgbWFjcm9zIGFuZCBmdW5jdGlvbnMKCSAgbW9yZS4KCjIwMTEtMTEtMDggMDg6NDk6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGFkZCBhIHNpbmtfcXVlcnkgdG8gZWF0IGFsbG9jYXRpb24gcXVlcmllcwoJICBXZSBzaG91bGQgbm90IGZvcndhcmQgYWxsb2NhdGlvbiBxdWVyaWVzIGZvciBhdWRpbyB0byB0aGUgdmlkZW8gc2luay4KCjIwMTEtMTEtMDIgMTc6MDI6NTQgKzAwMDAgIFJhdWwgR3V0aWVycmV6IFNlZ2FsZXMgPHJnc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBnc3QvZmx2LzogYWRkIGFtZmRlZnMuaCB0byBub2luc3RfSEVBREVSUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzM0CgoyMDExLTExLTA3IDE3OjE0OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZml4IGZvciBwcm9iZSB1cGRhdGVzCgoyMDExLTEwLTAzIDE3OjUwOjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogZGV0ZWN0IGxhcmdlIHB0cyBnYXBzIGFuZCByZXN5bmMKCSAgU2hvdWxkIHdvcmsgb24gbXVsdGlwbGUgZ2FwcywgYnV0IHRlc3RlZCBvbiBvbmx5IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQzMAoKMjAxMS0wOC0yMiAxMDo0MDo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBvZmYgYnkgb25lIGJldHdlZW4gZ3JhbnBvcyBhbmQgbGFzdF9zdG9wCgoyMDExLTEwLTA3IDE5OjQxOjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGxhc3QgZnJhbWUgdGltZXN0YW1wIGluIGZpeGVkIGJsb2NrIHNpemUgbW9kZQoJICBUaGUgbGFzdCBibG9jayBtYXkgaGF2ZSBhIGRpZmZlcmVudCBibG9jayBzaXplLCBzbyB3ZSBzaG91bGQgbm90CgkgIHVzZSBpdCB0byBzY2FsZSBvciB3ZSdsbCBlbmQgdXAgd2l0aCBhIHdyb25nIHRpbWVzdGFtcC4KCSAgU2VlIGNvbW1lbnQgYW5kIHF1b3RlIGZyb20gdGhlIEZMQUMgZm9ybWF0IGRvY3VtZW50YXRpb24gaW4gdGhlIGNvZGUuCgkgIEZpeGVzIGxvb3BlZCBwbGF5YmFjayBvZiBGTEFDIGZpbGVzICh2aWEgYWJvdXQtdG8tZmluaXNoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTIxNQoKMjAxMS0xMC0yNyAxNTo1Mjo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IGFkZCBhICdzaWxlbnQnIHByb3BlcnR5IHRvIHNraXAgcmVuZGVyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI4NTYKCjIwMTEtMTEtMDcgMTI6MDA6MTIgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZml4IHJlZ3Jlc3Npb24gY2F1c2luZyBtYWxmb3JtZWQgZmlsZXMKCSAgVGhpcyB3YXMgY2F1c2VkIGJ5IG1lIGluIDFiMjEzZC4gSXQgc2VlbXMgSSB3YXMgdG9vIGZvY3VzZWQgb24gMC4xMSB3aGVuIEkgZGlkCgkgIHRoaXMgYW5kIHRlc3RlZCB0aGUgd3JvbmcgYnJhbmNoLgoJICBUaGUgcHJvYmxlbSB3YXMgcmVwb3J0ZWQgYnkgQWxleGV5IEZpc2hlci4KCjIwMTEtMTEtMDQgMTg6NDE6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMS0xMS0wNCAxNzozOToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxNjoyMToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogbW9yZSAwLjExIGZpeGluZwoJICBNYWtlIHN1cmUgdGhlIGNhcHMgZXZlbnQgZ2V0cyB0byB0aGUgc2luay4KCjIwMTEtMTEtMDQgMTU6MzU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgc29tZSBtb3JlCgkgIFJlbmFtZSBkZWNvZGViaW4yIC0+IGRlY29kZWJpbiBzb21lIG1vcmUKCSAgQ2xlYW51cCB1cCBzaW5rcGFkIGV2ZW50IGhhbmRsaW5nCgoyMDExLTExLTA0IDEzOjU2OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHNvbWUgbW9yZSB0byAwLjExCgkgIFdlIG11c3Qgbm90IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQuIGluc3RlYWQgd2Ugd2lsbCBkZWNpZGUgd2hhdCB0byBkbyB3aGVuIHRoZQoJICBwYWQgYmxvY2sgaXMgdGFrZW4uCgkgIFVzZSBkZWNvZGViaW4gaW5zdGVhZCBvZiBkZWNvZGViaW4yCgoyMDExLTExLTA0IDEzOjEyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTE6NTg6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgbWFrZSAldSBpbiBhbGwgcmVxdWVzdCBwYWQgdGVtcGxhdGVzCgoyMDExLTExLTA0IDExOjAxOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmMKCjIwMTEtMTEtMDQgMTA6MzI6NDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIFBvcnQgYXBlZGVtdXgKCjIwMTEtMTEtMDMgMjM6Mjg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwOiB1c2UgR0xpYidzIEdfQklHX0VORElBTiBkZWZpbmUgaW5zdGVhZCBvZiBCSUdfRU5ESUFOCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3czMgoKMjAxMS0xMS0wMyAxNjo0MzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXcgbmV0IGxpYnJhcnkKCjIwMTEtMTEtMDIgMTI6MDk6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB0YWdzOiB1cGRhdGUgZm9yIHRhZyBBUEkgcmVtb3ZhbAoKMjAxMS0xMS0wMiAxMDo0MDoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMzEgMDI6NDA6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXRidWZmZXIgYXBpIGNoYW5nZQoKMjAxMS0xMC0zMSAwMjozNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV0YWRkcmVzcyBjaGFuZ2UKCjIwMTEtMTAtMzEgMDI6MjQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBtZXRhIGFwaSBjaGFuZ2UKCjIwMTEtMTAtMjkgMDk6Mjk6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldyB0YXNrIGFwaQoKMjAxMS0xMC0yOSAwOTowOTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgc3RydWN0dXJlOiBmaXggZm9yIGFwaSB1cGRhdGUKCjIwMTEtMTAtMjkgMDg6MjU6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBidWZmZXJsaXN0OiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMTEtMDEgMDA6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXBkYXRlIGZvciBwYWQgQVBJIGNoYW5nZXMKCSAgR3N0UHJvYmVUeXBlLCBHc3RQcm9iZVJldHVybiBhbmQgR3N0QWN0aXZhdGVNb2RlIC0+IEdzdFBhZCoKCjIwMTEtMTAtMzEgMTg6Mzg6NTUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggb2J2aW91cyBjcmFzaAoKMjAxMS0xMC0zMSAxNjoxODozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCBzaG9ydGN1dCBldmFsdWF0aW9uIHdoZW4gYWRkaW5nIHBhaXJlZCBtcDQgdGFnCgkgIEZpeGVzIChwYXJ0IG9mKSAjNjM4NzExLgoKMjAxMS0xMC0zMSAxNTo0MzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVub2ZmaWNhbCBWX01KUEVHIGNvZGVjIGlkCgkgIC4uLiBidXQgYXMgbm90IHNwZWMnZWQgZXNwZWNpYWxseSwgY29uc2lkZXIgaXQgYSBWZlcgY29tcGF0aWJpbGl0eSBjYXNlLgoJICBGaXhlcyAjNjU5ODM3LgoKMjAxMS0xMC0zMCAxOTozMDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IHJlbW92ZSBkZWFkIGNvZGUgZnJvbSBoZWFkZXIKCSAgV2UgcmVxdWlyZSBhIG5ldy1lbm91Z2ggbGliZmxhYyB0aGF0IHRoaXMgY29uZGl0aW9uIHdpbGwgbmV2ZXIgYXBwbHkuCgoyMDExLTEwLTMwIDE5OjA5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcGFyc2Ugc3RyZWFtIGhlYWRlcnMgZnJvbSBjYXBzIGluIHNldF9mb3JtYXQgZnVuY3Rpb24KCSAgTm90IHRoYXQgdGhpcyBzZWVtcyB0byBiZSBhY3R1YWxseSBuZWVkZWQsIGxpYmZsYWMgaGFwcGlseSBkZWNvZGVzCgkgIHN0dWZmIGV2ZW4gaWYgd2UganVzdCBkcm9wIGFsbCBoZWFkZXJzIGFuZCBuZXZlciBmZWVkIGl0IHRvIHRoZQoJICBsaWJyYXJ5LgoKMjAxMS0xMC0zMCAxODo0OToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZG9uJ3QgZXh0cmFjdCBtZXRhZGF0YSwgbGVhdmUgdGhhdCB0byB0aGUgcGFyc2VyIG9yIGNvbnRhaW5lcgoKMjAxMS0xMC0zMCAxODo0NTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogd2UgZXhwZWN0IGZyYW1lZCBpbnB1dCBub3csIHJlbW92ZSBzb21lIG1vcmUgY29kZQoKMjAxMS0xMC0wOSAxNjoxODowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogbmFpdmUgcG9ydCB0byBHc3RBdWRpb0RlY29kZXIKCSAgVGhpcyB3b3VsZCBwcm9iYWJseSBoYXZlIGJlZW4gdG9vIGludmFzaXZlIHRvIGRvIGluIHRoZSAwLjEwCgkgIGJyYW5jaCwgd2l0aCBhbGwgdGhlIHB1bGwtbW9kZSBhbmQgcGFyc2VyIGhhbmRsaW5nIGNvZGUgaW4KCSAgdGhlcmUuCgoyMDExLTEwLTMwIDExOjQ0OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dCwgZ3N0OiB1cGRhdGUgZm9yIHRhZ2xpc3QgQVBJIGNoYW5nZXMKCjIwMTEtMTAtMzAgMTE6NDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2YgYXVkaW8gdGVzdHMgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTEtMTAtMjggMjE6MjY6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IHNpbXBsaWZ5IGdldF91bml0X3NpemUKCjIwMTEtMTAtMjggMjE6MTk6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgdGVzdHM6IGF1ZGlvZWNobzogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDIxOjE4OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IGludGVybmFsIGJ1ZmZlciBzaXplIGNhbGN1bGF0aW9uCgoyMDExLTEwLTI4IDE0OjA1OjQ4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJICB0ZXN0czogYXVkaW9jaGViYmFuZDogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDE2OjUyOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0yOCAxNTowODoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZml4IHBvcnRpbmcgZXJyb3JzCgkgIFRoZSBwcm9iZXMgd2VyZSBwb3J0ZWQgd3JvbmdseSBhbmQgY2F1c2VkIGRlYWRsb2Nrcy4KCjIwMTEtMTAtMjggMDk6NTc6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgc29mLW1hcmtlciB0byB0ZW1wbGF0ZSBjYXBzLCBzbyB3ZSBkb24ndCBnZXQgcGx1Z2dlZCBmb3IgbG9zc2xlc3MganBlZwoJICBqcGVnZGVjICh1c2luZyBsaWJqcGVnIDYuMi84KSBjYW4ndCBkZWNvZGUgc29tZSBsb3NzbGVzcyB0eXBlcyBvZiBKUEVHLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU2NjQ4CgoyMDExLTEwLTI4IDEzOjA2OjIwICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSAgdGVzdHM6IGF1ZGlvY2hlYmxpbWl0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTM6MDI6NTYgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggY3Jhc2ggaW4gcHJvY2VzcygpCgoyMDExLTEwLTI4IDExOjQ4OjMxICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkgIHRlc3RzOiBhdWRpb2FtcGxpZnk6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxMjo1MTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogZml4IGNoZWNrIGZvciBlbXB0eSBjYXBzCgoyMDExLTEwLTI4IDEyOjMwOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlbGFib3JhdGUgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTEwLTExIDIwOjU2OjUxICswNDAwICBTdGFzIFNlcmdlZXYgPHN0c3BAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYmUgY2FyZWZ1bCB3aXRoIG5lZ2F0aXZlIGN0cwoJICBGaXhlcyAjNjYxNDc3LgoKMjAxMS0xMC0wNiAxMzowNDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHVuZSBub24tdXBkYXRlIHNlZWsgaGFuZGxpbmcgY2FzZXMKCSAgRml4ZXMgIzY2MTA0OS4KCjIwMTEtMTAtMjggMTE6NDY6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmMKCjIwMTEtMTAtMjggMTE6MTY6MzggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBkb24ndCBzZXQgcHJvY2VzcyBmdW5jdGlvbiB0b28gZWFybHkKCSAgR3N0QXVkaW9JbmZvIGFuZCBHc3RBdWRpb0ZpbHRlciBoYXZlIGJlZW4gY2hhbmdlZCBzbyB0aGF0IHRoaXMgY29kZSBkb2Vzbid0CgkgIGNyYXNoIGFueW1vcmUgd2hlbiBhIHByb3BlcnR5IGlzIHNldCBpbiBOVUxMIHN0YXRlLgoKMjAxMS0xMC0yOCAxMDo0MjowNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJICB0ZXN0czogYXVkaW9keW5hbWljOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMDA6MjQ6MTQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICB0ZXN0czogc3BlY3RydW06IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yNyAyMzo1NzoxNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSAgdGVzdHM6IGF1ZGlvcGFub3JhbWE6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yNyAyMzo1NjoxMiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IGdldF91bml0X3NpemUKCjIwMTEtMTAtMjggMTA6NDA6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFVzZSB0aGUgY2xpcCBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRoZSBwcmVwYXJlX2J1ZmZlciBmdW5jdGlvbgoKMjAxMS0xMC0yOCAwOTowNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgcnRwbWFuYWdlciwgdjRsMjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFmdGVyIGdzdF9jYXBzX25ld19zaW1wbGUoKSBjaGFuZ2UKCjIwMTEtMTAtMjggMDk6MDE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhZnRlciBnc3RfY2Fwc19uZXdfc2ltcGxlKCkgY2hhbmdlCgoyMDExLTEwLTI4IDA5OjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXIyOiBVc2UgY29sbGVjdHBhZHMyIGZyb20gY29yZQoKMjAxMS0xMC0yNyAxOTozOToyMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcG9ydCB0byAwLjExIHJhdyBhdWRpbyBjYXBzCgoyMDExLTEwLTI3IDE5OjA2OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCjIwMTEtMTAtMjcgMTk6MDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgbWFrZSBzb21lIG1vcmUgdGhpbmdzIGNvbXBpbGUgYWdhaW4KCjIwMTEtMTAtMjcgMTY6MDg6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgoyMDExLTEwLTI3IDE2OjAzOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI4IDAwOjQxOjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvbid0IHBvaW50bGVzc2x5IGhvbGQgb2JqZWN0IGxvY2sgb3ZlciBjYXBzIG9wZXJhdGlvbnMKCSAgQXZvaWRzIGEgZGVhZGxvY2sgd2hlbiBnZXRjYXBzIGlzIHJlY3Vyc2l2ZSBkdWUgdG8gdGhlIGdldGNhcHMgYmVpbmcKCSAgcmVmbGVjdGVkIHVwc3RyZWFtL2Rvd25zdHJlYW0uIFRoZSBsb2NrIGlzbid0IGFjdHVhbGx5IHByb3RlY3RpbmcKCSAgYW55dGhpbmcgaGVyZS4KCjIwMTEtMTAtMjcgMDA6Mzc6MDMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9mbHYvYW1mZGVmcy5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGFkZCBzb21lIGNvbW1lbnRzIGFuZCBkZWZpbmVzIHRvIGNsYXJpZnkgY29kZS4KCjIwMTEtMTAtMTAgMTU6MzY6MTQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgZWJtbC13cml0ZSB0byBiZSBtb3JlIDAuMTEgZnJpZW5kbHkKCSAgU3dpdGNoaW5nIHRvIGEgbW9yZSAwLjExLWZyaWVuZGx5IHBhdHRlcm4sIHdoZXJlIGdldHRpbmcgdGhlIGJ1ZmZlcidzIGRhdGEKCSAgcG9pbnRlciBhbmQgc2V0dGluZyB0aGUgc2l6ZSBtYW55IHRpbWVzIGlzIGxlc3MgbmF0dXJhbC4gVGhpcyBpcyBvZiBjb3Vyc2UgaW4KCSAgcHJlcGFyYXRpb24gdG8gdGhlIHVwY29taW5nIHBvcnQgb2YgdGhlIHBsdWdpbi4KCjIwMTEtMTAtMTEgMjE6NDU6NDYgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIHN0YWxlIGZsb2F0Y2FzdCBpbmNsdWRlCgkgIEdET1VCTEVfVE9fQkUgd2FzIG1vdmVkIHRvIGNvcmUgYSBsb25nIHRpbWUgYWdvLgoKMjAxMS0xMC0xMSAyMjoxMDoyNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBwb3NzaWJsZSBjcmFzaCB3aXRoIG1hbGZvcm1lZCBkaXJhYyBjb2RlY19kYXRhCgkgIFNpbmNlIHNpemUgaXMgdW5zaWduZWQsIHdlIG5lZWQgdG8gc2FmZWd1YXJkIGFnYWluc3Qgd3JhcHBpbmcgYmVsb3cgemVyby4KCjIwMTEtMTAtMjEgMjI6MzM6MzQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHJlbW92ZSBhdm9pZGFibGUgY2FsbCB0byBnc3Rfb2JqZWN0X3NldF9uYW1lCgoyMDExLTEwLTIxIDIyOjMyOjM4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgYXZvaWRhYmxlIGNhbGwgdG8gZ3N0X29iamVjdF9zZXRfbmFtZQoKMjAxMS0xMC0yMSAxNDo1MToyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgIGludGVyZmFjZXM6IGNsZWFuIHVwIHRoZSB1c2Ugb2YgaWZhY2UgYW5kIGNsYXNzL2tsYXNzCgoyMDExLTEwLTIxIDExOjM3OjA1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHNvIGl0cyBwYXJhbGVsLWluc3RhbGxhYmxlIGFuZCBvbmx5IHRyaWVzIHRvIHBhY2thZ2UgcG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMTYgMjA6MzA6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGluY3JlYXNlIGFyYml0cmFyeSByZXNvbHV0aW9uIGxpbWl0cwoJICBBcHBhcmVudGx5IGxpYnBuZyBjYW4gdGVjaG5pY2FsbHkgZG8gdXAgdG8gMl4zMS0xIHJvd3MgYW5kIGNvbHVtbnMuIEhvd2V2ZXIgaXQKCSAgaW1wb3NlcyBhbiAoYXJiaXRyYXJ5KSBkZWZhdWx0IGxpbWl0IG9mIDEgbWlsbGlvbiAodGhhdCBjb3VsZCB0aGVvcmV0aWNhbGx5IGJlCgkgIGxpZnRlZCBieSB1c2luZyBzb21lIGFkZGl0aW9uYWwgQVBJKS4KCSAgTW92ZWQgYXJyYXkgYWxsb2NhdGlvbiB0byB0aGUgaGVhcCBub3cuCgoyMDExLTEwLTE2IDIwOjI1OjQxICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBkb24ndCB1bmNvbmRpdGlvbmFsbHkgYWxsb2NhdGUgNDA5NiBwb2ludGVycyBvbiB0aGUgc3RhY2sKCSAgSW5zdGVhZCBhbGxvY2F0ZSBhcyBtYW55IGFzIG5lZWRlZCAob24gdGhlIHN0YWNrIHN0aWxsKS4KCjIwMTEtMTAtMTYgMjA6MDU6MjggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGVuc3VyZSBzZXRjYXBzIHdhcyBjYWxsZWQgYmVmb3JlIGNoYWluIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHByb3Blcmx5IGVycm9yIG91dCBmb3IgZS5nLiAiZmFrZXNyYyAhIHBuZ2VuYyAhIGZha2VzaW5rIi4KCjIwMTEtMTAtMTYgMTk6NDQ6MjcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IHZhbGlkYXRlIGlucHV0IGJ1ZmZlciBzaXplCgkgIEp1c3QgZm9yIHNhZmV0eTsgb2YgY291cnNlIHN1Y2ggbWlzbWF0Y2ggcmVwcmVzZW50cyBhIGJ1ZyBpbiBhbm90aGVyIGVsZW1lbnQuCgoyMDExLTEwLTE2IDE5OjQxOjI4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBtYWtlIHNldGNhcHMgbW9yZSByb2J1c3QsIHVzZSBnc3R2aWRlbyBmdW5jdGlvbnMKCSAgQSBzZXRjYXBzIGZ1bmN0aW9uIG5lZWRzIHRvIGFjdHVhbGx5IHZlcmlmeSB0aGUgY2FwcyBjYXJlZnVsbHkuIEluIHRoaXMgY2FzZSwKCSAgaXQgd2FzIHBvc3NpYmxlIHRvIGUuZy4gbGluayBhIHZpZGVvIGRlY29kZXIgd2l0aCBZVVYrUkdCIHRlbXBsYXRlIGNhcHMgdG8KCSAgcG5nZW5jLiAgVGhhdCB3b3VsZCBjYXVzZSBhIGNyYXNoIHdoZW4gdGhlIGRlY29kZXIgcHVzaGVzIGEgWVVWIGJ1ZmZlci4gU2FtZQoJICB0aGluZyB3aGVuIHB1c2hpbmcgYSB2YWxpZCBidWZmZXIgdGhhdCBleGNlZWRzIHRoZSByZXNvbHV0aW9uIGxpbWl0cy4KCSAgQWxzbywgbWlzc2luZyBmcmFtZXJhdGUgY2FwcyBmaWVsZCB3b3VsZCBjYXVzZSBhIGdsaWIgY3JpdGljYWwgd2FybmluZyBkdWUgdG8KCSAgaW52YWxpZCBHVmFsdWUuIFRoaXMgZmFpbHMgaGFyZCBub3cuCgoyMDExLTEwLTIxIDEwOjAxOjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGVibWw6IHNtYWxsIGNvcnJlY3Rpb24gdG8gcHJldmlvdXMgY29tbWl0CgkgIFNpZ25hbCBhIHNob3J0IHJlYWQgd2l0aCBVTkVYUEVDVEVELCBleGFjdGx5IGxpa2UgdGhlIHBlZWtfYnl0ZXMgZnVuY3Rpb24uCgoyMDExLTEwLTE5IDEzOjA5OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBlYm1sOiBGaXggcHVzaC1iYXNlZCBiZWhhdmlvdXIKCSAgVGhlICdwZWVrJyBtZXRob2Qgd2FzIGNvbXBsZXRlbHkgd3JvbmcgKCE/KQoKMjAxMS0xMC0xOCAxODozMToxNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IEdldCBjYXBzIGNvcnJlY3RseSBvbiBwYWQgYmxvY2sKCSAgSW5zdGVhZCBvZiBhbHdheXMgZ29pbmcgdXBzdHJlYW0sIHdlIHNob3VsZCBmaXJzdCBzZWUgaWYgYWxyZWFkeSBnb3QKCSAgY2FwcyBmcm9tIGEgc2V0Y2FwcygpIGNhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEyNjIKCjIwMTEtMTAtMTggMTI6MjU6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBkb24ndCB1bnJlZiBidWZmZXIgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkKCjIwMTEtMTAtMTggMTI6MDU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSB1c2UgaXNfcGNtIGZvciAxLjAgb2YgcHVsc2VhdWRpbwoKMjAxMS0xMC0xOCAxMTo1ODo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvbmx5IGRpc2FibGUgdHJpY2ttb2RlcyBmb3IgIXBjbQoJICBPbmx5IGRpc2FibGUgdHJpY2ttb2RlcyB3aGVuIHdlIGFyZSBub3QgZGVhbGluZyB3aXRoIHJhdyBQQ00gc2FtcGxlcy4KCjIwMTEtMTAtMTYgMTU6MzI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0xNiAxNToyNjozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jCgoyMDExLTEwLTE0IDEwOjU2OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBGaXggYSBsZWFrCgkgIEJ1ZmZlcnMgd2VyZW4ndCBiZWluZyB1bnJlZidlZCBpbiBvbmUgY2FzZSBpbnNpZGUsIGNhdXNpbmcgbWVtb3J5IHVzYWdlCgkgIHRvIGJsb3cgdXAuCgoyMDExLTEwLTE0IDA5OjEwOjAxICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgc2V0IGNvbG91ciBtYXNrcyBmb3IgdmlkZW8veC1yYXctcmdiIGluIHJ0cHZyYXdkZXBheQoKMjAxMS0xMC0xMyAwMTowNToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlLWVuYWJsZSB2aWRlb2Nyb3AgcGx1Z2luCgkgIEFscmVhZHkgcG9ydGVkIHRvIDAuMTEKCjIwMTEtMTAtMTMgMDE6MDU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIGFzcGVjdHJhdGlvY3JvcDogUG9ydCB0byAwLjExCgoyMDExLTEwLTEzIDAwOjM5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAxNzo0Mzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkgIHRlc3RzOiBhc3BlY3RyYXRpb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwODoyNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICB0ZXN0czogYWxwaGFjb2xvcjogUG9ydCB0byAwLjExCgoyMDExLTEwLTEzIDE3OjEyOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgcmVnaXN0ZXIgdHlwZQoJICBJdCdzIGEgc3ViY2xhc3Mgb2YgR3N0QXVkaW9FbmNvZGVyIGFuZCBub3Qgb2YgR3N0RWxlbWVudAoKMjAxMS0xMC0xMyAxNjo1OTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRml4IGluY29ycmVjdCBnc3RfYnVmZmVyX3JlcGxhY2UoKSBjYWxsCgkgIFRoaXMgZ290IGV4cG9zZWQgd2hlbiBnc3RfYnVmZmVyX3JlcGxhY2UoKSB3YXMgY2hhbmdlZCBmcm9tIGEgbWFjcm8gdG8gYQoJICBmdW5jdGlvbi4KCjIwMTEtMTAtMTMgMDk6MzQ6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRml4IHdyb25nIHVzYWdlIG9mIGdzdF9pdGVyYXRvcl9maWx0ZXIKCSAgSXQgdGFrZXMgYSBHVmFsdWUqIGFzIHRoZSB1c2VyX2RhdGEuCgkgIEFuZCBkb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIGRlbXV4ZXIgYmVmb3JlIHJldHVybmluZy4KCjIwMTEtMTAtMTMgMDk6MDI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGZpeCBjb21waWxlCgoyMDExLTEwLTEzIDA4OjU4OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoJICBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYwoKMjAxMS0xMC0xMiAwODowOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICB0ZXN0czogY21tbGVuYzogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA4OjAyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBjbW1sZGVjOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDc6Mjk6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogVXNlIG5ldyBHc3RJdGVyYXRvciBBUEkgY29ycmVjdGx5CgkgIEdzdEl0ZXJhdG9yIG5vdyB1c2VzIEdWYWx1ZSwgdXNlIGl0IGNvcnJlY3RseS4KCjIwMTEtMTAtMTIgMTE6MjY6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IE9ubHkgdXNlIDI0IExTQiBmb3IgZGVwdGg9MjQgUkdCIGNhcHMKCSAgLi4uIGFuZCBpbmRlbnQgdGhlIG1hc2tzIGZvciBjbGFyaXR5CgoyMDExLTEwLTExIDE0OjU4OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHNlZ21lbnQgaGFuZGxpbmcsIHNvIHdlIGFjdHVhbGx5IHVzZSBydW5uaW5nIHRpbWUKCSAgZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCBhZGp1c3RzIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIHJ1bm5pbmcgdGltZSB1c2luZwoJICB0aGUgc2VnbWVudCBzdG9yZWQgaW4gdGhlIHBhZCdzIGNvbGxlY3QgZGF0YS4gSG93ZXZlciwgdGhlIGV2ZW50IGhhbmRsZXIgZGlkbid0CgkgIHBhc3MgdGhlIG5ld3NlZ21lbnQgZXZlbnQgb24gdG8gY29sbGVjdHBhZHMnIGhhbmRsZXIsIHNvIHRoaXMgc2VnbWVudCB3YXMgbmV2ZXIKCSAgdXBkYXRlZCBhdCBhbGwuCgkgIFJlLWZpeGVzIGJ1ZyAjNDMyNjEyLgoKMjAxMS0xMC0xMCAxOTowMToyMyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSAgZ3N0cnRwZzcyMnBheTogQ29tcGVuc2F0ZSBmb3IgY2xvY2tyYXRlIHZzLiBzYW1wbGVyYXRlIGRpZmZlcmVuY2UKCSAgVGhlIFJUUCBjbG9jay1yYXRlIHVzZWQgZm9yIEc3MjIgaXMgODAwMCwgZXZlbiB0aG91Z2ggdGhlIHNhbXBsZXJhdGUgaXMKCSAgMTYwMDAuIENvbXBlbnNhdGUgZm9yIHRoaXMgYnkgcHJldGVuZGluZyBHNzIyIGhhcyA4IGJpdHMgcGVyIHNhbXBsZQoJICBpbnN0ZWFkIG9mIHRoZSA0IGJpdHMgYXMgaWYgaXQgd2VyZSBhIGNvZGVjIHRoYXQgcmFuIGF0IGhhbGYgdGhlIHNwZWVkLAoJICBidXQgd2l0aCB0d2ljZSB0aGUgbnVtYmVyIG9mIGJpdHMuIEZpeGVzICM2NjEzNzYKCjIwMTEtMDktMjcgMTk6MjU6NTMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBJbXBsZW1lbnQgdXBzdHJlYW0gbmVnb3RpYXRpb24KCSAgQWRkIHVwc3RyZWFtIG5lZ290aWF0aW9uIGZvciBqcGVnZGVjLiBGaXhlcyAjNjYwMjc1CgoyMDExLTEwLTEwIDE5OjAyOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogZG9uJ3QgbGVhayBhdWRpbyBjb2RlY19kYXRhIGJ1ZmZlcgoKMjAxMS0xMC0xMCAxNzo0MToxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBhbHBoYTogRG9uJ3QgdXNlIHN0YXJ0KCkgdm1ldGhvZAoJICBUaGUgb25seSB0aGluZyB3ZSdyZSBkb2luZyBpcyBpbml0aWFsaXppbmcgcGFyYW1ldGVycyAuLi4KCSAgKiB3aGljaCB3b24ndCB3b3JrIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB1cHN0cmVhbS9kb3duc3RyZWFtIGNhcHMKCSAgKiB3aGljaCB3aWxsIGJlIGluaXRpYWxpemVkIHdoZW4gOjpzZXRfY2FwcygpIGlzIGNhbGxlZAoKMjAxMS0xMC0xMCAxNDowODoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTAgMTM6MjI6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDEzOjIwOjA0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgbWlzc2luZyBQTFVHSU5fQVNFX0xJQlMgdG8gTERBREQKCjIwMTEtMTAtMTAgMTI6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDEyOjI3OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgYW5ub2RleDogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDExOjQ4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jCgoyMDExLTEwLTEwIDAwOjE4OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IHBvcnQgcHVsc2V1dGlsIHRvIDAuMTEKCjIwMTEtMTAtMDkgMjE6MTc6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCB0byAwLjExCgoyMDExLTEwLTA5IDE4OjU4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4aW5nIGdldGNhcHMgZnVuY3Rpb24KCSAgVXBkYXRlIGdldGNhcHMgZnVuY3Rpb24gdG8gMC4xMSBBUEkKCjIwMTEtMTAtMDkgMjE6MzE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogb25seSBwdXNoIGhlYWRlciBidWZmZXJzIGZvbGxvd2luZyBpbml0aWFsIGV2ZW50cwoKMjAxMS0xMC0wOSAxNjoyOTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDkgMTY6MjQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogdXBkYXRlIGZvciBfX2dzdF9kZWJ1Z19taW4gbmFtZSBjaGFuZ2UKCjIwMTEtMTAtMDkgMTE6MTg6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogRml4IG1lbW9yeSBsZWFrIG9uIGF0b21zIHJlY292ZXJ5IGZ1bmN0aW9uCgkgIFJlbWVtYmVyIHRvIGZyZWUgdGhlIGZ0eXAgZGF0YSBhZnRlciB3cml0aW5nIGl0IHRvIGEgZmlsZS4KCSAgRml4ZXMgIzY2MDk2OQoKMjAxMS0xMC0wNiAxMjoyNjozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcG9ydCBuZXcgYml0cwoKMjAxMS0xMC0wNiAxMjoyMzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYwoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoJICBnc3QvaXNvbXA0L2F0b21zLmMKCSAgZ3N0L2lzb21wNC9nc3RxdG11eC5jCgoyMDExLTA5LTIxIDE4OjQ1OjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nIHdpdGggbm9uLXplcm8gc3RhcnRpbmcgdGltZXN0YW1wCgkgIC4uLiBhcyB3ZWxsIGFzIHJlbGF0ZWQgaXRlbXMsIHN1Y2ggYXMgc2Vla2luZyBhbmQgcG9zaXRpb24gcmVwb3J0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5ODA4CgoyMDExLTA5LTI5IDE4OjQxOjUzICswNDAwICBTdGFzIFNlcmdlZXYgPHN0c3BAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB2NGwyLCB4aW1hZ2VzcmM6IGZpeCBzb21lIHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDE1MAoKMjAxMS0wOS0zMCAxMjo0MjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IFJlZmFjdG9yIGJpdHJhdGUgY2hlY2sgdGVzdAoJICBSZWZhY3RvciBiaXRyYXRlIGNoZWNrIHRlc3QgdG8gYWNjb21vZGF0ZSBtdWx0aXBsZSB0ZXN0cwoJICBmb3IgYml0cmF0ZQoKMjAxMS0wOS0zMCAxMzowMjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiB1cGRhdGUgZXNkcyBhdG9tIHVuZGVyIHdhdmUgYXRvbSBmb3IgYWFjIGJpdHJhdGVzCgkgIEFBQyBpbiBtb3YgZm9ybWF0IHB1dHMgYW4gRVNEUyBhdG9tIGluc2lkZSBvZiBhIFdBVkUgYXRvbSBpbgoJICBTVFNEIGF0b20sIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBiaXRyYXRlIG9uIHRoaXMgRVNEUy4gVGhpcyBwYXRjaAoJICBmaXhlcyBpdC4KCjIwMTEtMDktMzAgMTI6NDE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdG11eDogQWxzbyB1cGRhdGUgYnRydCBhdG9tCgkgIFdoZW4gcmV3cml0aW5nIGJpdHJhdGVzLCBhbHNvIHVwZGF0ZSB0aGUgYnRydCBhdG9tIHVuZGVyIHN0c2QKCjIwMTEtMDktMzAgMTA6NTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhZGQgdGVzdHMgZm9yIGJpdHJhdGUgYXZlcmFnZSBjYWxjdWxhdGlvbgoJICBBZGRzIHRlc3RzIHRvIG1ha2Ugc3VyZSBxdG11eC9tcDRtdXggc2V0cyBhdmVyYWdlIGJpdHJhdGUKCSAgY29ycmVjdGx5CgoyMDExLTA5LTI4IDExOjQxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IENhbGN1bGF0ZSBhdmVyYWdlIGJpdHJhdGUgZm9yIHN0cmVhbXMKCSAgQ2FsY3VsYXRlIGFuZCB1c2UgYXZlcmFnZSBiaXRyYXRlIGZvciBzdHJlYW1zIHdoZW4gbm8KCSAgYml0cmF0ZSB0YWcgd2FzIHJlY2VpdmVkCgoyMDExLTA5LTI4IDEwOjQxOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEF2b2lkIGEgYnVmZmVyIG1ldGFkYXRhIGNvcHkgaWYgcG9zc2libGUKCSAgSWYgZmlyc3RfdHMgaXMgMCB0aGVyZSBpcyBubyBuZWVkIHRvIHN1YnRyYWN0LCBzbyB3ZSBtaWdodAoJICBza2lwIHNvbWUgY29weWluZyB0byBtYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUuCgoyMDExLTA5LTI5IDIzOjIxOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogaW5pdGlhbGlzZSB2YXJpYWJsZSBiZWZvcmUgYWRkaW5nIHRvIGl0CgoyMDExLTA5LTI5IDE3OjIxOjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTA5LTI5IDE2OjMzOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogY2xlYW4gdXAgc29tZSB1bnVzZWQgcmVtbmFudHMKCjIwMTEtMDktMjkgMTc6MzI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yOCAxOToxMDoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGdldCByaWQgb2YgZ3JhbnVsZXBvcyBoYW5kbGluZwoJICBMZWF2ZSB0aGF0IHRvIHRoZSBwYXJzZXIgb3IgZGVtdXhlci4gVGhlcmUncyBzdGlsbCBzb21lCgkgIGNvZGUgZm9yIG9wZXJhdGluZyBpbiBERUZBVUxUIChzYW1wbGVzKSBmb3JtYXQsIGJ1dCB0aGF0CgkgIHdpbGwgYmUgcmVtb3ZlZCBsYXRlci4KCjIwMTEtMDktMjggMTg6MzI6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGdldCByaWQgb2YgcHVsbC1tb2RlIHN1cHBvcnQgYW5kIGZvY3VzIG9uIGJlaW5nIGEgZGVjb2RlcgoJICBMZWF2ZSBhbGwgdGhlIG90aGVyIHN0dWZmIHRvIGZsYWNwYXJzZS4KCjIwMTEtMDktMjggMTc6Mjk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgZmxhYywganBlZzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDktMjggMTc6NDA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjggMTc6Mzk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jCgoyMDExLTA5LTI4IDE2OjE4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yOCAxNjowOTo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTI3IDE1OjU5OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYWRlbXV4OiBlbnN1cmUgbWluaW1hbCBhbGlnbm1lbnQgZm9yIGF1ZGlvL3gtcmF3LSogYnVmZmVycwoJICBTaW5jZSBtYXRyb3NrYWRlbXV4IHdpbGwgYXR0ZW1wdCB0byBwdXNoIHVuYWxpZ25lZCBidWZmZXJzLAoJICBkb3duc3RyZWFtIG1pZ2h0IGhhdmUgdHJvdWJsZSB3aXRoIHRob3NlLCBlc3BlY2lhbGx5IGlmIGRvd25zdHJlYW0KCSAgdXNlcyBPUkMsIHN1Y2ggYXMgYXVkaW9jb252ZXJ0LgoJICBFbnN1cmUgd2UgcHVzaCBidWZmZXJzIGFsaWduZWQgdG8gdGhlIGJhc2ljIHR5cGUgYXQgbGVhc3QgZm9yCgkgIHRob3NlIHJhdyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5Nzk4CgoyMDExLTA5LTI4IDEyOjQ0OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jCgoyMDExLTA5LTI4IDAwOjEwOjA5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dvb21fY29yZS5jOgoJICBnb29tMmsxOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gNjQgYml0IG1pbmd3LXc2NAoJICBGaXhlcyBidWcgIzY2MDI5NC4KCjIwMTEtMDktMjUgMTU6MTM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJICBzb3VwOiByZW5hbWUgc291cGh0dHBzaW5rIHRvIHNvdXBodHRwY2xpZW50c2luawoJICBUbyBhdm9pZCBjb25mdXNpb24sIGFuZCBiZWNhdXNlIHdlIG1pZ2h0IHdhbnQgYSBzZXJ2ZXIKCSAgc2luayBhdCBzb21lIHBvaW50IHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0NwoKMjAxMS0wOS0yMyAxNjozOTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXBodHRwc2luazogZG9uJ3QgY3JlYXRlIHVudXNlZCBzZWNvbmQgc2luayBwYWQgb2JqZWN0CgkgIFRoZSBiYXNlIGNsYXNzIHdpbGwgY3JlYXRlIHRoZSBzaW5rIHBhZC4KCjIwMTEtMDktMjMgMTU6MzY6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY29ycmVjdGx5IGNoZWNrIGZvciBhYzMvZS1hYzMgc3dpdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5NDMKCjIwMTEtMDktMjEgMTQ6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gdG8gMC4xMSBicmFuY2gKCjIwMTEtMDktMjAgMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBpbXByb3ZlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gZmVlZGJhY2sgdG8gdXBzdHJlYW0KCSAgLi4uIGFsdGhvdWdoIGJhc2VydHBkZXBheSBkb2VzIG5vdCByZWFsbHkgbWFrZSBpdCBlYXN5L3Bvc3NpYmxlIHRvIGRvIHNvCgkgIGFsbCB0aGUgd2F5LgoKMjAxMS0wOS0yMCAxMjoxMTo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGFkZCB4aWQgYW5kIHhuYW1lIHByb3BlcnRpZXMgdG8gYWxsb3cgY2FwdHVyaW5nIGEgcGFydGljdWxhciB3aW5kb3cKCSAgQSBwYXJ0aWN1bGFyIHdpbmRvdyBtYXkgYmUgc2VsZWN0ZWQgdXNpbmcgdGhlIG5ldyB4aWQgKFgtV2luZG93CgkgIFhJRCwgZWcgYSBwb2ludGVyKSBhbmQgeG5hbWUgKHdpbmRvdyB0aXRsZSkgcHJvcGVydGllcy4gSWYgYm90aAoJICBhcmUgc3BlY2lmaWVkLCB0aGUgWElEIGlzIHVzZWQgaW4gcHJlZmVyZW5jZSwgZmFsbGluZyBiYWNrIHRvCgkgIHhuYW1lIGlmIG5vdCBmb3VuZC4KCSAgRGVmYXVsdCAoaWYgbm9uZSBvZiB4aWQgYW5kIHhuYW1lIGFyZSBzcGVjaWZpZWQsIG9yIGlmIG5vIHN1Y2gKCSAgd2luZG93IGlzIGZvdW5kKSBpcyB0byBjYXB0dXJlIHRoZSByb290IHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjkzMgoKMjAxMS0wOC0wMiAxNzozOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCB0byBtYWtlIHN1cmUgZW5jb2RlYmluIHBpY2tzIG1wNG11eCBmb3IgdmFyaWFudD1pc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTQ5NgoKMjAxMS0wOS0xOSAxMjoxNToxMSArMDIwMCAgSGEgTmd1eWVuIDxoYW5ndXl0dkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGaXggYSBsZWFrZWQgY2xvY2sgZm9yIGVhY2ggYnVmZmVyaW5nIG1lc3NhZ2UKCSAgRml4ZXMgYnVnICM2NTkyMzcuCgoyMDExLTA5LTE5IDEyOjExOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGVtYmVkZGVkIElEMzIgdGFncwoKMjAxMS0wOS0wMiAxMzo0MTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBzb3VyY2UgcHJlbWF0dXJlIHRpbWluZyBvdXQKCSAgVXNlIHNsaWdodGx5IGFkanVzdGVkIHNlbmRlciBpbnRlcnZhbCB0byBkZXRlcm1pbmUgc2VuZGVyIHRpbWVvdXQgcmF0aGVyIHRoYW4KCSAgb3VyIG93biBzZW5kZXIgc2lkZSBpbnRlcnZhbCAod2hpY2ggbWF5IGhhdmUgYmVlbiBmb3JjZWQgc21hbGwpLgoKMjAxMS0wOC0yNSAxMjo0MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBhdm9pZCB0aW1pbmcgb3V0IHNvdXJjZSB0b28gcXVpY2tseQoJICAuLi4gZm9sbG93aW5nIGEgUEFVU0UvUExBWSBjeWNsZSwgcGFydGljdWxhcmx5IGFwcGxpY2FibGUgd2hlbiBvcGVyYXRpbmcKCSAgd2l0aCBhIHNob3J0IFJUQ1AgaW50ZXJ2YWwgKHBvc3NpYmx5IGZvcmNlZCBzbyBzZXJ2ZXItc2lkZSkuCgoyMDExLTA4LTI0IDE0OjM3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyL3J0cGJpbjogcmVsYXggZHJvcHBpbmcgcnRjcCBwYWNrZXRzCgkgIC4uLiB0byBhdCBsZWFzdCBoYXZpbmcgaXQgdHJpZ2dlciBhL3Ygc3luY2hyb25pemF0aW9uLCBwb3NzaWJseSB3aXRob3V0CgkgIHVzaW5nIHByb3ZpZGVkIHZhbHVlcyB3aGljaCBhcmUgc3RpbGwgbm90IGNvbnNpZGVyZWQgc2FuZQoJICAoYXMgcHJldmlvdXNseSBkcm9wcGVkKS4KCjIwMTEtMDgtMjQgMTQ6MzQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc29tZSBtb3JlIHJlc2V0IHdoZW4gY2xlYXJpbmcgcHQgbWFwCgkgIC4uLiB3aGljaCBpbiBwYXJ0aWN1bGFyIGNhdGVycyBmb3Igc29tZSBtb3JlIHJlc2V0IGZvbGxvd2luZyBhIHBvc3NpYmxlCgkgIHJ0c3AgUExBWS4KCjIwMTEtMDgtMjEgMjE6NTg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3Qgc2V0IGVsZW1lbnRzIHRvIFBMQVlJTkcgd2hlbiBkb2luZyBzZWVrIGluIFBBVVNFRAoKMjAxMS0wOS0wMSAxNDo0Nzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHJlc2V0IHNrZXcgb24gZ2FwIGlmIGlucHV0IHRzIGF2YWlsYWJsZQoKMjAxMS0wOC0xOCAxNDoxMjoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjaGVjayBzb21lIG1vcmUgZm9yIHBvc3NpYmxlIHJ0cCB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICAuLi4gd2hlbiBvcGVyYXRpbmcgaW4gbm9uIHNsYXZlIG1vZGUsIGFuZCByZXNldCBpZiBkZXRlY3RlZC4KCSAgVGhpcyBzaG91bGQgYXZvaWQgc29tZSAobGFyZ2UpIGJvZ3VzIG91dGdvaW5nIHRpbWVzdGFtcCBkdWUgdG8ganVtcHMKCSAgaW4gcnRwIHRpbWUsIGFzIHJlc3VsdCBvZiBQQVVTRS9QTEFZIG9yIHNlZWsgb3IgLi4uCgoyMDExLTA4LTA4IDEyOjQ4OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3dpdGNoIHRvIHJ0cCB0aW1lIGJhc2VkIHN5bmNpbmcgd2hlbiBndWVzc2VkIGFwcHJvcHJpYXRlCgoyMDExLTA4LTA4IDEyOjE1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbHRlcm5hdGl2ZSBpbnRlci1zdHJlYW0gc3luY2luZyBtZXRob2RzCgkgIC4uLiBhdCBsZWFzdCBpZiBub3Qgc3luY2luZyB0byBOUFQgdGltZToKCSAgKiBlaXRoZXIgc3luYyB1c2luZyBSVENQIFNSIGRhdGEgKGFzIGN1cnJlbnRseSkKCSAgKiBvbmx5IHBlcmZvcm0gdGhlIGFib3ZlIG9uY2UgdXNpbmcgaW5pdGlhbCBSVENQIFNSIHBhY2tldHMKCSAgKiBkaXNjYXJkIFJUQ1AgYW5kIHN5bmMgYnkgZXF1YXRpbmcgcHJvdmlkZWQgc3RyZWFtJ3MgY2xvY2stYmFzZSBydHB0aW1lLAoJICBhcyBwcm92aWRlZCBieSBqaXR0ZXJidWZmZXIgKHR5cGljYWxseSBvYnRhaW5lZCBmcm9tIFJUUC1JbmZvIGluIFJUU1ApLgoKMjAxMS0wOC0wOCAxMjoxMToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbHNvIHByb3ZpZGUgY2xvY2stYmFzZSB0byBzeW5jIHNpZ25hbAoKMjAxMS0wOC0wOCAxMjowOTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWxsb3cgY29uZmlndXJhYmxlIHJ0Y3Agc3RyZWFtIHN5bmNpbmcgaW50ZXJ2YWwKCSAgLi4uIHJhdGhlciB0aGFuIG5lY2Vzc2FyaWx5IHN5bmNpbmcgYXQgZWFjaCBSVENQIFNSLgoKMjAxMS0wOC0wMSAwODozNTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRyaWdnZXIgcmVjb25zaWRlcmF0aW9uIGlmIHJ0Y3AgaW50ZXJ2YWwgc2V0CgoyMDExLTA4LTAxIDA4OjMyOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29uZmlndXJlIHJ0Y3AgaW50ZXJ2YWwgaWYgcHJvdmlkZWQKCSAgLi4uIGluIFBMQVkgcmVzcG9uc2UuCgoyMDExLTA5LTE2IDE2OjUzOjIyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogRml4IGFsbG93aW5nIHplcm8gZHVyYXRpb24gdHJhY2tzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc0ODYKCjIwMTEtMDktMDUgMTA6MTE6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzcmM6IGVycm9yIG91dCB3aGVuIG5vIHByb3RvY29sIGlzIHNwZWNpZmllZCBpbiB0aGUgdXJpCgkgIEl0IGlzIGNlcnRhaW5seSBiZXR0ZXIgdGhhbiB0byBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODE3OAoKMjAxMS0wOS0xOSAwOTozNzo1OCArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGRvIG5vdCB1c2UgaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMy0yOSAxMjowOToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBOZXcgcHVsc2VhdWRpb3NpbmsgZWxlbWVudCB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMKCSAgVGhpcyBpbnRyb2R1Y2VzIGEgbmV3IGJpbiB3aGljaCB3cmFwcyBhcm91bmQgcHVsc2VzaW5rIGFuZCBkZXBlbmRpbmcgb24KCSAgdGhlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLCBwbHVncyBpbi9vdXQgYSBkZWNvZGViaW4yIGFzCgkgIHJlcXVpcmVkLiBUaGlzIGFsbG93cyB1c2VycyB0byBzd2l0Y2ggc2lua3Mgb24gdGhlIHN0cmVhbSBhbmQgYWRhcHRzCgkgIGFjY29yZGluZ2x5IChmb3IgZXhhbXBsZSwgeW91IGNvdWxkIHdhdGNoIGEgbW92aWUgaW4gcGFzc3Rocm91Z2ggbW9kZSBvbgoJICB5b3VyIHJlY2VpdmVyIHdoaWNoIHN1cHBvcnRzIEFDMyBkZWNvZGUsIHRoZW4gcGx1ZyBvdXQgYW5kIHN3aXRjaCB0byBhCgkgIG5vbi1kaWdpdGFsIHByb2ZpbGUgdG8gY29udGludWUgdW5pbnRlcnJ1cHRlZCBvbiBhbmFsb2cgb3V0cHV0KS4KCSAgVGhlIGJpbiBpcyByZXF1aXJlZCBiZWNhdXNlIGRvaW5nIHRoZSBzYW1lIHdpdGggcGxheWJpbjIvcGxheXNpbmsgd2lsbAoJICByZXF1aXJlIEFQSSBjaGFuZ2VzIHRoYXQgY2Fubm90IGJlIG1hZGUgaW4gMC4xMC4gV2l0aCAwLjExLzEuMCwgd2UKCSAgc2hvdWxkIGJlIGFibGUgdG8gYXNrIGZvciB1cHN0cmVhbSBjYXBzIHJlbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIGFsbAoJICB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MTc5CgoyMDExLTA5LTE2IDE1OjAzOjIzICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBzZW5kaW5nIEVPUyB3aGVuIGluIHBhdXNlZCBzdGF0ZQoJICBDaGFuZ2VkIHRoZSBlYm1sIHJlYWRlcidzIGdzdF9lYm1sX3BlZWtfaWRfbGVuZ3RoKCkgZnVuY3Rpb24gc28KCSAgdGhhdCBpdCByZXR1cm5zIHRoZSBhY3R1YWwgcmVhc29uIGZvciB3aHkgdGhlIHBlZWsgZmFpbGVkLCBpbnN0ZWFkCgkgIG9mIChhbG1vc3QpIGFsd2F5cyByZXR1cm5pbmcgR1NUX0ZMT1dfVU5FWFBFQ1RFRC4gVGhpcyBwcmV2ZW50cwoJICB0aGUgcHVsbGluZyB0YXNrIGZyb20gc2VuZGluZyBFT1Mgd2hlbiBkb2luZyBhIGZsdXNoaW5nIHNlZWsuCgoyMDExLTA5LTE1IDE1OjUzOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3R1dHRlcmluZyBBL1YKCSAgU29tZW9uZSBnb3QgaGFkIGJ5IGltcGxpY2l0IHByb21vdGlvbiB0byB1bnNpZ25lZCBpbiBvcHMgd2l0aAoJICBhIHNpZ25lZCBhbmQgYW4gdW5zaWduZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkxNTMKCjIwMTEtMDktMTQgMTY6Mzc6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiB0b2dnbGUgcGF1c2UvcGxheSBvbiBzcGFjZSBiYXIKCSAgQSB1c2VmdWwgdGhpbmcgdG8gaGF2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2NQoKMjAxMS0wOS0xNCAxNDo0NjowMCArMDIwMCAgRGF2aWQgU3ZlbnNzb24gRm9ycyA8ZGF2aWRzZkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogY29uZmlndXJhYmxlIHRpbWVzdGFtcCBnYXAgaGFuZGxpbmcKCSAgbWF0cm9za2FkZW11eCBwZXJmb3JtcyBzZWdtZW50IHRyaWNrcyB0byBza2lwIGdhcHMgaW4gc3RyZWFtcywKCSAgbm90YWJseSBhdCBzdGFydCBmb3Igbm9uIDAgYmFzZWQgZmlsZXMuICBUaGVyZSBtYXkgaG93ZXZlciBiZQoJICBjYXNlcyB3aGVuIGZ1bGwgcHJlc2VudGF0aW9uIChpbmNsdWRpbmcgaW50ZXJtZWRpYXRlIGdhcHMpIGlzCgkgIGRlc2lyZWQsIHNvIGEgcHJvcGVydHkgYWxsb3dzIHRvIGNvbmZpZ3VyZSBhcyBvZiB3aGljaCBnYXAKCSAgdG8gYWN0IChvciBub3QgYXQgYWxsKS4KCSAgQVBJOiBHc3RNYXRyb3NrYURlbXV4OjptYXgtZ2FwLXRpbWUKCSAgRml4ZXMgIzY1OTAwOS4KCjIwMTEtMDktMTIgMDk6MjE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIHRlc3RzOiBmbHZtdXg6IEZpeCBmbHZtdXgncyB0ZXN0cyBhZnRlciBmaXggZm9yIHJlcXVlc3QgcGFkcyBoYW5kbGluZwoJICBOb3cgdGhhdCBmbHZtdXggZG9lc24ndCByZWxlYXNlIGl0cyByZXF1ZXN0IHBhZHMgb24gUEFVU0VELT5SRUFEWSB0aGUKCSAgdGVzdCBkb2Vzbid0IG5lZWQgdG8gcmUtcmVxdWVzdCB0aGVtIGZvciBldmVyeSByZXVzZSB0ZXN0IHN0YXJ0LgoKMjAxMS0wOS0wOSAwOToxMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggY3R0cyBnZW5lcmF0aW9uIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgMCB0aW1lc3RhbXBzCgkgIFN1YnRyYWN0IHRoZSBmaXJzdCB0aW1lc3RhbXAgb2YgYSBzdHJlYW0gZnJvbSBhbGwgaW5wdXQgYnVmZmVycyB0bwoJICBnZXQgMC1iYXNlZCB0aW1lc3RhbXBzIGZvciBjcmVhdGluZyBhIHNhbmUgY3R0cyB0YWJsZS4gV2l0aG91dCB0aGlzCgkgIHBhdGNoIHRoZSBjdHRzIGNvdWxkIGhhdmUgbGFyZ2VyIHZhbHVlcyB0aGFuIG5lZWRlZCwgY2F1c2luZyB0aGUKCSAgcGxheWJhY2sgdG8gaGF2ZSBhIGRlbGF5IGF0IHN0YXJ0dXAuCgkgIEFzIHRoZSBmaXJzdCB0aW1lc3RhbXAgaXMgb25seSBmb3VuZCBhZnRlciBhIGZldyBidWZmZXJzIGFyZSBxdWV1ZWQKCSAgKGR1ZSB0byBwb3NzaWJsZSByZW9yZGVyZWQgYnVmZmVycyksIG9uY2Ugd2UgZmluZCB0aGUgZmlyc3QgdGltZXN0YW1wCgkgIHdlIHN1YnRyYWN0IGl0IGZyb20gYWxsIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlLCBmcm9tIHRoYXQgcG9pbnQgb24sCgkgIGFsbCBidWZmZXJzIGhhdmUgdGhlaXIgdGltZXN0YW1wcyBzdWJ0cmFjdCB3aGVuIHRoZXkgYXJlIGNvbGxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODY1OQoKMjAxMS0wOS0xMiAwNzo1NToxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHJlbGVhc2UgcmVxdWVzdCBwYWRzIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgRG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgYnV0IGp1c3QgcmVzZXQgdGhlbS4gVGhpcyBtYWtlcyBwaXBlbGluZXMgdXNpbmcKCSAgZmx2bXV4IHJldXNhYmxlLgoKMjAxMS0wOS0wOSAxMjozNTo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiB1c2UgYnNpZCA5IGFuZCAxMCB0byBjb250cm9sIHNhbXBsZSByYXRlCgkgIFNlZSBodHRwOi8vbWF0cm9za2Eub3JnL3RlY2huaWNhbC9zcGVjcy9jb2RlY2lkL2luZGV4Lmh0bWwKCSAgVGhlIHNwZWMgaXMgc2lsZW50IGFib3V0IHRoaXMgdGhvdWdoLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDYKCjIwMTEtMDktMDcgMTQ6MTM6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBlbnN1cmUgc29tZSBpbml0aWFsIHN0YXRlIHZhcmlhYmxlIHNldHVwCgkgIC4uLiB3aGljaCBtaWdodCBvdGhlcndpc2UgYmUgc2tpcHBlZCBpZiB0aGUgUExBWSBjb21tYW5kIGlzIGlzc3VlZCBiZWZvcmUKCSAgdGhlIE9QRU4gY29tbWFuZCBoYWQgYSBjaGFuY2UgdG8gYWN0dWFsbHkgYmUgYWN0ZWQgdXBvbi4KCSAgRml4ZXMgIzY1NzM3Ni4KCjIwMTEtMDktMDggMTU6MDI6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR3ZWFrIGdhcCBoYW5kbGluZwoJICAuLi4gc28gYXMgdG8gYXZvaWQgYnVmZmVycyBiZWZvcmUgYW5kIGFmdGVyIGdhcCB0byBoYXZlIGlkZW50aWNhbCBydW5uaW5nIHRpbWUuCgoyMDExLTA5LTA4IDEzOjI4OjI0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIEdTVF9SRVNPVVJDRV9FUlJPUl9CVVNZIGlmIHY0bDJfaW9jdGwgZmFpbHMgd2l0aCBFQlVTWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQzCgoyMDExLTA5LTA3IDA4OjU0OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBvbmUgR19VTkxJS0VMWSBmb3IgdXNlciBwcm9wZXJ0eQoJICBVc2luZyBHX1VOTElLRUxZIG9uIHVzZXIgcHJvcGVydGllcyBpc24ndCBuaWNlLCBzcGVjaWFsbHkgd2hlbgoJICB0aGF0IGlzIHRoZSBkZWZhdWx0IG9wdGlvbi4KCjIwMTEtMDMtMTUgMTE6MDM6NTMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogaGFuZGxlIEdzdEZvcmNlS2V5VW5pdCBldmVudAoJICAuLi4gYnkgc3RhcnRpbmcgYSBuZXcgY2x1c3RlciBhZnRlciBmb3J3YXJkaW5nIGV2ZW50LgoJICBGaXhlcyAjNjQ0MTU0LgoKMjAxMS0wOS0wNyAxNDoyNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgY21tbDogVXNlIGNvbXBsZXRlIGNtbWwgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA5LTA3IDE0OjI2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBVc2UgY29tcGxldGUgTVBFRyBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MTg6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA4LTI5IDE0OjEyOjIyICswMjAwICBLb25zdGFudGluIE1pbGxlciA8a29uc3RhbnRpbi5taWxsZXJAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGhhbmRsZSBIVFRQIHJlc3BvbnNlIDQwNyBhcyBlcnJvciBpZiBwcm94eSBhdXRoZW50aWNhdGlvbiBkYXRhIGlzIGF2YWlsYWJsZQoJICBGaXhlcyBidWcgIzY1NzQyMi4KCjIwMTEtMDktMDcgMTI6MTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogQWRkIENvbnZlcnRlciB0byB0aGUgY2xhc3NpZmljYXRpb24gYmVjYXVzZSBpdCBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzCgkgIFRoaXMgYWxsb3dzIGRlY29kZWJpbjIgdG8gbGV0IGl0IG5lZ290aWF0ZSBwcm9wZXJseS4KCjIwMTEtMDktMDcgMTI6MTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEltcHJvdmUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlIHRoZSBwYXJzZWQvZnJhbWVkIGZpZWxkcyBhbmQgYWRkIGFsbCBmaWVsZHMgdG8gdGhlIHRlbXBsYXRlCgkgIGNhcHMgdGhhdCBhbHdheXMgZXhpc3QuCgoyMDExLTA5LTA2IDE1OjU5OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgY29kZWNfZGF0YSB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lCgkgIEZpeGVzICM2NTY3MzQuCgoyMDExLTA5LTA2IDIxOjI0OjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6NTc6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdHJ5IHRvIGRpc2FibGUgZGVpbnRlcmxhY2UuLgoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE2OjM3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoKMjAxMS0wOS0wNiAxNjowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmMKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTEtMDktMDYgMTU6NDA6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxNTowNTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IG1ha2UgZGVmYXVsdCBkdXJhdGlvbiBjaGVjayBsZXNzIHNlbnNpdGl2ZQoJICBGcmFtZSBkdXJhdGlvbiBtaWdodCB2YXJ5IGZvciAxIHVzZWNvbmQsIGluIHRoaXMgY2FzZSBtYXRyb3NrYW11eAoJICBkZWNpZGVzIHRvIGNyZWF0ZSBCTE9DS0dST1VQIGluc3RlYWQgb2YgU0lNUExFQkxPQ0suCgkgIENvbnZlcnQgZHVyYXRpb24gdG8gdGltZWNvZGVzY2FsZSB3aGljaCBpcyAodHlwaWNhbGx5KSBsZXNzIHByZWNpc2UsIGFuZAoJICB0aGVuIGFsc28gYWxsb3cgdGhlIGRpZmZlcmVuY2Ugb2YgMS8tMSB0byBhcnJhbmdlIGZvciBsZXNzIHNlbnNpdGl2ZSBjaGVjay4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBGaXhlcyAjNjUzMDgwLgoKMjAxMS0wOS0wNiAxMzoxODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGltcHJvdmUgYm9ndXMgaW50ZXJsZWF2ZWQgaW5kZXggY29tcGVuc2F0aW5nCgkgIFBhdGNoIGJ5IDxndWRha2VAZ21haWwuY29tPgoJICBGaXhlcyAjNjU0NTg1LgoKMjAxMS0wOS0wNiAxMzoxNjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIC1nb29kOiBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzCgoyMDExLTA5LTA2IDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBwb3NpdGl2ZSwgbm9uLTEuMCBzZWdtZW50IHJhdGVzCgkgIE9ubHkgbmVnYXRpdmUgcmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIEZpeGVzIGJ1ZyAjNjU4MzA1LgoKMjAxMS0wOS0wNSAxNTo1MDo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHBhcnNlcnM6IHByb3ZpZGUgbW9yZSByZWFsIGRhdGEgd2hlbiB0ZXN0aW5nIGRyYWluaW5nIG9mIGdhcmJhZ2UKCjIwMTEtMDktMDUgMTU6NTA6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogZml4IGFuZCBzdHJlYW1saW5lIHZhbGlkIGZyYW1lIGNoZWNraW5nCgkgIC4uLiB0byBoYW5kbGUgdmFyaW91cyBjb21iaW5hdGlvbnMgb2Ygc3luYyBvciBub3QsIGFuZCBzdWZmaWNpZW50IGRhdGEKCSAgb3Igbm90IGFzIG1pZ2h0IGJlIGV4cGVjdGVkLgoJICBGaXhlcyAjNjUwNzE0LgoKMjAxMS0wOS0wNSAxNDo0OTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBhdm9pZCBhZGp1c3RtZW50IGZvciBrZXlmcmFtZSBzZWVrCgkgIC4uLiBzaW5jZSBhbGwgaW5kZXggZGF0YSBtYXkgbm90IHlldCBiZSBhdmFpbGFibGUgYXQgdGhhdCB0aW1lLgoKMjAxMS0wOS0wNSAxNDo0ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBtYXJrIGFsbCBhdWRpbyB0cmFjayBzYW1wbGVzIGFzIGtleWZyYW1lCgoyMDExLTA5LTA1IDE0OjQ2OjI5ICswMjAwICBCcmlhbiBMaSA8YnJpYW43MDAzQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3Blcmx5IGluaXQgcmV0dXJuIHZhcmlhYmxlIHZhbHVlCgkgIEZpeGVzICM2NTU5MTguCgoyMDExLTA5LTA1IDEzOjMxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGd0ay1kb2MgZm9yIG5ldyBzaG9ydC1oZWFkZXIgcHJvcGVydHkKCjIwMTEtMDktMDUgMTM6MTg6MzkgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWxsb3cgc2VuZGluZyBzaG9ydCBSVFNQIHJlcXVlc3RzIHRvIGEgc2VydmVyCgkgIFNvbWUgZW5jb2RlcnMgKEFyZWNvbnQpIGRvIG5vdCBsaWtlIHRoZSBsb25nIE9QVElPTlMgc2VudCBhdCBzdGFydHVwIGFzIHNlbnQgYnkKCSAgR1N0cmVhbWVyLCBidXQgZG8gYWNjZXB0IHRoZSBzaG9ydCBoZWFkZXIgYXMgc2VudCBieSBMaXZlNTU1LgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBleHRlbmRpbmcgdGhlIHJlcXVlc3Qgb3B0aW9uYWwgYnkgYWRkaW5nIGEgcHJvcGVydHkKCSAgKHNob3J0LWhlYWRlcikuCgkgIEZpeGVzICM2NTU4MDUuCgkgIEFQSTogR3N0UlRTUFNyYzpzaG9ydC1oZWFkZXIKCjIwMDktMDMtMDQgMTQ6NTE6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFNldCBIMjYzLTIwMDAgaWYgdGhhdHMgd2hhdCB0aGUgb3RoZXIgc2lkZSB3YW50cwoJICBUaGUgc3RhdGljIGNhcHMgc3RhdGVzIHRoaXMgZWxlbWVudCBzdXBwb3J0cyBIMjYzLTIwMDAsIGJ1dCBzZXRjYXBzIG5ldmVyCgkgIHNldHMgaXQsIHNvIGl0IHdhcyBsaWUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDExLTA4LTMwIDE5OjAyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBsYXN0X2tleWZyYW1lX3JlcXVlc3QgdmFyaWFibGUKCjIwMTEtMDgtMzEgMTY6MDQ6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IG1ha2UgYWRkL3JlbW92ZS9jbGVhci9nZXQtc3RhdHMgYWN0aW9uIHNpZ25hbHMKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3ODMwCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoyMDExLTA4LTMxIDE4OjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIG1wMnQ6IGZpeCBlbmNvZGluZyBuYW1lIGFjY29yZGluZyB0byBSRkMzNTUxCgoyMDExLTA4LTMwIDEzOjMzOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBwZXJmb3JtIHNvbWUgZXh0cmEgY2hlY2tzIHByaW9yIHRvIHVwc3RyZWFtIHNlZWtpbmcKCjIwMTEtMDgtMzAgMTM6Mjg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTsgZml4IGJ1ZmZlcmVkIHN0cmVhbWluZwoJICBUaGF0IGlzLCBpbiBjYXNlIHdoZXJlIG5vIHNlZWsgaXMgcGVmb3JtZWQgdG8gbW9vdiwgYnV0IHByZWNlZGluZwoJICBsaW1pdGVkIG1kYXQgaXMgYnVmZmVyZWQuCgoyMDExLTA4LTMwIDE0OjA2OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0zMCAxMjo0OTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbGF3IGlzIHBvcnRlZCBub3cKCjIwMTEtMDgtMzAgMTI6MjU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBhbGF3OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjkgMTk6MTA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBjb21tZW50CgoyMDExLTA4LTI5IDE4OjAyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogcG9ydCBzb3VwIGVsZW1lbnRzIHRvIDAuMTEKCjIwMTEtMDgtMjkgMTU6MTM6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIG92ZXJmbG93IHdyYXBhcm91bmQgaW4gdGltZXN0YW1wIHdoZW4gYWRkaW5nIGR1cmF0aW9ucwoJICBEbyBzb21lIHR5cGUganVnZ2xpbmcgdG8gYXZvaWQgb3ZlcmZsb3csIHdoaWxlIHN0aWxsIGFsbG93aW5nIGZvciAnbmVnYXRpdmUnCgkgIGR1cmF0aW9ucyAod2hpY2ggd291bGQgbmVlZCBhIHdyYXBhcm91bmQgZWZmZWN0KS4KCjIwMTEtMDgtMjkgMTM6NDM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTI2IDE0OjIwOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGFsbG9jYXRpb246IGZpeCBmb3Igdm1ldGhvZCBjaGFuZ2VzCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbWFrZSB0aGlzIHdvcmsgbW9yZSB0aGFuIG9uY2UgaW4gYSByb3cKCSAgV2UgdXNlZCB0byBza2lwIGZyYW1lIHJhdGUgc2V0dXAgaWYgdGhlIGNhbWVyYSB3YXMgYWxyZWFkeSBzZXR1cAoJICB3aXRoIHRoZSByZXF1ZXN0ZWQgZnJhbWUgcmF0ZS4gVGhpcyBicmVha3Mgc29tZSBjYW1lcmFzIHRob3VnaCwKCSAgY2F1c2luZyB0aGVtIHRvIG5vdCBvdXRwdXQgZGF0YSAoc2V2ZXJhbCBtb2RlbHMgb2YgVGhpbmtwYWQgY2FtZXJhcwoJICBoYXZlIHRoaXMgcHJvYmxlbSBhdCBsZWFzdCkuCgkgIFNvLCBkb24ndCBza2lwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MzAwCgoyMDExLTA4LTI1IDE2OjQxOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBmbGFncwoKMjAxMS0wOC0yNCAxODo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IGFkZCBzb21lIG1vcmUgY2hhbm5lbHMKCjIwMTEtMDctMTIgMjE6NDg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogQWRkIG1vcmUgZGVidWcKCjIwMTEtMDctMTIgMTk6MDk6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBNYXggZXZlbnQgdHlwZSBpcyAxNQoKMjAxMS0wNC0xNCAxNTo0NjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IEFsaWduIERUTUYgc291bmQgYnVmZmVycyB3aXRoIGxhc3Qtc3RvcCBmcm9tIGV2ZW50CgkgIEFsc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIG5ldmVyIGdvIGJhY2t3YXJkcwoKMjAxMS0wNy0xMSAyMTozMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ29ycmVjdGx5IHJlY29nbml6ZSB0aGUgZW5kIG9mIGEgYnVmZmVyCgoyMDExLTA3LTExIDIwOjQ3OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBNYWtlIHN1cmUgcnRwZHRtZnNyYyB0aW1lc3RhbXBzIGRvbid0IG92ZXJsYXAKCjIwMTEtMDctMTEgMjA6NDY6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFB1dCB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwgYXQgdGhlIGVuZCwgbm90IGF0IHRoZSBzdGFydAoJICBUaGUgcmVhc29uIGlzIHRvIGxldCBydHBkdG1mbXV4IGRyb3AgYnVmZmVycyBkdXJpbmcgdGhlIGludGVyIGRpZ2l0IGludGVydmFsLAoJICB0aGlzIHdheSwgdGhlcmUgd2lsbCBiZSBtb3JlIHNpbGVuY2UgYXJvdW5kIHRoZSBEVE1GIHRvbmVzIHNvIElWRnMgd2lsbCBoYXZlCgkgIGEgYmV0dGVyIGNoYW5jZSByZWNvZ25pemluZyB0aGVtLgoKMjAxMS0wNC0xNCAxNzowODo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFN0YXJ0IGF0IHRoZSBsYXN0X3N0b3AgZnJvbSB0aGUgc3RhcnQgZXZlbnQgaWYgdGhlcmUgd2FzIG9uZQoJICBUaGUgZ29hbCBpcyB0byB0cnkgdG8gbm90IGhhdmUgYSBHQVAgYmV0d2VlbiB0aGUgYXVkaW8gYW5kIHRoZSBEVE1GCgoyMDExLTA0LTE0IDE2OjQ5OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogUmVzcGVjdCBwdGltZSBmcm9tIHRoZSBjYXBzCgkgIFJlc3BlY3QgdGhlIHB0aW1lIGZyb20gdGhlIGNhcHMgZm9yIHRoZSBEVE1GIHBhY2tldHMKCjIwMTEtMDctMTEgMjE6MzA6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIGNsb2NrCgoyMDExLTA4LTI0IDE0OjE2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yMyAxMjoxMjoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBvbmx5IHJlcXVpcmUgdHdvIGZyYW1lcyBpbiBhIHJvdyB3aGVuIHdlIGRvIG5vdCBoYXZlIHN5bmMKCSAgVGhpcyBhdm9pZHMgYSBzaW5nbGUgYml0IGVycm9yIGRyb3BwaW5nIHR3byBmcmFtZXMgdW5uZWNlc3NhcmlseS4KCSAgVGhlIHR3byBjb25zZWN1dGl2ZSBmcmFtZXMgY2hlY2sgaXMgc3RpbGwgcmVxdWlyZWQgd2hlbiB3ZSBkb24ndAoJICBoYXZlIHN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwODAKCjIwMTEtMDgtMjMgMjE6NDE6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRyaXZpYWwgaW5kZW50YXRpb24gZml4CgoyMDExLTA4LTIzIDE5OjA5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2aWRlbzogcG9ydCB0byBuZXcgY29sb3JpbWV0cnkgaW5mbwoKMjAxMS0wNy0yMSAxNzoyMzoyOCAtMDQwMCAgTW9udHkgTW9udGdvbWVyeSA8Y21vbnRnb21AcmVkaGF0LmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQ29ycmVjdCBzYW1wbGUgbnVtYmVyIHJvdW5kaW5nIHJlc3VsdGluZyBpbiB0aW1lc3RhbXAgaml0dGVyCgkgIGZsYWNkZWMgY29udmVydHMgdGhlIHNyYyB0aW1lc3RhbXAgdG8gYSBzYW1wbGUgbnVtYmVyLCB1c2VzIHRoYXQgaW50ZXJuYWxseSwgdGhlbiByZWNvbnZlcnRzIHRoZSBzYW1wbGUgbnVtYmVyIHRvIGEgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlci4gIFVuZm9ydHVuYXRlbHksIHNhbXBsZSBudW1iZXJzIGNhbid0IGJlIHJlcHJlc2VudGVkIGluIGFuIGludGVnZXIgbnVtYmVyIG9mIG5hbm9zZWNvbmRzLCBhbmQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyB3YXMgdHJ1bmNhdGluZyByYXRoZXIgdGhhbiByb3VuZGluZywgcmVzdWx0aW5nIGluIHNhbXBsZSBudW1iZXJzIGFuZCBvdXRwdXQgdGltZXN0YW1wcyB0aGF0IHdlcmUgb2Z0ZW4gb2ZmIGJ5IGEgZnVsbCBzYW1wbGUuCgkgIFRoaXMgY29ycmVjdHMgdGhlIHRpbWUtPnNhbXBsZSBjb252ZXNpb24KCjIwMTEtMDgtMjIgMTM6MTA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIyIDEyOjI0OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJICBmb3VyY2M6IHJlbW92ZSBmb3VyY2MgZnJvbSBjYXBzCgoyMDExLTA4LTIwIDE0OjQ4OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkgIGJyZWFrbXlkYXRhOiBlbGVtZW50IGlzIG5vdCBwYXNzdGhyb3VnaAoKMjAxMS0wNy0xMyAxMToyMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IHF1aWV0IGRlYnVnZ2luZwoKMjAxMS0wNy0xMCAyMTo0MDoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNoYW5nZSBmaWVsZCBoYW5kbGluZyB0aHJvdWdoIG1ldGhvZHMKCSAgVGhpcyBsaWtlbHkgYnJlYWtzIHN0dWZmLiAgVGhlIGdvb2Q6IGFsbCBvZiB0aGUgbWV0aG9kcyBub3cgY3JlYXRlCgkgIGZpZWxkIGltYWdlcyBhbGlnbmVkIHdpdGggaW5wdXQgZnJhbWVzLCB3aXRob3V0IHRpbWVzdGFtcCBtYW5nbGluZy4KCSAgVGhlIGJhZDogdGhpcyB0b3VjaGVzIGEgbG90IG9mIGNvZGUsIG11Y2ggb2Ygd2hpY2ggaXMgaGFpcnkgYW5kIGluCgkgIG5lZWQgb2YgY2xlYW51cC4gIEhvd2V2ZXIsIGF0IHRoaXMgcG9pbnQgd2UgY2FuIHJlYXNvbmFibHkgY3JlYXRlIGEKCSAgUFNOUi1iYXNlZCB0ZXN0LgoKMjAxMS0wOC0yMSAxNDo0MToxNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcmVzZXQgLT5zdHJlYW1oZWFkZXJzIHRvIE5VTEwgb24gX3N0b3AKCSAgRml4ZXMgaW52YWxpZCBtZW1vcnkgYWNjZXNzIHJldXNpbmcgbXVsdGlmaWxlc2luawoKMjAxMS0wOC0yMCAxMDo0NjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgIGN1dHRlcjogYnJpbmcgY3V0dGVyIHNvbWV3aGF0IGludG8gdGhpcyBtaWxsZW5uaXVtCgoyMDExLTA4LTE5IDE2OjI3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZzogZml4IGNhcHMKCjIwMTEtMDgtMTkgMTY6MTM6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcG9ydCBhZnRlciBtZXJnZQoKMjAxMS0wOC0xOSAxNjoxMjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTkgMTY6MDk6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHBvcnQgdG8gbW9yZSBhdWRpbyBhcGkgY2hhbmdlcwoKMjAxMS0wOC0xOSAxNDowMTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgcG9ydCBtb3JlIGVsZW1lbnRzIHRvIG5ldyBhdWRpbyBjYXBzIGFuZCBBUEkKCjIwMTEtMDgtMTkgMTE6NDk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBwb3J0IHRvIG5ldyBhdWRpbyBBUEkgYW5kIGNhcHMKCjIwMTEtMDgtMTggMTM6Mzc6MzkgKzAyMDAgIERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsbG93IHdyaXRlcyBpbiBiaWdnZXIgY2h1bmtzCgkgIFRoZXJlJ3Mgbm8gdXNlIGluIHNwbGl0dGluZyB0aGUgaW5jb21pbmcgZGF0YSBkb3duIHRvIHRoZSBzZWdzaXplCgkgIGxpbWl0IC0gYnkgd3JpdGluZyBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIG9uZSBjaHVuaywgd2UgaW5jcmVhc2UKCSAgcGVyZm9ybWFuY2UgYW5kIGF2b2lkIFB1bHNlQXVkaW8gdW5uZWNlc3NhcnkgcmV3aW5kcy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoyMDExLTA4LTE4IDE5OjM3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOCAxOToyMTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzLgoKMjAxMS0wOC0wOCAyMjoxNDoyOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG5vLW1vcmUtcGFkcyBpcyBhbHdheXMgZW1pdHRlZAoJICBJbiBwYXJ0aWN1bGFyLCBkbyBzbyBldmVuIGlmIGZhaWxpbmcgdG8gcmVhZCB3aGlsZSBwcmVyb2xsaW5nLAoJICBzdWNoIGFzIHdoZW4gcmVhZGluZyBmcm9tIGEgcGFydGlhbCBmaWxlIChlZywgd2hpbGUgaXQgaXMgYmVpbmcKCSAgZG93bmxvYWRlZCkuCgkgIFRoaXMgZml4ZXMgYSB3ZWRnZSBpbiBwbGF5YmluMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTk2NQoKMjAxMS0wOC0xNyAxNzo1NzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSBmaXhhdGUgZnVuY3Rpb24KCSAgVXNlIG5ldyBjb3JlIGZ1bmN0aW9uIHRvIGZpeGF0ZSBhIGZpZWxkLgoJICBDaGFpbiB1cCB0byBwYXJlbnQgZml4YXRlIGZ1bmN0aW9uLgoKMjAxMS0wOC0xNyAxNTo1MjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCjIwMTEtMDgtMTcgMTU6Mzk6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogcG9ydCB0byAwLjExCgkgIEFsc28gZGlzYWJsZSBzbW9rZSBmb3Igbm93LgoKMjAxMS0wOC0xNiAxNzoyNzoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGF2b2lkIHRpbWVzdGFtcC9vZmZzZXQgdHJhY2tpbmcgZ29pbmcgb3V0IG9mIHN5bmMKCSAgVGhlIGxpYkZMQUMgQVBJIGlzIGNhbGxiYWNrIGJhc2VkLCBhbmQgd2UgbXVzdCBvbmx5IGNhbGwgaXQgdG8KCSAgb3V0cHV0IGRhdGEgd2hlbiB3ZSBrbm93IHdlIGhhdmUgZW5vdWdoIGlucHV0IGRhdGEuIEZvciB0aGlzCgkgIHJlYXNvbiwgYSBzaW5nbGUgcHJvY2Vzc2luZyBzdGVwIGlzIGRvbmUgd2hlbiByZWNlaXZpbmcgYSBidWZmZXIuCgkgIEhvd2V2ZXIsIGlmIHRoZXJlIHdlcmUgbWV0YWRhdGEgYnVmZmVycyBzdGlsbCBwZW5kaW5nLCBhIHN0ZXAKCSAgaW50ZW5kZWQgZm9yIHRoZSBmaXJzdCBhdWRpbyBmcmFtZSBtaWdodCBlbmQgdXAgd3JpdGluZyB0aGF0CgkgIGxlZnRvdmVyIG1ldGFkYXRhLiBTaW5jZSBhIHNpbmdsZSBzdGVwIGlzIGRvbmUgcGVyIGJ1ZmZlciwgdGhpcwoJICB3aWxsIGNhdXNlIGV2ZXJ5IGJ1ZmZlciB0byBiZSB3cml0dGVuIG9uZSBzdGVwIGxhdGUuCgkgIFRoaXMgd291bGQgYWRkIHNvbWUgbGF0ZW5jeSAoYSBidWZmZXJmdWxsJ3Mgd29ydGgpLCBwb3NzaWJseQoJICBsb3NlIGEgYnVmZmVyIHdoZW4gc2Vla2luZyBvciB0aGUgbGlrZSwgYW5kIGFsc28gY2F1c2UgdGltZXN0YW1wCgkgIGFuZCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgd3JvbmcgYnVmZmVyLCBhcyB1cGRhdGVzIHRvCgkgIHRoZSAiY3VycmVudCIgc2VnbWVudCBsYXN0X3N0b3AgKGZyb20gaW5jb21pbmcgYnVmZmVyIHRpbWVzdGFtcCkKCSAgd2lsbCBiZSBhcHBsaWVkIHRvIGFuIG91dHB1dCBidWZmZXIgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHJldmlvdXMKCSAgaW5jb21pbmcgYnVmZmVyLgoJICBUaGlzIGZpeGVzIHRoZSBpc3N1ZSBieSBlbnN1cmluZyB0aGF0LCB1cG9uIHJlY2VpdmluZyB0aGUgZmlyc3QKCSAgYXVkaW8gZnJhbWUsIHByb2Nlc3NpbmcgaXMgZG9uZSB0aWxsIGFsbCBtZXRhZGF0YSBpcyBwcm9jZXNzZWQsCgkgIHNvIHRoZSBuZXh0ICJzaW5nbGUgc3RlcCIgZG9uZSB3aWxsIGJlIGZvciB0aGUgYXVkaW8gZnJhbWUuIEFmdGVyCgkgIHRoaXMsIHdlIHNob3VsZCBrZWVwIHRvIDEgaW5wdXQgYnVmZmVyIC0+IDEgb3V0cHV0IGJ1ZmZlciBhbmQgc28KCSAgYXZvaWQgZ2V0dGluZyBvdXQgb2Ygc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNyAxMToxNzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTYgMTU6MzI6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBiYWlsIG9uIHJlc2VydmVkIHZhbHVlCgkgIE5vdyB0aGF0IHdlIGxvb2sgYXQgdGhlIHJpZ2h0IGJpdHMsIHdlIGNhbiB0ZXN0IGFnYWluc3QgdGhlIHJlc2VydmVkCgkgIHZhbHVlIGFzIHdlIGRvIGZvciBvdGhlciBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6Mjc6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggYml0IHR3aWRkbGluZwoJICBSaWdodCBzaGlmdGluZyBhIDggYml0IHZhbHVlIGJ5IDggYml0cyBpcyB0d2ljZSB0b28gbXVjaAoJICB0byBnZXQgdGhlIGhpZ2ggNCBiaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE2IDE1OjIyOjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogd2FybiBpZiB3ZSBzZWUgYSB2YXJpYWJsZSBibG9jayBzaXplIHdoZXJlIHVuc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTg6MjU6MjkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhdm9pZCBjcmFzaGluZyBieSByZXNldHRpbmcgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2MDYKCjIwMTEtMDgtMTYgMTg6MzU6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTE2IDEzOjE2OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IG9mZiBieSBvbmUgaW4gZnJhbWUgc2l6ZSBjaGVjawoJICBZZXMsIEkgd2FzIHRyYWNraW5nIGFub3RoZXIgYnVnIGFuZCB0aGUgc21hbGwgdGVzdCBmaWxlIEkgZ2VuZXJhdGVkCgkgIHRvIHRlc3Qgd2l0aCBpbXByb2JhYmx5IGp1c3QgaGFwcGVuZWQgdG8gdHJpZ2dlciB0aGlzLCB3aXRoIGEgc2Vjb25kCgkgIGFuZCBsYXN0IGZyYW1lIG9mIDE2MTUgYnl0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDkKCjIwMTEtMDgtMTUgMTI6MTk6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgX25lZ290aWF0ZWRfY2FwcygpIGNoYW5nZQoKMjAxMS0wOC0xNCAyMDo0NjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuMy4wLmh0bWw6CgkqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtZnJhbWVzLnR4dDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1zdHJ1Y3R1cmUudHh0OgoJICBpZDNkZW11eDogcmVtb3ZlIHNwZWNzIGZyb20gZ2l0IGFzIHdlbGwgbm93IHRoYXQgcGFyc2luZyBjb2RlIGlzIGluIC1iYXNlCgoyMDExLTA3LTE0IDE1OjQyOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiB1c2UgLWJhc2UgcHJvdmlkZWQgaWQzIHRhZyBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzODgKCjIwMTEtMDgtMTMgMTY6NTE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2thdWRpb3NyYzogZml4IGVycm9yIG1lc3NhZ2UgY29kZQoJICBBbmQgYWxzbyBwb3N0ICdub3QgZm91bmQnIGVycm9yIGlmIGphY2tkIGlzIG5vdCBldmVuIGluc3RhbGxlZC4KCjIwMTEtMDgtMTIgMTY6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIGJpdHJhdGUgdmFyaWFibGUgYW5kIHJlc2V0IGZvciBlYWNoIGxvb3AKCSAgRG9uJ3QgY2hlY2sgZXZlbnR1YWxseSB1bnNldCB2YXJpYWJsZSBhbmQgZG9uJ3QgYWNjaWRlbnRpYWxseSB1c2UgdmFsdWVzIGZyb20gbGFzdAoJICBjeWNsZS4KCjIwMTEtMDgtMTAgMTE6Mjg6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDExLTA4LTA5IDExOjI4OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHJvcGVybHkgZXJyb3Igb3V0IGlmIFNEUCBjb250YWlucyBubyBzdHJlYW1zCgkgIEFsc28gZml4ZXMgdW5pdGlhbGl6ZWQgdmFyaWFibGUgZXJyb3Igb24gbWFjb3N4LgoKMjAxMS0wOC0wOSAwOTowNTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGNsZWFyIGZsYWdzIG9uIGJ1ZmZlciByZXVzZQoJICBUaGlzIHdpbGwgZW5zdXJlIGEgbG9naWNhbGx5IG5ldyBidWZmZXIgZG9lcyBub3Qga2VlcCBmbGFncyBmcm9tCgkgIGEgcHJldmlvdXMgdXNlIG9mIHRoYXQgYnVmZmVyIChlZywgRElTQ09OVCB3b3VsZCBiZSBzZXQgb24gdGhlIGZpcnN0CgkgIGJ1ZmZlciwgYW5kIG1pc3Rha2VubHkga2VwdCB3aGVuIHJldXNlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3MDkKCjIwMTEtMDgtMDggMTA6NTQ6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB0YWtlIGNhcmUgbm90IHRvIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlcmUgYXBwcm9wcmlhdGUKCSAgU29tZSBkcml2ZXJzIGFyZSBidWdneSBhcmUgd2lsbCBjaGFuZ2UgdGhlIGN1cnJlbnQgZm9ybWF0IHdoZW4KCSAgcHJvY2Vzc2luZyBWSURJT0NfVFJZX0ZNVC4gU2F2ZSBhbmQgcmVzdG9yZSB0aGUgY3VycmVudCBmb3JtYXQKCSAgdG8gZW5zdXJlIHRoZSBmb3JtYXQgaXMga2VwdCB1bmNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjcKCjIwMTEtMDgtMDggMTU6Mjc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDgtMDggMTU6MjY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBhYWxpYjogbWFrZSBzdXJlIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgaXMgZGVmaW5lZAoJICBTbyB3ZSBkb24ndCBnZXQgd2FybmluZ3MuCgoyMDExLTA4LTA4IDE1OjI1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJICB2NGwyOiB1cGRhdGUgZm9yIEdzdFhPdmVybGF5ID0+IEdzdFZpZGVvT3ZlcmxheSByZW5hbWUKCjIwMTEtMDgtMDcgMTI6MjM6MjYgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBVc2UgZnJhY3Rpb24gY29tcGFyZSB1dGlsIGZ1bmN0aW9uLgoJICBVc2UgdGhlIGZyYWN0aW9uIGNvbXBhcmUgdXRpbGl0eSB0byBjb21wYXJlIGZ1bmN0aW9uLCBub3QgdGhlCgkgIGhhbmRjcmFmdGVkIG9uZS4gVGhlIGhhbmRjcmFmdGVkIG9uZSBpcyBidWdneSBhcyBpdCBkb2Vzbid0IHRha2UgaW50bwoJICBhY2NvdW50IHJvdW5kaW5nIGVycm9yLiBGb3IgZXhhbXBsZSBjb21wYXJpbmcgYSBmcmFtZXJhdGUgb2YgMjAvMSBvbiBhCgkgIGNhbWVyYSBjb25maWd1cmVkIGFzIDMwLzEgZnBzIHdvdWxkIHlpZWxkIHRydWU6IDEgPT0gKDEgKiAyMCkvMzAgYW5kIG5vdAoJICByZS1jb25maWd1cmUgdGhlIGNhbWVyYS4gRml4ZXMgIzY1NjEwNAoKMjAxMS0wOC0wNyAxMToxNDo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IGF2b2lkIHJhY2UgaW4gc3RhcnRpbmcKCSAgU2luZSB0aGUgYmFzZSBjbGFzcyBub3cgZG9lcyB0aGUgbmVnb3RpYXRpb24gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCB3ZSBoYXZlCgkgIHRvIGJlIGNhcmVmdWwgYW5kIGNoZWNrIGlmIHRoZSBzdHJlYW0gaXMgcmVhZHkgYmVmb3JlIGNoYW5naW5nIGl0cyBjb3JrZWQgc3RhdGUuCgoyMDExLTA4LTA1IDEyOjI3OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogVXNlIEdTVF9DRkxBR1Mgd2hlbiBidWlsZGluZyB0ZXN0cwoJICBFbnN1cmVzIHdlIGhhdmUgdGhlIHByb3BlciBkZWZpbmUgZm9yIHVzaW5nIHVuc3RhYmxlIEFQSQoKMjAxMS0wOC0wNSAwODo1OTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBmaXh1cCBhZnRlciBzbWFsbCBhcGkgY2hhbmdlcwoJICBQb3J0IHRvIHJlY2VudGx5IGNoYW5nZWQgYXBpIHNvIHRoYXQgaXQgY29tcGlsZXMgYWdhaW4uCgoyMDExLTA4LTA1IDExOjMyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIHk0bWVuYzogTm93IGRlcGVuZHMgb24gbGliZ3N0dmlkZW8KCjIwMTEtMDgtMDQgMTg6NDE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IG1vcmUgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTg6MTU6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA4LTA0IDE2OjM1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBjYWxsIHNldF9jYXBzIG1ldGhvZCBvZiBiYXNlY2xhc3MKCSAgQ2FsbCB0aGUgYmFzZWNsYXNzIHNldF9jYXBzIGZ1bmN0aW9uIHRvIG1ha2UgaXQgc2VuZCB0aGUgY2FwcyBldmVudCBhbmQKCSAgcHJvcGVybHkgdHJpZ2dlciB0aGUgbmVnb3RpYXRpb24gZnVuY3Rpb25zLgoKMjAxMS0wOC0wNCAxNjoyNTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc21hbGwgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTU6MjU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogcG9ydCB0byBuZXcgY2FwcwoKMjAxMS0wOC0wNCAxMzo1MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogU2l6ZSB2YXJpYWJsZSBzaG91bGQgYmUgYSBndWludCBhbmQgbm90IGEgZ3NpemUKCjIwMTEtMDgtMDQgMTI6NTA6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBhY3RpdmF0ZSB0aGUgcG9vbCBpbiBmYWxsYmFjawoJICBXaGVuIG5vYm9keSBpcyB1c2luZyBvdXIgcG9vbCwgYWN0aXZhdGUgaXQgb3Vyc2VsdmVzLgoJICBBdm9pZCBsZWFraW5nIHRoZSBidWZmZXIgYXJyYXkuCgkgIFNldCBkZWZhdWx0IHBvb2wgY29uZmlndXJhdGlvbiB3aXRoIGNhcHMuCgkgIERvbid0IGtlZXAgY3VycmVudF9jYXBzLCBjb3JlIGRvZXMgdGhhdCBmb3IgdXMgbm93LgoKMjAxMS0wOC0wMyAyMjo1Nzo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZml4IGNvbXBpbGF0aW9uCgkgIGhhbCBlbGVtZW50cyB3ZXJlIHJlbW92ZWQsIHJlbW92ZSB0aGVtIGZyb20gZG9jcyB0b28KCSAgY2hhbmdlIGV4YW1wbGUgZm9yIHBhZC1ibG9jayBBUEkgKGFjdHVhbGx5IHJlbW92ZSB0aGUgcGFkIGJsb2NrLCBhbiBhcHBsaWNhdGlvbgoJICBzaG91bGQgbm90IGJlIGJvdGhlcmVkIHdpdGggd29ya2luZyBhcm91bmQgYnVncyBpbiBlbGVtZW50cykKCjIwMTEtMDgtMDMgMTg6Mzc6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcG9ydCB0byBuZXcgQVBJCgoyMDExLTA4LTAzIDE4OjI1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYwoKMjAxMS0wOC0wMyAyMjo1MDowNSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2E6IFJlZ2lzdGVyIG5ldyBkZWJ1ZyBjYXRlZ29yeQoJICBSZWdpc3RlciB0aGUgbWF0cm9za2FyZWFkY29tbW9uIGRlYnVnIGNhdGVnb3J5IHdoZW4gdGhlCgkgIHBsdWdpbiBpcyBsb2FkZWQgdG8gYXZvaWQgYXNzZXJ0aW9uIG91dHB1dCB3aGVuIGRlYnVnIGlzIHR1cm5lZCBvbi4KCjIwMTEtMDgtMDMgMTM6Mzg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3QvaWNrbGVzOiBQb3J0IGdka3BpeGJ1ZnNpbmsgdGVzdAoKMjAxMS0wOC0wMyAxMzozMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBSZXZlcnQgInRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cyB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVuci4uLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0NzVhZWQ4YWY2ZDJhNTdjMWQyMTQ5MGM4MjRlNzU0YTZiMjM2N2E5LgoJICBJdCB3b24ndCBjb25zaWRlciBlbGVtZW50cyBmcm9tIGFueXdoZXJlIGVsc2UgYW55bW9yZQoKMjAxMS0wOC0wMyAxMzoxMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIGNoZWNrOiBVcGRhdGUgcGFyc2VyIG1pbmktbGliIHRvIDAuMTEgQVBJCgoyMDExLTA4LTAzIDEzOjA5OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIGZvciBtb2RpZmllZCBzb3VyY2UgZmlsZSBsb2NhdGlvbgoKMjAxMS0wOC0wMyAxMzowODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY2Fpcm9fZ29iamVjdCBpc24ndCBwb3J0ZWQgZWl0aGVyCgoyMDExLTA4LTAzIDEwOjU5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5jOgoJKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmg6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9oYWwvaGFsLmg6CgkgIGhhbDogUmVtb3ZlIGhhbCBwbHVnaW4KCSAgaGFsIGlzIG5vdCBkZXZlbG9wZWQgYW55bW9yZSBhbmQgbm9ib2R5IGlzIHVzaW5nIHRoZSBwbHVnaW4gbm93YWRheXMuCgoyMDExLTA3LTI5IDEzOjAzOjU1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvZnRlbiBhc3NlcnRpb24gY2hlY2sgb24gc3RyZWFtIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTU3MAoKMjAxMS0wOC0wMyAxMDowOTo0MiArMDIwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBZGQgc3VwcG9ydCBmb3IgSC4yNjQgcGF5bG9hZCBpbiBNSlBFRyBjb250YWluZXIKCSAgU2VlIGh0dHA6Ly93d3cucXVpY2tjYW10ZWFtLm5ldC91dmMtaDI2NC9VU0JfVmlkZW9fUGF5bG9hZF9ILjI2NF8wLjg3LnBkZgoJICBGaXhlcyBidWcgIzY1NTUzMC4KCjIwMTEtMDgtMDIgMjI6MDU6MDggLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIGphY2thdWRpb3Npbms6IERvbid0IGNhbGwgZ19hbGxvY2EoKSBpbiBwcm9jZXNzX2NiCgkgIGdfYWxsb2NhKCkgaXMgbm90IFJULXNhZmUsIHNvIGluc3RlYWQgd2Ugc2hvdWxkIGFsbG9jYXRlIHRoZQoJICBtZW1vcnkgbmVlZGVkIGluIGFkdmFuY2UuIEZpeGVzICM2NTU4NjYKCjIwMTEtMDgtMDMgMDg6NTg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBoYWwgdG8gdGhlIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAzIDA4OjUzOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgbW9ub3Njb3BlIHRvIHRoZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMyAwODo1MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IEZpeCB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOC0wMiAyMzo0Mjo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZG9jczogZml4IHR3byBtb3JlIFNpbmNlOiB0YWdzCgoyMDExLTA3LTMxIDA0OjE5OjAwICswMzAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBTaW5jZSB0YWdzIGZvciBmaWVsZGFuYWx5c2lzIHJlbGF0ZWQgbmV3IHByb3BlcnRpZXMKCSAgY29tbWl0IGMxYjEwMGNmOWMgaXMgYWZ0ZXIgMC4xMC4yOSBhbmQgMC4xMC4zMCB3YXMgYSBicmFuY2hlZCByZWxlYXNlLgoJICBTbyBmaXggU2luY2UgdGFncyBmcm9tIDAuMTAuMjkgdG8gMC4xMC4zMSBmb3IgdGhlIG5ldyBwcm9wZXJ0aWVzLgoKMjAxMS0wOC0wMiAxMTo1MTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogZml4IHBvcnRpbmcgZXJyb3IKCjIwMTEtMDgtMDIgMTE6Mjk6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERlZmluZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMiAxMToyOToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc3VibW9kdWxlCgoyMDExLTA4LTAyIDExOjE3OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBTb3J0IEFHX0dTVF9DSEVDS19QTFVHSU4gYWxwaGFiZXRpY2FsbHkKCjIwMTEtMDctMjkgMTc6Mjc6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgIC1nb29kOiBmaXggZm9yIGJ1ZmZlcnBvb2wgQVBJIGNoYW5nZQoKMjAxMS0wNy0yOSAxNzoyMTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsOiBjaGFuZ2UgZm9yIG5ldyBBUEkKCjIwMTEtMDctMjkgMTM6MDU6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCB2YXJpYWJsZS1zZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBvbGRlciBwdWxzZSB2ZXJzaW9ucwoKMjAxMS0wNy0yOSAxMjowNzoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHByb3Blcmx5IGluaXQgcnRjcF9taW5faW50ZXJ2YWwKCjIwMTEtMDMtMDkgMTE6MDQ6MzYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBBZGQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBmb3JtYXRzCgkgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB2YXJpb3VzIGNvbXByZXNzZWQgZm9ybWF0cyAoQUMzLCBFLUFDMywgRFRTIGFuZAoJICBNUDMpIHBheWxvYWRlZCBpbiBJRUMgNjE5MzcgZm9ybWF0ICh1c2VkIGZvciB0cmFuc21pc3Npb24gb3ZlciBTL1BESUYsCgkgIEhETUkgYW5kIEJsdWV0b290aCkuCgkgIFRoZSBhY2NlcHRjYXBzKCkgZnVuY3Rpb24gYWxsb3dzIGJpbnMgdG8gcHJvYmUgZm9yIHdoYXQgZm9ybWF0cyB0aGUgc2luawoJICBiZWluZyBjb25uZWN0ZWQgdG8gc3VwcG9ydC4gVGhpcyBvbmx5IHdvcmtzIGFmdGVyIHRoZSBlbGVtZW50IGlzIHNldCB0bwoJICBhdCBsZWFzdCBSRUFEWS4KCSAgSWYgdGhlIHVuZGVybHlpbmcgc2luayBjaGFuZ2VzIGFuZCB0aGUgZm9ybWF0IHdlIGFyZSBzdHJlYW1pbmcgaXMgbm90CgkgIGF2YWlsYWJsZSwgd2UgZW1pdCBhIG1lc3NhZ2UgdGhhdCB3aWxsIGFsbG93IHVwc3RyZWFtIGVsZW1lbnRzL2JpbnMgdG8KCSAgYmxvY2sgYW5kIHJlbmVnb3RpYXRlIGEgbmV3IGZvcm1hdC4KCjIwMTEtMDMtMDEgMTU6MzQ6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZXNpbms6IFVzZSB0aGUgZXh0ZW5kZWQgc3RyZWFtIEFQSSBpZiBhdmFpbGFibGUKCSAgVGhpcyB1c2VzIHRoZSBuZXcgZXh0ZW5kZWQgQVBJIGZvciBjcmVhdGluZyBzdHJlYW1zLiBUaGlzIHdpbGwgYWxsb3cgdXMKCSAgdG8gc3VwcG9ydCBjb21wcmVzc2VkIGZvcm1hdHMgbmF0aXZlbHkgaW4gcHVsc2VzaW5rIGFzIHdlbGwuCgoyMDExLTA3LTI5IDAwOjA3OjUyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEFkZCBhIHNvdXJjZS1vdXRwdXQtaW5kZXggcHJvcGVydHkKCSAgVGhpcyBleHBvc2VzIHRoZSBzb3VyY2Ugb3V0cHV0IGluZGV4IG9mIHRoZSByZWNvcmQgc3RyZWFtIHRoYXQgd2Ugb3BlbgoJICBzbyB0aGF0IGNsaWVudHMgY2FuIHVzZSB0aGlzIHdpdGggdGhlIGludHJvc3BlY3Rpb24gaWYgdGhleSB3YW50ICh0bwoJICBtb3ZlIHRoZSBzdHJlYW0sIGZvciBleGFtcGxlKS4KCjIwMTEtMDctMjggMTQ6NDQ6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDoga2VlcCBhIHJlZiBvbiB0aGUgc3JjIHBhZCB3aGlsZSB1c2luZyBpdAoJICBQcmV2ZW50IGEgcG9zc2libGUgcmFjZSBpZiBjbGVhcl9zc3JjKCkgaXMgY2FsbGVkIGJldHdlZW4gZ2V0dGluZyB0aGUgcGFkIGFuZAoJICBkb2luZyB0aGUgcHVzaC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNS0yNCAxMToyOTo1NyArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgcnRwc3NyY2RlbXV4OiBNYWtlIHRoZSBwYWRzIGxvY2sgcmVjdXJzaXZlIGFuZCBob2xkIGl0IGFjcm9zcyB0aGUgc2lnbmFsIGVtaXQKCSAgV2UgbmVlZCB0byBrZWVwIHRoZSBsb2NrIGhlbGQgYmVjYXVzZSB3ZSBkb24ndCB3YW50IGEgcHVzaCBiZWZvcmUgdGhlICJuZXctc3NyYy1wYWQiCgkgIGhhbmRsZXIgaGFzIGNvbXBsZXRlZC4gQnV0IHdlIG1heSB3YW50IHRvIHB1c2ggYW4gZXZlbnQgZnJvbSBpbnNpZGUgdGhhdCBoYW5kbGVyLCBoZW5jZQoJICB0aGUgcmVjdXJzaXZlIG11dGV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA1LTI0IDExOjE3OjI1ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVXNlIFBBRHMgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA3LTI4IDExOjA5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IHVwZGF0ZSBmb3IgcG9zaXRpb24vcXVlcnkvY29udmVydCBBUEkgY2hhbmdlcwoKMjAxMS0wNy0yOCAxMDo1NDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBnc3Q6IHVkcGF0ZSBmb3IgcG9zaXRpb24vZHVyYXRpb24vY29udmVydCBxdWVyeSBBUEkgY2hhbmdlcwoKMjAxMS0wNy0yOCAwMDozNzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RhdmlkZW11eC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0nOgoJICBnc3RhdmlkZW11eC5jOjEyNjE6MjQ6IGVycm9yOiAnZGF0YScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPXVuaW5pdGlhbGl6ZWRdCgkgIGdzdGF2aWRlbXV4LmM6MTIwNDoxMTogbm90ZTogJ2RhdGEnIHdhcyBkZWNsYXJlZCBoZXJlCgoyMDExLTA3LTI3IDE4OjE1OjIwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogQ29wZSB3aXRoIEZVLUEgRSBiaXQgbm90IGJlaW5nIHNldAoJICBTb21lIGgyNjQgcGF5bG9hZGVycyBhcmUgdW5mb3J0dW5hdGVseSBidWdneSBhbmQgZG9uJ3QgY29ycmVjdGx5IHNldCB0aGUKCSAgRSBiaXQgaW4gRlUtQSBOQUwgd2hlbiB0aGV5IGhhdmUgZW5kZWQuIFdvcmsgYXJvdW5kIHRoaXMgYnkgYXNzdW1pbmcKCSAgc3VjaCBhIGZyYWdtZW50YXRpb24gdW5pdCBoYXMgZW5kZWQgd2hlbiB0aGVyZSB3YXMgbm8gcGFja2V0IGxvc3MgYW5kIGEKCSAgbmV3IE5BTCBpcyBzdGFydGVkCgoyMDExLTA0LTEyIDE3OjAxOjQ3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogU3VwcG9ydCBzd2l0Y2hpbmcgYWxpZ25tZW50IG9uLXRoZS1mbHkKCSAgVGhpcyBhbGxvd3Mgc3dpdGNoaW5nIG9mIGFsaWdubWVudCBmb3IgRS1BQzMgc3RyZWFtcyBhdCBydW4tdGltZS4gVGhpcwoJICBpcyByZXF1ZXN0ZWQgYnkgZG93bnN0cmVhbSBlbGVtZW50cyB2aWEgYSBjdXN0b20gZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAzMTMKCjIwMTEtMDctMjcgMTY6NDY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoJICBVc2UgdGhlIG1vcmUgc3BlY2lhbGl6ZWQgdHlwZSBmb3IgdGhlIGJ1ZmZlcnBvb2wuCgkgIFVzZSB0aGUgc2l6ZSBmcm9tIHRoZSBkcml2ZXIgYXMgdGhlIHNpemUgb2YgdGhlIGltYWdlIHRvIHJlYWQuCgkgIERvbid0IGNvbmZpZ3VyZSB0aGUgcG9vbCB3aGVuIGNyZWF0ZWQuIFRoaXMgd2lsbCBiZSBkb25lIGluIHRoZSBzZXR1cF9hbGxvY2F0aW9uCgkgIG1ldGhvZCBsYXRlciBvciBieSB1cHN0cmVhbSBmb3Igc2lua3MuCgkgIFJlbW92ZSB1bnVzZWQgcHJvcGVydGllcyBhbmQgdmFyaWFibGVzLiBCdWZmZXJwb29sIHNpemVzIGFyZSBub3cgY29uZmlndXJlZCBpbgoJICB0aGUgYnVmZmVycG9vbCBieSB0aGUgZWxlbWVudHMgaW4gdGhlIHBpcGVsaW5lLiBXZSBtaWdodCB3YW50IHRvIGluZmx1ZW5jZSB0aGUKCSAgcG9vbCBzaXplIGxhdGVyIHNvbWVob3cuCgoyMDExLTA3LTI3IDEzOjQ2OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDctMjcgMTM6NDM6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGFkZCBtZXRhZGF0YQoKMjAxMS0wNy0yNyAxMzo0MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIGJ1ZmZlcnBvb2w6IGNoZWNrIGZvciBtZXRhZGF0YQoJICBPbmx5IGFkZCB2aWRlbyBtZXRhZGF0YSB3aGVuIGl0IHdhcyBjb25maWd1cmVkIGluIHRoZSBwb29sLiBGYWlsIGlmIHRoZXJlIHdhcyBubwoJICB2aWRlbyBtZXRhZGF0YSBjb25maWd1cmVkIGFuZCB0aGUgc3RyaWRlcyBhcmUgbm90IHRoZSBkZWZhdWx0IG9uZXMuCgoyMDExLTA3LTI3IDEyOjQyOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIHdhcnA6IGFkZCBzdHJpZGUgc3VwcG9ydAoKMjAxMS0wNy0yNyAxMjo0MTozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYWRkIGNvbG9yc3BhY2UgdG8gZGVidWcKCjIwMTEtMDctMjYgMTc6NDU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMDctMjYgMTY6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiByZW5hbWUgYSB2YXJpYWJsZQoJICBSZW5hbWUgdGhlIHNpemUgdmFyaWFibGUgdG8gc2l6ZWltYWdlIGFuZCBmaWxsIGl0IHdpdGggdGhlIHNpemUgdGhhdCBoYXMgYmVlbgoJICBnaXZlbiB0byB1c2UgYnkgdGhlIHY0bDIgZHJpdmVyIGluc3RlYWQgb2YgbWFraW5nIHNvbWV0aGluZyB1cC4uCgoyMDExLTA3LTI2IDEzOjE4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogdXNlIG5ldyBzZXR1cF9hbGxvY2F0aW9uIHZtZXRob2QKCjIwMTEtMDctMjYgMTA6NTY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXBsZW1lbnQgbW9yZSBiaXRzIG9mIFJXIEkvTyBtb2RlCgkgIEltcGxlbWVudCB0aGUgcmVsYWVzZSBvZiBSVyBidWZmZXJzIGluIHRoZSBwb29sLgoJICBXYXJuIGZvciB1bnN1cHBvcnRlZCB3cml0ZSgpIG1vZGUgZm9yIHNpbmtzLgoKMjAxMS0wNy0yNiAxMDo1NDoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW1wcm92ZSBJTyBtb2RlIGVycm9yIGhhbmRsaW5nCgkgIEVycm9yIG91dCB3aGVuIGFuIHVuc3VwcG9ydGVkIElPIG1vZGUgd2FzIHNlbGVjdGVkCgoyMDExLTA0LTA5IDEyOjI2OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogQWRkIHN1cHBvcnQgZm9yIElFQyA2MTkzNyBhbGlnbm1lbnQKCSAgV2hlbiBwdXNoaW5nIG91dCBidWZmZXJzIG92ZXIgUy9QRElGIG9yIEhETUksIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIHJlcXVpcmVzIGVhY2ggYnVmZmVyIHRvIGNvbnRhaW4gNiBibG9ja3MgZnJvbSBlYWNoIHN1YnN0cmVhbS4gVGhpcyBhZGRzCgkgIGNvZGUgdG8gY29sbGVjdCBhbGwgdGhlIGZyYW1lcyBuZWVkZWQgdG8gbWVldCB0aGlzIHJlcXVpcmVtZW50IGJlZm9yZQoJICBwdXNoaW5nIG91dCBhIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDMxMwoKMjAxMS0wNi0wOCAxNTo1NzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBbHdheXMgc2VuZCBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQgZmVlZGJhY2sgaW4gaW1tZWRpYXRlIG1vZGUKCSAgU2VuZCBhcyBtYW55IGFwcGxpY2F0aW9uIHJlcXVlc3RlZCBmZWVkYmFjayBtZXNzYWdlcyBpbiBpbW1lZGlhdGUgbW9kZSwgZXZlbiBpZiB0aGV5CgkgIGhhdmUgYWxyZWFkeSBiZWVuIHNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1ODMKCjIwMTEtMDYtMDggMTQ6NDg6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERvbid0IGxldCB0aGUgY29tcHV0ZWQgUlRQIGJhbmR3aWR0aCBmYWxsIHRvbyBsb3cKCSAgSWYgaXQgZmFsbHMgdG9vIGxvdywgdGhlIGNvbXB1dGVkIFJUQ1AgYmFuZHdpZHRoIHdpbGwgYmUgbmVhciB6ZXJvIGFuZAoJICB0aGUgUlRDUCB0aHJlYWQgd2lsbCBiZSBzdG9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTgzCgoyMDExLTA0LTI1IDE2OjEzOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFdhaXQgbG9uZ2VyIHRvIHRpbWVvdXQgU1NSQyBjb2xsaXNpb24KCSAgVXNpbmcgdGhlIGN1cnJlbnQgUlRDUCBpbnRlcnZhbCB0byB0aW1lb3V0IFNTUkMgY29sbGlzaW9uIGNhbiBsZWFkIHRvCgkgIGNvbGxpc2lvbnMgYmVpbmcgdGltZWQgb3V0IGltbWVkaWF0ZWx5IGlmIGEgQllFIHBhY2tldCBpcyBzZW50IGJlY2F1c2UKCSAgaXQgaXMgc2VudCBpbW1lZGlhdGVseSwgc28gdGhlIGludGVydmFsIGlzIDAuIFRoaXMgaXMgbm90IHdoYXQgd2UKCSAgd2FudC4gU28ganVzdCBzZXQgYSBzdGF0aWMgMTAgdGltZXMgdGhlIGRlZmF1bHQgUlRDUCBpbnRlcnZhbCwgaXQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NjQyCgoyMDExLTA3LTI1IDE1OjUxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBtZXRob2QKCjIwMTEtMDctMjUgMTU6Mzg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBmbHVzaGluZyBzdGFydCBhbmQgc3RvcAoJICBNb3ZlIHRoZSBmbHVzaGluZyBjYWxscyB0byB0aGUgcmlnaHQgcGxhY2UgaW4gdGhlIGJ1ZmZlcnBvb2wuCgkgIEZpeCB0aGUgbWluIGFuZCBtYXggYnVmZmVyIHNpemVzLgoKMjAxMS0wNy0yNSAxNDo0NzowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGRlcXVldWUgYnVmZmVycyB3aGVuIGFsbCBhcmUgcXVldWVkCgkgIFByZWZlciB0byBhbHdheXMgdXNlIHRoZSBkZWZhdWx0IGJ1ZmZlcnBvb2wgcXVldWUgZm9yIHRoZSBfYWNxdWlyZSBmdW5jdGlvbgoJICBiZWNhdXNlIGl0IHByb3Blcmx5IHN1cHBvcnRzIHVuYmxvY2tpbmcgd2hlbiBzZXR0aW5nIGluYWN0aXZlIGV0Yy4gQXMgYSByZXN1bHQsCgkgIHdlIG5lZWQgdG8gZGVxdWV1ZSBidWZmZXJzIGFuZCBwdXQgdGhlbSBiYWNrIGluIHRoZSBidWZmZXJwb29sIHF1ZXVlIHdoZW4gd2UKCSAgaGF2ZSBxdWV1ZWQgYWxsIGJ1ZmZlcnMgaW4gdGhlIHNpbmsuCgkgIFJlbmFtZSBzb21lIHZhcmlhYmxlcyB0byBtb3JlIG1lYW5pbmdmdWxsIG5hbWVzIHRvIGF2b2lkIGEgcHJvYmxlbSB3aXRoCgkgIGZyZWVpbmcgdGhlIHdyb25nIGFtb3VudCBvZiBidWZmZXJzLgoKMjAxMS0wNy0xOSAxMzozODowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBTT1VSQ0UgZmxhZyBhdCBpbml0IHRpbWUKCSAgRml4ZXMgIzY1NDgxNi4KCjIwMTEtMDctMjUgMTA6MTA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIHZlcnRpZ290djogYWRkIHN0cmlkZSBzdXBwb3J0CgoyMDExLTA3LTE5IDE4OjI1OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogb25seSB0byBTVFJFQU1PRkYgd2hlbiBzdHJlYW1pbmcKCSAgT25seSBjYWxsIFNUUkVBTU9GRiB3aGVuIHdlIHByZXZpb3VzbHkgY2FsbGVkIFNUUkVBTU9OCgoyMDExLTA3LTIyIDIxOjI2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXk6IGZpeCBmb3IgZXZlbnQgaGFuZGxlcgoKMjAxMS0wNy0yMiAyMToxOTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgZml4ZXMgZm9yIGV2ZW50IGhhbmRsZXIgY2hhbmdlcwoKMjAxMS0wNy0xOCAxNjo0NjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogQ29tcGxldGUgbWVyZ2VkIEFVIG9uIG1hcmtlciBiaXQKCSAgVGhlIG1hcmtlciBiaXQgb24gYSBSVFAgcGFja2V0IG1lYW5zIHRoZSBBVSBoYXMgYmVlbiBjb21wbGV0ZWQsIHNvIHB1c2ggaXQgb3V0CgkgIGltbWVkaWF0ZWx5IHRvIHJlZHVjZSB0aGUgbGF0ZW5jeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMS0wNy0xOCAyMDoyNzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogT25seSBzZXQgdGhlIG1hcmtlciBiaXQgb24gdGhlIGxhc3QgTkFMVSBvZiBhIG11bHRpLU5BTFUgYWNjZXNzIHVuaXQKCSAgQW4gYWNjZXNzIHVuaXQgY291bGQgY29udGFpbiBtdWx0aXBsZSBOQUwgdW5pdHMsIGluIHRoYXQgY2FzZSwgb25seSB0aGUgbGFzdAoJICBSVFAgcGFja2V0IG9mIHRoZSBsYXN0IE5BTFUgc2hvdWxkIGhhdmUgaXRzIG1hcmtlciBiaXQgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDExLTA3LTIwIDA4OjUyOjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDctMTkgMTg6MjA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGhhbmRsZSB1bnN1cHBvcnRlZCBmb3JtYXRzCgoyMDExLTA3LTE5IDE2OjU5OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IEZpeCBzaW5rIGJ1ZmZlcnBvb2wgaGFuZGxpbmcKCSAgUmVtb3ZlIG9sZCBtZXRob2QsIHVzZSBuZXd3IF9wcm9jZXNzIG1ldGhvZCBmb3IgdGhlIHNpbmsuCgkgIEluZm9ybSB0aGUgcGFyZW50IGJ1ZmZlcnBvb2wgY2xhc3MgYWJvdXQgdGhlIHNldHRpbmdzIHRvby4gVGhpcyBpcyBuZWVkZWQgdG8gbGV0CgkgIGl0IGtub3cgYWJvdXQgdGhlIG1heC1idWZmZXJzLgoJICBBbGxvY2F0ZSB0aGUgbmVnb3RpYXRlZCBtYXgtYnVmZmVycyBhbmQgaW5pdGlhbGx5IG1tYXAgbWluLWJ1ZmZlcnMuIFRoZSBpZGVhIGlzCgkgIHRoYXQgdGhlIGJ1ZmZlcnBvb2wgd2lsbCBhbGxvY2F0ZSBtb3JlIHdoZW4gbmVlZGVkLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgT25seSBwb2xsIGluIGNhcHR1cmUgbW9kZSwgaXQgZG9lcyBub3Qgc2VlbSB0byB3b3JrIGluIHBsYXliYWNrIG1vZGUgb24gdGhpcwoJICBiZWFnbGVib2FyZC4KCjIwMTEtMDctMTkgMTI6MDU6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBhdm9pZCBoYW5naW5nIG9uIGludmFsaWQgc2hvcnQgaW5wdXQKCSAgLi4uIGFzIGluIHN1Y2ggY2FzZSB0aGVyZSBpcyBubyBzcmNwYWQgeWV0IG9uIHdoaWNoIHRvIGZvcndhcmQgRU9TLgoKMjAxMS0wNy0xOCAxNToxMzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEZpeCBkZWZhdWx0IHZhbHVlIGxlYWtpbmcKCSAgUmVtZW1iZXIgdG8gZnJlZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBjbGllbnQgbmFtZSwgYXZvaWRpbmcgYQoJICBsZWFrCgoyMDExLTA3LTE4IDE4OjU0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBNb3JlIHdvcmsgb24gYnVmZmVycG9vbHMKCSAgQWRkIGRpZmZlcmVudCB0cmFuc3BvcnQgbWV0aG9kcyB0byB0aGUgYnVmZmVycG9vbCAoTU1BUCBhbmQgUkVBRC9XUklURSkKCSAgRG8gbW9yZSBwYXJzaW5nIG9mIHRoZSBidWZmZXJwb29sIGNvbmZpZy4KCSAgU3RhcnQgYW5kIHN0b3Agc3RyZWFtaW5nIGJhc2VkIG9uIHRoZSBidWZmZXJwb29sIHN0YXRlLgoJICBNYWtlIHNlcGFyYXRlIG1ldGhvZHMgZm9yIGdldHRpbmcgYSBidWZmZXIgZnJvbSB0aGUgcG9vbCBhbmQgZmlsbGluZyBpdCB3aXRoCgkgIGRhdGEuIFRoaXMgYWxsb3dzIHVzIHRvIGZpbGwgYnVmZmVycyBmcm9tIG90aGVyIHBvb2xzIHRvby4gRWl0aGVyIHVzZSBjb3B5IG9yCgkgIHJlYWQgdG8gZmlsbCB1cCB0aGUgdGFyZ2V0IGJ1ZmZlcnMuCgkgIEFkZCBwcm9wZXJ0eSB0byBmb3JjZSBhIHRyYW5zZmVyIG1vZGUgaW4gdjRsMnNyYy4KCSAgSW5jcmVhc2UgZGVmYXVsdCBudW1iZXIgb2YgYnVmZmVycyB0byA0LgoJICBOZWdvdGlhdGUgYnVmZmVycG9vbCBhbmQgaXRzIHByb3BlcnRpZXMgaW4gdjRsMnNyYy4KCjIwMTEtMDctMTggMTQ6MjQ6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZXNldCB1cG9uIEZMVVNIX1NUT1AKCSAgLi4uIHdoaWNoIGlzIHBhcnRpY3VsYXJseSBuZWVkZWQgd2hlbiBtZXJnaW5nIE5BTCB1bml0cywgd2hlcmUgbm90IHJlc2V0dGluZwoJICB3b3VsZCBsZWFkIHRvIG91dHB1dCBvZiBhbiBvbGRlciAocHJlLWZsdXNoKSBBVSAod2l0aCB1bmludGVuZGVkIHRpbWVzdGFtcCkuCgoyMDExLTA3LTE4IDE0OjMwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkbyBub3QgdXNlIGdfc2xpc3RfZnJlZV9mdWxsCgkgIC4uLiBhcyB0aGF0IGlzIG9ubHkgaW4gR0xpYiAyLjI4LCB3aGljaCBpcyBub3QgeWV0IHJlcXVpcmVkIGF0IHRoaXMgdGltZS4KCjIwMTEtMDctMTggMTA6NTI6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogYWRkIElPIG1ldGhvZCBlbnVtCgoyMDExLTA3LTE4IDEwOjUxOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgYnVmZmVycG9vbDogaW1wcm92ZSBfbmV3IGZ1bmN0aW9uCgoyMDExLTA3LTE4IDA5OjM4OjI2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBtYXgtZmlsZXMgcHJvcGVydHkKCSAgQWRkIG1heC1maWxlcyBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIGZpbGVzIHNhdmVkIG9uIGRpc2suCgkgIEFQSTogbXVsdGlmaWxlc2luazo6bWF4LWZpbGVzCgoyMDExLTA3LTE3IDIzOjM2OjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiByZWZhY3RvciBmaWxlIG9wZW5pbmcgYW5kIGNsb3NpbmcgY29kZQoKMjAxMS0wNy0xNiAxOTozODo1MSArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgaGVhZGVyIGhhcyBvbmx5IG9uZSBkaXNwbGF5IHZhcmlhYmxlCgkgIEN1cnJlbnQgbWF0cm9za2EgZGVtdXggY2FsY3VsYXRlcyB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvIG9ubHkgaWYgYm90aAoJICBEaXNwbGF5SGVpZ2h0IGFuZCBEaXNwbGF5V2lkdGggYXJlIHNldCwgYnV0IGl0IGlzIGxlZ2FsIHRvIHVzZSBvbmx5CgkgIG9uZSB2YXJpYWJsZSBpZiB0aGUgb3RoZXIgaXMgZXF1YWwgdG8gUGl4ZWxXaWR0aCBvciBQaXhlbEhlaWdodCwgYXQKCSAgbGVhc3QgdGhlIG1rY2xlYW4gdXRpbGl0eSBpcyBkb2luZyB0aGF0LiBTbyB0aGlzIG1ha3NlIG1rY2xlYW5lZAoJICBmaWxlcyBwbGF5IGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDc0NAoKMjAxMS0wNy0xNiAyMzo0Nzo1MCArMDEwMCAgQW50b2luZSBKYWNvdXRvdCA8YWphY291dG90QG9wZW5ic2Qub3JnPgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogZml4IGJ1aWxkIG9uIFBQQyBvbiBvcGVuYnNkCgkgIEEgbWlzc2luZyBzeXMvcGFyYW0uaCBpbmNsdWRlIHJlc3VsdHMgaW46CgkgIC91c3IvaW5jbHVkZS9zeXMvcHJvYy5oOjY0OiBlcnJvcjogJ01BWExPR05BTUUnIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEKCSAgZnVuY3Rpb24pCgkgIC91c3IvaW5jbHVkZS9zeXMvcHJvYy5oOjI4NTogZXJyb3I6ICdNQVhDT01MRU4nIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEKCSAgZnVuY3Rpb24pCgkgIHdoZW4gY29tcGlsaW5nIGdvb20gb24gb3BlbmJzZC9wcGMuIFdlIGNhbiBqdXN0IHJlbW92ZSB0aGUgdHdvIHN5cy8gaW5jbHVkZXMKCSAgaGVyZSwgdGhleSBhcmUgbm90IG5lZWRlZCBmb3IgYW55dGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ3NDkKCjIwMTEtMDctMTUgMTc6MDY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTE1IDE2OjU1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXBsZW1lbnQgc2V0dXBfYWxsb2NhdGlvbgoJICBJbXBsZW1lbnQgdGhlIHNldHVwX2FsbG9jYXRpb24gdm1ldGhvZCwgd2UnbGwgaG9wZWZ1bGx5IGRvIHNvbWV0aGluZyBjbGV2ZXIgaW4KCSAgdGhlcmUgbGF0ZXIuCgoyMDExLTA3LTE1IDE2OjI2OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbXByb3ZlIGJ1ZmZlcnBvb2wgY29uZmlnIHNldHRpbmcKCSAgUGFzcyB0aGUgY2FwcyBhbmQgdGhlIGRlZmF1bHQgdmlkZW8gc2l6ZSB0byB0aGUgYnVmZmVycG9vbCBjb25maWcuCgkgIERvbid0IGFjdGl2YXRlIHRoZSBidWZmZXJwb29sLCB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgb2JqZWN0IHRoYXQgZGVjaWRlcyB0bwoJICB1c2UgdGhlIGJ1ZmZlcnBvb2wuCgkgIEltcHJvdmUgZGVidWdnaW5nIGFuZCBlcnJvciByZXBvcnRpbmcuCgoyMDExLTA3LTE1IDEzOjUyOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaGFuZGxlIGRlcXVldWVpbmcgY29ycmVjbHkKCSAgRmlyc3QgY2xlYW4gdXAgdGhlIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLCB0aGVuIHRoZSByZW1haW5pbmcgb25lcyBpbiB0aGUKCSAgZGV2aWNlLgoKMjAxMS0wNy0xNSAxMzoyOTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdW5yZWYgY29waWVkIGJ1ZmZlcgoJICBBZnRlciB3ZSBjb3B5IHRoZSBpbmNvbW1pbmcgYnVmZmVyIHRvIG9uZSBvZiBvdXIgYnVmZmVycG9vbCBidWZmZXJzLCB1bnJlZiB0aGUKCSAgdGFyZ2V0IGJ1ZmZlciBhZnRlciByZW5kZXJpbmcgc28gdGhhdCBpdCBpcyBwdXQgYmFjayBpbiB0aGUgcG9vbC4KCjIwMTEtMDctMTUgMTM6MDc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBkZXF1ZXVlIGJ1ZmZlcnMgZm9yIHRoZSBzaW5rCgkgIFdoZW4gd2UgaGF2ZSBhbGwgYnVmZmVycyBxdWV1ZWQgZm9yIHBsYXliYWNrIGFuZCB3ZSBuZWVkIGEgbmV3IGVtcHR5IGJ1ZmZlciwKCSAgZGVxdWV1ZSBvbmUgYW5kIHJldHVybiBpdC4KCSAgU2V0IHRoZSByaWdodCBzaXplIGZvciBzaW5rIGJ1ZmZlcnMuCgkgIEltcHJvdmUgY291bnRpbmcgb2YgcXVldWVkIGJ1ZmZlcnMuCgoyMDExLTA3LTE1IDEyOjM1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXNlIHRoZSBwYXJlbnQgcXVldWUgZm9yIHRoZSBzaW5rCgkgIFdlIHdhbnQgdG8gbWFpbnRhaW4gYSBxdWV1ZSBvZiBmcmVlIGJ1ZmZlcnMgZm9yIHRoZSBzaW5rLCB1c2UgdGhlIHBhcmVudCBtZXRob2RzCgkgIHRvIGRvIHRoYXQuCgoyMDExLTA3LTE1IDEyOjAwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggZXJyb3IgbWVzc2FnZXMKCjIwMTEtMDctMTUgMTE6MzA6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBhZGQgQUxMT0NBVElPTiBxdWVyeSB0byB0aGUgc2luawoKMjAxMS0wNy0xNSAxMToyNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBjb252ZXJ0IHRvIEdzdEJ1ZmZlclBvb2wKCSAgRXh0ZW5kIGZyb20gR3N0QnVmZmVyUG9vbC4KCSAgSGFuZGxlIHRoZSBsaWZldGltZSBvZiB0aGUgcG9vbCBidWZmZXJzIGNvcnJlY3RseSB3aXRoIHRoZSBzdGFydC9zdG9wIHZtZXRob2RzLgoJICBNYXAgYWNxdWlyZSBhbmQgcmVsZWFzZSBkaXJlY3RseSB0byBRQlVGIGFuZCBEUUJVRi4gV2Ugc3RpbGwgZXhwb3NlIGFuIGV4cGxpY2l0CgkgIHFidWYgZm9yIHRoZSB2NGwyc2luayBmb3Igbm93LgoKMjAxMS0wNy0xNSAxMToxODowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogcmVtb3ZlIGV4cGVyaW1lbnRhbCBtYXJrZXJzCgoyMDExLTA3LTE0IDIwOjEwOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICBydHBwY21BcGF5L2RlcGF5OiBTdGF0aWMgY2xvY2sgcmF0ZXMgb24gc3RhdGljIHBheWxvYWRzLCBkeW5hbWljIG9uIGR5bmFtaWMKCSAgUGFydGlhbGx5IHJldmVydHMgMzk3ZGM2MGIKCjIwMTEtMDctMTQgMTY6MjE6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG1lcmdlIGNvZGUKCjIwMTEtMDctMTQgMTY6MTI6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMjogTW92ZSBvdXRwdXQgZGV0YWlscyB0byBkZXZpY2Ugb2JqZWN0CgkgIE1vdmUgdGhlIGRldGFpbHMgb2YgaG93IGEgYnVmZmVyIGlzIHJlbmRlcmVkIHRvIHRoZSBkZXZpY2Ugb2JqZWN0LgoKMjAxMS0wMy0wNCAxNTo0MToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEltcGxlbWVudCBnZXRjYXBzCgkgIENvbnZlcnQgcHJvZmlsZS1sZXZlbC1pZCBmcm9tIFJUUCBjYXBzIGludG8gdmlkZW8veC1oMjY0IHN0eWxlIGNhcHMgKHdpdGggcHJvZmlsZSBhbmQgbGV2ZWwpCgoyMDExLTA3LTEzIDE4OjMyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IG1vdmUgY2FwdHVyZSBjb2RlIHRvIGRldmljZSBvYmplY3QKCSAgTW92ZSB0aGUgZGV0YWlscyBvZiBob3cgdG8gY2FwdHVyZSB0byB0aGUgZGV2aWNlIG9iamVjdC4gUmVtb3ZlIHRoZQoJICB2NGwyc3JjX2NhbGxzLltjaF0gZmlsZXMgYmVjYXVzZSB0aGV5IGFyZSBlbXB0eSBub3cuCgkgIFByb3ZpZGUgdHdvIHNpbXBsZSBtZXRob2RzIHRvIGdldCBhbmQgcmV0dXJuIGEgYnVmZmVyIHRvIHRoZSBkZXZpY2UuCgkgIEFsc28gZG8gYSBzbG93IGNvcHkgd2hlbiB0aGUgYnVmZmVyIGlzIG5vdCBmcm9tIG91ciBwb29sLgoKMjAxMS0wNy0xMyAxNjo1ODowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMyAxNjo1NjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHN0b3Agc3RyZWFtaW5nIGluIFJFQURZIGFuZCBOVUxMCgoyMDExLTA3LTEzIDE2OjQwOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzdGFydCBzdHJlYW1pbmcgZm9yIHRoZSBvdXRwdXQgYXMgd2VsbAoKMjAxMS0wNy0xMyAxNjozMzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBMZXQgdGhlIGRldmljZSBvYmplY3QgbWFuYWdlIHRoZSBwb29sCgkgIFJlbmFtZSBzdGFydCBhbmQgc3RvcCBtZXRob2RzIHRvIG9wZW4gYW5kIGNsb3NlIGJlY2F1c2UgdGhhdCBpcyB3aGF0IHRoZXkgZG8uCgkgIEFmdGVyIHNldHRpbmcgdGhlIGZvcm1hdCBvbiB0aGUgZGV2aWNlIG9iamVjdCwgc2V0dXAgdGhlIGJ1ZmZlcnBvb2xzLiBNb3ZlIHRoaXMKCSAgY29kZSBmcm9tIHRoZSB2NGwyc3JjX2NhbGxzLmMgZmlsZSwgaXQgaXMgc2hhcmVkIGJldHdlZW4gc291cmNlIGFuZCBzaW5rLgoJICBNYWtlIG5ldyBkZXZpY2Ugc3RhcnQgYW5kIHN0b3AgbWV0aG9kIHRoYXQgbWVyZ2VzIHZhcmlvdXMgYml0cyBvZiBjb21tb24gY29kZQoJICBzcHJlYWQgb3ZlciBzZXZlcmFsIGZpbGVzLgoKMjAxMS0wNy0xMyAxMzo1MjozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBkb24ndCBzdG9yZSBzdHJpZGUgaW4gdGhlIHZpZGVvaW5mbwoJICBXZSB3YW50IHRvIGtlZXAgdGhlIGRlZmF1bHQgc3RyaWRlcyBpbiB0aGUgdmlkZW9pbmZvLiBLZWVwIHRoZSBzdHJpZGUgb2YgdGhlCgkgIHZpZGVvIGZyYW1lcyBzZXBhcmF0ZSBzbyB0aGF0IHdlIGNhbiB1c2UgYm90aCB0byBjb3B5IGEgdmlkZW8gZnJhbWUgYW5kIGRvCgkgIGNvcnJlY3Qgc3RyaWRlIGNvbnZlcnNpb24uCgoyMDExLTA3LTEzIDEzOjM4OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogVXNlIHZpZGVvIGZyYW1lIGNvcHkgZm9yIHJhdyB2aWRlbwoJICBVc2UgdGhlIHZpZGVvIGZyYW1lIGNvcHkgQVBJIGZvciByYXcgdmlkZW8gZnJhbWVzIHNvIHRoYXQgd2UgY29weSB3aXRoIHRoZSByaWdodAoJICBzdHJpZGVzLgoKMjAxMS0wNy0xMyAxMzozNzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGFkZCB2aWRlbyBtZXRhZGF0YSB0byByYXcgdmlkZW8gYnVmZmVycwoKMjAxMS0wNy0xMyAxMzoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc21hbGwgY2xlYW51cHMKCjIwMTEtMDctMTMgMTM6MDA6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogaW1wcm92ZSBjYXBzIHBhcnNpbmcKCSAgVXNlIEdzdFZpZGVvSW5mbyB0byBzdG9yZSB0aGUgcGFyc2VkIGNhcHMuCgkgIFJlbW92ZSBvdXRzaXplIGZyb20gdGhlIGNhcHMgcGFyc2luZyBjb2RlLCBpdCdzIHdyb25nIGJlY2F1c2UgaXQgZG9lcyBub3QgdXNlCgkgIHRoZSBzdHJpZGUgZ2l2ZW4gYnkgdGhlIGRyaXZlci4KCjIwMTEtMDctMTMgMTE6NDA6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVzZSBlcnJubwoKMjAxMS0wNy0xMyAxMTozNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaGFuZGxlIEVJTlZBTCB3aXRob3V0IHBvc3RpbmcgYSB3YXJuaW5nCgkgIEVJTlZBTCBtZWFucyB0aGF0IGEgY2FsbCBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBvbmx5IHdhbnQgdG8gcG9zdCBhIFdBUk5JTkcgd2hlbgoJICBzb21ldGhpbmcgaXMgcmVhbGx5IHdyb25nLgoKMjAxMS0wNy0xMyAxMToyOToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogb25seSBzZXQgZnJhbWVyYXRlIGZvciBjYXB0dXJlIGZvciBub3cKCjIwMTEtMDctMTMgMTE6MTk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IE1vdmUgY29uZmlndXJhdGlvbiBvZiBmcmFtZXJhdGUgdG8gX3NldF9mb3JtYXQKCSAgTW92ZSB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZnJhbWVyYXRlIHRvIHdoZXJlIHdlIHNldCB0aGUgb3RoZXIgZm9ybWF0CgkgIHBhcmFtZXRlcnMuCgkgIFJlbW92ZSBoYWNrIHRvIGNoZWNrIGlmIHRoZSBkZXZpY2UgaXMgYWN0aXZlLgoJICBTdG9yZSBzdHJlYW1wYXJtIGluIHRoZSBkZXZpY2UgaW5mby4KCSAgVXNlIHNvbWUgbWFjcm9zIHRvIGFjY2VzcyB0aGUgY3VycmVudCBkZXZpY2UgY29uZmlndXJhdGlvbi4KCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGZpZWxkcyBpbiBzcmMgYW5kIHNpbmsgYW5kIHVzZSB0aGUgZGV2aWNlIGNvbmZpZ3VyYXRpb24KCSAgaW5zdGVhZC4KCjIwMTEtMDctMTIgMTk6MTM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCByZXR1cm4gdmFsdWUuLi4KCjIwMTEtMDctMTIgMTk6MDM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogc2ltcGxpZnkgc2V0dGluZyB0aGUgY2FwdHVyZSBmb3JtYXQKCSAgUGFzcyB0aGUgY2FwcyB0byB0aGUgc2V0X2Zvcm1hdCBmdW5jdGlvbiBhbmQgbWFrZSBfc2V0X2Zvcm1hdCBwYXJzZSB0aGUgY2Fwcy4KCSAgQWxzbyBrZWVwIHRoZSBwYXJzZWQgdmFsdWVzIGluIHRoZSB2NGwyb2JqZWN0IHNvIHRoYXQgd2UgY2FuIHJlZmVyIHRvIHRoZW0gd2hlbgoJICB3ZSB3YW50LgoKMjAxMS0wNy0xMiAxODo0MTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSBtb3JlIHVudXNlZCBwYXJhbWV0ZXJzCgoyMDExLTA3LTEyIDE4OjI5OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGw6IGhhbmRsZSBvYmplY3Qgb3V0IG9mIHRoZSBub3JtYWwgZmxvdwoKMjAxMS0wNy0xMiAxODoxMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IExldCB0aGUgYnVmZmVycG9vbCBvd24gdGhlIFY0bDJPYmplY3QKCSAgS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgZm9ybWF0IGFuZCBzZXR0aW5nIGluIHRoZQoJICB2NGwyb2JqZWN0LgoJICBQYXNzIHRoZSB2NGwyb2JqZWN0IHRvIHRoZSBidWZmZXJwb29sIGNvbnN0cnVjdG9yIHNvIHRoYXQgdGhlIGJ1ZmZlcnBvb2wgY2FuCgkgIGtub3cgZXZlcnl0aGluZyBhYm91dCB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgc2V0dGluZ3MuIFRoaXMgYWxzbyBhbGxvd3MgdXMKCSAgdG8gcmVtb3ZlIHNvbWUgYXdrd2FyZCBjb2RlLgoKMjAxMS0wNy0xMiAxNzowNjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsOiByZW1vdmUgY2FwcyBhcmd1bWVudCwgaXQncyBub3QgbmVlZGVkCgkgIFJlbW92ZSB0aGUgY2FwcyBwYXJhbWV0ZXIsIHdlIGRvbid0IG5lZWQgaXQgYW55bW9yZSBiZWNhdXNlIHdlIGRvbid0IHNldAoJICBjYXBzIG9uIGJ1ZmZlcnMgYW55bW9yZS4KCjIwMTEtMDctMTIgMTY6NDY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGw6IHBhc3MgdGhlIGJ5dGVzcGVybGluZSBhcm91bmQKCSAgV2hlbiBzZXR0aW5nIGEgZm9ybWF0LCByZXR1cm4gdGhlIGJ5dGVzcGVybGluZSB0byB0aGUgY2FsbGVyIHNvIHRoYXQgaXQgY2FuIGJlCgkgIHVzZWQgdG8gYWxsb2NhdGUgYnVmZmVycy4KCjIwMTEtMDctMTIgMTY6NDM6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBwb29sOiBtYWtlIGJ1ZmZlciB3cml0YWJsZQoJICBXZSBuZWVkIHdyaXRhYmxlIGJ1ZmZlcnMgd2hlbiB3ZSBuZWVkIHRvIGRvIGEgc2xvdyBtZW1jcHkuCgoyMDExLTA3LTEyIDE1OjA0OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNlZWtpbmcgcmVncmVzc2lvbgoJICAuLi4gaW50cm9kdWNlZCB3aGVuIHNodWZmbGluZyBhcm91bmQgY29kZSBmb3IgdGhlIGFzeW5jIGltcGxlbWVudGF0aW9uCgkgIGJ5IHNldHRpbmcgc3RhdGUgb2Ygc291cmNlIChhbmQgdWRwIHNvdXJjZXMpIGluIF9wbGF5IGJlZm9yZSBkb3duc3RyZWFtCgkgIGZsdXNoaW5nIGlzIHVuZG9uZS4KCjIwMTEtMDctMTEgMTU6MjM6NDEgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IGZpeCBidWZmZXIgZHVyYXRpb24gb24gYmxvY2tzLXBlci1mcmFtZSBjaGFuZ2UKCSAgVGhlIGdzdF9iYXNlX3BhcnNlX3NldF9mcmFtZV9yYXRlIGNhbGwgd2FzIHByZWRpY2F0ZWQgb24gYSBjaGFuZ2UgdG8KCSAgc2FtcGxlIHJhdGUsIGR1cmF0aW9uIG9yIHByb2ZpbGUuIEhvd2V2ZXIsIHRoZSBibG9jayBjb3VudCBwZXIgZnJhbWUgY2FuCgkgIGFsc28gY2hhbmdlIGJldHdlZW4gcGFja2V0cywgd2hpY2ggd291bGQgcmVzdWx0IGluIGluY29ycmVjdCBidWZmZXIKCSAgZHVyYXRpb25zLgoKMjAxMS0wNy0xMSAxMzo1MTo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBoYW5kbGUgcG9vbHMKCSAgQ3JlYXRlIGEgbmV3IHBvb2wgaW4gc2V0Y2FwcyBhbmQgc3RvcC9kZXN0cm95IHRoZSBvbGQgb25lLgoJICBSZW1vdmUgYnVmZmVyX2FsbG9jIGZ1bmN0aW9ucy4KCSAgQ2hlY2sgdGhhdCB3ZSBoYXZlIHY0bDIgbWV0YWRhdGEgaW4gc2hvd19mcmFtZSBhbmQgZmFsbCBiYWNrIHRvIG1lbWNweSBpbnRvIGEKCSAgYnVmZmVyIGZyb20gb3VyIHBvb2wgaWYgd2UgZG9uJ3QgcmVjZWl2ZSBvbmUgb2Ygb3VyIG93biBidWZmZXJzLgoKMjAxMS0wNy0xMSAxMjowNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiB2YXJpb3VzIGNsZWFudXBzCgkgIFZhcmlvdXMgY2xlYW51cHMsIGF2b2lkcyB1c2VsZXNzIGNhc3RzLCBtb3ZlIGVycm9yIGhhbmRsaW5nIG91dHNpZGUgb2YgdGhlIG1haW4KCSAgY29kZSBmbG93LgoJICBOZWdvdGlhdGUgdG8gYSByZXNvbmFibGUgcmVzb2x1dGlvbiBpbnN0ZWFkIG9mIHRoZSBtYXggcmVzb2x1dGlvbi4KCjIwMTEtMDctMTAgMjE6NTA6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHA6IHBvcnQgcmVtYWluaW5nIHRvIDAuMTEKCjIwMTEtMDctMTAgMTQ6NTY6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTM6NDQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG06IHBvcnQgc29tZSBtb3JlCgkgIFVzZSB2aWRlbyBoZWxwZXJzLgoKMjAxMS0wNy0xMCAxMzoyODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDEyOjQ2OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMTo0MjozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMTAgMTE6NDA6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1ZzogcG9ydCB0byAwLjExLCBkaXNhYmxlIG90aGVycwoJICBEaWFzYWJsZSB0aGUgZWZlbmNlIGFuZCBjYXBzZGVidWcgZWxlbWVudHMsIHBvcnQgdGhlbSBsYXRlci4KCjIwMTEtMDctMDkgMTk6MjM6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlc3JjOiBJbXByb3ZlIGxvb3BpbmcKCSAgQWRkIHN0YXJ0LWluZGV4IGFuZCBzdG9wLWluZGV4IHByb3BlcnRpZXMuCgoyMDExLTA2LTE2IDEzOjU3OjAzICswMTAwICBKb25ueSBMYW1iIDxqb25ueWxhbWJAam9ubnlsYW1iLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZTogYWRkIGxvb3AgcHJvcGVydHkgdG8gbXVsdGlmaWxlc3JjCgkgIEZpeGVzOiAjNjUyNzI3CgkgIFNpZ25lZC1vZmYtYnk6IEpvbm55IExhbWIgPGpvbm55bGFtYkBqb25ueWxhbWIuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMTEtMjAgMTA6MDc6NDMgKzAxMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogMTYtYml0IGF1ZGlvIGlzIHNpZ25lZCwgOC1iaXQgaXMgdW5zaWduZWQuCgkgIFByZXRlbmRpbmcgdG8gaGFuZGxlIDgtYml0IHNpZ25lZCBjYXVzZXMgZGlzdG9ydGVkIGF1ZGlvIHdoZW4KCSAgYWN0dWFsbHkgZ2l2ZW4gc3VjaCBhdWRpbywgd2hpY2ggeW91IHdpbGwgZ2V0IGlmIHBhc3NpbmcgOC1iaXQKCSAgdW5zaWduZWQgdGhyb3VnaCBhdWRpb2NvbnZlcnQgISBhdWRpb3Jlc2FtcGxlLCBhcyBhdWRpb3Jlc2FtcGxlCgkgIG9ubHkgaGFuZGxlcyA4LWJpdCBzaWduZWQuICBGaXhlcyAjNjA1ODM0LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDggMTY6Mzc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGZpeCBncmF5IGZvcm1hdCwgdXNlIGZpbHRlciBpbiBnZXRjYXBzCgoyMDExLTA3LTA4IDE2OjEwOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogcG9ydCBhbmQgZW5hYmxlIHY0bDJzaW5rCgoyMDExLTA3LTA4IDE0OjM0OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IHBvcnQgdG8gbmV3IHZpZGVvIGZvcm1hdHMKCjIwMTEtMDctMDggMTI6NTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTA4IDEyOjQ5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxODoyNzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBibG9ja3Mgd2l0aCBkdXJhdGlvbj0wCgkgIFNvbWUgdmlkZW8gZnJhbWVzLCBmb3IgZXhhbXBsZSBhbHQtcmVmIGZyYW1lIGluIFZQOCwgd2lsbCBiZQoJICBuZXZlciBkaXNwbGF5ZWQuIFRoaXMgaXMgd2h5IGl0IGhhcyBkdXJhdGlvbj0wLgoJICBUaGlzIHBhdGNoIGFsbG93IHRvIHVzZSB0aGlzIGR1cmF0aW9uLgoJICBCdWc6IDY1NDE3NQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA3LTA2IDE3OjE4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIGRpcmVjdCBkaXJhYyBtYXBwaW5nCgoyMDExLTA3LTA3IDE3OjU5OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJICBlZmZlY3R2OiBwb3J0IGxhc3QgZWZmZWN0diBlbGVtZW50IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6NDk6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSAgZWZmZWN0djogcG9ydCBzdHJlYWt0diB0byAwLjExCgoyMDExLTA3LTA3IDE3OjQwOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IHBvcnQgcmFkaW9hY3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6Mjk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBmaXggZG9jcwoKMjAxMS0wNy0wNyAxNzoyOTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdHY6IHBvcnQgb3AgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzoxODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICBlZmZlY3R2OiBwb3J0IHF1YXJrIHR2CgoyMDExLTA3LTA3IDE2OjU3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJICBlZmZlY3R2OiBwb3J0IHJldnR2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTY6NDY6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSAgZWZmZWN0djogcG9ydCB2ZXJ0aWdvdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNjozODoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJICBlZmZlY3R2OiBwb3J0IHNoYWdhZGVsaWN0diB0byAwLjExCgoyMDExLTA3LTA3IDExOjIyOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogdXNlIEFMV0FZUyBzcmMgcGFkIHJhdGhlciB0aGFuIFNPTUVUSU1FUwoKMjAxMS0wNy0wNyAxMToxNDoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxOTowMzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogYmVnaW5uaW5ncyBvZiBwb3J0aW5nCgoyMDExLTA3LTA2IDE4OjUwOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIHdhcnB0djogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE4OjUwOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICBkaWNlOiBrZWVwIHRyYWNrIG9mIGluZm8KCjIwMTEtMDctMDYgMTg6MzI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSAgZWZmZWN0djogcG9ydCBkaWNlCgoyMDExLTA3LTA2IDE4OjA5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSAgZWZmZWN0djogcG9ydCBhZ2luZ3R2CgoyMDExLTA3LTA2IDE3OjUwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgYWFzaW5rOiBwb3J0IHRvIG5ldyB2aWRlbyBBUEkKCjIwMTEtMDctMDYgMTc6NDA6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgY2FjYXNpbms6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjo1MDozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZzogYmVnaW5uaW5ncyBvZiBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6MzE6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1c2UgQUxXQVlTIHNvdXJjZSBwYWQgcmF0aGVyIHRoYW4gU09NRVRJTUVTCgoyMDExLTA3LTA2IDE2OjEwOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjoxMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxMjoyMjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRqdXN0IHRvIHVuc2lnbmVkIHNlZ21lbnQgZmllbGRzCgoyMDExLTA3LTA2IDE1OjU3OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogcG9ydCBzcGVleCBlbGVtZW50cwoKMjAxMS0wNy0wNiAxMjowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMDYgMTA6MTE6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlciBhbmQgY29ycmVzcG9uZGluZyBydHAgYW5kIHJ0Y3AgYnVmZmVyIGludGVyZmFjZXMKCSAgKiBtaXNjIGNhcHMgYW5kIHNlZ21lbnQgaGFuZGxpbmcgY2hhbmdlcwoJICBGSVhNRTogYWxzbyByZWxpZXMgb24gYmVpbmcgYWJsZSB0byBwYXNzIGNhcHMgYWxvbmcgd2l0aCBhIGJ1ZmZlciwKCSAgd2hpY2ggaGFzIG5vIGV2aWRlbnQgZXF1aXZhbGVudCB5ZXQsIHNvIHRoYXQgZWl0aGVyIG5lZWRzIG9uZSwKCSAgb3Igc3RpbGwgbmVlZHMgcXVpdGUgc29tZSBjb2RlIHBhdGggbW9kaWZpY2F0aW9uIHRvIGRyYWcgYWxvbmcgY2Fwcy4KCjIwMTEtMDYtMjkgMjA6NTk6MjYgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBwcmV2ZW50IHJhY2UgY29uZGl0aW9uIGNhdXNpbmcgcmVmIGxlYWsKCSAgU2luY2UgY29tbWl0IDhiZmQ4MCwgZ3N0X3B1bHNlcmluZ2J1ZmZlcl9zdG9wIGRvZXNuJ3Qgd2FpdCBmb3IgdGhlCgkgIGRlZmVycmVkIGNhbGwgdG8gYmUgcnVuIGJlZm9yZSByZXR1cm5pbmcuIFRoaXMgY2F1c2VzIGEgcmFjZSB3aGVuCgkgIFJFQURZLT5OVUxMIGlzIGV4ZWN1dGVkIHNob3J0bHkgYWZ0ZXIsIHdoaWNoIHN0b3BzIHRoZSBtYWlubG9vcC4gVGhpcwoJICBsZWFrcyB0aGUgZWxlbWVudCByZWZlcmVuY2Ugd2hpY2ggaXMgcGFzc2VkIGFzIHVzZXJkYXRhIGZvciB0aGUgY2FsbGJhY2sKCSAgKGludHJvZHVjZWQgaW4gY29tbWl0IDdjZjk5NiwgYnVnICM2MTQ3NjUpLgoJICBUaGUgY29ycmVjdCBmaXggaXMgdG8gd2FpdCBpbiBSRUFEWS0+TlVMTCBmb3IgYWxsIG91dHN0YW5kaW5nIGNhbGxzIHRvCgkgIGJlIGZpcmVkIChzaW5jZSBsaWJwdWxzZSBkb2Vzbid0IHByb3ZpZGUgYSBEZXN0cm95Tm90aWZ5IGZvciB0aGUKCSAgdXNlcmRhdGEpLiBXZSBnZXQgcmlkIG9mIHRoZSByZWZlcmVuY2UgcGFzc2luZyBmcm9tIDdjZjk5NiBhbHRvZ2V0aGVyLAoJICBzaW5jZSBmaW5hbGl6YXRpb24gZnJvbSB0aGUgY2FsbGJhY2sgd291bGQgYW55d2F5cyBsZWFkIHRvIGEgZGVhZGxvY2suCgkgIFJlLWZpeGVzIGJ1ZyAjNjE0NzY1LgoKMjAxMS0wNy0wNCAwODo1ODoxNCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzbWFsbCBjbGVhbnVwIG9mIGNvcHktcGFzdGUgY29kZQoKMjAxMS0wNi0yOSAxOTo1MDo0MiArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJlbW92ZSB1bnVzZWQgbWVtYmVyIHZhcmlhYmxlIGFuZCBtaXNsZWFkaW5nIGxvZyBtZXNzYWdlCgkgIFdpbSBjaGFuZ2VkIGl0IGluIGNvbW1pdCA4YmZkODAgc28gdGhhdCBwYV9kZWZlcl9yYW4gaXMgbm90IHJlYWQKCSAgYW55d2hlcmUuCgkgIFRoZSBsb2cgbWVzc2FnZSB1c2VkIHRvIGFubm90YXRlIGEgbWFpbmxvb3Bfd2FpdCBjYWxsIHdoaWNoIGlzIGdvbmUuCgoyMDExLTA3LTA1IDE1OjM3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGZpeCBjYXBzCgoyMDExLTA3LTA1IDExOjQwOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkgIGVmZmVjdHY6IHBvcnQgZWRnZXR2CgoyMDExLTA3LTA1IDEwOjEyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgdG8gdGhlIGNvbXBpbGVyIGZsYWdzIHRvIGF2b2lkIHdhcm5pbmdzCgoyMDExLTA3LTA0IDEyOjU4OjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRG9uJ3QgYW5zd2VyIGxhbnRlbmN5IHF1ZXJpZXMgYmVmb3JlIG5lZ290aWF0aW9uCgoyMDExLTA3LTA0IDE4OjE1OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogcG9ydCB0byBuZXcgQVBJCgoyMDExLTA3LTA0IDE4OjEyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbW92ZSBpbXBsZW1lbnRzaW50ZXJmYWNlCgoyMDExLTA3LTA0IDE4OjEwOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBmaXggY2FwcwoKMjAxMS0wNy0wNCAxODowNjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYTogcG9ydCB0byBuZXcgdmlkZW8gQVBJCgoyMDExLTA3LTA0IDE3OjAwOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBtb3JlIHBvcnRpbmcKCjIwMTEtMDctMDQgMTY6MDk6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIHBvcnQgdG8gbmV3IHZpZGVvIGFwaQoKMjAxMS0wNi0yOCAxNDowMzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlbzogcG9ydCB0byBuZXcgdmlkZW8gYXBpcwoKMjAxMS0wNy0wNCAxNDozMDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGNyYXNoaW5nIG9uIGludmFsaWQgaW5wdXQgd2l0aG91dCBjb21wb25lbnRzCgoyMDExLTA3LTA0IDExOjA5OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaXNjIHNlZ21lbnQgYW5kIGNhcHMgY2hhbmdlcwoKMjAxMS0wNy0wNCAxMTo0ODoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgoyMDExLTA3LTA0IDExOjI1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcGFzcyBhbG9uZyBzZWdtZW50IGluZm8gdG8gY29sbGVjdHBhZHMKCSAgLi4uIHNvIGl0IGNhbiB0cmFjayB0aGlzIGFuZCBiZSBzdWJzZXF1ZW50bHkgdXNlZCB0byBkZXRlcm1pbmUgcnVubmluZyB0aW1lIGV0Yy4KCjIwMTEtMDctMDQgMTE6MjQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogaW5kaWNhdGUgcmF3IGZvcm1hdCBpbiBhYWMgY2FwcwoKMjAxMS0wNy0wNCAxMTowNzoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtaW5kIHJlcXVlc3RlZCBuYW1lIGZvciByZXF1ZXN0IHBhZAoKMjAxMS0wNy0wNCAxMTowNjo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmcmVlIHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMDctMDMgMTk6NTE6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICBwdWxzZTogSW5jcmVhc2UgcmFua3MgdG8gUFJJTUFSWSArIDEwCgkgIFNvIHRoYXQgcHVsc2VzcmMvcHVsc2VzaW5rIGdldCBjaG9zZW4gb3ZlciBvdGhlciBwb3NzaWJsZSBQUklNQVJZCgkgIHNyYy9zaW5rcyBieSBhdXRvYXVkaW9zaW5rLiAgUHJlc3VtYWJseSwgaWYgcHVsc2UgaXMgYXZhaWxhYmxlLCBpdAoJICBpcyBhbHdheXMgcHJlZmVycmVkIG92ZXIgYW5vdGhlciBzcmMvc2luay4KCSAgRml4ZXM6ICM2NDc1NDAuCgoyMDExLTA2LTMwIDE4OjQ3OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogQWRkIFxyXG4gdG8gdGFpbCBvZiBwdXNoZWQgYnVmZmVycwoJICBDbGllbnRzIHN1Y2ggYXMgRmlyZWZveCByZXF1aXJlIHRoZSBcclxuIGFmdGVyIHRoZSBwYXlsb2FkLgoKMjAxMS0wNi0xNiAxNDo1Mjo1MSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIGxvb3Bpbmcgd2hlbiBzZWFyY2hpbmcgZm9yIGNsdXN0ZXJzCgkgIEZpeGVzIHNvbWUgYnVncyB0aGF0IHJlc3VsdHMgaW4gdGhlIGRlbXV4ZXIgbG9vcGluZyB3aGVuIHNlYWNoaW5nCgkgIGZvciBjbHVzdGVycyBpbiBub24tZmluYWxpemVkIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMTk1CgoyMDExLTA2LTMwIDEyOjMwOjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGU6IHBvcnQgdG8gMC4xMAoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaXNjIGNhcHMgaGFuZGxpbmcKCjIwMTEtMDYtMzAgMTE6MzU6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlub3IgbWlzYwoKMjAxMS0wNi0zMCAxMToxNzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZXBsYXlnYWluOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjUzOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTEtMDYtMzAgMTA6NTE6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjM4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDozMDoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMTAgMTg6NTQ6NDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBmaXggcmVmZXJlbmNlIGNvdW50aW5nIG9mIHBhcnNlLT5zdHJlYW1oZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjI4NgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMjkgMTQ6Mzk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBEb24ndCByb3VuZCB1cCBzaXplIG9mIGVuY29kZWQgYnVmZmVycwoJICBGb3Igc29tZSByZWFzb24sIGluIGNvZGUgZGF0aW5nIHRvIDIwMDEsIGVuY29kZWQganBlZyBidWZmZXJzIHdlcmUKCSAgcm91bmRlZCB1cCB0byBtdWx0aXBsZXMgb2YgNCBieXRlcy4gIFdpdGggdGhlIGFkZGVkIGJvbnVzIHRoYXQgdGhlCgkgIGV4dHJhIGJ5dGVzIGFyZSB1bndyaXR0ZW4sIGNhdXNpbmcgdmFsZ3JpbmQgaXNzdWVzLiAgT29wcy4gIEkgY2FuJ3QKCSAgdGhpbmsgb2YgYW55IHJlYXNvbiB3aHkgSlBFRyBidWZmZXJzIG5lZWQgdG8gYmUgbXVsdGlwbGVzIG9mIDQgYnl0ZXMsCgkgIHNvIEkgcmVtb3ZlZCB0aGUgcGFkZGluZy4gIFRoZXJlIG1pZ2h0IGJlIHNvbWUgY29kZSBzb21ld2hlcmUgdGhhdAoJICBkZXBlbmRzIG9uIHRoaXMgYmVoYXZpb3IsIHNvIGlmIHRoaXMgbmVlZHMgdG8gYmUgcmV2ZXJ0ZWQsIHBsZWFzZSBmaXgKCSAgdGhlIHZhbGdyaW5kIGlzc3Vlcy4KCjIwMTEtMDYtMjkgMTI6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBpc29tcDQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0yOCAxMjo1NTo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0d2VhayBzb21lIHBvcnRlZCBzZWdtZW50IGhhbmRsaW5nCgkgIC4uLiB0byBhdm9pZCBsb3NpbmcgZHVyYXRpb24gZHVyaW5nIHB1c2ggbW9kZSBzZWVraW5nLCBhbmQgdG8gcHJvcGVybHkKCSAgYWNjdW11bGF0ZSBydW5uaW5nIHRpbWUgd2hlbiBzZWdtZW50IHNlZWtpbmcuCgoyMDExLTA2LTI5IDEyOjA1OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZyZWUgZGF0ZSB0YWcKCjIwMTEtMDYtMjggMTI6MjY6MzcgKzAyMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzLmxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbm90IHNvIGdyZWVkeSBtaW5pbXVtIGZyYW1lIHNpemUKCSAgRml4ZXMgIzY1MzU1OS4KCjIwMTEtMDYtMjUgMTE6Mzk6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBub24tcGtnLWNvbmZpZyBjaGVjayBmb3Igc2hvdXQKCSAgRml4ZXM6IDY1MzMyNwoKMjAxMS0wNi0yMCAxODo0OTo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIGR2MTM5NHNyYzogbWFrZSB0aGUgaW50ZXJuYWwgY2xvY2sgdGhyZWFkIHNhZmUKCSAgRml4ZXM6ICM2NTMwOTEuCgoyMDExLTA2LTI0IDExOjU0OjI5ICswMjAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJldHVybiBjb3JyZWN0IHR5cGUgd2hlbiBhc3NlcnRpb24gZmFpbHMKCjIwMTEtMDYtMjMgMTE6Mjg6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2OWI5ODFmIHRvIDYwNWNkOWEKCjIwMTEtMDYtMjIgMTY6NDE6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGZpeCBmb3IgdXJpIGNoYW5nZXMKCjIwMTEtMDItMDIgMTY6MTg6NTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IERyb3Agc3VwcG9ydCBmb3IgUEEgdmVyc2lvbnMgYmVmb3JlIDAuOS4xNgoJICBUaGlzIGRyb3BzIHN1cHBvcnQgZm9mIFB1bHNlQXVkaW8gdmVyc2lvbnMgcHJpb3IgdG8gMC45LjE2LCB3aGljaCB3YXMKCSAgcmVsZWFzZWQgYWJvdXQgMS41IHllYXJzIGFnby4gVGVzdGluZyB3aXRoIHZlcnkgb2xkIHZlcnNpb25zIGlzIG5vdAoJICBmZWFzaWJsZSBhbmQgd2UgZG9uJ3Qgd2FudCB0byBtYWludGFpbiAyIGluZGVwZW5kZW50IGNvZGUtcGF0aHMuCgoyMDExLTA2LTIxIDE4OjI0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgoyMDExLTA2LTIxIDE4OjE5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBmb3IgaGVhZGVyIGNsZWFudXBzCgoyMDExLTA2LTIxIDE1OjE1OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZml4IG91dHB1dCBidWZmZXIgdGltZXN0YW1wcyBpbiBjYXNlIG9mIG11bHRpcGxlIGZyYW1lcwoKMjAxMS0wNi0yMCAxNjo0NzozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGhlIHNpZ25hbCBoYXMgNSBhcmd1bWVudHMsIG5vdCA0CgoyMDExLTA2LTIwIDEyOjEzOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2Ugc3RyaW5nIGZvciB2aWRlbyBmb3JtYXQgbm93CgoyMDExLTA2LTIwIDEyOjA0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgYXZpOiBsaW5rIGFnYWluc3QgZ3N0dmlkZW8gbm93CgoyMDExLTA2LTIwIDEyOjAzOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBwb3J0IHRvIG5ldyBjYXBzCgoyMDExLTA2LTE4IDEzOjQzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIEJ1bXAgZ2l0IHZlcnNpb24gYWZ0ZXIgdW5wbGFubmVkIDAuMTAuMzAgcmVsZWFzZQoJICBNZXJnZSBicmFuY2ggJzAuMTAuMzAnCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbAoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDYtMTcgMTA6Mzc6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIHN1bmF1ZGlvOiBmaXggdHlwbyBpbiBjb21tZW50CgoyMDExLTA2LTE3IDE4OjEyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0xNyAxODoxMTozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IGZpeCBjYXBzCgoyMDExLTA2LTE2IDE1OjM4OjEwICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmRlYmV0aGVuY291cnRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IHVudXNlZC1idXQtc2V0LWNvbXBpbGVyIHdhcm5pbmdzCgkgIFJlbW92ZSB1bm5lY2Vzc2FyeSByZXMgdmFyaWFibGVzLCBjb3JlIGNoZWNrcyBleGlzdGFuY2UKCSAgYW5kIHR5cGUgb2YgdGhlc2UgZmllbGRzIGZvciB1cyBhbHJlYWR5IHZpYSB0aGUgdGVtcGxhdGUKCSAgY2FwcywgYW5kIHdlIGtub3cgdGhhdCB0aGVzZSBmaWVsZHMgZXhpc3QgYmVjYXVzZSB3ZSd2ZQoJICBmaXhhdGVkIHRoZW0gYmVmb3JlIGluIF9uZWdvdGlhdGUoKS4KCjIwMTEtMDYtMTcgMDM6MDc6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBwYXJhbSBmbGFncwoJICBJZiB0aGUgcGFyYW1ldGVyIGNhbm5vdCBiZSBjaGFuZ2VkIGluIHBhdXNlZCZwbGF5aW5nLCBpdCBpcyBub3QgY29udHJvbGFibGUuIFNldAoJICB0aGUgYXBwcm9wcmlhdGUgbXV0YWJpbGl0eSBmbGFnIGluc3RlYWQuCgo9PT0gcmVsZWFzZSAwLjEwLjMwID09PQoKMjAxMS0wNi0xNSAyMzo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMzAKCSAgVGhpcyBpcyBhbiBhZC1ob2MgcmVsZWFzZSB0aGF0IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gMC4xMC4yOToKCSAgKiB3b3JrIGFyb3VuZCBHTGliIGF0b21pYyBvcHMgQVBJIGNoYW5nZQoJICAqIGJldHRlciBoYW5kbGluZyBvZiBtYWxmb3JtZWQgYnVmZmVycyBpbiBSVFAgZGVwYXlsb2RlcnMKCSAgKiBzb21lIG1pbm9yIGNvbXBpbGF0aW9uIGZpeGVzCgoyMDExLTA2LTA4IDE4OjMzOjEwICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBtaW5ndy13NjQKCSAgRml4ZXM6ICM2NTIxNDQuCgkgIGdzdHVkcG5ldHV0aWxzLmg6MzI6MDogZXJyb3I6ICJXSU5WRVIiIHJlZGVmaW5lZAoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUKCSAgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCjIwMTEtMDYtMDQgMTM6NDk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDUtMTggMTI6MzY6NDAgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogRml4IHNlZ21lbnRhdGlvbiBmYXVsdCBwcm9jZXNzaW5nIHBheWxvYWQgYnVmZmVycwoJICBUaGlzIGNvbW1pdCBjaGVja3MgaWYgdGhlIHZhbHVlIHJldHVybmVkIGJ5CgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX2J1ZmZlciBhbmQKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfc3ViYnVmZmVyIGlzIE5VTEwgYmVmb3JlIHVzaW5nIGl0LgoKMjAxMS0wNS0xNiAwOTowNDozMSArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERlZmluZSBQQVRIX01BWCBpZiBpdCBpc24ndCBkZWZpbmVkCgkgIEdOVSBIdXJkIGZvciBleGFtcGxlIGRvZXNuJ3QgZGVmaW5lIGl0LgoKMjAxMS0wNC0yOSAwODo1NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEFsbG93IHNldGNhcHMgdG8gYmUgY2FsbGVkIGFmdGVyIGEgZm9ybWF0IHdhcyBuZWdvdGlhdGVkIGlmIGl0J3MgY29tcGF0aWJsZQoJICBPdGhlcndpc2Ugd2F2ZW5jIHdpbGwgZmFpbCBpZiB1cHN0cmVhbSBkZWNpZGVzIHRvIHNldCBlcXVpdmFsZW50IGNhcHMgb3IgY2FwcwoJICB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbGF0ZXIuCgkgIFRoYW5rcyB0byBBbGV4YW5kZXIgU2NocmVtbWVyIGZvciBmaW5kaW5nIHRoaXMgYnVnLgoKMjAxMS0wNi0xNSAxNTowNjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZG1vbi5oOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2VzZC9lc2RzaW5rLmg6CgkqIGV4dC9lc2QvZ3N0ZXNkLmM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2FzLWFydHMubTQ6CgkqIG00L2VzZC5tNDoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFJlbW92ZSBlc291bmQvZXNkc2luayBwbHVnaW4KCjIwMTEtMDYtMTUgMTQ6Mzc6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdGdjb25mLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkqIGdjb25mLy5naXRpZ25vcmU6CgkqIGdjb25mL01ha2VmaWxlLmFtOgoJKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ2NvbmYtMi5tNDoKCSogcG8vUE9URklMRVMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZ2NvbmYgZWxlbWVudHMgYW5kIHBsdWdpbgoJICBHQ29uZiB3YXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgR1NldHRpbmdzIGV0Yy4KCjIwMTEtMDYtMTUgMTU6MTc6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCB1bml0aWFsaXplZCBhY2Nlc3MKCjIwMTEtMDYtMDkgMjE6MDY6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogYWRkIG1pc3Npbmcgc3RkaW8gaW5jbHVkZSBmb3Igc3NjYW5mCgoyMDExLTA2LTEzIDE5OjA4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0xMyAxNzo1MTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAtZ29vZDogcG9ydCBzb21lIG1vcmUgcGx1Z2lucwoKMjAxMS0wNi0xMyAxNzoxNDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZml4IGZvciBmbHVzaF9zdG9wIEFQSSBjaGFuZ2UKCjIwMTEtMDYtMTMgMTc6MTQ6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIChkZSlwYXlsb2FkZXIKCjIwMTEtMDYtMTMgMTc6MDU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2Vyczogbm90IHNvIGdyZWVkeSBtaW5pbXVtIGZyYW1lIHNpemUKCSAgLi4uIHdoaWNoIHdpbGwgYmUgZGV0ZXJtaW5lZCBieSBwYXJzaW5nIGFueXdheSwgYW5kIGF2b2lkcyBpbnRyb2R1Y2luZwoJICByZWR1bmRhbnQgYWRkaXRpb25hbCBsYXRlbmN5LgoKMjAxMS0wNi0xMyAxNjozMzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAtZ29vZDogdXBkYXRlIGZvciBidWZmZXIgQVBJIGNoYW5nZQoKMjAxMS0wNi0xMyAxNjozMzo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMTMgMTM6MjU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwOiBmaXggZm9yIEFQSSBjaGFuZ2VzIGluIHRoZSBiYXNlIGNsYXNzZXMKCjIwMTEtMDYtMTMgMTM6MDc6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBjYXBzIGV2ZW50IGZvciBuZWdvdGlhdGlvbgoKMjAxMS0wNi0xMyAxMzowNzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBmb3IgZmx1c2ggc3RvcCBldmVudCBjaGFuZ2VzCgoyMDExLTA2LTA4IDE4OjMzOjEwICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBtaW5ndy13NjQKCSAgRml4ZXM6ICM2NTIxNDQuCgkgIGdzdHVkcG5ldHV0aWxzLmg6MzI6MDogZXJyb3I6ICJXSU5WRVIiIHJlZGVmaW5lZAoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUKCSAgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCjIwMTEtMDYtMTEgMTg6NTg6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBmb3IgYnVmZmVycG9vbCB1cGRhdGUKCjIwMTEtMDYtMTAgMTg6MDU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHVwZGF0ZSBmb3IgYWxpZ25tZW50IGNoYW5nZQoKMjAxMS0wNi0wOSAxNzo1NjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHBvcnQgc29tZSBtb3JlCgoyMDExLTA2LTA5IDE3OjUyOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMDkgMTc6NTA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0wOSAxMTozNzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiByZWdpc3RlciB0ZW1wbGF0ZSBhbmQga2xhc3MgY29ycmVjdGx5CgoyMDExLTA2LTA5IDEwOjUwOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHBvcnQgZ29vbQoKMjAxMS0wNi0wOCAxODowNjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMDggMTg6MDU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFzc2luazogcG9ydCBhYXNpbmsgdG8gMC4xMQoKMjAxMS0wNi0wNyAxMjowNjowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkgIGRlYnVndXRpbHM6IFN3aXRjaCBmcm9tIEdTVF9CT0lMRVJQTEFURSB0byBHX0RFRklORV9UWVBFCgoyMDExLTA2LTA3IDExOjI1OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9maWx0ZXI6IFVzZSBuZXcgR3N0QmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtX2NhcHMgQVBJCgoyMDExLTA2LTA3IDExOjIzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURQoKMjAxMS0wNi0wNyAxMToyMjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQnVmZmVycyBubyBsb25nZXIgaGF2ZSBjYXBzCgoyMDExLTA2LTA3IDExOjIwOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYTogVXNlIG5ldyB0cmFuc2Zvcm1fY2FwcyB2bWV0aG9kICh3aXRoIGZpbHRlcikKCjIwMTEtMDYtMDYgMjA6NDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGZpeCBzb21lIG1vcmUgcGFyc2VycwoKMjAxMS0wNi0wNiAxODoyMTowNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9jaGFwdGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDE0OjQ3OjI3ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfYXR0YWNobWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxMjo0MzoxNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9hdHRhY2hlZF9maWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMjI6NDU6NTUgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMTA6MTU6MjMgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDA5OjU0OjQyICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhX2lkX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDAyOjI0OjQxICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxMjo0Mjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IHN0YXRlIHRyYWNraW5nIHZhcmlhYmxlIHdoZW4gYXBwcm9wcmlhdGUKCSAgLi4uIHNvIHdlIGRvbid0IGVuZCB1cCBpbnRlcnJ1cHRpbmcgYW4gb3BlcmF0aW9uIHRoYXQgc2hvdWxkIG5vdCBiZSBpbnRlcnJ1cHRlZAoJICBiYXNlZCBvbiB0aGUgaW5kaWNhdGlvbiBvZiBhIHByZXZpb3VzIGludGVycnVwdGFibGUgb3BlcmF0aW9uLgoKMjAxMS0wNi0wNCAxMzo0OTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNi0wNCAxMzo0MzowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXBodHRwc2luazogY29kZSBjbGVhbnVwCgoyMDExLTA2LTA1IDAyOjAwOjA4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogVXNlIEFSVElTVCB0YWcgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgkgIEFVVEhPUiBvbmx5IGV4aXN0ZWQgaW4gYW4gb2xkIHZlcnNpb24gb2YgdGhlIHNwZWMgYW5kIEFSVElTVCBpcwoJICB0aGUgbmV3IHJlcGxhY2VtZW50IGZvciB0aGlzLiBXZSBhcmUgc3RpbGwgcmVhZGluZyBib3RoIHRvIHN0aWxsCgkgIGJlIGNvbXBhdGlibGUgd2l0aCBvbGQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNjQ0ODc1LgoKMjAxMS0wNi0wMiAxODo1MToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYwoKMjAxMS0wNi0wMiAxODo0NzozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogcG9ydCBBVkkgZWxlbWVudHMgdG8gbmV3IEFQSQoKMjAxMS0wNi0wMiAxMzozODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXJzdCBxdWVyeSB0aGUgcGVlciBkdXJhdGlvbiBpbiB0aGUgcmVxdWVzdGVkIGZvcm1hdCBiZWZvcmUgY29udmVydGluZyB0byBCWVRFUwoJICBGaXhlcyB1c2FnZSBvZiBkdmRlbXV4IGFmdGVyIGFub3RoZXIgZGVtdXhlciwgZS5nLiBteGZkZW11eC4KCSAgRml4ZXMgYnVnICM2NTA1MDMuCgoyMDExLTA2LTAyIDEwOjQxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJICBzb3VwaHR0cHNpbms6IEZpeCByZWZjb3VudGluZyBvZiB0aGUgInNlc3Npb24iIHByb3BlcnR5CgkgIFByb3BlcnRpZXMgc2hvdWxkIG5ldmVyIHRha2Ugb3duZXJzaGlwIG9mIHRoZSB2YWx1ZXMKCSAgcGFzc2VkIHRvIHRoZW0uCgoyMDExLTA2LTAxIDE3OjA0OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEZvciBzdHJlYW1pbmcgZmlsZXMsIHB1c2ggdGFncyBmaXJzdAoKMjAxMS0wNS0yNCAxNDo1MjowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IEFkZCBzb3VwaHR0cHNpbmsKCjIwMTEtMDYtMDEgMTA6MTk6MzEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFsbG93IHNraXAtZmlyc3QtYnl0ZXMgb2YgZnVsbCBidWZmZXIgc2l6ZQoKMjAxMS0wNS0zMCAxODozMTo1MCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMzAgMTI6MDk6MzEgKzAyMDAgIEFudG9uaW8gRnJlZGlhbmkgPGFudG9uaW8uZnJlZGlhbmlAaW53aW5kLml0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIEdTVF9UQUdfSU1BR0UgZm9yIGNvdmVyYXJ0IHRvbwoJICBGaXhlcyBidWcgIzYzODEwNy4KCjIwMTEtMDUtMzAgMTA6NDA6MDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2dldF9zZWVrX3RyYWNrCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVzZXRfc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI4IDIyOjA0OjM0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2the2RlbXV4LHBhcnNlfV9mb3VuZF9nbG9iYWxfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjggMTA6NTk6MDkgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV9pbmRleF9zZWVrX2ZpbmQKCSAgLSBnc3RfbWF0cm9za2F7ZGVtdXgscGFyc2V9X2RvX2luZGV4X3NlZWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAyMzoxNToyMyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV90cmFja251bWJlcl91bmlxdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAyMDoyODoxOSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9kZWNvZGVfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDE5OjMwOjQ4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2dldF9sZW5ndGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAwOToxNzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IFJldmVydCAxYTkwYTZjNCBhbmQgZHJvcCBEaXJhYyBzdXBwb3J0IGFnYWluCgkgIEl0IGRvZXMgbm90IHdvcmsgYXQgYWxsIChBL1Ygc3luYyBpc3N1ZXMpLCBpcyBub3QgdmVyeSB1c2VmdWwsCgkgIG90aGVyIGNvbnRhaW5lcnMgd29yayBtdWNoIGJldHRlciB3aXRoIERpcmFjIGFuZCBEaXJhYyBpbiBBVkkKCSAgaXMgbm90IHN1cHBvcnRlZCBieSBvdGhlciBzb2Z0d2FyZS4KCSAgRml4ZXMgYnVnICM1NDEyMTUuCgoyMDExLTA1LTI2IDIzOjM1OjUyICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9lbmNvZGluZ19jbXAKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZWFkX3RyYWNrX2VuY29kaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2lkX2xlbmd0aF9wdWxsCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19pZF9sZW5ndGhfcHVzaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19hZGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjYgMTI6NDg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHh2aW1hZ2VzaW5rOiBGYWxsYmFjayB0byBub24tWFNobSBtb2RlIGlmIGFsbG9jYXRpbmcgdGhlIFhTaG0gaW1hZ2UgZmFpbGVkCgkgIEZpeGVzIGJ1ZyAjNjMwNDU2LgoKMjAxMS0wNS0yNiAxMjoyMjo1MiArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBEZXByZWNhdGVkIHNlbmQtY29uZmlnIHByb3BlcnR5IGFuZCByZXBsYWNlIGJ5IGNvbmZpZy1pbnRlcnZhbAoJICBGaXhlcyBidWcgIzYyMjQxMi4KCjIwMTAtMDYtMjMgMTE6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVVRGLTggc3VidGl0bGVzIG1heSBoYXZlIG1hcmt1cAoJICBGaXhlcyAjNjE2OTM2LgoKMjAxMS0wMS0yMyAxNTo1Njo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IGZvcndhcmQgbmV3IHNlZ21lbnQgZXZlbnRzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHNvdXJjZQoJICBOb3QgZG9pbmcgc28gd2lsbCBjYXVzZSBidWZmZXJzIHRvIGJlIHJlY2VpdmVkIGJ5IGRvd25zdHJlYW0gd2l0aG91dAoJICBhIHRpbWUgYmFzZSBzZXQuCgkgIFdlIHVzZSB0aGUgc2FtZSBtZXRob2QgYXZpbXV4IHVzZXMgdG8gZ2V0IGFjY2VzcyB0byB0aGUgZXZlbnQgd2hlbgoJICBjb2xsZWN0cGFkcyBnb3QgdGhlIHNpbmsgZXZlbnQgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAzMjMKCjIwMTEtMDEtMjQgMTE6MTE6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIHRleHRvdmVybGF5OiBmb3J3YXJkIHNvdXJjZSBldmVudHMgdG8gc2lua3MKCSAgRXZlbnRzIGFyZSBwYXNzZWQgdG8gdGhlIHZpZGVvIHNpbmssIGFuZCB0byB0aGUgdGV4dCBzaW5rIGlmIGl0IGlzCgkgIGxpbmtlZC4KCSAgVGhpcyB3aWxsIGFsbG93IHNlZWtpbmcsIGZvciBpbnN0YW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4NjQ1MAoKMjAxMS0wNS0yNSAyMToxMjoxMiArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IEFkZCBwcm9wZXJ0eSB0byBhc3N1bWUgYSBzaW5nbGUgc3RyZWFtIGFuZCBlbWl0IG5vLW1vcmUtcGFkcwoJICBGaXhlcyBidWcgIzYxNjY4Ni4KCjIwMTEtMDUtMjUgMTQ6NTA6MjYgKzAyMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1bmlmb3JtIHVua25vd24gbWVzc2FnZSBoYW5kbGluZwoJICBEbyB0aGUgc2FtZSBwcm9jZXNzaW5nIGluIGFsbCB0aGUgY2FzZXMgd2hlbiBhbiB1bmtub3duIG1lc3NhZ2UgaXMgcmVjZWl2ZWQuCgkgIFRoYXQgaXMsIGdpdmUgYSB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDU5CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfcHVsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19ieXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9lbmNvZGluZ19vcmRlcl91bmlxdWUKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZWFkX3RyYWNrX2VuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjQgMTg6Mjc6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDUtMjQgMTc6MzQ6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYwoJICBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYwoKMjAxMS0wNS0yNCAxMzoxMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICBwY211ZGVwYXk6IGFsbG93IHZhcmlhYmxlIHNhbXBsZSByYXRlCgoyMDExLTA1LTI0IDEzOjExOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgIHBjbWFkZXBheTogYWxsb3cgdmFyaWFibGUgc2FtcGxlIHJhdGUKCjIwMTAtMDQtMDQgMDY6NDM6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWRkIG5vcm0gcHJvcGVydHkKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBHdWVubmFkaSBMaWFraG92ZXRza2kuCgkgIHYyOiB1cGRhdGVzIGJlY2F1c2UgSSBmb3Jnb3QgdG8gYWRkIEdzdFR1bmVyIGludGVyZmFjZSB0byB2NGwyc2luawoJICB2MzogdXBkYXRlIHRvIGFkZCBhbGwgcG9zc2libGUgdmFsdWVzIHRvIG5vcm0gZW51bQoKMjAxMS0wNS0yMyAyMDo0NjowNCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogZml4ZWQgY29weXJpZ2h0IGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX2RlY29kZV9jb250ZW50X2VuY29kaW5ncwoJICAtIGdzdF9tYXRyb3NrYV9kZWNvbXByZXNzX2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODo0ODo1NyArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogbW92ZSBHc3RNYXRyb3NrYXtEZW11eCxQYXJzZX06OnN0YXRlIHRvIEdzdE1hdHJvc2thUmVhZENvbW1vbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI0IDA5OjQ4OjU2ICswMjAwICBKb25hcyBMYXJzc29uIDxqb25hcy5sYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggYnVmZmVyIGxlYWsgd2l0aCBjb3JydXB0ZWQgZmlsZXMKCSAgRml4ZXMgYnVnICM2NTA5MTIuCgoyMDExLTA1LTIzIDAyOjQ2OjM4IC0wNzAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHBhcmFtZXRlciB0eXBlIGluIHRyYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgUmVwbGFjZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB3aXRoIHRoZWlyIGdzdF9tYXRyb3NrYV9yZWFkX2NvbW1vbl8qCgkgIGNvdW50ZXJwYXJ0czoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9pbmRleAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX3NraXAKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9zdHJlYW1fZnJvbV9udW0KCSAgSW50cm9kdWNlIEdzdE1hdHJvc2thUmVhZENvbW1vbiB0byBjb250YWluIHRob3NlIG1lbWJlcnMgb2YKCSAgR3N0TWF0cm9za2FEZW11eCBhbmQgR3N0TWF0cm9za2FQYXJzZSB0aGF0IHdlcmUgdXNlZCBieSB0aGUgYWJvdmUKCSAgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDEzOjUwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdGVsbCBiYXNlcGFyc2UgdGhlIGR1cmF0aW9uIGluIHNhbXBsZXMgZm9yIGJldHRlciBhY2N1cmFjeQoJICBUZWxsIEdzdEJhc2VQYXJzZSB0aGUgZHVyYXRpb24gaW4gc2FtcGxlcyBpbnN0ZWFkIG9mIHRpbWUsIHNvIHRoYXQKCSAgYSBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCB3aWxsIHJldHVybiB0aGUgY29ycmVjdCBudW1iZXIKCSAgb2Ygc2FtcGxlcyB3aXRob3V0IHJvdW5kaW5nIGVycm9ycy4gQmFzZXBhcnNlIHdpbGwgY29udmVydCB0aGlzCgkgIGludG8gdGltZSBpdHNlbGYgd2hlbiBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA3ODUKCjIwMTEtMDUtMjMgMTM6MjU6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhbHNvIHRyeSB1cHN0cmVhbSBmaXJzdCBmb3IgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDc4NQoKMjAxMS0wNS0yMyAxMzoyMzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1ha2UgY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gREVGQVVMVCBmb3JtYXQgKHNhbXBsZXMpIHdvcmsKCSAgRml4IGNvcHknbidwYXN0ZSBlcnJvciBpbiB0aGUgcHJldmlvdXMgY29tbWl0LgoKMjAxMS0wNS0yMyAxMTozNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEltcGxlbWVudCBjb252ZXJzaW9ucyBiZXR3ZWVuIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0CgkgIEZpeGVzIGJ1ZyAjNjUwNzg1LgoKMjAxMS0wNS0yMiAxODo1MDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRvbid0IGVycm9yIG91dCBvbiBpbnZhbGlkIG1pbmltdW1fYmxvY2tzaXplIHZhbHVlIGluIHN0cmVhbWluZm8gaGVhZGVyCgkgIFdlIGRvbid0IHVzZSBpdCwgc28gbWF5IGp1c3QgYXMgd2VsbCBhY2NlcHQgYW4gaW52YWxpZCB2YWx1ZQoJICBvZiAwIGhlcmUsIHdoaWNoIGlzIGxpa2VseSBpbmNvbnNlcXVlbnRpYWwgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNjkxCgoyMDExLTA1LTIwIDEwOjM0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cDogZml4IHN0YXRpYyBhcnJheSBvdmVycnVucyBpbiBhIG5pY2VyIHdheQoJICBVc2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgdGhlIGFycmF5IHNpemUuCgoyMDExLTA1LTIwIDAwOjUzOjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cDogZml4IHN0YXRpYyBhcnJheSBvdmVycnVucwoJICBZZXMgYXJyYXlbMTBdIGhhcyBlbGVtZW50cyBmcm9tIDAuLi45LgoKMjAxMS0wNS0xOSAyMzozMToxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhCgkgIE5vdyBtb3JlIGZpbGVzIGFyZSBtZXJnZWQgYW5kIHByb2R1Y2VkIGluIGEgY2Fub25pY2FsIGZhc2hpb24sIHdoaWNoIGhvcGVmdWxseQoJICBjcmVhdGVzIGxlc3Mgb3Igbm8gZGVsdGEgaW4gdGhlIGZ1dHVyZS4KCjIwMTEtMDUtMTkgMjI6NTc6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWU1YmJkNSB0byA2OWI5ODFmCgoyMDExLTA1LTE5IDE4OjIxOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIG1pc3NpbmcgYnJlYWsKCjIwMTAtMTEtMDggMTQ6MDY6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBkZWludGVybGFjaW5nIHVzaW5nIGJ1ZmZlciBjYXBzL2ZsYWdzCgkgIFdoZW4gbm90IHVzaW5nIHRoZSBmaWVsZGFuYWx5c2lzIGVsZW1lbnQgaW1tZWRpYXRlbHkgdXBzdHJlYW0gb2YgZGVpbnRlcmxhY2UsCgkgIGJlaGF2aW91ciBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4gZmllbGRhbmFseXNpcyB3aWxsIHNldCB0aGUgY2FwcyBhbmQgZmxhZ3Mgb24KCSAgdGhlIGJ1ZmZlcnMgc3VjaCB0aGF0IHRoZXkgY2FuIGJlIGludGVycHJldGVkIGFuZCBhY3RlZCB1cG9uIHRvIHByb2R1Y2UKCSAgcHJvZ3Jlc3NpdmUgb3V0cHV0LgoJICBUaGVyZSBhcmUgdHdvIG1haW4gbW9kZXMgb2Ygb3BlcmF0aW9uOgoJICAtIFBhc3NpdmUgcGF0dGVybiBsb2NraW5nCgkgIFBhc3NpdmUgcGF0dGVybiBsb2NraW5nIGlzIGEgbm9uLWJsb2NraW5nLCBsb3ctbGF0ZW5jeSBtb2RlIG9mIG9wZXJhdGlvbiB0aGF0CgkgIGlzIHN1aXRhYmxlIGZvciBjbG9zZS10by1saXZlIHVzYWdlLiBJbml0aWFsbHkgYSB0ZWxlY2luZSBzdHJlYW0gd2lsbCBiZQoJICBvdXRwdXQgYXMgdmFyaWFibGUgZnJhbWVyYXRlIHdpdGggbmHDr3ZlIHRpbWVzdGFtcCBhZGp1c3RtZW50LiBXaXRoIGVhY2gKCSAgaW5jb21pbmcgYnVmZmVyLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gbG9jayBvbnRvIGEgcGF0dGVybi4gV2hlbiBhIGxvY2sgaXMKCSAgb2J0YWluZWQsIHRoZSBzcmMgcGFkIGFuZCBvdXRwdXQgYnVmZmVyIGNhcHMgd2lsbCByZWZsZWN0IHRoZSBwYXR0ZXJuIGFuZAoJICB0aW1lc3RhbXBzIHdpbGwgYmUgYWNjdXJhdGVseSBpbnRlcnBvbGF0ZWQgYmV0d2VlbiBwYXR0ZXJuIHJlcGVhdHMuIFRoaXMKCSAgbWVhbnMgdGhhdCBpbml0aWFsbHkgYW5kIGF0IHBhdHRlcm4gdHJhbnNpdGlvbnMgdGhlcmUgd2lsbCBiZSBzaG9ydCBwZXJpb2RzCgkgIG9mIGluYWNjdXJhdGUgdGltZXN0YW1waW5nLgoJICAtIEFjdGl2ZSBwYXR0ZXJuIGxvY2tpbmcKCSAgQWN0aXZlIHBhdHRlcm4gbG9ja2luZyBpcyBhIGJsb2NraW5nLCBoaWdoLWxhdGVuY3kgbW9kZSBvZiBvcGVyYXRpb24gdGhhdCBpcwoJICB0YXJnZXRlZCBhdCB1c2UtY2FzZXMgd2hlcmUgdGltZXN0YW1wIGFjY3VyYWN5IGlzIHBhcmFtb3VudC4gQnVmZmVycyB3aWxsIGJlCgkgIHF1ZXVlZCB1bnRpbCBlbm91Z2ggYXJlIHByZXNlbnQgdG8gbWFrZSBhIGxvY2suIFdoZW4gbG9ja2VkLCB0aW1lc3RhbXBzIHdpbGwKCSAgYmUgYWNjdXJhdGVseSBpbnRlcnBvbGF0ZWQgYmV0d2VlbiBwYXR0ZXJuIHJlcGVhdHMuIE9ycGhhbiBmaWVsZHMgY2FuIGJlCgkgIGRyb3BwZWQgb3IgZGVpbnRlcmxhY2VkLiBJZiBubyBsb2NrIGNhbiBiZSBvYnRhaW5lZCwgYSBzaW5nbGUgZmllbGQgbWlnaHQgYmUKCSAgcHVzaGVkIHRocm91Z2ggdG8gYmUgZGVpbnRlcmxhY2VkLgoJICBMb2NraW5nIGNhbiBhbHNvIGJlIGRpc2FibGVkIG9yICdhdXRvJyBjaG9vc2VzIGJldHdlZW4gcGFzc2l2ZSBhbmQgYWN0aXZlCgkgIGxvY2tpbmcgbW9kZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZS4KCjIwMTEtMDUtMTAgMTY6MjU6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSBjb25maWcgc2NyaXB0IGNoZWNrIGZvciBjYWNhCgoyMDExLTA1LTE4IDEyOjM2OjQwICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IEZpeCBzZWdtZW50YXRpb24gZmF1bHQgcHJvY2Vzc2luZyBwYXlsb2FkIGJ1ZmZlcnMKCSAgVGhpcyBjb21taXQgY2hlY2tzIGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBieQoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9idWZmZXIgYW5kCgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX3N1YmJ1ZmZlciBpcyBOVUxMIGJlZm9yZSB1c2luZyBpdC4KCjIwMTEtMDUtMTggMTY6MTA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQzNTA3MyB0byA5ZTViYmQ1CgoyMDExLTA1LTE4IDEyOjUyOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGVuc3VyZSAwLXBhZGRpbmcgd2hlbiBjb3JyZWN0aW5nIGR1YmlvdXMgbGlzdCBzaXplCgoyMDExLTA1LTE4IDEyOjI0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2ZGZjZWEgdG8gZmQzNTA3MwoKMjAxMS0wNS0xOCAxMDoyMjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgRUlOVkFMIGZvciBtaXNzaW5nIHVybCBwYXJhbWV0ZXIKCSAgRml4ZXMgZ2NjIHdhcm5pbmcgYWJvdXQgdXNpbmcgdW5pbml0aWFsaXplZCB2YXJpYWJsZSAncmVzJy4KCjIwMTEtMDQtMjggMTU6Mzc6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIHZhcmlvdXM6IGZpeCBhdXRob3IgdGFnIGluIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wNC0yMCAxNToyNTo1OCAtMDQwMCAgQ2hyaXMgRSBKb25lcyA8Y2hyaXNAY2hyaXNlam9uZXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBpbXBsZW1lbnQgc2Vla2luZwoJICBJbXBsZW1lbnQgc2Vla2luZyBhbmQgc2Vla2luZyBxdWVyeS4gRml4ZXMgIzY0NDUxMgoKMjAxMS0wNS0xNyAxNjoxMzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDQtMDYgMTY6MDU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIGFsbG93IFBBVVNFIHRvIGJlIGludGVycnVwdGVkCgkgIC4uLiBhcyBpdCBpcyBvbiB0aGUgd2F5IG91dCB0byBOVUxMLgoJICBTZWUgIzYzMjUwNC4KCjIwMTEtMDQtMDYgMTU6NTE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBlbnN1cmUgcHJvcGVyIGNsb3NpbmcgYW5kIGNsZWFudXAKCSAgLi4uIHNpbmNlIHRoZSBURUFSRE9XTiBzZXF1ZW5jZSBtaWdodCBub3QgaGF2ZSBoYWQgYSBjaGFuY2UgdG8gZXZlbiBzdGFydCwKCSAgYnV0IGF0IGxlYXN0IGNvbm5lY3Rpb25zIHNob3VsZCBiZSBjbG9zZWQgKHN5bmNocm9ub3VzbHkpIGFuZCBzdGF0ZSBjbGVhbmVkIHVwLgoJICBTZWUgIzYzMjUwNC4KCjIwMTEtMDQtMDYgMTU6NDk6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZpeCBhbmQgaW1wcm92ZSBhc3luYyBoYW5kbGluZwoJICBTaW1wbGlmeSB0aGUgY29tbWFuZCBoYW5kbGluZzsgcGFzc2luZyBhIGNvbW1hbmQgdG8gdGhyZWFkIG1lYW5zIHdlIHJlYWxseQoJICB3YW50IGl0IHRvIGdldCB0aGUgbWVzc2FnZSwgd2hpY2ggbWVhbnMgdG8gYWx3YXlzIGZsdXNoIHByb3ZpZGVkIHRoZSBjb21tYW5kCgkgIGNhbiBoYW5kbGUgYmVpbmcgaW50ZXJydXB0ZWQuICBDb21tYW5kIHRocmVhZCBpbmRpY2F0ZXMgd2hldGhlciBjb21tYW5kCgkgIGFsbG93cyBpbnRlcnJ1cHRpb24gYW5kIGVuc3VyZSBub24tZmx1c2hpbmcgY29ubmVjdGlvbiBhcyBpdCBzdWJzZXF1ZW50bHkKCSAgbmVlZHMgaXQuCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgYWxzbyBtYWtlcyB0aGUgVEVBUkRPV04gc2VxdWVuY2UgaW50ZXJydXB0YWJsZQoJICBhbmQgYWxzbyBwcmV2ZW50cyByYWNlcyB3aGVyZSBfbG9vcF8gY291bGQgbWlzcyBhIGNvbW1hbmQgYW5kIHdvdWxkCgkgIGNvbnRpbnVlIHJlY2VpdmluZyAob3IgYXQgbGVhc3QgdHJ5aW5nIHRvKS4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE0OjUzOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdHdlYWsgcG9zdC1zZWVrIGxvb3AgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTI6NDY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogb3BlbiBvbiBwbGF5IGFuZCBwYXVzZSB3aGVuIG5vdCBkb25lIHlldAoJICBXaXRoIHRoZSBhc3luYyBzdGF0ZSBjaGFuZ2VzLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdlIG5lZWQgdG8gb3BlbiB0aGUgc3RyZWFtCgkgIGJlZm9yZSBwbGF5IGFuZCBwYXVzZS4KCSAgQWxzbyBtYWtlIHN1cmUgd2UgcmVtZW1iZXIgYSBwcmV2aW91cyBvcGVuIGZhaWx1cmUgc28gdGhhdCB3ZSBkb24ndCBrZWVwIHRyeWluZwoJICBhZ2Fpbi4KCjIwMTEtMDEtMTAgMTE6NDU6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgYXN5bmMgaGFuZGxpbmcKCSAgU2ltcGxpZnkgdGhlIGNvbW1hbmQgaGFuZGxpbmcsIG9ubHkgY29udGludWUgbG9vcGluZyB3aGVuIHdlIGhhdmUgbm90IHJlY2VpdmVkCgkgIGFub3RoZXIgY29tbWFuZCBvciB3aGVuIHRoZSBwcmV2aW91cyBsb29wIHdhcyBzdWNjZXNzZnVsbC4KCSAgQXZvaWQgbG9vcGluZyBvbiBhIGRpc2Nvbm5lY3RlZCBzb2NrZXQuCgoyMDExLTAxLTA3IDE4OjAyOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXdvcmsgcmVjb25uZWN0IGNvZGUKCSAgVXNlIHRoZSBzYW1lIGFzeW5jIGNvZGUgcGF0aCB0byBpbXBsZW1lbnQgcmVjb25uZWN0cy4KCSAgTWFrZSBzdXJlIHdlIG9ubHkgcG9zdCBwcm9ncmVzcyBtZXNzYWdlcyB3aGVuIGRvaW5nIGFzeW5jIHRoaW5ncy4KCjIwMTEtMDEtMDcgMTc6MTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNtYWxsIGNsZWFudXBzCgkgIE1ha2Ugc3VyZSB3ZSBjYW5jZWwgdGhlIHByZXZpb3VzIHRhc2sgd2hlbiBxdWV1aW5nIGEgbmV3IG9uZS4KCSAgTW92ZSB0aGUgbWVzc2FnZXMgdG8gYSBjZW50cmFsIHBsYWNlIHNvIHdlIGNhbiBtb3JlIGVhc2lseSBwb3N0IHRoZW0uCgoyMDExLTAxLTA3IDE1OjE1OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBwb3N0IGVycm9ycyB3aGVuIGludGVycnVwdGluZwoKMjAxMS0wMS0wNyAxMzo0MzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBpbXBsZW1lbnQgbW9yZSBhc3luYyBoYW5kbGluZwoJICBSZW1vdmUgc29tZSBvbGQgbG9ja3MuCgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBnbyBpbnRvIHRoZSBsb29wIGZ1bmN0aW9uIHdoZW4gZmx1c2hpbmcuCgoyMDExLTAxLTA3IDExOjQwOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXJzdCBhdHRlbXB0IGF0IGFzeW5jIGltcGxlbWVudGF0aW9uCgoyMDExLTAxLTA3IDExOjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzbWFsbCBoZWFkZXIgY2xlYW51cHMKCjIwMTEtMDUtMTcgMTA6NDc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyBmb3IgKHByZS0pIHJlbGVhc2VzIHRvbwoKMjAxMS0wNC0yOCAxNTo1NzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3RzOiBPbmx5IGFsbG93IG1wZWctdHMgb24gc291cmNlIG9iamVjdHMKCSAgVWdseSBmaXggZm9yICM2NDgzMTIKCjIwMTEtMDUtMTcgMDk6MjQ6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNS0wNiAxOTowOToxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogSW1wbGVtZW50IGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgZm9yIHNpbmsgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTA2IDE4OjQxOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBpdGVyYXRlIHBhZCBmdW5jdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBzcmMgcGFkcwoJICBUaGUgaXRlcmF0ZSBmdW5jdGlvbiBpcyBvbmx5IHVzZWQgZm9yIHNyYyBwYWRzLCBzbyBtYXJrIGl0IGFzIHN1Y2ggYW5kIHJlbW92ZQoJICBkZWFkIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk2MTcKCjIwMTEtMDUtMDYgMTg6MTI6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgc2lnbmFsCgkgIElmIHRoZSBsb2NrIGlzIG5vdCByZWxlYXNlZCBiZWZvcmUgZW1pdHRpbmcgYSBzaWduYWwsIGl0IG1heSBjYXVzZSBhIGRlYWRsb2NrCgkgIGlmIGFueSBvdGhlciBmdW5jdGlvbiBpbiB0aGUgZWxlbWVudCBpcyBjYWxsZWQuCgkgIEFsc28gcmVtb3ZlZCBhbiB1bnVzZWQgdGltZXN0YW1wIHBhcmFtZXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTE1IDIzOjI1OjE1ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogY2FsY3VsYXRlIHNlZ21lbnQgZHVyYXRpb24gYWZ0ZXIgcGFyc2luZyBhbGwgdGhlIElEcwoJICBTaW5jZSB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBnaXZlbiBpbiB0ZXJtcyBvZiB0aGUKCSAgR1NUX01BVFJPU0tBX0lEX1RJTUVDT0RFU0NBTEUgd2Ugc2hvdWxkIG9ubHkgY29udmVydCBpdCBpbnRvCgkgIG5hbm9zZWNvbmRzIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBhbnkgc2NhbGUgc3BlY2lmaWVkIGluIHRoZSBmaWxlIGhhcwoJICBiZWVuIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAyNTgKCjIwMTEtMDUtMTYgMTc6NTI6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTA1LTE2IDE3OjUwOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIC1nb29kOiBmaXggZm9yIG5ldyBBUEkKCjIwMTEtMDUtMDQgMTE6NTU6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZGl0aW9uYWwgbG9jayBzYWZldHkKCSAgRml4ZXMgIzYxOTU5MC4KCjIwMTEtMDQtMjYgMTY6MDY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY2hlY2sgZm9yIGJpdHJhdGUgaW5mbyBpbiBjYXBzCgoyMDEwLTA1LTI1IDAxOjA0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZ3Vlc3MgYml0cmF0ZSBpZiBvbmx5IG9uZSBzdHJlYW0ncyBiaXRyYXRlIGlzIHVua25vd24KCSAgSWYgdGhlIGJpdHJhdGVzIGZvciBhbGwgYnV0IG9uZSBhdWRpby92aWRlbyBzdHJlYW1zIGFyZSBrbm93biwgYW5kIHRoZQoJICB0b3RhbCBzdHJlYW0gc2l6ZSBhbmQgZHVyYXRpb24gY2FuIGJlIGRldGVybWluZWQsIHRoaXMgY2FsY3VsYXRlcyB0aGUKCSAgdW5rb3duIGJpdHJhdGUgYXMgKHN0cmVhbSBzaXplIC8gZHVyYXRpb24pIC0gKHN1bSBvZiBrbm93biBiaXRyYXRlcykuCgkgIFdoaWxlIHRoaXMgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgdmVyeSBhY2N1cmF0ZSwgaXQgc2hvdWxkIGJlIGdvb2QKCSAgZW5vdWdoIGZvciBtb3N0IHB1cnBvc2VzLgoJICBGb3IgZXhhbXBsZSwgdGhpcyBpcyB1c2VmdWwgZm9yIEguMjYzICsgQUFDIHN0cmVhbXMgd2hlcmUgbm8gJ2J0cnQnIGF0b20KCSAgaXMgYXZhaWxhYmxlIGZvciB0aGUgdmlkZW8gcG9ydGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTU0OAoKMjAxMC0wNS0zMSAyMzo1OTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IG1heCBiaXRyYXRlIGZvciBBTVItTkIvLVdCIHN0cmVhbXMKCSAgVGhpcyBwYXJzZXMgdGhlICdkYW1yJyBhdG9tIGlmIHByZXNlbnQsIGFuZCBleHBvcnRzIHRoZSBtYXhpbXVtIGJpdHJhdGUKCSAgb2YgdGhlIHN0cmVhbSB1c2luZyB0aGUgbW9kZSBzZXQgZmllbGQgdG8gZGV0ZXJtaW5lIHRoZSBoaWdoZXN0IGJpdHJhdGUKCSAgZnJhbWUgdHlwZSB0aGF0IG1pZ2h0IGJlIHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxODYKCjIwMTEtMDUtMTYgMDk6MDQ6MzEgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEZWZpbmUgUEFUSF9NQVggaWYgaXQgaXNuJ3QgZGVmaW5lZAoJICBHTlUgSHVyZCBmb3IgZXhhbXBsZSBkb2Vzbid0IGRlZmluZSBpdC4KCjIwMTEtMDUtMTUgMjM6MjU6MTUgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYWxjdWxhdGUgc2VnbWVudCBkdXJhdGlvbiBhZnRlciBwYXJzaW5nIGFsbCB0aGUgSURzCgkgIFNpbmNlIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGdpdmVuIGluIHRlcm1zIG9mIHRoZQoJICBHU1RfTUFUUk9TS0FfSURfVElNRUNPREVTQ0FMRSB3ZSBzaG91bGQgb25seSBjb252ZXJ0IGl0IGludG8KCSAgbmFub3NlY29uZHMgd2hlbiB3ZSBhcmUgc3VyZSB0aGF0IGFueSBzY2FsZSBzcGVjaWZpZWQgaW4gdGhlIGZpbGUgaGFzCgkgIGJlZW4gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDI1OAoKMjAxMS0wNS0wOSAxOTowMDo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBBZGQgc3VwcG9ydCBmb3IgbXBlZ3ZlcnNpb24gMiwgd2hpY2ggaXMgYWxzbyBBQUMKCjIwMTEtMDUtMTEgMTA6MjU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IFNlbmQgRU9TIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgZW5kIG9mIGZpbGUgaW5zdGVhZCBvZiBmYWlsaW5nCgkgIEZpeGVzIGJ1ZyAjNjQ5NzgwLgoKMjAxMS0wNC0yOSAwODo1OToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFNldCBmaXhlZGNhcHMgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZAoJICB3YXZlbmMgZG9lcyBub3QgYWxsb3cgdG8gY2hhbmdlIHRoZSBjYXBzIGR1cmluZyBwbGF5YmFjawoJICBhbmQgYWx3YXlzIHJldHVybmluZyB0aGUgdGVtcGxhdGUgY2FwcyBpcyBqdXN0IHdyb25nLgoKMjAxMS0wNC0yOSAwODo1NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEFsbG93IHNldGNhcHMgdG8gYmUgY2FsbGVkIGFmdGVyIGEgZm9ybWF0IHdhcyBuZWdvdGlhdGVkIGlmIGl0J3MgY29tcGF0aWJsZQoJICBPdGhlcndpc2Ugd2F2ZW5jIHdpbGwgZmFpbCBpZiB1cHN0cmVhbSBkZWNpZGVzIHRvIHNldCBlcXVpdmFsZW50IGNhcHMgb3IgY2FwcwoJICB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbGF0ZXIuCgkgIFRoYW5rcyB0byBBbGV4YW5kZXIgU2NocmVtbWVyIGZvciBmaW5kaW5nIHRoaXMgYnVnLgoKMjAxMS0wNS0xNCAxMDowMjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI5ID09PQoKMjAxMS0wNS0xMCAxMDowNDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yOQoJICBIaWdobGlnaHRzOgoJICAtIGFtcnBhcnNlLCBhYWNwYXJzZSwgYWMzcGFyc2UsIGZsYWNwYXJzZSwgbXBlZ2F1ZGlvcGFyc2UsIGRjYXBhcnNlIGF1ZGlvIHBhcnNlcnMgKG1vdmVkIGZyb20gLWJhZCkKCSAgLSBtdXhlcnMgbm93IG11eCBiYXNlZCBvbiBydW5uaW5nIHRpbWUKCSAgLSBJU08gTVA0IG11eGVyczogbXA0bXV4LzNncHBtdXgvcXRtdXgvbWoybXV4IChtb3ZlZCBmcm9tIC1iYWQpCgkgIC0gbmV3IG1hdHJvc2thcGFyc2UgZWxlbWVudAoJICAtIG5ldyB2NGwycmFkaW8gZWxlbWVudAoJICAtIHJ0cHNlc3Npb246IHN1cHBvcnQgUlRDUCBFYXJseSBGZWVkYmFjayAodGhlIEFWUEYgcHJvZmlsZSkKCSAgLSBvcmMgMC40LjE0IG9yIG5ld2VyIHJlY29tbWVuZGVkCgkgIC0gbWFueSBvdGhlciBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgoyMDExLTA1LTA1IDEzOjI0OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBzaWduZWQgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIHdyaXRpbmcKCSAgWW91IHdvdWxkIGVuZCB1cCBvbiBzb21lIGFyY2hpdGVjdHVyZXMgd2l0aCAwIGJlaW5nIHdyaXR0ZW4gb3V0CgkgIGluc3RlYWQgb2YgdGhlIHByb3BlciB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTQ0OQoKMjAxMS0wNS0wNCAxMjowNDoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhdm9pZCBidWlsZGluZyBpbmRleCB3aGVuIHN0cmVhbWFibGUKCSAgLi4uIGFzIGl0IHdpbGwgbm90IGJlIHdyaXR0ZW4gYW55d2F5LgoJICBGaXhlcyAjNjQ4OTM3ICg/KS4KCjIwMTEtMDUtMDIgMTI6MDk6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIHF0ZGVtdXgvcXVpY2t0aW1lIGRpcmVjdG9yaWVzIHRvIENSVUZUX0RJUlMgYW5kIENSVUZUX0ZJTEVTCgoyMDExLTA1LTAxIDAwOjA0OjAzIC0wNDAwICBUb20gSmFuaXN6ZXdza2kgPHRvbS5qYW5pc3pld3NraUBhbGNhdGVsLWx1Y2VudC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IG92ZXJ3cml0ZSBtZXRhZGF0YSB0YWcgd2l0aCBkdXJhdGlvbiBpbiBzdHJlYW1pbmcgbW9kZQoJICBBIGR1cmF0aW9uIHRhZyBnZXRzIGluc2VydGVkIG9ubHkgZm9yIHN0cmVhbWFibGU9ZmFsc2UsIHNvIG9ubHkKCSAgdXBkYXRlL3dyaXRlIHRoZSBkdXJhdGlvbiBsYXRlciBpZiB3ZSBhY3R1YWxseSBpbnNlcnRlZCB0aGF0IHRhZywKCSAgb3RoZXJ3aXNlIHdlIHdyaXRlIGdhcmJhZ2UgaW50byBvdGhlciB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDYwCgoyMDExLTA0LTMwIDE4OjE2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHBvL2ZyLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjguNCBwcmUtcmVsZWFzZQoKMjAxMS0wNC0zMCAxNzo0NjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9pc29tcDQvTEVHQUw6CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmg6CgkqIGdzdC9pc29tcDQvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9pc29tcDQvcXRwYWxldHRlLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBxdWlja3RpbWU6IHJlbmFtZSBwbHVnaW4gdG8gaXNvbXA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDQKCjIwMTEtMDQtMjkgMTc6NTU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGZpeCBzb21lIHBhcnNlcnMKCjIwMTEtMDQtMjkgMTc6NTQ6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBlcnJvciBjYXVzZWQgYnkgbWVyZ2luZwoKMjAxMS0wNC0yOSAxNTo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoKMjAxMS0wNC0yOSAxNTo0NjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IGZpeCBwYWRfYWxsb2MKCjIwMTEtMDQtMjcgMTI6NDU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHBvL2JnLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmwucG86CgkqIHBvL3J1LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjguMyBwcmUtcmVsZWFzZQoKMjAxMS0wNC0yNiAxNTo1ODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTA0LTI2IDE1OjU4OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMDQtMjYgMTU6NDI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBwb3J0IGphY2sgZWxlbWVudHMKCjIwMTEtMDQtMjUgMTA6MDQ6NTIgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvY3VtZW50YXRpb24gdHlwbyAianBlZ2RkZWMiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg1ODkKCjIwMTEtMDQtMjUgMTg6MTQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIGVsZW1lbnRzCgoyMDExLTA0LTI1IDE3OjI3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICBydHA6IHBvcnQgbW9yZSB0byAwLjExCgoyMDExLTA0LTI1IDEzOjE2OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgKGRlKXBheWxvYWRlcnMKCjIwMTEtMDQtMjUgMTI6NDk6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHBvcnQgc29tZSBtb3JlIGVsZW1lbnRzIHRvIDAuMTEKCjIwMTEtMDQtMjUgMTE6Mzg6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTI0IDE2OjQ1OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgYXZpbXV4LG1hdHJvc2thbXV4OiBBZGQgc3RyZWFtLWZvcm1hdCB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTEtMDItMjAgMTI6MTM6NDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBSZW1vdmUgdGVtcG9yYXJ5IGNvZGUKCSAgTm93IHRoYXQgd2UgZGVwZW5kIG9uICh3aGF0IHdpbGwgYmUpIC1iYXNlLTAuMTAuMzMuCgoyMDExLTA0LTI0IDE0OjAzOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkb24ndCBwYXNzIC1XYWRkcmVzcyB0byBPYmpDIGNvbXBpbGVyIG9uIE9TWCB3aGVuIGNvbXBpbGluZyBvc3h2aWRlb3NpbmsKCSAgVGVtcG9yYXJ5IHdvcmthcm91bmQgdW50aWwgd2UgZml4IHRoaXMgcHJvcGVybHkgYW5kIGNoZWNrIGZvcgoJICB0aGUgT2JqQyB3YXJuaW5nL2Vycm9yIGZsYWdzIGluc3RlYWQgb2YganVzdCBwYXNzaW5nIENGTEFHUyB0byB0aGUKCSAgT2JqQyBjb21waWxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzkzOQoKMjAxMS0wNC0yNCAxMzoyOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJICBxdWlja3RpbWU6IHJlbmFtZSBwbHVnaW4gZmlsZW5hbWUgZnJvbSAqcXRkZW11eCogdG8gKnF1aWNrdGltZSoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAwNAoKMjAxMS0wNC0yNCAxNDowMzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMzY2FmZTEgdG8gNDZkZmNlYQoKMjAxMS0wNC0yMSAyMzozMDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXgtZG9jLmg6CgkgIGRvY3M6IGFkZCB2YXJpb3VzIHF0bXV4IHZhcmlhbnRzIHRvIGRvY3VtZW50YXRpb24KCjIwMTEtMDQtMjEgMjI6NTE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgcXVpY2t0aW1lOiByZWdpc3RlciAzZ3BwbXV4IGVsZW1lbnQgaW4gYWRkaXRpb24gdG8gdGhlIG1pc25hbWVkIGdwcG11eAoKMjAxMS0wNC0xOCAxODowODozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogUmVtb3ZlIGluY29tcGxldGUgc3VwcG9ydCBmb3IgUlRDUCBGSVIKCSAgUmVtb3ZlIGJpdHMgdGhhdCB3ZXJlIG1lYW50IHRvIHN1cHBwb3J0IFJUQ1AgRklSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgxNjAKCjIwMTEtMDQtMTkgMTg6NTU6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDQtMTkgMTc6MzU6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVzZSBHX0RFRklORV9UWVBFIHNvbWUgbW9yZQoKMjAxMS0wNC0xOSAxNzoyMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IHVzZSBHX0RFRklORV9UWVBFCgoyMDExLTA0LTE5IDE3OjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgdXNlIEdfREVGSU5FX1RZUEUKCjIwMTEtMDQtMTkgMTY6MjU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTE5IDE0OjMzOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvaW5kZXguYzoKCSAgdGVzdHM6IGFkZCBnZW5lcmljIHNldF9pbmRleCB0ZXN0CgoyMDExLTA0LTE5IDE0OjMzOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkZWFkbG9jayBvbiBzZXR0aW5nIGluZGV4IG9uIGZsdmRlbXV4CgoyMDExLTA0LTE5IDE0OjE2OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICB0ZXN0czogYWRkIGluZGV4LXNldHRpbmcgdGVzdCBmb3IgYmFzZXBhcnNlL2ZsYWNwYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2ODExCgoyMDExLTA0LTE4IDExOjI5OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHdhdnBhY2s6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHdhdmVuYzogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjExOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMDo1NDo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHBvcnQgbW9yZSBwbHVnaW5zIHRvIDAuMTEKCjIwMTEtMDQtMTggMTA6MjM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgYW5kcm9pZC9hcGV0YWcubWsKCSAgYW5kcm9pZC9hdmkubWsKCSAgYW5kcm9pZC9mbHYubWsKCSAgYW5kcm9pZC9pY3lkZW11eC5tawoJICBhbmRyb2lkL2lkM2RlbXV4Lm1rCgkgIGFuZHJvaWQvcXRkZW11eC5tawoJICBhbmRyb2lkL3J0cC5tawoJICBhbmRyb2lkL3J0cG1hbmFnZXIubWsKCSAgYW5kcm9pZC9ydHNwLm1rCgkgIGFuZHJvaWQvc291cC5tawoJICBhbmRyb2lkL3VkcC5tawoJICBhbmRyb2lkL3dhdmVuYy5tawoJICBhbmRyb2lkL3dhdnBhcnNlLm1rCgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wNC0xNyAwMToyOTowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggJ3ZhcmlhYmxlIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIHdhcm5pbmdzIGNhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDQtMTYgMTg6NTA6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgMC4xMC4yOC4yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE2IDE4OjQ5OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgYmFja3VwIGNvZGUKCjIwMTEtMDQtMTYgMTg6Mjk6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE2IDE4OjI3OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VzLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vc2wucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTA0LTE2IDE4OjE3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZnVzZSBpbmNvbXBsZXRlIGxlZ2FjeSBoMjY0IGNhcHMKCSAgUmVmdXNlIGgyNjQgY2FwcyB3aXRob3V0IHN0cmVhbS1mb3JtYXQgYW5kIGNvZGVjX2RhdGEgZmllbGRzIGZvcgoJICBub3csIHRvIGF2b2lkIGNyZWF0aW5nIGJyb2tlbiBmaWxlcy4gVGhpcyBtaWdodCBjYXVzZSBzb21lIHBpcGVsaW5lcwoJICB0aGF0IHdvcmtlZCBwcmV2aW91c2x5IHRvIGZhaWwuIEhvd2V2ZXIsIHRoZSBtb3ZlIGZyb20gLWJhZCB0byAtZ29vZAoJICBpcyBvdXIgb25seSBjaGFuY2UgdG8gZml4IHRoaXMgdXAsIHNvIG1ha2UgaXQgc3RyaWN0IGZvciBub3cuIFdlIGNhbgoJICBhbHdheXMgY2hhbmdlIGl0IGJhY2sgdG8gYmUgbGVzcyBzdHJpY3QgaW4gZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3OTE5CgoyMDExLTA0LTE2IDE4OjE2OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggYW5vdGhlciB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nCgoyMDExLTA0LTE2IDE4OjEwOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBwdWxzZSwgc3BlZXhlbmMsIHJ0cGdzbXBheTogZG9uJ3QgdXNlIGdfYXNzZXJ0KCkgZm9yIGVycm9yIGhhbmRsaW5nCgkgIERvbid0IHVzZSBnX2Fzc2VydCgpIGZvciBlcnJvciBoYW5kbGluZywgZXZlbiBpZiB0aGV5J3JlIGhpZ2hseSB1bmxpa2VseS4KCSAgRWl0aGVyIHdlICprbm93KiB0aGF0IHNvbWV0aGluZyBjYW4ndCBoYXBwZW4sIGluIHdoaWNoIGNhc2Ugd2UKCSAgc2hvdWxkIGp1c3Qgbm90IGhhbmRsZSBpdCwgb3Igd2UgdGhpbmsgc29tZXRoaW5nIGNhbiBoYXBwZW4sIGJ1dCBpdCBpcwoJICB2ZXJ5IHZlcnkgdW5saWtlbHkgdGhhdCBpdCB3aWxsIGV2ZXIgaGFwcGVuLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZAoJICBoYW5kbGUgaXQgbGlrZSBhbnkgb3RoZXIgZXJyb3IgaW5zdGVhZCBvZiBhc3NlcnRpbmcuCgkgIGdfYXNzZXJ0KCkgaXMgYmVzdCBsZWZ0IGZvciBjb25kaXRpb25zIHdlIGhhdmUgY29udHJvbCBvZiwgbGlrZSBjaGVja2luZwoJICBpbnRlcm5hbCBjb25zaXN0ZW5jeSBvZiBvdXIgY29kZSwgbm90IGNoZWNraW5nIHJldHVybiB2YWx1ZXMgb2YgZXh0ZXJuYWwKCSAgY29kZS4KCSAgRml4ZXMgYSBidW5jaCBvZiB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVDoKCSAgZ3N0cnRwZ3NtcGF5LmM6IEluIGZ1bmN0aW9uICdnc3RfcnRwX2dzbV9wYXlfaGFuZGxlX2J1ZmZlcic6CgkgIGdzdHJ0cGdzbXBheS5jOjEzMDoxNzogd2FybmluZzogdmFyaWFibGUgJ3J0cGdzbXBheScgc2V0IGJ1dCBub3QgdXNlZAoJICBnc3RzcGVleGVuYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3NwZWV4X2VuY19lbmNvZGUnOgoJICBnc3RzcGVleGVuYy5jOjkwNDoxOTogd2FybmluZzogdmFyaWFibGUgJ3dyaXR0ZW4nIHNldCBidXQgbm90IHVzZWQKCSAgcHVsc2VzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfcHVsc2VzaW5rX2NoYW5nZV9zdGF0ZSc6CgkgIHB1bHNlc2luay5jOjI3MjU6OTogd2FybmluZzogdmFyaWFibGUgJ3Jlcycgc2V0IGJ1dCBub3QgdXNlZAoJICBwdWxzZXNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSc6CgkgIHB1bHNlc3JjLmM6MTI1Mzo3OiB3YXJuaW5nOiB2YXJpYWJsZSAnZScgc2V0IGJ1dCBub3QgdXNlZAoKMjAxMS0wNC0xNiAxODowNzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBleGFtcGxlczogZml4IHNvbWUgd2FybmluZ3MgaW4gcnRwIGV4YW1wbGUKCSAgQ2F1c2VkIGJ5IC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wNC0xNiAxNzo1NzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIGV4YW1wbGVzOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnRvIGdfYXNzZXJ0KCkKCSAgT3RoZXJ3aXNlIHRoaW5ncyB3b24ndCB3b3JrIHRvbyB3ZWxsIHdoZW4gY29tcGlsaW5nIHdpdGgKCSAgLURHX0RJU0FCTEVfQVNTRVJUIChhcyB3ZSBkbyBmb3IgcHJlLXJlbGVhc2VzIGFuZCByZWxlYXNlcykuCgoyMDExLTA0LTE2IDE2OjUxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGRlaW50ZXJsYWNlLCBtYXRyb3NrYTogZml4IHR3byB2YXJpYWJsZS1tYXktYmUtdXNlZC11bmluaXRpYWxpemVkIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFdlIHVzZSAtREdfRElTQUJMRV9BU1NFUlQgZm9yIHRoZSBwcmUtcmVsZWFzZXMsIHdoaWNoIG1ha2VzIHRoZXNlCgkgIHdhcm5pbmdzIHBvcCB1cCBpbiBjYXNlcyB0aGF0IHdlcmUgcHJldmlvdXNseSBjb3ZlcmVkIGJ5IGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCSAgYW5kIHRoZSBsaWtlOgoJICB0dnRpbWUvZ3JlZWR5aC5jOjgwMToxNDogd2FybmluZzogJ3NjYW5saW5lJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgbWF0cm9za2EtbXV4LmM6NTAxOjE5OiB3YXJuaW5nOiAnY29udGV4dCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDExLTA0LTE2IDE0OjQ1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IFBvcnQgdG8gMC4xMQoKMjAxMS0wNC0xNiAxMzozMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MtNC42CgoyMDExLTA0LTE2IDEzOjIzOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgZXhhbXBsZXM6IGZpeCAnY29udHJvbCByZWFjaGVzIGVuZCBvZiBub24tdm9pZCBmdW5jdGlvbicgd2FybmluZyBpbiBjYWlybyBleGFtcGxlCgoyMDExLTA0LTE1IDE1OjQ3OjI0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGUKCSAgVGhlIHY0bDJvYmplY3QgZm9ybWF0cyBsaXN0IHdhcyBiZWluZyBvYnRhaW5lZCBpbnRvIGEgbG9jYWwgdmFyaWFibGUgYW5kCgkgIHRoZW4gc3RpbGwgdXNlZCBmcm9tIHRoZSBjb250ZXh0LiBNYWtlIHVzZSBvZiB0aGUgbG9jYWwgdmFyaWFibGUuCgoyMDExLTA0LTE1IDE1OjE3OjM0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIG9zczQ6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBjb21wbGFpbnMgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4gVW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIHdlcmUgcmVtb3ZlZCBleGNlcHQgdGhhdCBnc3Rfb3NzNF9taXhlcl9zbGlkZXJfc2V0X211dGUgKCkgbm93IHJldHVybnMKCSAgdGhlIHZhbHVlIGZyb20gdGhlIGNhbGwgdG8gZ3N0X29zczRfbWl4ZXJfc2V0X2NvbnRyb2xfdmFsICgpLgoKMjAxMS0wNC0xNSAxNToxNDoxMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGpwZWdlbmM6IHB1bHNlc2luazogcmF3MTM5NDogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdXNhZ2Ugb2YgdmFyaWFibGVzLiBUaGUgdmFyaWFibGVzIGluCgkgIHJhdzEzOTQgd2VyZSBtYXJrZWQgd2l0aCBHX0dOVUNfVU5VU0VEIGFzIHRoaXMgc2VlbWVkIG9tcmUgYXBwcm9wcmlhdGUuCgkgIFRoZSBvdGhlcnMgd2VyZSByZW1vdmVkLgoKMjAxMS0wNC0xNSAxNToxMjo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBzaGFwZXdpcGU6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBjb21wbGFpbnMgYWJvdXQgc3VjaCB1c2FnZS4KCjIwMTEtMDQtMTUgMTU6MTE6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgdGVzdHM6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHVzYWdlIG9mIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTUgMTU6MzY6NDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogRml4IGFyZ2IvcmdiYSBvdmVybGF5IG9yYyBjb2RlCgkgIFJlbW92ZSBzb21lIHJlZHVuZGFudCBvcGVyYXRpb25zIChjb252dWJ3KSBhbmQgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlLAoJICB0MiwgaW4gdGhlIG9yY19vdmVybGF5X2JncmEgZnVuY3Rpb24uCgoyMDExLTA0LTE1IDE1OjMzOjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHZhcmlhYmxlcyB0aGF0IGFyZSBzZXQgYnV0IHVudXNlZC4gU3VjaAoJICB2YXJpYWJsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gYmxlbmQsIGNvbGxlY3RwYWRzMiBhbmQgdmlkZW9taXhlcjIuCgoyMDExLTA0LTE1IDE0OjU3OjIwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwLCBydHBtYW5hZ2VyOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgdmFyaWFibGVzIHRoYXQgYXJlIHVudXNlZCBidXQgc2V0LiBTdWNoCgkgIHZhcmlhYmxlcyBoYXZlIGJlZW4gcmVtb3ZlZCB3aGVyZSB0cml2aWFsIGJ1dCB3aXRoIGNvbW1lbnRzIGxlZnQgYmVoaW5kCgkgIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIGluIHNvbWUgY2FzZXMuCgkgIGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3AgKCkgd2FzIGNoYW5nZWQgaW4gY29tbWl0IDQ5MDExM2Q0CgkgIHRvIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfT0sgaW5zdGVhZCBvZiB0aGUgcmV0dXJuIHZhbHVlIG9mCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCAoKSwgc28gd2UnbGwga2VlcCBpdCB0aGF0IHdheS4KCjIwMTEtMDQtMTUgMTE6Mjk6MzAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguYzoKCSAgcXVpY2t0aW1lOiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLiBOb3RlIHRoYXQgc29tZQoJICBjYWxjdWxhdGlvbnMgYXJlIGxlZnQgYXMgY29tbWVudHMgZm9yIGluZm9ybWF0aXZlIHB1cnBvc2VzLgoKMjAxMS0wNC0xNSAxMToyMzozOCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4KCjIwMTEtMDQtMTUgMTE6MTk6MjYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IGR1cmF0aW9uIHZhcmlhYmxlCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLgoKMjAxMS0wNC0xNSAxMToxODoxOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHhkZW11eDogUmVtb3ZlIHVudXNlZCBidXQgc2V0IGtleWZyYW1lIHZhcmlhYmxlcwoJICBUaGUgRklYTUVzIGFib3V0IHRoZSBrZXlmcmFtZSBmbGFnIG5ldmVyIGJlaW5nIHVzZWQgYXJlIGxlZnQgZm9yIGxhdGVyCgkgIGZpeGluZywgYXQgd2hpY2ggcG9pbnQgdGhlIGtleWZyYW1lIHZhcmlhYmxlcyBjb3VsZCBiZSBhZGRlZCBiYWNrLgoKMjAxMS0wNC0xNSAxMToxNjo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBoZWlnaHQgdmFyaWFibGUKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGVzLgoKMjAxMS0wNC0xNSAxODo1MToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVwZGF0ZSBmb3IgZ3N0X2Jhc2VfcGFyc2VfZnJhbWVfaW5pdCgpIEFQSSBjaGFuZ2UKCjIwMTEtMDItMDEgMTU6NTc6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGV4aXN0aW5nIGZ1bmN0aW9ucyB0byBwYXJzZSBSVENQIEZCIHBhY2tldHMKCSAgVXNlIGV4aXN0aW5nIGZ1bmN0aW9ucyB0byBnZXQgdGhlIEZDSSBmcm9tIEZCIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI1NTMKCjIwMTEtMDItMDEgMTY6MjM6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbWFyc2hhbCBHc3RCdWZmZXIgYXMgYSBNaW5pT2JqZWN0IGluc3RlYWQgb2YgYSBwb2ludGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI1NTMKCjIwMTEtMDQtMTQgMjM6MjQ6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEJldHRlciBjYWxjdWxhdGlvbiBvZiBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzgzMwoKMjAxMS0wNC0xMyAxMjozNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZWZhdWx0IHRvIGR0cy1tZXRob2Q9cmVvcmRlciBhbmQgcHJlc2VudGF0aW9uLXRpbWU9dHJ1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTE1IDEyOjQ3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogdGVzdCB2YXJpb3VzIGR0cy1tZXRob2RzCgoyMDExLTA0LTE1IDEyOjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBjb3JuZXIgY2FzZSBidWZmZXIgaGFuZGxpbmcgZm9yIHJlb3JkZXIgbWV0aG9kCgoyMDExLTA0LTE0IDEzOjQ3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGxlYWsgdGhlIFNFRUtJTkcgcXVlcnkKCjIwMTEtMDQtMTQgMTM6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5oOgoJICBxdG1vb3ZyZWNvdmVyOiBEb24ndCBsZWFrIHRoZSBzdGF0aWMgcmVjdXJzaXZlIG11dGV4CgoyMDExLTA0LTE0IDEzOjM3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJICB2NGwycmFkaW86IEZyZWUgdmlkZW9kZXYgc3RyaW5nIGJlZm9yZSByZXBsYWNpbmcgaXQKCjIwMTEtMDQtMTQgMTM6MjQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IEFsbG93IHdlYm0gYW5kIG1hdHJvc2thIGNhcHMgYW5kIGRvbid0IGxlYWsgY2FwcwoKMjAxMS0wNC0xNCAwNzozNToyOSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgQWRkIHBhcnNlciBwbHVnaW4KCjIwMTEtMDQtMTMgMjE6NTg6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZjogTW92ZSBkdXBsaWNhdGUgI2RlZmluZXMgaW50byBhIGNvbW1vbiBpbmNsdWRlCgkgIENlbnRyYWxpemUgZHVwbGljYXRlZCBjb25zdGFudHMgc28gdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlLgoJICBBbHNvIHN0YW5kYXJkaXNlIG1pbmltdW0gdG9uZSBkdXJhdGlvbiB0byAyNTBtcyBhbmQgbWluaW11bSBpbnRlci10b25lCgkgIGludGVydmFsIHRvIDEwMG1zLgoKMjAxMS0wMy0yNCAxNDozNDoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAZW50cm9weXdhdmUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEFkZCBjb25kaXRpb25hbHMgb24gV0FWRV9GT1JNQVRfRE9MQllfQUMzX1NQRElGCgoyMDExLTA0LTExIDIwOjA5OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTEgMjA6MDU6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgd2l0aCBnY2MgNC42CgkgIE1vc3QgbGlrZWx5IGEgbGVmdG92ZXIgZnJvbSB3aGVuIHRoZSBpbmRleCBwYXJzaW5nIGNvZGUgd2FzIHJld3JpdHRlbi4KCjIwMTEtMDQtMTEgMTk6NTQ6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgd2l0aCBnY2MgNC42CgoyMDExLTA0LTExIDE5OjUwOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBmaXggaGFuZGxpbmcgb2YgWVVWIGltYWdlcyB3aXRoICdvZGQnIHdpZHRocwoJICBGaXhlcyB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYuCgoyMDExLTA0LTExIDE5OjQ5OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTEzIDE4OjExOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5je2JhbmQsbGltaXR9OiBGaXggY2hlY2sgZm9yIGRpdmlzb24gYnkgemVybwoKMjAxMS0wNC0xMyAxODowMTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogRml4IHJhbmdlIG9mIGtlcm5lbCBlbGVtZW50cyAobGltIC0+IGxpbS0xKQoKMjAxMS0wNC0xMyAxODowMDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBBZGQgc29tZSBtb3JlIGJyYWNlcyB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUKCjIwMTEtMDQtMTEgMTg6NDA6MzAgLTA1MDAgIEpvcmRpIEJ1cmd1ZXQtQ2FzdGVsbCA8am9yZGkuYnVyZ3VldC1jYXN0ZWxsQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogRml4IHJhbmdlIG9mIGtlcm5lbCBlbGVtZW50cyAobGltIC0+IGxpbS0xKSBpbiBoaWdoL2xvdy1wYXNzIGZpbHRlcnMKCjIwMTEtMDQtMTMgMTc6NDk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IEFkZCBuZXcgd2luZG93aW5nIGZ1bmN0aW9uczogZ2F1c3NpYW4sIGNvcyBhbmQgaGFubgoKMjAxMS0wNC0xMSAxODo0MTo0MyAtMDUwMCAgSm9yZGkgQnVyZ3VldC1DYXN0ZWxsIDxqb3JkaS5idXJndWV0LWNhc3RlbGxAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWltdDogQWRkIG5ldyB3aW5kb3dzIHRvIGhpZ2gvbG93LXBhc3MgZmlsdGVyczogZ2F1c3NpYW4sIGNvc2luZSwgaGFubgoKMjAxMS0wNC0xMyAxNjo0NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2V0IHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0gb24gaDI2NCBjYXBzIGlmIHRoZXJlJ3Mgbm8gY29kZWMgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDExLTA0LTEzIDE2OjM3OjA3ICswMTAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogcmVzdHJpY3QgaDI2NCBzb21lIG1vcmUgdG8gb25seSBhY2NlcHQgQVUtYWxpZ25lZCBBVkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMS0wNC0xMyAxNzoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBUaGUgVkJSSSBoZWFkZXIgaXMgYWx3YXlzIGF0IG9mZnNldCAweDIwLCBpbmRlcGVuZGVudCBvZiBNUEVHIHZlcnNpb24KCSAgQWxzbyBjbGVhbiB1cCBhZHZhbmNpbmcgb2YgdGhlIGRhdGEgcG9pbnRlciBhIGJpdC4KCSAgRml4ZXMgYnVnICM2NDc2NTkuCgoyMDExLTA0LTEzIDE1OjE4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IGFkZCB2YXJpYW50LWxlc3MgdmlkZW8vcXVpY2t0aW1lIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2FwcwoJICBUaGlzIGlzIG5lZWRlZCBmb3IgYXV0b21hdGljIHRyYW5zY29kaW5nIHVzaW5nIGVuY29kZWJpbi4gT3VyIHR5cGVmaW5kZXIKCSAgZG9lcyBub3QgYWx3YXlzIGFkZCBhIHZhcmlhbnQgdG8gdGhlIGZvdW5kIGNhcHMsIGFuZCBlbmNvZGViaW4gbmVlZHMKCSAgYW4gKmV4YWN0KiBtYXRjaCB0byB0aGUgY2FwcyBvbiB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSwgc28gd2UgbmVlZAoJICB0byBhZGQgdGhlIHZhcmlhbnQtbGVzcyB2aWRlby9xdWlja3RpbWUgY2FwcyB0byB0aGUgdGVtcGxhdGUgYXMgd2VsbAoJICBmb3IgZW5jb2RlYmluIHRvIGJlIGFibGUgdG8gZmluZCBpdC4gQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyODc5CgoyMDExLTA0LTEzIDE2OjE3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgaW50ZXJwcmV0ZSB0aGUgcmVzdWx0IG9mIHN0cmNtcCgpCgoyMDExLTA0LTEzIDE2OjA5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRG9uJ3Qgc3RvcmUgaW1hZ2UgdGFncyBpbnNpZGUgdGhlIHZvcmJpc2NvbW1lbnRzIGFuZCB0aGUgZmxhYyBtZXRhZGF0YQoJICBJbnN0ZWFkIG9ubHkgc3RvcmUgdGhlbSBpbnNpZGUgdGhlIGZsYWMgbWV0YWRhdGEuIFRoZXJlJ3MKCSAgbm8gcG9pbnQgaW4gc3RvcmluZyB0aGVtIHR3aWNlIGFuZCB0aGUgZmxhYyBtZXRhZGF0YSBpcwoJICBzdGlsbCB0aGUgb2ZmaWNpYWwgd2F5IHRvIHN0b3JlIGltYWdlIHRhZ3MgaW5zaWRlIGZsYWMuCgoyMDExLTA0LTEzIDEyOjM4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBxdG11eC1yZWxhdGVkIHRlc3QgYmluYXJpZXMKCjIwMTEtMDQtMTMgMTE6MjU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkqIGdzdC9xdWlja3RpbWUvcXVpY2t0aW1lLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBxdWlja3RpbWU6IG1vdmUgcXRtdXggcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTEyIDE2OjQyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIGxlZnRvdmVyIE1BRU1PX0JST0tFTiBkZWZpbmVzCgkgIFJlbW92ZSBkZWZpbmVzIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gb2xkIE1hZW1vIHJlbGVhc2VzCgoyMDExLTA0LTA0IDEyOjIxOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vcmUgaGVscGZ1bCBkZWJ1ZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8gbmVlZGVkIGR1cmF0aW9uIG9uIGlucHV0IGJ1ZmZlcnMKCSAgRml4ZXMgIzY0NjI1Ni4KCjIwMTEtMDMtMjEgMTA6NTY6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlCgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSBzdXBwb3J0IHRvIHF0bXV4CgoyMDExLTAzLTIyIDIwOjUzOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYWxzbyAjNDMyNjEyLgoKMjAxMS0wMy0xMCAxNjowMzo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIGZvciBQVFMgbWV0YWRhdGEgd2hlbiBzbyBjb25maWd1cmVkCgkgIC4uLiBhbmQgbm90IG9ubHkgd2hlbiBzb3J0LW9mIGZlZWxpbmcgbGlrZSBpdC4KCSAgSW4gYW55IGNhc2UsIGlmIGl0IHR1cm5zIG91dCBhbGwgcmVhbGx5IGlzIGluIG9yZGVyLAoJICBhbmQgcHJlc3VtYWJseSBEVFMgPT0gUFRTLCB0aGVuIG5vIGN0dHMgd2lsbCBiZSBwcm9kdWNlZCBhbnl3YXkuCgoyMDExLTAzLTEwIDE2OjAyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsc28gdHJhY2sgb3JpZ2luYWwgUFRTIGJ1ZmZlciB0aW1lc3RhbXAgaW4gcmVvcmRlciBkdHMtbWV0aG9kCgoyMDExLTAyLTIxIDEyOjE0OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkODc0MDQ3NmNjZDNhMzQ5OGRjNGYxOGMxOTczMzY0MzgyNWM3YjguCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMCAyMzo1NzoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDEtMTMgMTE6Mjg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdDogcXRtdXg6IFRlc3RzIHF0bXV4IHJldXNlCgkgIEZvcmNlcyB0aGUgdXNlIG9mIHF0bXV4IGFmdGVyIGl0IGhhcyBiZWVuIHB1dCB0byBQTEFZSU5HIGFuZCBiYWNrCgkgIHRvIE5VTEwgb25jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEzIDE1OjI3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzcmMgcGFkcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgLi4uIHJhdGhlciB0aGFuIGF0IF9pbml0IHRpbWUsIHNvIHRoZXkgYXJlIGFsc28gYXZhaWxhYmxlIGZvbGxvd2luZyBhCgkgIHBhZCAoZGUpYWN0aXZhdGlvbiBjeWNsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0wMyAxNzoyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkanVzdCBuYXN0eSBjYXNlIHRpbWVzdGFtcCB0cmFja2luZwoJICBUaGF0IGlzLCBhbGwgc29ydHMgb2YgcHJvYmxlbXMgYXJpc2Ugd2l0aCByZS1vcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMgdGhhdAoJICB0ZW5kIHRvIGRlZnkgYXV0b21hZ2ljIGhhbmRsaW5nIGZvciBldmVyeSBjYXNlLCBzbyBhbGxvdyBmb3IgYSBmZXcgdmFyaWF0aW9ucwoJICB0aGF0IGNhbiBiZSB0cmllZCBkZXBlbmRpbmcgb24gY2lyY3Vtc3RhbmNlcy4KCSAgQWxzbyB0cnkgdG8gZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgkgIEFsc28gZml4ZXMgIzYzODI4OC4KCjIwMTAtMTItMzAgMjE6NDg6NDEgKzAyMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ2V0IHJpZCBvZiB0aW1lc3RhbXAgb3ZlcnByb3RlY3RpdmVuZXNzCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wMS0wMyAxNjo1Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IGFuZCBmaXggcHRzX29mZnNldCBzdG9yaW5nCgkgIEluIHBhcnRpY3VsYXIsIG9ubHkgd3JpdGUgYSBjdHRzIGF0b20gaWYgYW5kIG9ubHkgaWYgZXZlciBhIG5vbi16ZXJvIG9mZnNldC4KCjIwMTEtMDEtMDMgMTA6NDM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHNvbWUgbW9yZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE1OjIzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBsYXJnZS1maWxlIHByb3BlcnR5CgkgIFJhdGhlciwgYXV0by1kZXRlcm1pbmUgaWYgNjQtYml0cyBmaWVsZHMgYXJlIG5lZWRlZCBmb3IgYSB2YWxpZCByZXN1bHQsIGFuZAoJICBzdGljayB0byBwbGFpbiAzMi1iaXRzIGlmIG5vdCBuZWVkZWQuCgkgIEFQSTogR3N0UVRNdXg6bGFyZ2UtZmlsZSAocmVtb3ZlZCkKCjIwMTAtMTItMTkgMTI6NTM6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBBdG9tSW5mbyBzdHJ1Y3RzCgoyMDEwLTEyLTE5IDEyOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgdGFnIHN0cmluZyBhZnRlciB1c2UKCjIwMTAtMTItMTkgMTI6MTI6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IEZpeCBzb21lIG1vcmUgbWVtb3J5IGxlYWtzCgoyMDEwLTEyLTE3IDE5OjQxOjI1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbGxvdyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoKMjAxMC0xMi0wMyAxODowOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMSAxMDo0NTo0OSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXN2YyBmdHJ1bmNhdGUgaW5jb21wYXRpYmlsaXR5CgkgIEZpeGVzICM2MzYxODUuCgoyMDEwLTExLTI3IDE2OjA3OjE5IC0wNjAwICBBbGVqYW5kcm8gR29uemFsZXogPGFnb256YWxlekBkZXh0cmF0ZWNoLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdzdF9xdG11eF9jaGVja19kaWZmZXJlbmNlIHZlcmlmeSBiZWZvcmUgc3VidHJhY3QKCSAgQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgYnkgY2hlY2tpbmcgdGhlIG9yZGVyIG9mIG9wZXJhbmRzCgkgIG9uIHN1YnRyYWN0aW9uIG9mIHVuc2lnbmVkIGludGVnZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODc4CgoyMDEwLTExLTE5IDE3OjU1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSByZW1uYW50IG9mIG9ic29sZXRlIHByb3BlcnR5CgoyMDEwLTExLTE5IDE1OjE4OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWxzbyB1bml0IHRlc3QgZnJhZ21lbnRlZCBmaWxlIGNhc2VzCgoyMDEwLTA3LTMwIDEyOjQ4OjI5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWxsb3cgc3BlY2lmeWluZyB0cmFrIHRpbWVzY2FsZQoJICBUaGlzIGlzIG1haW5seSBiZWNhdXNlIFNtb290aHN0cmVhbWluZyBjbGllbnQgYXJlIGJyb2tlbiBhbmQgZG9uJ3QKCSAgdGFrZSB0aGUgVGltZVNjYWxlIHByb3BlcnR5IGludG8gYWNjb3VudC4KCjIwMTAtMTEtMTkgMTc6NDE6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgc2R0cCBhdG9tcyBmb3IgaXNtdiBmcmFnbWVudGVkIGZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xOSAxOToxNzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmFibGUgZGVmYXVsdCBmcmFnbWVudGVkIGZpbGUgZm9yIGlzbWxtdXgKCjIwMTAtMDktMDIgMTM6NTg6MDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBpc21sbXV4LCBmb3IgZnJhZ21lbnRlZCBpc21sIG1ham9yIGJyYW5kCgoyMDEwLTExLTE5IDE0OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpbmFsaXplIHNpbmtwYWRzIGxpc3QKCjIwMTAtMDctMjIgMTk6NDA6MDcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG1vb3YgaW4gc3RyZWFtaGVhZGVyCgoyMDEwLTA4LTA2IDEzOjI2OjI3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIHN0cmVhbWFibGUgcHJvcGVydHkgdG8gYXZvaWQgYnVpbGRpbmcgZnJhZ21lbnRlZCBtZnJhIGluZGV4CgoyMDEwLTExLTE4IDE2OjQ4OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBtZnJhIHRvIGZyYWdtZW50ZWQgZmlsZQoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTUgMTU6MTc6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogb3B0aW9uYWxseSBjcmVhdGUgZnJhZ21lbnRlZCBmaWxlCgkgIEluIHRoaXMgbW9kZSwgYW4gaW5pdGlhbCBlbXB0eSBtb292IChjb250YWluaW5nIG9ubHkgc3RyZWFtIG1ldGFkYXRhKSBpcyB3cml0dGVuLAoJICBmb2xsb3dlZCBieSBmcmFnbWVudHMgY29udGFpbmluZyBhY3R1YWwgZGF0YSAoYWxvbmcgd2l0aCByZXF1aXJlZCBtZXRhZGF0YSkuCgkgIE5ldyBmcmFnbWVudHMgYXJlIHN0YXJ0ZWQgZWl0aGVyIGF0IGtleWZyYW1lIChpZiBzdWNoIGFyZSBzcGFyc2UpIG9yIHdoZW4KCSAgcHJvcGVydHkgY29uZmlndXJlZCBkdXJhdGlvbiBleGNlZWRlZC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIEZpeGVzICM2MzI5MTEuCgoyMDEwLTExLTE1IDE1OjEyOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHVzZSBoZWxwZXIgdG8gc2V0IGF0b20gZmxhZ3MgZnJvbSBnaXZlbiB1aW50CgoyMDEwLTExLTA5IDE2OjQ5OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGNvbmZpZ3VyaW5nIGFuZCBzZW5kaW5nIG9mIG1vb3YKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTA5IDE1OjU0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGV4dHJhIHRvcC1sZXZlbCBhdG9tIGhhbmRsaW5nCgkgIEFsc28gY2hlY2sgYSBiaXQgbW9yZSBmb3IgcG9zc2libGUgZXJyb3JzLCBhbmQgZnJlZSBwcm9wZXIgaXRlbXMgaW4gc3VjaCBjYXNlLgoKMjAxMC0xMS0wOSAxNTowMToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBzbGlnaHRseSB1c2luZyBidWZmZXIgaGVscGVyCgoyMDEwLTExLTA1IDEzOjQ4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgY29tbWVudAoKMjAxMC0xMS0wNSAxMjowODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZGVsZWdhdGUgbXZleCBoYW5kbGluZyB0byBhdG9tcwoJICAuLi4gd2hpY2gga2VlcHMgcXRtdXggc2ltcGxlci4KCjIwMDktMDktMjggMTY6MTE6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtdmV4L3RyZXggaW4gaGVhZGVyIGlmIGZyYWdtZW50ZWQKCSAgT25lICJ0cmV4IiBpcyBhZGRlZCBwZXIgInRyYWsiLiBXZSBkb24ndCBzdXBwb3J0IGRlZmF1bHQgdmFsdWVzLAoJICBidXQgdGhlICJ0cmV4IiBib3ggaXMgbWFuZGF0b3J5LgoKMjAwOS0wOS0yOCAxMzowMTozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIGEgY291cGxlIG9mIGZvdXJjYyBmb3IgZnJhZ21lbnRlZCBtcDQKCjIwMTAtMTEtMDUgMTE6MDg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgcmVtb3ZpbmcgdGVtcCBmaWxlIHdoZW4gZXJyb3Igb2NjdXJyZWQKCjIwMDktMDktMzAgMTc6MTY6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdHJ1bmNhdGUgYnVmZmVyIGZpbGUgYWZ0ZXIgZWFjaCBzZW5kCgoyMDA5LTA5LTI4IDE2OjUzOjUxICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB0ZW1wIGZpbGUgd2hlbiByZXNldC9maW5hbGl6ZQoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTMgMTc6NDc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gYWRqdXN0aW5nIGZyYW1lcmF0ZQoJICBGaXhlcyAjNjMyMDcwLgoKMjAxMC0xMC0wMyAyMzo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBxdG11eCBwcm9wZXJ0aWVzCgoyMDEwLTA5LTE1IDE3OjU0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEZvbGxvdyB4bXAgc2VyaWFsaXphdGlvbiBndWlkZWxpbmVzIGNsb3NlcgoJICBxdCBhbmQgaXNvbSB2YXJpYW50cyBoYXZlIGRpZmZlcmVudCB3YXlzIG9mIHNlcmlhbGl6aW5nCgkgIHhtcCwgZm9sbG93IHRoZXNlIGd1aWRlbGluZXMuCgkgIFRob3NlIGNhbiBiZSBmb3VuZCBpbiBBZG9iZSdzIHhtcCBkb2NzLgoKMjAxMC0wOC0xNiAxMjozNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdXRvZGV0ZWN0IG91dC1vZi1vcmRlciBpbnB1dCB0aW1lc3RhbXBzIGFuZCBkZXRlcm1pbmUgRFRTIGFjY29yZGluZ2x5CgkgIEZhdm91ciB1c2luZyBpbnB1dCBidWZmZXIgdGltZXN0YW1wcyBmb3IgRFRTLCBidXQgZmFsbGJhY2sgdG8gdXNpbmcgYnVmZmVyCgkgIGR1cmF0aW9uIChhY2N1bXVsYXRpb24pIGlmIGlucHV0IHRzIGRldGVjdGVkIG91dC1vZi1vcmRlci4KCSAgRml4ZXMgIzYyNDIxMi4KCjIwMTAtMDctMjggMTY6MTU6NTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNhcHMgYml0cmF0ZSBhdCBsYXN0IGNoYW5jZQoJICBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBzdHJlYW0ncyBiaXRyYXRlIGZyb20gb25lIG9mIHRoZSBhdG9tcywKCSAgdHJ5IGdldHRpbmcgaXQgZnJvbSB0aGUgY2FwcyBhcyBhIGxhc3QgcmVzb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI4IDE2OjEyOjExICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGJ0cnQgLSBtYXggYml0cmF0ZSBiZWZvcmUgYXZlcmFnZQoJICBBY2NvcmRpbmcgdG8gaXNvIGJhc2UgbWVkaWEgZmlsZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZQoJICBpcyBiZWZvcmUgdGhlIGF2ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTA2IDE0OjQ4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSAnYnRydCcgYXRvbSBmb3IgSC4yNjQgbWVkaWEgaWYgcG9zc2libGUKCSAgVGhpcyB3cml0ZXMgb3V0IHRoZSBvcHRpb25hbCAnYnRydCcgYXRvbSAoTVBFRzRCaXRyYXRlQm94KSBmb3IgSC4yNjQKCSAgbWVkaWEgaWYgZWl0aGVyIG9yIGJvdGggb2YgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlIGFyZSBhdmFpbGFibGUgZm9yCgkgIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDUgMTQ6MDk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogV3JpdGUgYXZnL21heCBiaXRyYXRlIHRvIEVTRFMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgY29sbGVjdHMgdGhlICdiaXRyYXRlJyBhbmQgJ21heGltdW0tYml0cmF0ZScgdGFncyBvbiB0aGUKCSAgY29ycmVzcG9uZGluZyBwYWQgYW5kIHVzZXMgdGhlc2UgdG8gcG9wdWxhdGUgdGhlc2UgZmllbGRzIGluIHRoZSBFU0RTCgkgIHdoZXJlIGFwcGxpY2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDIgMTI6NDU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1c2UgYm9ndXMgY29kZWMvZm9ybWF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NQoKMjAxMC0wNi0yNSAyMDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB1aW50IHRhZ3MgdGhhdCBkb24ndCBoYXZlIGEgY29tcGxlbWVudAoJICBXcml0ZSB1aW50IHRhZ3MgdGhhdCBoYXZlIGNvbXBsZW1lbnRzIChlLmcuIHRyYWNrLW51bWJlci8KCSAgdHJhY2stY291bnQpIGV2ZW4gd2hlbiB3ZSBvbmx5IGhhdmUgb25lIG9mIHRoZW0gYXZhaWxhYmxlCgkgIGFuZCBzZXQgdGhlIG90aGVyIG9uZSB0byAwLgoJICBGaXhlcyAjNjIyNDg0CgoyMDEwLTA2LTIxIDE5OjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIHRoZSBwYWQgZnJvbSBvdXIgaW50ZXJuYWwgbGlzdCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0cGFkcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGVuZCB1cCB3aXRoIHRoZSBjb2xsZWN0cGFkZGF0YSBzdHJ1Y3R1cmUgYWxyZWFkeSBmcmVlZC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYSBib2d1cyBpdGVyYXRpb24gb2YgbXV4LT5zaW5rcGFkcyAoYWxsIHRoZQoJICBHc3RRVFBhZCBiZWluZyBmcmVlZCkgYW5kIGl0IHdvdWxkbid0IGJlIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QuCgkgIEZpbmFsbHksIGR1ZSB0byBpdCBub3QgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdCwgd2Ugd291bGQgZW5kIHVwCgkgIGNhbGxpbmcgYSBib2d1cyBnc3RfcXRfbXV4X3BhZF9yZXNldCBvbiB0aG9zZSBzdHJ1Y3R1cmVzID0+IFNFR0ZBVUxUCgoyMDEwLTA1LTEyIDE4OjUwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIFZQOAoKMjAxMC0wNS0xMSAxMzoxNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBkb24ndCBmYWlsIHRhZ3NjaGVja2luZyB0ZXN0IGlmIHF0ZGVtdXggaXMgbm90IGF2YWlsYWJsZSBvciB0b28gb2xkCgoyMDEwLTAzLTI3IDA5OjQ2OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IHVzZSBHU3RyZWFtZXIgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4gaW4gdGhlIHBsdWdpbiBpbmZvCgoyMDEwLTAzLTIzIDE3OjM0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogTmV3IHRhZ3MgdGVzdHMKCSAgQWRkcyBuZXcgdGFncyBjaGVja2luZyB0ZXN0cy4KCjIwMTAtMDMtMjUgMDA6MjA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xMiAxMToyODo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IEltcHJvdmVtZW50cyBhbmQgbmV3IGdlby1sb2NhdGlvbiB0ZXN0cwoJICBNYWtlcyBzb21lIGltcHJvdmVtZW50cyB0byB0YWdzY2hlY2tpbmcuYywgbWFraW5nIGl0IHVzZQoJICBmYWtlc3JjIGluc3RlYWQgb2YgdmlkZW90ZXN0c3JjIGFuZCBhbGxvd2luZyB0byBzZXQgaW5wdXQKCSAgY2FwcyBzbyB0aGF0IG1vcmUgbXV4ZXJzIGNhbiBiZSB1c2VkLiBQcmV2aW91c2x5IHdlIGNvdWxkCgkgIG9ubHkgdXNlIHRob3NlIHRoYXQgYWNjZXB0ZWQgcmF3IHZpZGVvIGNhcHMuCgkgIEFsc28gYWRkcyBzb21lIHRlc3RzIGZvciBnZW8tbG9jYXRpb24gdGFncwoKMjAxMC0wMy0xMiAxMDo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgeG1wIG9uIG1wNG11eCBhbmQgZ3BwbXV4IHRvbwoJICBEbyBub3QgcmVzdHJpY3QgeG1wIHRvIHF0bXV4LCBidXQgdXNlIGl0IHRvbwoJICBvbiBtcDRtdXggYW5kIGdwcG11eAoKMjAxMC0wMy0wNSAxMzozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGNoZWNrOiB0YWdzY2hlY2tpbmc6IHRlc3RzIGZvciB0YWdzIHNlcmlhbGl6YXRpb24gaW4gbXV4ZXJzCgkgIEFkZHMgYSBjaGVjayB1bml0IHRlc3QgdGhhdCBhaW1zIHRvIHRlc3QgdGFncyBzZXJpYWxpemF0aW9uCgkgIGFuZCBkZXNlcmlhbGl6YXRpb24gY29uc2lzdGVuY3kgKGluIG11eGVycykuIEl0IHByb3ZpZGVzIGEKCSAgYmFzaWMgZnVuY3Rpb24gdGhhdCBhbGxvd3Mgb25lIHRvIGVhc2lseSBzcGVjaWZ5IHRhZ3MsIGEKCSAgbXV4ZXIgYW5kIGEgZGVtdXhlciBhbmQgYSB0ZXN0IHdpbGwgYmUgZG9uZSB0byBjaGVjayBpZgoJICB0aGUgdGFncyBoYXZlIGJlZW4gY29uc2lzdGVudGx5IG11eGVkIGFuZCBkZW11eGVkCgoyMDEwLTAyLTIyIDE2OjQ1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgeG1wIHN1cHBvcnQKCSAgQWRkcyB4bXAgbWV0YXRhZ3MgYWRkaW5nIHRvIHF0bXV4LgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDE3OjE3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIFdlIG5lZWQgdG8gcGFzcyAoTlVMTCkgcmF0aGVyIHRoYW4gTlVMTCBmb3IgZW1wdHkgYXJndW1lbnRzLgoKMjAxMC0wMy0xMCAxMDoyMzoyMyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoyNjg6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAyLTIyIDE5OjM4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IFJlbmFtZSAnYXZjLXNhbXBsZScgdG8gJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTI2IDExOjUwOjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFRha2UgbG9jayBhcm91bmQgdXNlIG9mIChub24tdGhyZWFkc2FmZSkgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMTAtMDItMjIgMTY6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogd3JpdGUgYWxsIHVkdGEgY2hpbGRyZW4gYXRvbXMKCSAgVURUQSBtaWdodCBoYXZlIE1FVEEgYW5kIG90aGVyIGNoaWxkcmVuIGF0b21zCgkgIHRvZ2V0aGVyLCB3cml0ZSB0aGVtIGFsbC4KCjIwMTAtMDItMjIgMTA6NDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgaW50ZXJuYWwgc2luayBwYWRzIGxpc3QKCSAgRHVlIHRvIEdzdENvbGxlY3RQYWRzIHNpbmsgcGFkcyBsaXN0IGJlaW5nIG5vdCByZWxpYWJseQoJICBpdGVyYXRhYmxlICh3aGVuIG5vdCBpbnNpZGUgdGhlIGNvbGxlY3RlZCBmdW5jdGlvbikgdGhpcwoJICBwYXRjaCBhZGRzIGEgc2luayBwYWRzIGxpc3QgdG8gcXRtdXggdG8gYmUgdXNlZCB3aGVuIGl0ZXJhdGluZwoJICBzaW5rIHBhZHMgb24gcmVzZXQgZnVuY3Rpb24uCgkgIEZpeGVzICM2MDkwNTUKCjIwMTAtMDItMTYgMTc6MTM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogcHJldmVudCBsZWFraW5nIGhkbHIgbmFtZQoKMjAxMC0wMi0xNiAxNjoyNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBBTEFDCgkgIEZpeGVzICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE0OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGJ1aWxkaW5nIHN0c2QgZW50cnkgJ3dhdmUnIGV4dGVuc2lvbgoKMjAxMC0wMi0wOCAxMTo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IGF0b21zcmVjb3Zlcnk6IEZpeCBjb21waWxhdGlvbiBwcm9ibGVtCgkgIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3IgZHVlIHRvIHVudXNlZCBmdW5jdGlvbiByZXN1bHQuCgoyMDA5LTEyLTEyIDE2OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IEFkZHMgbW9vdiByZWNvdmVyeSBmZWF0dXJlCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gcXRtdXggdGhhdCBzZXRzIGEgcGF0aCB0byBhIGZpbGUgdG8gd3JpdGUKCSAgYW5kIHVwZGF0ZSBkYXRhIGFib3V0IHRoZSBtb292IGF0b20gKHRoYXQgaXMgbm90IHdyaXRlbiB0aWxsIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUpLiBJZiB0aGUgcGlwZWxpbmUvYXBwIGNyYXNoZXMgZHVyaW5nIGV4ZWN1dGlvbiBpdAoJICBtaWdodCBiZSBwb3NzaWJsZSB0byByZWNvdmVyIHRoZSBtb3ZpZSB1c2luZyB0aGUgcXRtb292cmVjb3ZlciBlbGVtZW50LgoJICBxdG1vb3ZyZWNvdmVyIGlzIGFuIGVsZW1lbnQgdGhhdCBpcyBhbHNvIGEgcGlwZWxpbmUuIEl0IGlzIG5vdAoJICBtZWFudCB0byBiZSB1c2VkIHdpdGggb3RoZXIgZWxlbWVudHMgKGl0IGhhcyBubyBwYWRzKS4gSXQgaXMgbWVyZWx5CgkgIGEgdG9vbC91dGlsaXRhcnkgdG8gcmVjb3ZlciB1bmZpbmlzaGVkIHF0bXV4IGZpbGVzLgoJICBGaXhlcyAjNjAxNTc2CgoyMDEwLTAxLTI3IDE5OjA2OjUzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGZvciBmaXhlZC1zYW1wbGUgc2l6ZSBzdHJlYW1zIChQQ00gYXVkaW8sIGV0YykgZG9uJ3QgYWxsb2NhdGUgYW4gZW5vcm1vdXMgYnVmZmVyIHRoYXQgd2UgdGhlbiB3b24ndCB1c2UgYXQgYWxsLgoKMjAxMC0wMS0yNyAxNTozNzozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXV4aW5nIGFkcGNtIGNvcnJlY3RseS4KCjIwMTAtMDEtMjIgMTM6MzY6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogU2V0IHRoZSBtZGlhIGhkbHIgbmFtZSBmaWVsZCB0byB3aGF0IHF1aWNrdGltZSB1c2VzLiBGaXggd3JpdGluZyBpdCBzaW5jZSBpdCdzIG5vdCBudWxsLXRlcm1pbmF0ZWQuIEltcHJvdmVzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGhhcmR3YXJlIHBsYXllcnMuCgoyMDEwLTAxLTIyIDEzOjMwOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuZGlhbm5lc3MgaW4gZ3N0cmVhbWVyIGlzIGFuIGludCwgbm90IGJvb2xlYW4uCgoyMDEwLTAxLTI2IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICBxdG11eDogc3RyZWFtbGluZSBtb292IGRhdGEgbWVtb3J5IHN0b3JhZ2UKCSAgSW4gcGFydGljdWxhciwgdXNlIGFycmF5cyByYXRoZXIgdGhhbiAoZG91YmxlKSBsaW5rZWQgbGlzdHMuCgoyMDEwLTAxLTI2IDEzOjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMjAgMTM6MzA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgW2NsZWFudXBdIFZhcmlvdXMgc3R5bGUgYW5kIGNsZWFudXBzCgkgIFZhcmlvdXMgZml4ZXMgZm9yIGd0ay1kb2Mgd2FybmluZ3MgYW5kIG1ha2luZyBmdW5jdGlvbnMgd2l0aG91dAoJICBhcmd1bWVudHMgdGFrZSB2b2lkIGFzIHBhcmFtZXRlci4KCjIwMTAtMDEtMTQgMDg6MDk6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY3R1YWxseSB1c2UgbmV3IGNhcHMgaW5mbyBvbiByZW5lZ290aWF0aW9uCgkgIEZvbGxvd2luZyB0aGUgcHJldmlvdXMgcXRtdXggY29tbWl0LCB0aGlzIHBhdGNoIHRyaWVzCgkgIHRvIHVzZSB0aGUgbmV3IGluZm8gYWRkZWQgdG8gdGhlIGNhcHMgdG8gZmlsbCB0aGUgJ3RyYWsnCgkgIGF0b20ncyBmaWVsZHMgYW5kIGNoaWxkcmVuIGF0b21zLiBUaGlzIHdheSBxdG11eCB3aWxsCgkgIHVzZSB0aGUgbGF0ZSBhZGRlZCAnY29kZWNfZGF0YScgd2hlbiBoMjY0cGFyc2UgYWRkcwoJICBpdCBpbiB0aGUgZm9sbG93aW5nIHBpcGVsaW5lOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDIzOjMzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gaXQgb25seSBhZGRzIGZpZWxkcwoJICBRdG11eCBjYW4gYWNjZXB0IGNhcHMgcmVuZWdvdGlhdGlvbiBpZiB0aGUgbmV3IGNhcHMgaXMgYQoJICBzdXBlcnNldCBvZiB0aGUgb2xkIG9uZSwgbWVhbmluZyB1cHN0cmVhbSBhZGRlZCBuZXcgaW5mbyB0bwoJICB0aGUgY2Fwcy4gVGhpcyBwYXRjaCBzdGlsbCBkb2Vzbid0IG1ha2UgcXRtdXggdXBkYXRlIGFueQoJICBhdG9tcyBpbmZvIGZyb20gdGhlIG5ldyBpbmZvLCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndAoJICByZWplY3QgdGhlIG5ldyBjYXBzIGFueW1vcmUuCgkgIEEgcGlwZWxpbmUgdGhhdCByZXByb2R1Y2VzIHRoaXMgdXNlIGNhc2UgaXM6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMTk6MzA6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSByZXF1ZXN0IHBhZHMgdW5kZXIgd2lkZXIgY29uZGl0aW9ucwoJICBGaXhlcyAjNjA2ODU5LgoKMjAxMC0wMS0xMyAxMDozNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBhdmMtc2FtcGxlIGgyNjQKCSAgcXRtdXggYW5kIG1wNG11eCBzaG91bGQgb25seSBhY2NlcHQgaDI2NCBpbiBhdmMtc2FtcGxlCgkgIGZvcm1hdAoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxMDozNDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IHN0cmVhbS1mb3JtYXQ9J25vbmUnIGFhYwoJICBPbmx5IGFjY2VwdCByYXcgYWFjIHN0cmVhbXMgKHN0cmVhbS1mb3JtYXQ9bm9uZSkgdG8gYXZvaWQKCSAgZ2VuZXJhdGluZyBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyAjNjA0OTI1CgoyMDA5LTEyLTI4IDExOjM0OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbHNvIGFkZCAuaCBmaWxlIGNoYW5nZXMgdG8gdW5icmVhayB0aGUgYnVpbGQKCjIwMDktMTItMjcgMjM6NTE6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjb3JyZWN0IG5hbWVzIGZyb20gdGVtcGxhdGUgZm9yIHJlcXVlc3QgcGFkcwoJICBUaGUgcGFkcyB3aGVyZSBuYW1lcyBwYWQwLCBwYWQxLCAuLi4KCjIwMDktMTItMjcgMjM6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vdmUgZXJyb3JzIF9uZXdfcGFkIHRvIHRoZSBlbmQKCjIwMDktMTItMjEgMTM6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWNjZXB0IG5vbi1wYWlyZWQgdWludCB0YWdzCgkgIEFkZHMgc3VwcG9ydCBmb3IgdW5wYWlyZWQgdW5zaWduZWQgaW50ZXJnZXIgdGFncwoKMjAwOS0xMi0yMSAxMjowNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRzIG5ldyB0YWdzCgkgIE1hcHMgbW9yZSB0YWdzIHRoYXQgYXJlIGFscmVhZHkgcG9zdGVkIGJ5IHF0ZGVtdXgKCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0xMCAyMjoyMDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgbW9yZSBvZiBqMmsKCSAgUmVhZHMgdGhlIG5ldyBjYXBzIGFkZGVkIHRvIHF0ZGVtdXggYnkgY29tbWl0CgkgIGM5MTdkNjVlNmRmMGI1ZDU4NWY5MDVjN2FkNzhhOGEwYTQ0YjJjYjAKCSAgYW5kIGFkZHMgaXRzIGNvcnJlc3BvbmRpbmcgYXRvbXMuCgkgIEFsc28gYWRkcyBzdXBwb3J0IGZvciBpbWFnZS94LWpwYyBhcyBpdCBpcyB0aGUgc2FtZQoJICBhcyBpbWFnZS94LWpwMiwgZXhjZXB0IHRoYXQgdGhlIGJ1ZmZlcnMgbmVlZCB0byBiZQoJICBib3hlZCBpbnNpZGUgYSBqcDJjIGlzb20gYm94IGJlZm9yZSBtdXhpbmcuIFRvIHNvbHZlCgkgIHRoaXMgdGhlIFFUUGFkcyBub3cgaGF2ZSBhIGZ1bmN0aW9uIHRoYXQgKGlmCgkgIG5vdCBOVUxMKSBpcyBjYWxsZWQgd2hlbiBhIGJ1ZmZlciBpcyBjb2xsZWN0ZWQuIFRoaXMKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHJlcGxhY2VtZW50IHRvIHRoZSBjdXJyZW50IGNvbGxlY3RlZAoJICBidWZmZXIuCgkgIEZpeGVzICM1OTg5MTYKCjIwMDktMTItMTAgMTY6NTM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBNYXBzICdjbGFzc2lmaWNhdGlvbicgdGFnIGZvciAzZ3BwIGZpbGVzCgkgIEFkZHMgdGhlIG1hcHBpbmcgb2YgJ2NsYXNzaWZpY2F0aW9uJyB0YWdzIHRvIHdyaXRpbmcgb2YKCSAgJ2Nsc2YnIGF0b21zIGZvciBncHBtdXguCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCjIwMDktMTItMDggMTc6NTk6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgYysrIGNvbW1lbnRzIGFuZCBhZGQgc29tZSBtb3JlIGNvbW1lbnRzLgoKMjAwOS0xMi0wOCAxNzo1NTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgaW1hIGFkcGNtIHN1cHBvcnQKCjIwMDktMTEtMjUgMjE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwbGFjZSBfc2NhbGUgd2l0aCBfc2NhbGVfcm91bmQKCSAgVXNlIHRoZSByb3VuZGluZyB2ZXJzaW9uIGZvciBpbXByb3ZlZCBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCSAgU21hbGwgdmFyaWF0aW9ucyBpbiB0aGUgZHVyYXRpb24gd2hlbiBtdXhpbmcgbWlnaHQgbGVhZCB0bwoJICBjdW11bGxhdGl2ZSB3cm9uZyB0aW1lc3RhbXBpbmcgd2hlbiBkZW11eGluZy4KCSAgRml4ZXMgIzYwMjkzNgoKMjAwOS0xMS0yNCAxNjoxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wcyBmb3IgbXV4aW5nCgkgIFRyeSB0byB1c2UgdGltZXN0YW1wcyBldmVuIHdoZW4gdGhlIHN0cmVhbSBoYXMgb3V0IG9mIG9yZGVyCgkgIHRpbWVzdGFtcHMsIG9ubHkgZmFsbCBiYWNrIHRvIGR1cmF0aW9ucyB3aGVuIHdlIGRldGVjdCBhbgoJICBvdXQgb2Ygb3JkZXIgYnVmZmVyLiBJbXByb3ZlcyBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCjIwMDktMTEtMTkgMTg6Mjg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCSAgQWRkcyBhIG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCjIwMDktMTEtMTkgMTE6MzY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMTEtMTkgMTE6MTQ6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5zdXJlIHdyaXRhYmxlIGJ1ZmZlciBtZXRhZGF0YSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDA5LTEwLTI5IDA4OjM2OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIFNWUTMKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgU1ZRMyBjb250ZW50LiBVc3VhbGx5IHRoaXMgZm9ybWF0CgkgIGhhcyBkZWNvZGVyIGluZm8gdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgJ3NlcWgnIGZpZWxkCgkgIGluIHRoZSBjYXBzLiBJdCBpcyBhbHNvIGdvb2QgdG8gYWRkIHRoZSBnYW1hIGF0b20gdG8gbWFrZQoJICBxdWlja3RpbWUgbm90IGNyYXNoLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE3IDA5OjI2OjA1IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCBsZWFrIGEgc3RyaW5nCgkgIEZyZWVzIGEgc3RyaW5nIGFmdGVyIHVzZS4gQWxzbyBkb2VzIHNvbWUgY29kZSBvcmdhbml6YXRpb24KCjIwMDktMTEtMTYgMTQ6NTc6NTMgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZG8gbm90IGFkZCBzaXplIHRvIHRoZSBwb2ludGVyIHZhcmlhYmxlCgkgIERvIG5vdCB3cm9uZ2x5IGFkZCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUKCSAgcG9pbnRlciB0byB0aGUgYnVmZmVyIHNpemUuIEluc3RlYWQsIGNoZWNrIHRoZSByZXN1bHQKCSAgdG8gc2VlIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBvay4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIkNhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPiIKCSAgRml4ZXMgIzYwMjEwNgoKMjAwOS0xMS0wNiAxMDozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBoYW5kbGUgJ2xhdGUnIHN0cmVhbXMKCSAgV2hlbiBtdXhpbmcgc3RyZWFtcywgc29tZSBjYW4gc3RhcnQgbGF0ZXIgdGhhbiBvdGhlcnMuIHF0bXV4CgkgIG5vdyBoYW5kbGUgdGhpcyBieSBhZGRpbmcgYW4gZW1wdHkgZWR0cyBlbnRyeSB3aXRoIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgJ2xhdGVuZXNzJyB0byB0aGUgc3RyZWFtJ3MgdHJhay4KCSAgSXQgdG9sZXJhdGVzIGEgc3RyZWFtIHRvIGJlIHVwIHRvIDAuMXMgbGF0ZS4KCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0wNSAyMTozNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgcXRtdXg6IGFkZHMgdGhlIEVEVFMgYW5kIEVMVFMgYXRvbXMgdG8gYXRvbXMuYwoJICBUaGVzZSBhdG9tcyB3aWxsIGJlIHVzZWZ1bCBmb3Igc2lnbmFsaW5nIHN0cmVhbXMKCSAgdGhhdCBzdGFydCBsYXRlciBpbiB0aGUgZmlsZS4gQXMgd2VsbCBmb3IgYWRkaW5nCgkgIGVkaXQgbGlzdHMgaWYgbmVlZGVkIHNvbWV0aW1lIGxhdGVyLgoKMjAwOS0xMS0wNiAwMDo0NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBzb21lIGlmcyBmb3IgcHJvdGVjdGlvbgoJICBBZGRpbmcgc29tZXMgaWZzIHRvIHByb3RlY3QgYWdhaW5zdCB3YXJuaW5nIGNvbmRpdGlvbnMKCSAgdGhhdCBtaWdodCBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlbGVtZW50IGlzIG5vdCBzYW5lCgkgIEZpeGVzICM2MDA4OTUKCjIwMDktMTAtMTYgMTA6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBncHBtdXg6IEFkZCBzdXBwb3J0IGZvciAzZ3I2CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNodW5rIGR1cmF0aW9ucyB0byBiZSBhYmxlIHRvIGFkZCAzZ3I2CgkgIGJyYW5kIGlmIGl0IGlzIGEgZmFzdHN0YXJ0IGZpbGUgYW5kIHRoZSBsb25nZXN0IGNodW5rIGlzCgkgIHNtYWxsZXIgdGhhbiBhIHNlYy4gSW1wbGVtZW50ZWQgYWNjb3JkaW5nIHRvIDNncHAKCSAgVFMgMjYuMjQ0IHY2LjQuMCAoMjAwNS0wOSkKCSAgRml4ZXMgIzU4NDM2MQoKMjAwOS0xMC0xNSAyMToxMToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHB1c2ggZnR5cCBsYXRlciAoaW4gZmFzdHN0YXJ0IG1vZGUpCgkgIEluIGZhc3RzdGFydCBtb2RlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgdGhlIGZ0eXAKCSAgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLiBXYWl0aW5nIGFuZCBzZW5kaW5nIGl0CgkgIG9ubHkgbGF0ZXIgKHdoZW4gdGhlIG1vb3YgYXRvbSBpcyByZWFkeSB0byBiZSBzZW50KSBwcm92aWRlcwoJICB1cyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSBhbmQgd2UgY2FuIGJldHRlcgoJICBzZWxlY3QgdGhlIGNvbXBhdGlibGUgYnJhbmRzLgoKMjAwOS0xMC0xNSAxNzo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QgZ2V0IG9yIGVzdGltYXRlIHRoZQoJICB0aW1lc3RhbXAvZHVyYXRpb24gb2YgYSBidWZmZXIKCjIwMDktMDktMjkgMTU6NDc6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZml4IGZsYWdzX2FzX3VpbnQgdG8gZmxhZ3NbXQoKMjAwOS0wOC0wNCAxMjo1ODozNSArMDIwMCAgSmFuIFVyYmFuc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVxdWlyZSBlbmRpYW5uZXNzIGZpZWxkIGZvciA4IGJpdCByYXcgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTAzNjAuCgoyMDA5LTA2LTI1IDA4OjM4OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDYtMjUgMDg6Mzg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wNi0xMSAxNTo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogb25seSB1c2UgKDY0LWJpdCkgZXh0ZW5kZWQgKG1kYXQpIGF0b20gc2l6ZSBpZiBuZWVkZWQuICBGaXhlcyAjNTg1MzE5LgoKMjAwOS0wNi0xMCAxNDo0NjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZGVmYXVsdCBtb3ZpZSB0aW1lc2NhbGUgdG8gbWljcm9zZWNvbmQgdW5pdHMKCjIwMDktMDYtMTAgMTM6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogY29tcHJlc3Mvb3B0aW1pemUgc3RzYyB3cml0aW5nCgoyMDA5LTA2LTEwIDEyOjQyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCAzR1Agc3R5bGUgdGFnZ2luZyAoYW5kIHJlZmFjdG9yIGFwcHJvcHJpYXRlbHkpCgoyMDA5LTA2LTAxIDIzOjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4IChhbmQgdmFyaWFudHMpOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvLiAgRml4ZXMgIzU4NDM1OC4KCjIwMDktMDYtMDEgMjI6NDI6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBlbmhhbmNlIGZ0eXAgYnJhbmQgaGV1cmlzdGljLiAgRml4ZXMgIzU4NDM2MC4KCjIwMDktMDUtMjggMTM6NTY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGRpZmZlcmVudCBzdHNkIGF0b20gdHlwZSBmb3IgSDI2MyBmb3IgSVNPIGFuZCBRVCB2YXJpYW50cwoJICBGaXhlcyAjNTg0MTE0LgoKMjAwOS0wNS0xNSAwMTo1NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIFtxdG11eF0gRml4ZXMgc2VnZmF1bHQgd2hlbiBhZGRpbmcgYSBibG9iIGFzIGZpcnN0IHRhZy4KCSAgTW92ZXMgdGFncyBkYXRhIGluaXRpYWxpemF0aW9uIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGFwcGVuZHMKCSAgdGhlIHRhZ3MgdG8gdGhlIGxpc3QuIEZpeGVzICM1ODI3MDIKCSAgQWxzbyBmaXhlcyBzb21lIHN0eWxlIGNhdWdodCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoKMjAwOS0wNS0xMCAyMToyMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogQWRkIE1QRUctNCBwYXJ0IDIgdG8gc3VwcG9ydGVkIGZvcm1hdHMuICBGaXhlcyAjNTgxNTkzLgoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDQtMzAgMTQ6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogY2hhbmdlcyBjYXBzIG9mIHNyYyBwYWRzIHRvIHZpZGVvL3F1aWNrdGltZSwgdmFyaWFudD1zb21ldGhpbmcKCSAgVGFrZSBhIGxvb2sgYXQgYnVnICM1ODAwMDUgZm9yIGZ1cnRoZXIgaW5mby4KCjIwMDktMDQtMjQgMTg6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IENoYW5nZXMgc3JjIGNhcHMgdG8gYXBwbGljYXRpb24veC1pc28tbXA0CgkgIEZpeGVzICM1ODAwMDUKCjIwMDktMDMtMjUgMjE6MjQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHJldXNpbmcgZWxlbWVudAoJICBTdGF0ZSBjaGFuZ2UgdG8gUkVBRFkgYW5kIHRoZW4gYmFjayB0byBQQVVTRUQgc2hvdWxkIHN0aWxsIHByb3ZpZGUKCSAgdGhlIHByb3BlciBzdHJ1Y3R1cmVzIGFzIGFyZSBvdGhlcndpc2UgZnJlc2hseSBhdmFpbGFibGUgZm9sbG93aW5nCgkgIGEgcmVxdWVzdF9uZXdfcGFkLgoJICBQb2ludGVkIG91dCBieSBUaGlhZ28gU2FudG9zLgoKMjAwOS0wMy0yMyAxMToxNzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBpbmNsdWRlcyBmb3IgbHNlZWsKCSAgLS0KCjIwMDktMDMtMjAgMTQ6MjA6MTYgKzAxMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICB3aW4zMjogZml4IHNlZWtpbmcgaW4gbGFyZ2UgZmlsZXMKCSAgVXNlIF9sc2Vla2k2NCgpIG9uIFdpbmRvd3MgdG8gc2VlayBpbiBsYXJnZSBmaWxlcy4KCSAgRml4ZXMgIzU3NjAyMS4KCjIwMDktMDMtMDIgMTA6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBhIGJpdCBtb3JlIHZlcmJvc2UgaW4gb3VyIGRlYnVnIG1lc3NhZ2Ugd2hlbiBmYWlsaW5nIHRvIHJlbmVnb3RpYXRlCgoyMDA5LTAxLTI4IDEzOjI1OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgQWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQgaW4gcXRtdXggKGFuZCBmcmllbmRzKS4KCSAgU3VwcG9ydCBBTVIgYW5kIEgyNjMgZm9yIGJvdGggcXRtdXggYW5kIGdwcG11eCwKCSAgYW5kIGFkZCBleHRlbnNpb25zIGluIHNhbXBsZSB0YWJsZSBkZXNjcmlwdGlvbi4KCjIwMDktMDEtMDkgMjE6NTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydAoJICB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1NjY5NTgKCjIwMDgtMTItMTkgMTg6NTM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoKMjAwOC0xMi0xOSAxODozMzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgoyMDA4LTEyLTE2IDE2OjI2OjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcwoJICB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoKMjAwOC0xMi0wMSAxNjozNzo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiAoYnVpbGRfanAyaF9leHRlbnNpb24pOgoJICBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgoyMDA4LTExLTE4IDAxOjA5OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkKCSAgYWRkZWQuCgoyMDA4LTExLTE1IDAyOjU2OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguKjogVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoKMjAwOC0xMS0xNCAyMToyNDo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQuCgoyMDA4LTExLTE0IDIwOjM4OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgoyMDA4LTExLTE0IDIwOjE3OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IChidWlsZF9lc2RzX2V4dGVuc2lvbiksCgkgIChidWlsZF9tb3ZfYWFjX2V4dGVuc2lvbiksIChidWlsZF9qcDJoX2V4dGVuc2lvbiksCgkgIChidWlsZF9jb2RlY19kYXRhX2V4dGVuc2lvbik6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hdWRpb19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9xdF9tdXhfdmlkZW9fc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiAoZ3N0X3F0X211eF9tYXBfZm9ybWF0X3RvX2hlYWRlcik6CgkgIEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIEFsc28gYWN0dWFsbHkgaW1wbGVtZW50IElTTyBKUEVHMjAwMCBtajIgZm9ybWF0LgoKMjAwOC0xMS0xMSAxOTozMTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3F0bXV4KSwgKGNsZWFudXBfcXRtdXgpLAoJICAoY2hlY2tfcXRtdXhfcGFkKSwgKEdTVF9TVEFSVF9URVNUKSwgKHF0bXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCjIwMDgtMTEtMTEgMTk6MjQ6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYWRkX21ldGFkYXRhX3RhZ3MpOgoJICBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgoyMDA4LTExLTA4IDAyOjAwOjU4ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgRml4ZXMgIzU1MDI4MC4KCjIwMTEtMDQtMTIgMTg6MjU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QvcXVpY2t0aW1lL0xFR0FMOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L3F1aWNrdGltZS9xdHBhbGV0dGUuaDoKCSogZ3N0L3F1aWNrdGltZS9xdWlja3RpbWUuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHF0ZGVtdXg6IHJlbmFtZSBkaXJlY3RvcnkgdG8gcXVpY2t0aW1lIHRvIG1hdGNoIHBsdWdpbiBuYW1lCgkgIEluIHByZXBhcmF0aW9uIGZvciBxdG11eCBtb3ZpbmcgdG8gLWdvb2QuCgoyMDExLTA0LTEyIDExOjQ5OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNpbXBsaWZ5IGZyYW1lcmF0ZSBmcmFjdGlvbiBjYWxjdWxhdGlvbgoKMjAxMS0wMS0yNCAxNTo0NToyOCAtMDYwMCAgTGVvbmFyZG8gU2FuZG92YWwgPGxzYW5kb3ZhbEB0aS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGFkZCB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUgdG8gY2FwcyB3aGVuIHByZXNlbnQgb24gb25NZXRhRGF0YQoJICBGaXhlcyAjNjQwNDgzLgoKMjAxMC0wOC0yNCAxMzo1Nzo1NSArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVbmtub3duIFNTUkMgaXMgbm90IGZhdGFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjYKCjIwMTAtMDgtMjQgMTM6NTQ6NTggKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBOdW1iZXIgb2YgYWN0aXZlIHNvdXJjZXMgc2hvdWxkIGJlIHVwZGF0ZWQgd2hlbmV2ZXIgdGhlIHN0YXR1cyBvZiB0aGUgc291cmNlIGNoYW5nZXMgdG8gYWN0aXZlCgkgIEZvcndhcmQtcG9ydGVkIGJ5IE9saXZpZXIgQ3LDqnRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjUKCjIwMTAtMDYtMjMgMTE6Mjk6NTggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogaWdub3JlIGEgQllFIGlmIGl0IGlzIHNlbnQgd2l0aCBvdXIgaW50ZXJuYWwgU1NSQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY0CgoyMDEwLTAxLTI5IDA5OjQ5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkcyBtb3JlIGgyNjQgZmllbGRzIHRvIGl0cyBjYXBzCgkgIEFkZHMgYWxpZ25tZW50PWF1IGFuZCBzdHJlYW0tZm9ybWF0PWF2YyB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMS0wNC0xMSAxMjo0NDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhbHNvIGhhbmRsZSBkZXByZWNhdGlvbnMgZm9yIGphY2sgMS45LjcKCSAgSmFjayAxLjkuNyB3YXMgcmVsZWFzZWQgMjAuTWFyLjIwMTEsIG5lZWQgdG8gaGFuZGxlIHRoZSBkZXByZWNhdGVkIGFwaSBmb3IgdGhpcwoJICB2ZXJzaW9uIHRvby4KCjIwMTEtMDQtMTEgMDA6MzY6MzUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0xMCAxODo1Njo1MiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogTWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTA1IDIxOjE0OjQzICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZGVjbGFyZSBmcmFnX29mZnNldCB0byBob2xkIDMyYml0cy4KCSAgQXMgc3BlY2lmaWVkIGluIGRvY3VtZW5hdGlvbiBhYm92ZSBhbmQgYmVsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NTQKCjIwMTEtMDQtMDkgMTI6NDE6NDggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IHdyb25nbHkgYXBwbGllZCBwYXRjaAoJICBPYnZpb3VzbHkgcmVjdl9ydHBfc2luayBkb2VzIG5vdCBoYXZlIG11Y2ggdG8gZG8gd2l0aCBzZW5kX3J0Y3Bfc3JjLi4uCgkgIFNlZSBjb21taXQgMDQ2ZmYxNzAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDcyNjMKCjIwMTEtMDQtMDggMTU6NTk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIGZvciBzZXRfZnJhbWVfcHJvcHMgLT4gc2V0X2ZyYW1lX3JhdGUgQVBJIGNoYW5nZQoKMjAxMS0wNC0wOCAwMDowMzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGhvb2sgdXAgYXVkaW9wYXJzZXIgdW5pdCB0ZXN0cwoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCSAgRml4ZXMgdW5pdCB0ZXN0IGFnYWluIGFmdGVyIHByZXZpb3VzIGNoYW5nZS4KCjIwMTEtMDQtMDcgMTU6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wNC0wNyAxNToyMDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkgIGRvY3M6IGFkZCBhdWRpb3BhcnNlcnMgdG8gZG9jcwoKMjAxMS0wNC0wNyAxNTowNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogZ3N0X2Zvb3BhcnNlX3h5eiAtPiBnc3RfZm9vX3BhcnNlX3h5eiB0byBtYXRjaCBHc3RGb29QYXJzZQoJICBTZWUgbW92aW5nLXBsdWdpbnMgY2hlY2tsaXN0LgoKMjAxMS0wNC0wNyAxNDo0Mzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaG9vayB1cCB0byBidWlsZAoKMjAxMS0wNC0wNyAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcG9ydCB0byBuZXcgR3N0QmFzZVBhcnNlIGluIGNvcmUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wMSAxNDo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBhcnNlIGVuY29kZXIgZGVsYXkgYW5kIGVuY29kZXIgcGFkZGluZyBmcm9tIHRoZSBMQU1FIGhlYWRlciBpZiBwcmVzZW50CgoyMDExLTAzLTA5IDIzOjA2OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGRjYXBhcnNlOiBCdW1wIHJhbmsgdG8gcHJpbWFyeSsxCgkgIFNlZW1zIHRvIHdvcmsgZmluZSB3aXRoIGEgcmVhc29uYWJseSB3aWRlIHJhbmdlIG9mIG1lZGlhLCBzbyBidW1waW5nCgkgIHJhbmsuCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGJhc2VwYXJzZSB0ZXN0CgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0xOSAxODoyNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbmQgZ3N0X2J1ZmZlcl91bnJlZiBub3QgbGlraW5nIE5VTEwKCSAgRml4ZXMgIzYzOTk1MC4KCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTEtMzAgMTU6NDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCB1bmV4cGVjdGVkIHN0cmF5IG1ldGFkYXRhCgoyMDEwLTExLTMwIDE1OjQwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIHByb3BlciBfTk9ORSBvdXRwdXQgdmFsdWUgd2hlbiBhcHBsaWNhYmxlCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTAtMjkgMTQ6MDg6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2Ugb25seSB1cHN0cmVhbSBkdXJhdGlvbiBpZiBpdCBwcm92aWRlcyBvbmUKCjIwMTAtMTAtMjUgMTQ6MTU6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZsb3cgdXBkYXRlX2JpdHJhdGUgY29kZQoJICAuLi4gd2hpY2ggbWFrZXMgbG9jYWwgdmFyaWFibGVzIHJlcHJlc2VudCByZWFsIHN0YXRlIGJldHRlciwgYW5kIGF2b2lkcwoJICB0cmlnZ2VyaW5nIHVubmVlZGVkIHVwZGF0ZXMvYWN0aW9ucy4KCjIwMTAtMTAtMjUgMTQ6MTM6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0wNyAyMzozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFNpbXBsaWZ5IGZyYW1lIGhlYWRlciBwYXJzaW5nIGJ5IHVzaW5nIGxvb2t1cCB0YWJsZXMKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBGZWxpcGUgQ29udHJlcmFzLgoJICBTZWUgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDIzOjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogRG9uJ3QgcGFyc2UgdGhlIGNvbXBsZXRlIEZMQUMgZnJhbWVzIGJ1dCBvbmx5IGxvb2sgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMKCSAgVGhhbmtzIHRvIEZlbGlwZSBDb250cmVyYXMgZm9yIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIHBhcnRpYWxseQoJICBiYXNlZCBvbiBoaXMgcGF0Y2hlcyBhbmQgbWFrZXMgZmxhY3BhcnNlIG1vcmUgdGhhbiAzLjUgdGltZXMgZmFzdGVyLgoJICBMb29raW5nIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzIGlzIHVubGlrZWx5IHRvIGdpdmUgZmFsc2UgcG9zaXRpdmVzCgkgIGJlY2F1c2UgZXZlcnkgZnJhbWUgaGVhZGVyIGlzIGF0IGxlYXN0IDkgYnl0ZXMgbG9uZywgY29udGFpbnMgYQoJICAxNCBiaXQgc3luYyBjb2RlIGFuZCBhIDggYml0IGNoZWNrc3VtIG92ZXIgdGhlIGZpcnN0IDggYnl0ZXMuCgkgIEZpeGVzIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogVXNlIHVuY2hlY2tlZCB2ZXJzaW9ucyBvZiB0aGUgYml0cmVhZGVyIGdldCBmdW5jdGlvbnMKCSAgV2UgZGlkbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzIGFueXdheS4uLgoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGFjM3BhcnNlIGFuZCBtcGVnYXVkaW9wYXJzZSB1bml0IHRlc3QKCjIwMTAtMDktMjUgMTM6NTk6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgLi4uIGFkZXF1YXRlbHkgZXF1aXZhbGVudCB0byBtcDNwYXJzZSwgc28gbGV0cyBib2xkbHkgc2V0IGl0CgkgIHRvIGhpZ2hlciByYW5rLgoKMjAxMC0wOS0yNSAxNDowMTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgbWluaW11bSBmcmFtZSBzaXplIGF0IF9zdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gb25lIHRpbWUgYXQgX2luaXQuCgoyMDEwLTA5LTI1IDEzOjUwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDktMDYgMTQ6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBub24tVElNRSBzZWVrIGV2ZW50IGlzIHNpbXBseSBub3QgaGFuZGxlZAoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTAzLTI2IDE4OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogT3B0aW9uYWxseSBjaGVjayB0aGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgdG9vIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIGlzIG9wdGlvbmFsIGJlY2F1c2UgaXQncyBhIHF1aXRlIGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5kIGl0J3MgdmVyeQoJICB1bmxpa2VseSB0aGF0IGEgbm9uLWZyYW1lIGlzIGRldGVjdGVkIGFzIGZyYW1lIGFmdGVyIHRoZSBoZWFkZXIgQ1JDIGNoZWNrCgkgIGFuZCBjaGVja2luZyBhbGwgYml0cyBmb3IgdmFsaWQgdmFsdWVzLiBUaGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgYXJlCgkgIG1haW5seSB1c2VmdWwgdG8gZGV0ZWN0IGluY29uc2lzdGVuY2llcyBpbiB0aGUgZW5jb2RlZCBwYXlsb2FkLgoKMjAxMC0wMy0yNiAxODo0MjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IENoZWNrIHRoZSBDUkMtOCBvZiB0aGUgaGVhZGVycyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBtYWtlcyBmYWxzZS1wb3NpdGl2ZXMgZHVyaW5nIHNlZWtpbmcgbXVjaCBsZXNzIGxpa2VseSBhbmQgZGV0ZWN0aW9uIG9mCgkgIHRoZW0gbXVjaCBmYXN0ZXIuCgoyMDEwLTAzLTI2IDE4OjIwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2V0IHRoZSBsYXN0IHN0b3AgdG8gdGhlIGJ1ZmZlciBzdGFydHRpbWUgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQKCSAgLi4uaW5zdGVhZCBvZiBub3Qgc2V0dGluZyBpdCBhdCBhbGwuCgoyMDEwLTAzLTI2IDE4OjE5OjAwICswMTAwICBKb3NodWEgTS4gRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZW5kIE5FV1NFR01FTlQgZXZlbnQgd2l0aCBjb3JyZWN0IHN0YXJ0IGFuZCBwb3NpdGlvbgoJICBJbnN0ZWFkIG9mIHRha2luZyB0aGUgbGFzdCBzdG9wICh3aGljaCBjb3VsZCBiZSBidWZmZXIgZW5kdGltZSBpbnN0ZWFkCgkgIG9mIHN0YXJ0dGltZSkgYWx3YXlzIHRha2UgdGhlIGJ1ZmZlciBzdGFydHRpbWUuCgkgIEZpeGVzIGJ1ZyAjNjE0MDE2LgoKMjAxMC0wMy0yNiAxNjo0OTowMSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBidWZmZXIgcmVmY291bnQgaXNzdWUKCSAgV2hlbiBjYWxsZWQgZnJvbSB0aGUgR1NUX0ZMQUNfUEFSU0VfU1RBVEVfSEVBREVSUyBjYXNlLAoJICBnc3RfZmxhY19wYXJzZV9oYW5kX2hlYWRlcnMoKSBkb2VzIGEgZ3N0X2J1ZmZlcl9zZXRfY2FwcygpIG9uIGEgYnVmZmVyCgkgIHdpdGggcmVmY291bnQgPiAxLiBUaGlzIGNoYW5nZSBoYW5kbGVzIHRoaXMgY2FzZSBieSBtYWtpbmcgdGhlIGJ1ZmZlcgoJICBtZXRhZGF0YV9Xcml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDAzNwoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDEtMTQgMTE6NTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgYmFzZXBhcnNlIEdUeXBlIG5hbWUgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTEgMTM6MjA6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBmb3JnZXQgdG8gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBvZmYgYWFjcGFyc2UKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMDUgMTU6MDU6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxMC0wMS0wNSAxNTowNDozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAwOS0xMi0xOCAxMzozMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNoZWNrIGZvciByZW1haW5pbmcgZGF0YSB3aGVuIGRyYWluaW5nIGluIHB1c2ggbW9kZQoKMjAwOS0xMi0xOCAxMzozMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBwdWxsIG1vZGUgY2FjaGUgc2l6ZSBjb21wYXJpc29uCgoyMDA5LTEyLTE4IDEzOjAxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIHNwZWMgZmlsZSBhbmQgZml4IGFjM3BhcnNlciBoZWFkZXIgbGlzdGluZyBpbiBNYWtlZmlsZS5hbQoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lICdhYWNwYXJzZScgcGx1Z2luIHRvIGdlbmVyaWMgJ2F1ZGlvcGFyc2VycycgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSAgYWFjcGFyc2U6IHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24gYW5kIHJlbmFtZSBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBiZWZvcmUgYWNjZXNzaW5nCgoyMDA5LTExLTA1IDE0OjMxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTEwLTI5IDE1OjE5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4dXAgY29tbWVudHMgdG8gQy1zdHlsZQoKMjAwOS0xMC0yOSAxNjowNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVzZXQgcGFzc3Rocm91Z2ggbW9kZSB0byBkZWZhdWx0IChkaXNhYmxlZCkgb24gYWN0aXZhdGlvbgoKMjAwOS0xMC0yOSAxNToxNjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZQoKMjAwOS0xMC0yOCAxNDowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBmaXgvZW5oYW5jZSBESVNDT05UIG1hcmtpbmcKCSAgSW4gcGFydGljdWxhciwgY29uc2lkZXIgRElTQ09OVCA9PSAhc3luYywgYW5kIGFsbG93IHN1YmNsYXNzIHRvIHF1ZXJ5CgkgIHN5bmMgc3RhdGUsIGFzIGl0IG1heSB3YW50IHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgc3luYyB3YXMgYWNoaWV2ZWQgZWFybGllciBvbi4KCSAgQWxzbyBhcnJhbmdlIGZvciBzdWJjbGFzcyB0byBxdWVyeSB3aGV0aGVyIGxlZnRvdmVyIGRhdGEgaXMgYmVpbmcgZHJhaW5lZC4KCjIwMDktMTEtMjMgMTU6NDg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIHRpbWVzdGFtcCBoYW5kbGluZywgYW5kIGRlZmF1bHQgY29udmVyc2lvbgoJICBJbiBwYXJ0aWN1bGFyLCAob3B0aW9uYWxseSkgcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBhIG5vdGlvbiBvZiBmcmFtZXMgcGVyIHNlY29uZAoJICAoYW5kIHRoZXJlZm9yZSBhbHNvIGZyYW1lIGR1cmF0aW9uKSBhbmQgaGF2ZSBpdCB0cmFjayBmcmFtZSBhbmQgYnl0ZSBjb3VudHMuCgkgIFRoaXMgd2F5LCBzdWJjbGFzcyBjYW4gcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBmcHMgYW5kIGhhdmUgaXQgcHJvdmlkZSBkZWZhdWx0CgkgIGJ1ZmZlciB0aW1lIG1ldGFkYXRhIGFuZCBjb252ZXJzaW9ucywgdGhvdWdoIHN1YmNsYXNzIGNhbiBzdGlsbCBpbnN0YWxsCgkgIGNhbGxiYWNrcyB0byBoYW5kbGUgc3VjaCBpdHNlbGYuCgoyMDA5LTEwLTI4IDEyOjAyOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDA5LTEwLTI4IDEyOjAwOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2VfZml4ZWRfY2FwcyBmb3Igc3JjIHBhZAoJICBBZnRlciBhbGwsIHN0cmVhbSBpcyBhcy1pcywgYW5kIHRoZXJlIGlzIGxpdHRsZSBtb2xkaW5nIHRvIGRvd25zdHJlYW0ncwoJICB0YXN0ZSB0aGF0IGNhbiBiZSBkb25lLiAgSWYgc3ViY2xhc3MgY2FuIGFuZCB3YW50cyB0byBkbyBzbywgaXQgY2FuCgkgIHN0aWxsIG92ZXJyaWRlIGFzIHN1Y2guCgoyMDA5LTExLTIwIDE3OjMyOjEzICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTAtMTEgMTE6MjI6MTEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0wOS0yNSAxNzowMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBmb3JlZ28gKGJvZ3VzKSBwYXJzaW5nIG9mIGFscmVhZHkgcGFyc2VkIChyYXcpIGlucHV0CgoyMDA5LTA4LTA3IDEzOjA3OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBkcmFpbmluZwoKMjAwOS0wOC0wNyAxMzowNjoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgoyMDA5LTA3LTE0IDE0OjA4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogQWRkIGZ1bmN0aW9uIGZvciB0aGUgYmFzZXBhcnNlIHN1YmNsYXNzIHRvIHB1c2ggYnVmZmVycyBkb3duc3RyZWFtCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIGdyYWNlZnVsbHkgd2hlcmUgdGhlIHN1YmNsYXNzIGRlY2lkZXMgdG8gZHJvcAoJICB0aGUgZmlyc3QgYnVmZmVycyBhbmQgaGFzIG5vIGNhcHMgc2V0IHlldC4gSXQncyBzdGlsbCByZXF1aXJlZCB0bwoJICBoYXZlIHZhbGlkIGNhcHMgc2V0IHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciBzaG91bGQgYmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA5LTA3LTE0IDE0OjA3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2VlayBldmVudCBsZWFraW5nCgoyMDA5LTA2LTE4IDEyOjEzOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQURJRjogZG8gbm90IHNlbmQgYm9ndXMgdGltZXN0YW1wcywgbGVhdmUgdG8gZG93bnN0cmVhbSAoZGVjb2RlcikKCjIwMDktMDYtMDEgMTU6NTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc2FtcGxlIHJhdGUgZXh0cmFjdGlvbiBmcm9tIGNvZGVjIGRhdGEKCSAgSW4gb25lIGNhc2Ugd2UgZXh0cmFjdGVkIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBmcm9tIHRoZSBjb2RlYyBkYXRhCgkgIGFuZCBzYXZlZCBpdCBhcyBzYW1wbGUgcmF0ZSByYXRoZXIgdGhhbiBnZXR0aW5nIHRoZSByZWFsIHNhbXBsZQoJICByYXRlIGZyb20gdGhlIHRhYmxlLiBGaXggdGhhdCwgYW5kIGFsc28gbWFrZSBzdXJlIHdlIGRvbid0IGFjY2VzcwoJICBub24tZXhpc3RhbnQgdGFibGUgZW50cmllcyBieSBhZGRpbmcgYSBzbWFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdAoJICBndWFyZHMgYWdhaW5zdCBvdXQtb2YtYm91bmRzIGFjY2VzcyBpbiBjYXNlIG9mIGludmFsaWQgaW5wdXQgZGF0YS4KCjIwMDktMDYtMDEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogcmVtb3ZlIGJvZ3VzIGdzdF9wYWRfZml4YXRlX2NhcHMoKSBjYWxscwoKMjAwOS0wNi0wMSAxMzo1NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBvZiBHc3RCYXNlUGFyc2U6OnNldF9zaW5rX2NhcHMoKQoJICBnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMoKSBwcmVzdW1hYmx5IHNob3VsZCBmYWlsIGlmIHRoZSBzdWJjbGFzcwoJICByZXR1cm5zIEZBTFNFIGZyb20gaXRzIDo6c2V0X3NpbmtfY2FwcygpIGZ1bmN0aW9uLgoKMjAwOS0wNi0wMSAxMzo0NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9uJ3QgdHJ5IHRvIEdTVF9MT0cgYW4gYWxyZWFkeS1mcmVlZCBjYXBzIHN0cmluZwoJICBUaGUgcHJvcGVyIHdheSB0byBsb2cgY2FwcyBpcyB2aWEgR1NUX1BUUl9GT1JNQVQgYW55d2F5LgoKMjAwOS0wNi0wMSAxMzowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiBvdXRwdXQgY2FwcywgYW5kIGtlZXAgY29kZWNfZGF0YQoJICBDcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSBpbnB1dCBjYXBzLCBzbyB3ZSBtYWludGFpbiBhbnkgZmllbGRzIHdlCgkgIG1pZ2h0IGdldCBvbiB0aGUgaW5wdXQgY2Fwcywgc3VjaCBhcyBjb2RlY19kYXRhIG9yIHJhdGUgYW5kIGNoYW5uZWxzLgoJICBTZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gdGhlIG91dHB1dCBjYXBzIGlmIHdlIGRvbid0IGhhdmUgaW5wdXQgY2FwcwoJICBvciB0aGV5IGRvbid0IGNvbnRhaW4gc3VjaCBmaWVsZHMuIFdlIGRvIHRoaXMgcGFydGx5IGJlY2F1c2Ugd2UgY2FuLAoJICBidXQgYWxzbyBiZWNhdXNlIHNvbWUgbXV4ZXJzIG5lZWQgdGhpcyBpbmZvcm1hdGlvbi4gVGFncmVhZGJpbiB3aWxsCgkgIGFsc28gYmUgaGFwcHkgYWJvdXQgdGhpcy4KCjIwMDktMDUtMjYgMTk6NDM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBkZWJ1ZyBjYXRlZ29yeQoKMjAwOS0wNC0yNyAyMjozOToxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IChyZWdyZXNzaW9uIGluKSBuZXdzZWdtZW50IGhhbmRsaW5nCgkgIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkuICBGaXhlcyAjNTgwMTMzLgoKMjAwOS0wNC0wNyAwNDo1MzowMiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2xpZ2h0bHkgYnJva2VuIGJ1ZmZlci1pbi1zZWdtZW50IGNoZWNrIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkKCjIwMDktMDQtMDUgMDM6NTA6MTkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHB1c2ggbW9kZSBzZWVraW5nIChhYWNwYXJzZSwgYW1ycGFyc2UpCgkgIFNlbmRpbmcgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IGZvcndhcmQgYmVmb3JlIHRha2luZyB0aGUgc3RyZWFtIGxvY2sgYWN0dWFsbHkKCSAgd29ya3MsIGluIGNvbnRyYXN0IHRvIGRlYWRsb2NraW5nIGluIGRvd25zdHJlYW0gcHJlcm9sbF93YWl0IChodW5rIDEpLgoJICBBZnRlciB0aGF0IHdlIGdldCB0aGUgY2hhaW4gZnVuY3Rpb24gYmVpbmcgc3R1Y2sgaW4gYSBidXN5IGxvb3AuIFRoaXMgaXMgZml4ZWQKCSAgYnkgdXBkYXRpbmcgdGhlIG1pbmltdW0gZnJhbWUgc2l6ZSBpbnNpZGUgdGhlIHN5bmNocm9uaXphdGlvbiBsb29wIGJlY2F1c2UgdGhlCgkgIHN1YmNsYXNzIGFza3MgZm9yIG1vcmUgZGF0YSBpbiB0aGlzIHdheSAoaHVuayAyKS4KCSAgRmluYWxseSwgdGhpcyBsZWFkcyB0byBhIHZlcnkgcHJvYmFibGUgY3Jhc2ggYmVjYXVzZSB0aGUgc3ViY2xhc3MgY2FuIGZpbmQgYQoJICB2YWxpZCBmcmFtZSB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgZGF0YSBpbiB0aGUKCSAgYWRhcHRlci4gVGhpcyBtYWtlcyB0aGUgc3Vic2VxdWVudCBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBjYWxsIHJldHVybiBOVUxMLAoJICB3aGljaCBpcyBub3QgZXhwZWN0ZWQgKGh1bmsgMykuCgoyMDA5LTAzLTMxIDE2OjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEZWxheSBuZXdzZWdtZW50IGFzIGxvbmcgYXMgcG9zc2libGUuCgkgIElmIG5ld3NlZ21lbnQgaXMgc2VudCAodG9vKSBlYXJseSwgY2FwcyBtYXkgbm90IHlldCBiZSBmaXhlZC9zZXQsCgkgIGFuZCBkb3duc3RyZWFtIG1heSBub3QgaGF2ZSBiZWVuIGxpbmtlZC4KCjIwMDktMDMtMTkgMDE6MTc6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBidXN5bG9vcCB3aGVuIHNlZWtpbmcuIEZpeGVzICM1NzUzODgKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBhZnRlciBhIGRpc2NvbnQsIHNldF9taW5fZnJhbWVfc2l6ZSgxMDI0KSBpcyBjYWxsZWQgd2hlbgoJICBkZXRlY3Rfc3RyZWFtIHJldHVybnMgRkFMU0UuIEhvd2V2ZXIsIGRldGVjdF9zdHJlYW0gY2FsbHMgY2hlY2tfYWR0c19mcmFtZQoJICB3aGljaCBzZXRzIHRoZSBmcmFtZSBzaXplIG9uIGl0cyBvd24gdG8gc29tZXRoaW5nIGxhcmdlciB0aGFuIDEwMjQuIFRoaXMgaXMgdGhlCgkgIHNhbWUgc2l0dWF0aW9uIGFzIGluIHRoZSBiZWdpbm5pbmcsIHNvIHRoZSBiYXNlIGNsYXNzIGVuZHMgdXAgY2FsbGluZwoJICBjaGVja192YWxpZF9mcmFtZSBpbiBhbiBlbmRsZXNzIGxvb3AuCgoyMDA5LTAzLTE5IDAwOjMyOjQwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWZhY3RvciBjaGVja192YWxpZF9mcmFtZSB0byBleHBvc2UgYnJva2VuIGNvZGUKCSAgSnVzdCBtb3ZpbmcgY29kZSBhcm91bmQgYW5kIHJlbW92aW5nIGFuIHVuaGVscGZ1bC9taXNsZWFkaW5nIGNvbW1lbnQuCgoyMDA5LTAyLTI3IDExOjI0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJ0IGxhc3QgY2hhbmdlIGFuZCBwcm9wZXJseSBmaXgKCSAgQmFzZXBhcnNlIGludGVybmFseSBicmVha3MgdGhlIHNlbWFudGljcyBvZiBhIF9jaGFpbiBmdW5jdGlvbiBieSBjYWxsaW5nIGl0IHdpdGgKCSAgYnVmZmVyPT1OVUxMLiBUaGUgcmVzb24gSSBiZWxpdmVkIGl0IHdhcyBva2F5IHRvIHJlbW92ZSBpdCB3YXMgdGhhdCB0aGVyZSBpcwoJICBhbHNvIGFuIHVuY2hlY2tlZCBhY2Nlc3MgdG8gYnVmZmVyIGxhdGVyIGluIF9jaGFpbi4gQWN0dWFsbHkgdGhhdCBjb2RlIGlzIHdyb25nLAoJICBhcyBpdCBtb3N0IHByb2JhYmx5IHdhbnRzIHRvIHNldCBkaXNjb250IG9uIHRoZSBvdXRnb2luZyBidWZmZXIuCgoyMDA5LTAyLTI2IDExOjAyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGNoZWNrcyBmb3IgYnVmZmVyPT1OVUxMCgkgIEFjY29yZGlmbiB0byBkb2NzIGZvciBHc3RQYWRDaGFpbkZ1bmN0aW9uIGJ1ZmZlciBjYW5ub3QgYmUgTlVMTC4gSWYgd2Ugd291bGQKCSAgbGVhdmUgdGhlIGNoZWNrLCB3ZSB3b3VsZCBhbHNvIG5lZWQgbW9yZSBzdWNoIGNoZWNrIGJlbG93LgoKMjAwOS0wMi0xMSAwMDoxNTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGxpY2Vuc2Ugc3BlY2lmaWVkIGluIHBsdWdpbiBkZXRhaWxzLgoKMjAwOS0wMS0zMCAxODoxODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uLgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbiBpbiBib3RoCgkgIGNvcGllcyBvZiBHc3RCYXNlUGFyc2UKCjIwMDktMDEtMjMgMTY6MDA6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBMb2cgYWFjIGRldGFpbHMgZm91bmQgaW4gY29kZWNfZGF0YS4KCjIwMDgtMTEtMTMgMTc6MjQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCjIwMDgtMTEtMTMgMTU6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCjIwMDgtMTEtMTMgMTQ6MjE6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCjIwMDgtMTEtMTMgMTI6NTk6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgoyMDExLTAzLTIwIDAxOjA4OjM4ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBNYWtlIHNyY19xdWVyeSBNVC1zYWZlCgkgIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGVsZW1lbnQgbWlnaHQgYmUgZ29pbmcgZG93biB3aGlsZSB0aGUgZXZlbnQgYXJyaXZlcwoKMjAxMS0wNC0wOCAxNToyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFVucmVmIGV2ZW50IGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wNC0wOCAxNToyMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBVbnJlZiBldmVudCBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDMtMjEgMTY6MDQ6MzQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogTWFrZSB1cHN0cmVhbSBldmVudHMgTVQtc2FmZQoKMjAxMS0wMy0yMSAxNjowNDozNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogTWFrZSB1cHN0cmVhbSBldmVudHMgTVQtc2FmZQoKMjAxMS0wNC0wOCAxNToyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHA6IFVucmVmIGV2ZW50cyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDEtMDYgMTg6MjQ6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBtYW5hZ2VyOiBmaXggcGFkIGNhbGxiYWNrcyBzbyB0aGV5IGhhbmRsZSB3aGVuIHBhcmVudCBnb2VzIGF3YXkKCSAgMSkgV2UgbmVlZCB0byBsb2NrIGFuZCBnZXQgYSBzdHJvbmcgcmVmIHRvIHRoZSBwYXJlbnQsIGlmIHN0aWxsIHRoZXJlLgoJICAyKSBJZiBpdCBoYXMgZ29uZSBhd2F5LCB3ZSBuZWVkIHRvIGhhbmRsZSB0aGF0IGdyYWNlZnVsbHkuCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHNhZmVseSBtb2RpZnkgYSBydW5uaW5nIHBpcGVsaW5lLiBIYXMgYmVlbgoJICBvYnNlcnZlZCB3aGVuIGEgc3RyZWFtaW5nIHRocmVhZCBpcyBkb2luZyBhIGJ1ZmZlcl9hbGxvYygpIHdoaWxlIGFuCgkgIGFwcGxpY2F0aW9uIHRocmVhZCBzZW5kcyBhbiBldmVudCBvbiBhIHBhZCBmdXJ0aGVyIGRvd25zdHJlYW0sIGFuZCBmcm9tCgkgIHdpdGhpbiBhIHBhZCBwcm9iZSAoaG9sZGluZyBTVFJFQU1fTE9DSykgY2FycmllcyBvdXQgdGhlIHBpcGVsaW5lIHBsdW1iaW5nCgkgIHdoaWxlIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGhhcyBpdHMgYnVmZmVyX2FsbG9jKCkgaW4gcHJvZ3Jlc3MuCgoyMDEwLTExLTI2IDE1OjIwOjA0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG1ha2UgaXRlcmF0ZV9pbnRlcm5hbF9saW5rcyBNVC1zYWZlCgoyMDExLTA0LTA4IDE0OjM1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJQdWxzZXNpbms6IEFsbG93IGNodW5rcyB1cCB0byBidWZzaXplIGluc3RlYWQgb2Ygc2Vnc2l6ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxZTJjMTQ2N2FlMDQyYTNjNmJiMWE2YmMwYzA3YWVmZjEzZWM1ZWRiLgoJICBUaGUgY29tbWl0IGNhdXNlcyBwdWxzZXNpbmsgdG8gaWdub3JlIHRoZSBsYXRlbmN5LXRpbWUgYmFzZWF1ZGlvc2luayBwcm9wZXJ0eS4KCjIwMTEtMDQtMDggMTE6MTM6MDcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgcnRwc3BlZXhwYXk6IERvIG5vdCB0cmFuc21pdHQgc2FtcGxlcyB3aXRoIEdBUCBmbGFnCgkgIElmIHdlIGdldCBHQVAgc2FtcGxlcywgdGhlcmUgaXMgbm8gbmVlZCB0byB0cmFuc21pdHQgaXQuCgkgIEluIHNvbWUgc2l0dWF0aW9ucywgbWljcm9waG9uZSBpcyBtdXRlZCwgd2UgY2FuIGRyb3AgbmV0IHRyYWZmaWNrCgkgIHVzYWdlIHRvIH4xIGtiaXQvcy4gV2l0aG91dCBwYXRjaCBpdCB3aWxsIHN0YXkgfjIwIGtiaXQvcwoKMjAxMS0wNC0wOCAxMToxMTo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBVc2Ugc3BlZXggaW50ZXJuIHNpbGVuY2UgZGV0ZWN0aW9uCgkgIFNwZWV4IGhhcyBidWlsZCBpbiBzaWxlbmNlIGRldGVjdGlvbi4gSWYgc3BlZXhfZW5jb2RlX2ludCByZXR1cm5zIDAsCgkgIHRoYW4gdGhlcmUgaXMgc2lsZW5jZSBhbmQgc2FtcGxlIGRvIG5vdCBuZWVkIHRvIGJlIHRyYW5zbWl0dGVkLgoJICBUaGlzIHdvcmsgb25seSBpZiB2YnI9MSBhbmQgZHR4PTEgb3B0aW9uYXMgYXJlIGVuYWJsZWQuCgkgIFNvIGlmIHdlIGdldCAwLCB3ZSBhZGQgR0FQIGZsYWcgdG8gdGhlIHNhbXBsZS4KCjIwMTEtMDQtMDcgMTk6MDQ6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgcGF5L2RlcGF5bG9hZGVycwoKMjAxMS0wNC0wNSAxOToxNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGhhbmRsZSBzY2F0aGVyIGdhdGhlciBmcm9tIGJ1ZmZlcnMKCSAgSXRlcmF0ZSB0aGUgbWVtb3J5IGJsb2NrcyBvbiB0aGUgYnVmZmVyIGFuZCBzZW5kIHRoZW0gdXNpbmcgc2VuZG1zZy4KCjIwMTEtMDQtMDUgMTc6MjY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiByZXNldCBzdHJ1Y3R1cmUgYmVmb3JlIHVzZQoKMjAxMS0wNC0wNSAxNzoyMDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCjIwMTEtMDQtMDUgMTc6MTI6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSAqIGNvbnRyb2wgY29ycmVjdGx5CgkgIFBhcnNlIHNlc3Npb24gY29udHJvbCBhdHRyaWJ1dGVzIHdoZW4gbm8gbWVkaWEgY29udHJvbCBhdHRyaWJ1dGUgaXMKCSAgcHJlc2VudC4gVGhyZWF0ICogY29udHJvbCBhdHRyaWJ1dGVzIGFzIGFuIGVtcHR5IHN0cmluZywganVzdCBsaWtlIHRoZQoJICBzcGVjIHNheXMuCgkgIEZpeGVzICM2NDY4MDAKCjIwMTEtMDQtMDUgMTc6MDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgcnRzcC91ZHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNC0wNSAxNDoyODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgYW5kIMK1LUxhdwoJICBGaXhlcyBidWcgIzY0NjU2Ny4KCjIwMTEtMDQtMDUgMDk6NDQ6MDEgKzAyMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBGaXggYnVpbGQgd2l0aCBqYWNrIDAuMTIwLjEKCSAgOTU0NDYyMjY3NGMwZDBhMzE0N2E5YjUxMTQ1MTU5YjAyZWVjNjhlOSBjaGVja2VkCgkgIGZvciAwLjEyMC4yIGFuZCBsYXRlciwgYnV0IHRoZSBkZXByZWNhdGlvbiB3YXMgaW50cm9kdWNlZCBpbgoJICAwLjEyMC4xCgoyMDExLTA0LTA1IDExOjEzOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IG1vcmUgcG9ydGluZyB0byAwLjExCgoyMDExLTA0LTA1IDEyOjA1OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgZG9jczogZml4IGRvY3VlbW50YXRpb24gd2FybmluZ3MgKGFuZCByZWluZGVudCkKCjIwMTEtMDQtMDQgMTk6MTc6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogcG9ydCB0byAwLjExIEFQSQoKMjAxMS0wNC0wNCAxNzozNDoxNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogdXBkYXRlIG9yYyBkaXN0IGZpbGVzCgoyMDExLTA0LTA0IDE1OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFjY2JlMDkgdG8gYzNjYWZlMQoKMjAxMS0wMy0wMSAxNDowODoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWx3YXlzIGNhbGwgcGFfc3RyZWFtX25ld193aXRoX3Byb3BsaXN0KCkKCSAgcGFfc3RyZWFtX25ld193aXRoX3Byb3BsaXN0KCkgY2FuIHRha2UgYSBOVUxMIHByb3BsaXN0LCBzbyB3ZSBkb24ndCBuZWVkCgkgIHRvIGNvbmNlcm4gb3Vyc2VsdmVzIHdpdGggd2hldGhlciBpdCdzIE5VTEwgb3Igbm90LgoKMjAxMS0wNC0wNCAxMTozMzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBlcmZvcm0gcG9zdC1mbHVzaCBzdGF0ZSB0cmlja3MgZG93bnN0cmVhbSB0byB1cHN0cmVhbQoJICAuLi4gc28gZG93bnN0cmVhbSBpcyBzZXQgd2hlbiB1cHN0cmVhbSByZXN1bWVzIGRhdGEgZmxvdy4KCjIwMTEtMDQtMDQgMTE6Mjc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkaXN0cmlidXRlIG5ldyBiYXNlX3RpbWUgdG8gbWFuYWdlciBjaGlsZHJlbiBmb2xsb3dpbmcgZmx1c2ggc2VlawoJICAuLi4gYnkgZm9yY2luZyBhIHN0YXRlIGNoYW5nZWQgdG8gUExBWUlORywgd2hpY2ggc2hvdWxkIG90aGVyd2lzZSBiZSBhCgkgIG5vLW9wIGFzIGVsZW1lbnRzIHNob3VsZCBhbHJlYWR5IGJlIGluIHRoYXQgc3RhdGUuCgkgIEluIHBhcnRpY3VsYXIsIGppdHRlcmJ1ZmZlciBuZWVkcyBuZXcgYmFzZV90aW1lIGFzIHNvb24gYXMgcG9zc2libGUgdG8gcGVyZm9ybQoJICBwcm9wZXIgdGltaW5nIChlLmcuIGVvcyB0aW1lb3V0IGhhbmRsaW5nKSBhbmQgY2FuJ3Qgd2FpdCBmb3IgdGhlIG5ldyBiYXNlX3RpbWUKCSAgdGhhdCB3aWxsIGJlIGRpc3RyaWJ1dGVkIHdoZW4gdGhlIHdob2xlIHBpcGVsaW5lIHJldHVybnMgdG8gUExBWUlORy4KCSAgU2VlIGJ1ZyAjNjQ2Mzk3LgoKMjAxMS0wNC0wNCAxMTozNTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJqaXR0ZXJidWZmZXI6IHJlc2V0IGVsZW1lbnQgYmFzZV90aW1lIHVwb24gZmx1c2giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjg0YjhhNjljYmE5YzUzOGY1NTQ2ODY5Y2I0ZWY0NTRhZDVlZmI5ZC4KCSAgRml4ZXMgYnVnICM2NDYzOTcuCgoyMDExLTA0LTA0IDEwOjMxOjQ0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IFNwZWNpZnkgdGhlIG9ubHkgcG9zc2libGUgc3RyZWFtLWZvcm1hdCBmb3IgaDI2NCBpbiB0aGUgcGFkIHRlbXBsYXRlcy4KCjIwMTEtMDQtMDQgMTA6MDc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3IgaW52YWxpZCAoZW1wdHkpIGNsYXNzaWZpY2F0aW9uIGluZm8gZW50aXR5IHN0cmluZ3MKCSAgT3RoZXJ3aXNlIHRoZSBjbGFzc2lmaWNhdGlvbiBzdHJpbmcgY2FuIGJlIGVtcHR5IGFuZCBnc3RfdGFnX2xpc3RfYWRkKCkgd2lsbAoJICBjb21wbGFpbiBvciBoYXZlIGEgXDAgaW4gdGhlIGZpcnN0IGZvdXIgYnl0ZXMsIHdoaWNoIGlzIHdyb25nIHRvby4KCjIwMTEtMDQtMDQgMTA6MDE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBZZWFyIDAgaXMgbm90IGEgdmFsaWQgeWVhciBmb3IgR0RhdGUgYW5kIHRoZSBwcm9sZXB0aWMgZ3JlZ29yaWFuIGNhbGVuZGFyCgoyMDExLTA0LTAxIDEzOjE4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTUVUQURBVEFfQkxPQ0tfUElDVFVSRSBibG9ja3MgZm9yIEdTVF9UQUdfSU1BR0UgYW5kIEdTVF9UQUdfUFJFVklFV19JTUFHRQoKMjAxMS0wNC0wMSAxMTozMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXJbMl06IFVzZSBvcmNfbWVtc2V0KCkgaW5zdGVhZCBvZiBtZW1zZXQoKQoKMjAxMS0wMS0xOSAxODowNjo0NSAtMDcwMCAgTGFuZSBCcm9va3MgPGRpcmp1ZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogQWRkIHRyYW5zcGFyZW50IGJhY2tncm91bmQgb3B0aW9uIGZvciBhbHBoYSBjaGFubmVsIGZvcm1hdHMKCjIwMTEtMDEtMTkgMTI6MDc6MTcgLTA3MDAgIExhbmUgQnJvb2tzIDxkaXJqdWRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogQWRkIHRyYW5zcGFyZW50IGJhY2tncm91bmQgb3B0aW9uIGZvciBhbHBoYSBjaGFubmVsIGZvcm1hdHMKCSAgVGhpcyBvcHRpb24gYWxsb3dzIHRoZSB2aWRlb21peGVyMiBlbGVtZW50IHRvIG91dHB1dCBhIHZhbGlkIGFscGhhCgkgIGNoYW5uZWwgd2hlbiB0aGUgaW5wdXRzIGNvbnRhaW4gYSB2YWxpZCBhbHBoYSBjaGFubmVsLiBUaGlzIGFsbG93cwoJICBtaXhpbmcgdG8gb2NjdXIgaW4gbXVsdGlwbGUgc3RhZ2VzIHNlcmlhbGx5LgoJICBUaGUgZm9sbG93aW5nIHBpcGVsaW5lIHNob3dzIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIHBpcGVsaW5lOgoJICBnc3QtbGF1bmNoIHZpZGVvdGVzdHNyYyBiYWNrZ3JvdW5kLWNvbG9yPTB4MDAwMDAwIHBhdHRlcm49YmFsbCAhIHZpZGVvL3gtcmF3LXl1dixmb3JtYXQ9XChmb3VyY2NcKUFZVVYgISB2aWRlb21peGVyMiBiYWNrZ3JvdW5kPXRyYW5zcGFyZW50IG5hbWU9bWl4MSAhIHZpZGVvbWl4ZXIyIG5hbWU9bWl4MiAhIGZmbXBlZ2NvbG9yc3BhY2UgISBhdXRvdmlkZW9zaW5rICB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsZm9ybWF0PVwoZm91cmNjXClBWVVWICEgbWl4Mi4KCSAgVGhlIGZpcnN0IHZpZGVvdGVzdHNyYyBpbiB0aGlzIHBpcGVsaW5lIGNyZWF0ZXMgYSBtb3ZpbmcgYmFsbCBvbiBhCgkgIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIEl0IGlzIHRoZW4gcGFzc2VkIHRvIHRoZSBmaXJzdCB2aWRlb21peGVyMi4KCSAgUHJldmlvdXNseSwgdGhpcyB2aWRlb21peGVyMiB3b3VsZCBoYXZlIGZvcmNlZCB0aGUgYWxwaGEgY2hhbm5lbCB0bwoJICAxLjAgYW5kIGdpdmVuIGEgYmFja2dyb3VuZCBvZiBjaGVja2VyLCBibGFjaywgb3Igd2hpdGUgdG8gdGhlCgkgIHN0cmVhbS4gV2l0aCB0aGlzIHBhdGNoLCBob3dldmVyLCB5b3UgY2FuIG5vdyBzcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kCgkgIGFzIHRyYW5zcGFyZW50LCBhbmQgdGhlIGFscGhhIGNoYW5uZWwgb2YgdGhlIGlucHV0IHdpbGwgYmUKCSAgcHJlc2VydmVkLiBUaGlzIGFsbG93cyBmb3IgZnVydGhlciBtaXhpbmcgZG93bnN0cmVhbSwgYXMgaXMgc2hvd24gaW4KCSAgdGhlIGFib3ZlIHBpcGVsaW5lIHdoZXJlIHRoZSBhIHNlY29uZCB2aWRlb21peGVyMiBpcyB1c2VkIHRvIG1peCBpbiBhCgkgIGJhY2tncm91bmQgb2YgYW4gc21wdGUgdmlkZW90ZXN0c3JjLiBTbyB0aGUgcmVzdWx0IGlzIGEgYmFsbCBob3ZlcmluZwoJICBvdmVyIHRoZSBzbXB0ZSB0ZXN0IHNvdXJjZS4gVGhpcyBjb3VsZCwgb2YgY291cnNlLCBoYXZlIGJlZW4KCSAgYWNjb21wbGlzaGVkIHdpdGggYSBzaW5nbGUgbWl4ZXIgZWxlbWVudCwgYnV0IHN0YWdlZCBtaXhpbmcgaXMgdXNlZnVsCgkgIHdoZW4gaXQgaXMgbm90IGNvbnZlbmllbnQgdG8gbWl4IGFsbCB2aWRlbyBhdCBvbmNlIChlLmcuIGEgcGlwZWxpbmUKCSAgd2hlcmUgYSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGJpbiBleGlzdCBhbmQgYXJlIG1peGVkIGF0IHRoZSBmaW5hbAoJICBvdXRwdXQsIGJ1dCB0aGUgZm9yZWdyb3VuZCBiaW4gbmVlZHMgYW4gaW50ZXJuYWwgbWl4ZXIgdG8gY3JlYXRlCgkgIHRyYW5zaXRpb25zIGJldHdlZW4gY2xpcHMpLgoJICBGaXhlcyBidWcgIzYzOTk5NC4KCjIwMTEtMDMtMzEgMTM6MjU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFsc28gdW5jb3JrIGR1cmluZyBFT1Mgd2FpdGluZyAoYW5kIGFmdGVyIEVPUyBpcyByZW5kZXJlZCkKCSAgUHVsc2VzaW5rIHdhcyByZWNlbnRseSBjaGFuZ2VkIHRvIGRlZmVyIHVuY29ya2luZyB1bnRpbCB0aGVyZSBpcyBkYXRhCgkgIHRvIHdyaXRlLiBUaGlzIGNvbmRpdGlvbiB3aWxsIGhvd2V2ZXIgbmV2ZXIgb2NjdXIgd2hlbiBFT1MgaW4gYmVpbmcKCSAgcmVuZGVyZWQgKHNpbmNlIHRoYXQgbWFya3MgdGhlIGVuZCBvZiBkYXRhKS4gQ2hhbmdpbmcgdG8gUEFVU0VEIHN0YXRlCgkgIHdoaWxlIEVPUyBpcyBiZWluZyB3YWl0ZWQgb24gcmVzdWx0cyBpbiBhIGhhbmc6IHBhdXNpbmcgY29ya3MgdGhlCgkgIHN0cmVhbSwgd2hpY2ggd2lsbCBuZXZlciBiZSB1bmRvbmUgc2luY2UgdGhlcmUgaXMgbm8gbW9yZSBkYXRhIHdoZW4KCSAgZ29pbmcgYmFjayB0byBQTEFZSU5HLiBJZiBwdWxzZXNpbmsgaXMgdGhlIGNsb2NrIHByb3ZpZGVyLCBkZWFkbG9jawoJICBlbnN1ZXMgc2luY2UgdGltZSBkb2Vzbid0IGNvbnRpbnVlIGluIGNvcmtlZCBzdGF0ZSBhbmQgdGhlIGNsb2NrIGlkCgkgIGZvciBFT1Mgd2FpdCBuZXZlciBmaXJlcy4KCSAgRml4ZXMgIzY0NTk2MS4KCjIwMTEtMDMtMjkgMTY6MzM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogRG9uJ3QgdHJ5IHRvIHJlcXVlc3QgdGhlIHNhbWUgcmVxdWVzdCBwYWQgdHdpY2UKCjIwMTEtMDMtMjggMjM6NDY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGZpeCBpc3N1ZXMgd2l0aCBsYXJnZSBtZXRhZGF0YSBibG9ja3Mgd2hlbiBzdHJlYW1pbmcgdW5mcmFtZWQgZmxhYwoJICBQYXJzZSBtZXRhZGF0YSBibG9ja3Mgd2hlbiBoYW5kbGluZyB1bnBhcnNlZCBmbGFjIGluIHB1c2ggbW9kZS4gVGhpcwoJICB3b3JrcyBhcm91bmQgYSBidW5jaCBvZiBpc3N1ZXMgd2l0aCB0aGUgZmxhYyBkZWNvZGVyIHdoZW4gaGFuZGxpbmcKCSAgbWV0YWRhdGEgYmxvY2tzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBtYXguIGZsYWMgZnJhbWVzaXplLCB3aGljaAoJICBjb3ZlcmFydCBibG9ja3Mgb2Z0ZW4gYXJlLiBXZSBuZWVkIHRvIGhhdmUgYWxsIHRoZSBkYXRhIGZvciB0aGVzZQoJICBibG9ja3MgYXZhaWxhYmxlIHdoZW4gd2UgcGFzcyBkYXRhIHRvIGxpYmZsYWMuCgkgIGh0dHA6Ly9nc3RyZWFtZXItZGV2ZWwuOTY2MTI1Lm40Lm5hYmJsZS5jb20vRmxhYy1maWxlcy10aGF0LXdpbGwtcGxheWJhY2stYnV0LW5vdC1zdHJlYW0tdGQzMzM4MTk4Lmh0bWwjYTMzOTUyNzYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2Njc2OQoKMjAxMS0wMy0yOCAyMTowNTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgcGx1Z2luczogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMS0wMy0yOCAyMDo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEtZmRvCgoyMDExLTAzLTI3IDIxOjM5OjUwICswMjAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBEbyBub3QgYnVpbGQgYW4gaW5kZXggaWYgdXBzdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIEFuIGluZGV4IGlzIG5vdCB1c2VmdWwgaWYgdXBzdHJlYW0gY2Fubm90IGhhbmRsZSBzZWVrcyBhbmQgYnVpbGRpbmcgaXQKCSAgZm9yIGluZmluaXRlIGZpbGVzLCBmb3IgaW5zdGFuY2UgRkxWIHN0cmVhbXMsIHJlc3VsdHMgaW4gYSBtZW1vcnkgbGVhay4KCjIwMTEtMDMtMjcgMDE6MTk6NTggKzAzMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmg6CgkgIHY0bDI6IG5ldyB2NGwycmFkaW8gZWxlbWVudCB0byBjb250cm9sIGFuYWxvZyByYWRpbyBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAxMTgKCjIwMTEtMDMtMjUgMjI6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOTNiNzE3IHRvIDFjY2JlMDkKCjIwMTEtMDMtMjUgMTQ6NTY6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjc3ZTJiZiB0byAxOTNiNzE3CgoyMDExLTAzLTI1IDEyOjUzOjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvOiBmaXggdGhlIG5hbWUgb2YgdGhlICotbWFyc2hhbGwubGlzdCBmaWxlIHRvIHVuYnJlYWsgbWFrZSBkaXN0Y2hlY2sKCjIwMTEtMDMtMjUgMDk6MzE6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkODgxNGI2IHRvIGI3N2UyYmYKCjIwMTEtMDMtMjUgMDk6MDY6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWFhMjg2IHRvIGQ4ODE0YjYKCjIwMTEtMDMtMjUgMDA6MTA6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHJlZmFjdG9yIHByb2Nlc3NpbmcgbG9vcCBmb3IgYmxvY2sgYmFzZWQgb3BlcmF0aW9uCgkgIFByZXZpb3VzbHkgdGhlIGNoYWluIGZ1bmN0aW9uIHdhcyB3b3JraW5nIHNhbXBsZSBmcmFtZSBiYXNlZC4gSW4gZWFjaCBjeWNsZSBpdAoJICB3YXMgY2hlY2tpbmcgaWYgaXQgaXMgdGltZSB0byBydW4gYSBmZnQgb3IgaWYgaXQgaXMgdGltZSB0byBzZW5kIGEgbWVzc2FnZS4KCSAgTm93IHdlIGNoYW5nZWQgdGhlIGRhdGEgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0byB3b3JrIG9uIGEgYmxvY2sgb2YgZGF0YSBhbmQKCSAgY2FsY3VsYXRlIHRoZSBtYXggbGVuZ3RoIHVudGlsIGVpdGhlciB7ZW5kLW9mLWRhdGEsIGRvLWZmdCwgZG8tbXNnfS4gVGhpcyBhbGxvd3MKCSAgdXMgYWxzbyB0byBhdm9pZCB0aGUgZHVwbGljYXRlZCBjb2RlIGZvciB0aGUgc2luZ2xlIGFuZCBtdWx0aS1jaGFubmVsIGNhc2UgKGFzCgkgIHRoZSB0cmFuc2Zvcm1lcnMgaGF2ZSB0aGUgc2FtZSBzaWduYXR1cmUgbm93KS4KCjIwMTEtMDMtMjQgMjM6NDc6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgamFjazogdW5icmVhayB0aGUgYnVpbGQgZm9yIGphY2syIHVzZXJzCgkgIEphY2syICh2ZXJzaW9ucyAxLlguWCkgZG9lcyBvbmx5IGhhdmUgdGhhdCBBUEkgaW4gc3ZuLiBMaW1taXQgdGhlIHVzZSBvZiB0aGUgbmV3CgkgIEFQSSBmb3IgamFjazEgdmVyc2lvbnMuCgoyMDExLTAzLTI0IDE4OjQ5OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhZWM2YjkgdG8gNmFhYTI4NgoKMjAxMS0wMy0yNCAxNDoxNDowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmaXggdGhlIGVycm9yIGFjY3VtdWxhdGlvbiBhbmQgZnJhbWVzX3RvZG8gaGFuZGxpbmcKCSAgRXZlbiB0aG91Z2ggd2Ugd3JhcCBhcm91bmQgdGhlIGFjY3VtdWxhdGVkIHNlY29uZCwgd2Ugc3RpbGwgbmVlZCB0byBhZGQgdGhlCgkgIGVycm9yIGluIHRoZSBzYW1lIGN5Y2xlLiBJbmNyZWFzZSB0aGUgdG9kbyBpbiB0aGUgc2FtZSBjb25kaXRpb25hbCBhcyBhZnRlcndhcmRzCgkgIHRoZSBhY2N1bXVsYXRlZCBlcnJvciB3aWxsIGJlIGJlbG93IG9uZSBzZWNvbmQuCgoyMDExLTAzLTI0IDEzOjUzOjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZpeCBicm9rZW4gY29kZSByZXN1bHRpbmcgZm9yIGEgd3Jvbmcgc3BsaXR1cCBvZiBjaGFuZ2VzCgoyMDExLTAzLTIyIDE2OjI5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBzaW1wbGlmeSB0aGUgaGF2ZV9pbnRlcnZhbCBjYWxjdWxhdGlvbgoJICBNb3ZlIHNvbWUgb2YgdGhlIGNvbmRpdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVyZSB0aGUgZGVwZW5kZW50IHZhcmlhYmxlcyBjaGFuZ2UuCgoyMDExLTAzLTIyIDE2OjI2OjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHVzZSBsb2NhbCB2YXIgZm9yIGlucHV0X2RhdGEgZnVuY3Rpb24KCSAgQXZvaWQgZGVyZWZlcmVuY2luZyB0aGUgaW5wdXRfZGF0YSBmcm9tIHRoZSBpbnN0YW5jZSBmcm9tIHdpdGhpbiBhbiBpbm5lciBsb29wLgoKMjAxMS0wMy0yMyAxNjozNDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBHZXQgYW5kIHVzZSBzdHJlYW1oZWFkZXIgZnJvbSB0aGUgY2FwcyBpZiBwb3NzaWJsZQoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBzdHJlYW1zIHdoZXJlIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycwoJICB3ZXJlIGRyb3BwZWQgZnJvbSB0aGUgc3RyZWFtIGZvciBzb21lIHJlYXNvbi4KCjIwMTEtMDMtMjIgMTk6MzY6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgRml4ZXMgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTk6MzY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIEZpeGVzICM0MzI2MTIuCgoyMDExLTAzLTIyIDE5OjM1OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBidWcgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTI6NTM6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpCgkgIGNsZWFuZWQgdGhlIHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKSBpbiBjb25maWd1cmUuYWMKCjIwMTEtMDMtMTggMTk6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiB3aW5nbyBzaWduZWQgY29tbWVudAoKMjAxMS0wMy0xNiAxMDo0Mzo0NyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrYXVkaW9zaW5rOiBGaXggdHlwbyBmcm9tIDk1NDQ2MjI2NzRjMGQwYTMxNDdhOWI1MTE0NTE1OWIwMmVlYzY4ZTkKCjIwMTEtMDMtMTYgMDk6Mzg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IE1hcmsgdGFnIG1hcHBpbmcgdGFibGVzIGFzIHN0YXRpYyBjb25zdAoKMjAxMS0wMy0xNiAwOTozNzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgQVJUSVNUIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoKMjAxMS0wMy0xNiAwOTozNTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgQVJUSVNUIE1hdHJvc2thIHRhZyBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCSAgQVVUSE9SIG9ubHkgZXhpc3RlZCBpbiBhbiBvbGQgdmVyc2lvbiBvZiB0aGUgc3BlYyBhbmQgQVJUSVNUIGlzCgkgIHRoZSBuZXcgcmVwbGFjZW1lbnQgZm9yIHRoaXMuIFdlIGFyZSBzdGlsbCByZWFkaW5nIGJvdGggdG8gc3RpbGwKCSAgYmUgY29tcGF0aWJsZSB3aXRoIG9sZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM2NDQ4NzUuCgoyMDExLTAzLTE1IDIwOjE5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiBlbmFibGUgbW9yZSBmb3JtYXRzIGluIHZpZGVvZmlsdGVyIHVuaXQgdGVzdCwgY2hlY2sgbW9yZSByZXNvbHV0aW9ucwoKMjAxMS0wMy0xNCAxOToxNDowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBGaXggYnVmZmVyIG92ZXJmbG93IGJ1ZyBmb3Igb2RkIHJlc29sdXRpb25zIGFuZCBZNDIyIGNvbG9yc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3NzMKCjIwMTEtMDMtMTUgMTk6MzY6MDEgKzAyMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBzaWxlbmNlIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGFwcHJvcHJpYXRlCgkgIElmIHdlIGRpZCBub3Qga25vdyBob3cgbWFueSBmcmFtZXMgdG8gZXhwZWN0LCB0aGVuIHdlIGdldCBhbiB1bmV4cGVjdGVkCgkgIGVuZCBvZiBzdHJlYW0gd2hlbiB0cnlpbmcgdG8gZGVjb2RlIG1vcmUgZnJhbWVzIHRoYXQgYXJlIHRoZXJlLCBpZiB0aGVyZQoJICBhcmUgbGVmdG92ZXIgYml0cyB0byBwYWQgdG8gdGhlIG5leHQgYnl0ZQoKMjAxMS0wMy0xNCAxOToxNDowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgVVZZViBhbmQgWVZZVSBjb2xvcnNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzczCgoyMDExLTAzLTE1IDA5OjQzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiBpbiB2aWRlb2ZpbHRlciB1bml0IHRlc3QgYWxzbyBjaGVjayB3aXRoICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cwoJICBBbmQgb25seSB1c2Ugb25lIHRlc3Qgc3VpdGUuCgoyMDExLTAzLTE0IDE5OjI4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogQWx3YXlzIHByb2Nlc3MgdGhlIG51bWJlciBvZiBmcmFtZXMgcGVyIHBhY2tldCBhcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlcgoJICBMb29raW5nIGF0IHRoZSByZW1haW5pbmcgYml0cyBpbiB0aGUgYml0c3RyZWFtIGFmdGVyIGRlY29kaW5nIGEKCSAgc2luZ2xlIGZyYW1lIGNhbid0IGJlIHVzZWQgYXMgbG9vcCBjb25kaXRpb24uIFRoZSByZW1haW5pbmcKCSAgYml0cyBtaWdodCBub3QgZ2l2ZSBhIGNvbXBsZXRlIGZyYW1lIGFuZCB0aGUgc3BlZXggZGVjb2RlciB3aWxsCgkgIHRoZW4gb3V0cHV0IG5vdGhpbmcgYnV0IGFjY2VzcyB1bmluaXRpYWxpemVkIG1lbW9yeSwgd2hpY2ggbGVhZHMKCSAgdG8gdmFsZ3JpbmQgd2FybmluZ3MuCgkgIEZpeGVzIGJ1ZyAjNjQ0NjY5LgoKMjAxMS0wMy0xNCAxNTo0Njo1MCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV0dXJuIFRSVUUgZnJvbSBzaW5rIHBhZCBldmVudCBmdW5jdGlvbiBmb3IgdGFnIGV2ZW50cywgd2hpY2ggYXJlIGhhbmRsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDczMAoKMjAxMS0wMy0xMiAwMDo0NDozMSArMDUzMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBCZXR0ZXIgZml4IGZvciBkZWFkbG9jayBvbiBmYWlsZWQgY29ubmVjdAoJICBUaGlzIHJldmVydHMgdGhlIHByZXZpb3VzIGZpeCB0aGF0IHdvdWxkIGNhdXNlIGEgZG91YmxlLXVubG9jayB3aGVuIHRoZQoJICBzdHJlYW0gY29ubmVjdCBmYWlsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ1MTAKCjIwMTEtMDMtMTEgMjM6MDY6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBkZWFkbG9jayBpZiBjb25uZWN0aW5nIHRvIFBBIGZhaWxzCgkgIENvbW1pdCBkZDRlYzIyZSBpbnRyb2R1Y2VkIGEgZGVhZGxvY2sgaW4gdGhlIGZhaWx1cmUgcGF0aCB3aGlsZSB0cnlpbmcKCSAgdG8gY29ubmVjdCB0byBQdWxzZUF1ZGlvLiBUaGlzIG1ha2VzIHN1cmUgd2UgZHJvcCB0aGUgbG9jayBvbiB0aGUKCSAgcmVzb3VyY2UgbXV0ZXggdG8gYXZvaWQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDUxMAoKMjAxMS0wMy0xMSAxNjo1OToxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBvcmRlciBzdGF0ZS10ZXN0IGJsYWNrbGlzdCBhbmQgYWRkIGphY2sgZWxlbWVudHMKCSAgSmFjayBhdWRpbyBzcmMvc2luayBlbGVtZW50cyByZWNlbnRseSBnb3QgbW92ZWQgZnJvbSBiYWQgYW5kIHNob3VsZCBiZSBleGNsdWRlZAoJICBmcm9tIHRoZSB0ZXN0IChsaWtlIHRoZSBvdGhlciBkZXZpY2Ugc3BlY2lmaWMgc291cmNlIGFuZCBzaW5rcykuCgkgIEZpeGVzICM2NDQyODgKCjIwMTEtMDMtMTEgMTM6NDc6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgOjpzZW5kX2V2ZW50IGZvciBub24tc2VlayBldmVudHMKCjIwMTEtMDMtMTEgMTM6NDY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRml4IHJlZmNvdW50IGlzc3VlcyB3aXRoIHRoZSBzZWVrIGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjQyOTYzLgoKMjAxMS0wMy0xMSAwOTo1NDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIGRvY3M6IGZpeCBwdWxzZXNpbmsgZ3RrLWRvYyBtYXJrdXAKCjIwMTEtMDMtMTEgMTA6Mjk6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBidWlsZCBhZ2FpbnN0IGphY2sgMC4xMjAuMgoJICBqYWNrX3BvcnRfZ2V0X3RvdGFsX2xhdGVuY3koKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mCgkgIGphY2tfcG9ydF9nZXRfbGF0ZW5jeV9yYW5nZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NDc3CgoyMDExLTAzLTEwIDE0OjI5OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG1vcmUgY29tbWVudHMgYW5kIHR1bmUgYW5kIGxvZ2dpbmcKCjIwMTEtMDMtMTAgMTQ6MTU6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogYXZvaWQgdW5uZWNjZXNhcnkgZXh0cmEgZmZ0IHJ1bnMKCSAgQmVmb3JlIGl0IHdhcyBwb3NzaWJsZSB0aGF0IHdlIHJ1biBhbiBleHRyYSBmZnQgd2hlbiB0aGUgdGltZSBmb3Igc2VuZGluZyBhIG5ldwoJICBtZXNzYWdlIGlzIGR1ZS4gT25seSBkbyB0aGlzIGlmIHdlIGhhdmUgbm90IHJ1biB0aGUgZmZ0IGZvciB0aGUgaW50ZXJ2YWwgYXQgYWxsLgoKMjAxMS0wMy0xMCAxNDoxMjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBvbmx5IHNjYWxlIHRoZSB2ZWN0b3JzIHRoYXQgd2UgYXJlIHByb2Nlc3NpbmcKCSAgUGhhc2UgaXMgbm90IHByb2R1Y2VkIGJ5IGRlZmF1bHQsIHNvIGxldHMgbm90IHNjYWxlIGl0IHVuY29uZGl0aW9uYWxseSB0byBzYXZlIGEKCSAgZmV3IGN5Y2xlcy4KCjIwMTEtMDMtMTAgMTQ6MTA6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHB1dCBudW1iZXIgb2YgY2hhbm5lbHMgdG8gaW5zdGFuY2UgdmFyaWFibGUKCSAgV2hlbiBmcmVlaW5nIGRhdGEgdGhlIGZvcm1hdCBtaWdodCBoYXZlIGNoYW5nZWQuIFRodXMgd2UgbmVlZCB0byByZW1lbWJlciBmb3IKCSAgd2hpY2ggZm9ybWF0IHdlIGFsbG9jYXRlZCBtZW1vcnkuCgoyMDExLTAzLTEwIDEwOjI3OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHVwZGF0ZSBkb2MgcmV2aWV3IHN0YW1wCgoyMDExLTAzLTEwIDEwOjIyOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiB1c2UgZnVuY3Rpb24gcG9pbnRlcnMgZm9yIGRhdGEgcmVhZGVycwoJICBEb24ndCBjaGVjayB0aGUgZm9ybWF0IGZvciBlYWNoIHNhbXBsZSBmcmFtZSB0byByZWFkLiBXZSBjYW4gbWFrZSB0aGF0IGRlY2lzc2lvbgoJICBpbiBfc2V0dXAgYWxyZWFkeS4gVGhpcyBpcyBzdGlsbCBub3QgaWRlYWwgYXMgd2UgY2FsbCB0aGUgZnVuY3Rpb24gcGVyIGZyYW1lLgoJICBJZGVhbGx5IHdlIGRldGVybWluZSBob3cgbWFueSBzYW1wbGVzIHdlIGNhbiBjb3B5IGFuZCBoYXZlIGEgbG9vcCBpbiB0aGUgaW5wdXQKCSAgcmVhZGVyLiBBcyBhbiBhbHRlcm5hdGl2ZSB3ZSBtaWdodCBhbHNvIGNvbnNpZGVyIHRvIHVzZSB0aGUgZmZ0IHZhcmlhbnRzIGZvciB0aGUKCSAgdmFyaW91cyBmb3JtYXRzIGFuZCBub3QgY29udmVydCB0byBmbG9hdCBmb3IgYWxsIGNhc2VzIC0gd2Ugd291bGQgc3RpbGwgbmVlZCB0bwoJICBtaXggb3IgZGVpbnRlcmxlYXZlIHRob3VnaC4KCjIwMTEtMDMtMDkgMTc6MDc6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcHJvdmUgcmVjb3ZlcnkgZnJvbSBmYWlsZWQgc2VlawoJICBJbiBjYXNlIHNlcnZlci1zaWRlIGZhaWxzIHRvIHBlcmZvcm0gc2VlaywgaS5lLiBQTEFZIGF0IG5vbi16ZXJvIHJlcXVlc3RlZAoJICBwb3NpdGlvbiwgcmVjb3Zlcnkgc28gZmFyIHdvdWxkIGFycmFuZ2UgZm9yIHN0cmVhbWluZyB0byBjb250aW51ZSwgYWxiZWl0CgkgIGhhdmluZyBsb3N0IHBvc2l0aW9uIHRyYWNraW5nIGluIHRoZSBwcm9jZXNzLiAgU28sIHF1ZXJ5IHBvc2l0aW9uIHByaW9yCgkgIHRvIHNlZWsgYW5kIHVzZSB1cG9uIGZhaWxlZCBzZWVrLgoKMjAxMS0wMy0wOSAxNjo1MTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgcG9zaXRpb24gcXVlcnkKCjIwMTEtMDMtMDkgMTY6NTc6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06ICBtdWx0aS1jaGFubmVsIHN1cHBvcnQKCSAgQWRkIGEgYm9vbGVhbiBtdWx0aS1jaGFubmVsIHByb3BlcnR5IHdpdGggYSBkZWZhdWx0IG9mIEZBTFNFLiBXaGVuIHNldCB0byBUUlVFCgkgIHRoZSBlbGVtZW50IHdvbid0IG1peCBhbGwgaW5wdXQgY2hhbm5lbHMgdG8gbW9ubywgYnV0IGluc3RlYWQgcnVuIGEgRkZUIG9uIGVhY2gKCSAgY2hhbm5lbC4gSW4gdGhhdCBjYXNlIHRoZSByZXN1bHQgbWVzc2FnZSB3b3VsZCBjb250YWluIGEgMiBkaW1lbnNpb25hbCBhcnJheQoJICBvZiBjaGFubmVsIHggZGF0YSBmb3IgbWFnbml0dWRlIGFuZCBwaGFzZS4KCSAgQVBJOiBHc3RTcGVjdHJ1bTptdWx0aS1jaGFubmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTM0ODIKCjIwMTEtMDMtMDkgMTY6NTU6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogbW9yZSB4cmVmcyBpbiB0aGUgZG9jcwoKMjAxMS0wMy0wOSAxMjo0MToxNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmYWN0b3Igb3V0IHRoZSBjb2RlIHRoYXQgYWNjdW11bGF0ZWQgc2FtcGxlcyBpbnRvIHRoZSByaW5nLWJ1ZmZlcgoJICBVc2UgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byByZWFkIGEgc2FtcGxlIGZyYW1lIGludG8gYSByaW5nYnVmZmVyIHNsb3QuIEluIHRoZQoJICBmdXR1cmUgd2UgY2FuIHVzZSBmb3JtYXQtc3BlY2lmaWMgZnVuY3Rpb24gcG9pbnRlciB0byBhdm9pZCB0aGUgcmVvY2N1cmluZwoJICBmb3JtYXQgY2hlY2tzLgoKMjAxMS0wMy0wOSAxMjozODo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBwdWxsIGZvcm1hdCB0byB0ZW1wIHZhciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGxpbmVzIHVzaW5nIGl0CgoyMDExLTAzLTA5IDEyOjIwOjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNvZGUgY2xlYW51cCBmb3IgY29weWluZyBkYXRhIHRvIHJpbmctYnVmZmVyCgkgIFJlbmFtZSBmcCB0byBpc19mbG9hdCBhbmQgcmVzdHJ1Y3R1cmUgaWYtZWxzZSBwYXJ0IGZvciBoYW5kbGluZyB0aGUgZGlmZmVyZW50IGZvcm1hdHMuCgoyMDExLTAzLTA5IDExOjQwOjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBhZGQgYSBHc3RTcGVjcnR1bUNoYW5uZWwgY29udGV4dCBzdHJ1Y3R1cmUKCSAgV2Ugbm93IGtlZXAgdGhlIGZmdCBkYXRhIHRoYXQgaXMgcmVsYXRlZCB0byBvbmUgY2hhbm5lbCBpbiBhIHNlcGFyYXRlIHN0cnVjdHVyZQoJICB0byBwcmVwYXJlIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gV2UgYWxzbyByZWZhY3RvciB0aGUgY29kZSB0byBvcGVyYXRlIG1vcmUKCSAgb2Z0ZW4gb24gdGhlIGNoYW5uZWwgY29udGV4dC4KCjIwMTEtMDMtMDkgMTE6MTg6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY2FsbCB0aGUgaW5zdGFuY2UgdmFyIHNwZWN0cnVtIGluc3RlYWQgb2YgZmlsdGVyCgoyMDExLTAzLTA5IDExOjE0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGRvbid0IHZhbHVlIHdlIGFscmVhZHkgdG9vayBmcm9tIHRoZSBndmFsdWUKCjIwMTEtMDMtMDggMTc6MjY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTAzLTA4IDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBtZXRhOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMDggMTY6Mjg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYWQtaG9jIHJlbGVhc2UgYnJhbmNoICcwLjEwLjI4JwoKPT09IHJlbGVhc2UgMC4xMC4yOCA9PT0KCjIwMTEtMDMtMDggMTU6NDc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjgKCSAgQWQtaG9jIHJlbGVhc2UgdG8gZml4IGJ1aWxkIGlzc3VlIHdpdGggbmV3ZXIga2VybmVscy4KCjIwMTEtMDMtMDMgMDA6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgdW5uZWNlc3NhcnkgbGludXgvdmlkZW9kZXYuaCBpbmNsdWRlCgkgIENhdXNlcyBjb21waWxhdGlvbiBpc3N1ZXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycyB3aGVyZSB0aGUgb2xkCgkgIHY0bCBpbnRlcmZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzcxNgoKMjAxMS0wMy0wOCAxMDoxNDoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbQoKMjAxMS0wMy0wNyAxNjo1Njo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhbHNvIGVzdGltYXRlIGVvcyBpZiB2ZXJ5IG5lYXIgZW9zCgoyMDExLTAzLTA3IDE2OjU2OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHRyeWluZyB0byBidWZmZXIgbW9yZSB0aGFuIGlzIGF2YWlsYWJsZS4KCSAgVGhhdCBpcywgaW4gY2FzZSBvZiBzaG9ydCAob3IgbmVhciBlb3Mgb2YpIHN0cmVhbSwgZGVhZGxvY2sgKHVudGlsIHRpbWVvdXQpCgkgIHdvdWxkIG9jY3VyIHRyeWluZyB0byBidWZmZXIgbW9yZSB0aGFuIGlzIHlldCBmb3J0aGNvbWluZy4KCjIwMTEtMDMtMDcgMTE6MDE6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgZWxlbWVudCBiYXNlX3RpbWUgdXBvbiBmbHVzaAoJICAuLi4gdG8gYXJyYW5nZSBmb3IgcHJvcGVybHkgc2NoZWR1bGVkIHRpbWVvdXQgKGZvbGxvd2luZyBzZWVrKS4KCjIwMTEtMDMtMDcgMTA6NTQ6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IEFkZCBhIGJ1cyBoYW5kbGVyIHRvIHRoZSBleGFtcGxlIHRvIGhhbmRsZSBFT1MvRVJST1IvV0FSTklORwoJICBBbHNvIGNsZWFuIHVwIHRoZSBwaXBlbGluZSBwcm9wZXJseS4KCjIwMTEtMDMtMDcgMTA6NDc6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBbHdheXMgZGlzdCB0aGUgY2Fpcm8gZXhhbXBsZQoKMjAxMS0wMy0wNyAxMDo0NjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm9vdmVybGF5OiBVc2UgTERBREQgaW5zdGVhZCBvZiBMREZMQUdTIGZvciBsaWJzIGFuZCBhZGQgJChHU1RfTElCUykKCjIwMTEtMDMtMDUgMjM6MjI6NTggKzAwMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogUmVtb3ZlIHVubmVjZXNzYXJ5IGd0ay9ndGsteDExIHVzZSBpbiBleGFtcGxlLgoJICBUaGlzIHJlbW92ZXMgY29kZSwgYW5kIGFsbG93cyB0aGUgZXhhbXBsZSB0byBiZSB1c2VkIG9uIGFueSBwbGF0Zm9ybS4KCSAgRml4ZXMgYnVnICM2NDM5ODEuCgoyMDExLTAzLTA0IDE4OjM3OjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogVXNlICNpZmRlZnMgZm9yIFY0TDJfUElYX0ZNVF9QSlBHCgkgIEl0J3Mgb25seSByZWNlbnRseSBhZGRlZCB0byBrZXJuZWwgaGVhZGVycy4KCjIwMTEtMDItMjMgMTY6NTA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogdHVuZSBvdXRwdXQgbWF4IGJ1ZmZlciBzaXplIHRvIG1hdGVyaWFsCgkgIC4uLiB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCB0b25zIG9mIHNob3J0IHRpbWUgYnVmZmVycyBmb3IgZS5nLiBoaWdoIHNhbXBsZQoJICByYXRlIGF1ZGlvLgoKMjAxMS0wMy0wNCAxNzowNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZG9uJ3QgdXNlIGhhcmRjb2RlYyAwLjEwCgoyMDExLTAzLTA0IDE2OjMwOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wNCAxNTo1MDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBhIGRvYyBleGFtcGxlIGZvciBzZXR0aW5nIHN0cmVhbS1wcm9wZXJ0aWVzCgoyMDExLTAzLTA0IDE1OjQyOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHRoZSB4bWwgaW4gdGhlIGRvY3MKCjIwMTEtMDMtMDMgMDA6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgdW5uZWNlc3NhcnkgbGludXgvdmlkZW9kZXYuaCBpbmNsdWRlCgkgIENhdXNlcyBjb21waWxhdGlvbiBpc3N1ZXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycyB3aGVyZSB0aGUgb2xkCgkgIHY0bCBpbnRlcmZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzcxNgoKMjAxMS0wMy0wMiAyMzoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IFRoZSBleGFtcGxlIGFsd2F5cyByZXF1aXJlcyBndGsteDExCgkgIENoZWNrIGZvciBndGsteDExIGFuZCBvbmx5IGJ1aWxkIHRoZSBleGFtcGxlIGlmIGl0J3MgYXZhaWxhYmxlLgoKMjAxMS0wMy0wMiAyMzoxNDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSAgY2Fpcm9vdmVybGF5OiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTEtMDMtMDIgMjM6MDk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0ZWQgcGx1Z2luIGRhdGEKCjIwMTEtMDEtMjggMDI6MTQ6MDQgKzAyMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2NhaXJvLy5naXRpZ25vcmU6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLW1hcnNoYWwubGlzdDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBBZGQgZ2VuZXJpYyBDYWlybyBvdmVybGF5IHZpZGVvIGVsZW1lbnQuCgkgIEFsbG93cyBhcHBsaWNhdGlvbnMgdG8gY29ubmVjdCB0byB0aGUgImRyYXciIHNpZ25hbCBvZgoJICB0aGUgZWxlbWVudCBhbmQgZG8gdGhlaXIgY3VzdG9tIGRyYXdpbmcgdGhlcmUuCgkgIEluY2x1ZGVzIGFuIGV4YW1wbGUgYXBwbGljYXRpb24gZGVtb25zdHJhdGluZyB1c2FnZS4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTU1MjAKCjIwMTEtMDMtMDIgMTM6MDA6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogZG9uJ3QgbGVhayB0aGUgbW9ub3Njb3BlX3N0YXRlIGRhdGEKCSAgVGhlIG1vbm9zY29wZV9jbG9zZSgpIGltcGxlbWVudGF0aW9uIHdhcyBlbXB0eS4KCjIwMTEtMDMtMDIgMTI6NTk6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogd2UgaGF2ZSA2NCBjb2xvcnMsIGRvbid0IGFjY2VzcyBjb2xvcnNbNjRdCgkgIEZpeGVzIHJlbWFpbmluZyBpbnZhbGlkIHJlYWQuCgoyMDExLTAzLTAyIDEwOjI1OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXJyYW5nZSBmb3Igbm9uLWZhdGFsIGVycm9yIHdoZW4gcGFyc2luZyBub24tdml0YWwgcGFydHMKCjIwMTEtMDMtMDIgMTA6NTY6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSAgbW9ub3Njb3BlOiBzdGFjayBuZWVkcyB0byBiZSBzaXplKzEgYXMgd2UgcHV0IGEgZW5kLW1hcmtlciBpbnRvIGl0CgkgIFZhbGdyaW5kIGlzIHN0aWxsIGNvbXBsYWluaW5nIGFib3V0IG9uZSBiYWQgcmVhZCwgYnV0IHRoaXMgdGFrZXMgY2FyZSBvZiB0aGUKCSAgY3Jhc2ggbWVudGlvbmVkIGluIHRoZSBjb21tZW50IGFuZCBpbiBidWcgIzU2NDEyMi4KCjIwMTEtMDMtMDEgMjI6NDA6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgZXhhbXBsZTogZml4IHRoZSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaXAtYWRkcmVzcwoJICBGaXggdGhlIG5hbWUgaW4gdGhlIGxhdW5jaCBwaXBlbGluZSBhbmQgdXNlIGEgdmFsdWUgb2YgImxvY2FsaG9zdCIgYnkgZGVmYXVsdC4KCjIwMTEtMDItMjggMTk6MTY6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGN5Z3dpbi9taW5ndzsgZW5hYmxlIHBsdWdpbiBsaW5raW5nIHRvIHN0YXRpYyBsaWIKCSAgVXNlZnVsIGZvciBEaXJlY3RYIHBsdWdpbihzKS4KCSAgRml4ZXMgIzY0MjUwNy4KCjIwMTEtMDItMjggMTk6MTM6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGV4cG9ydCBwbHVnaW4gZGVzY3JpcHRpb24gbW9yZSBwbGF0Zm9ybSBpbmRlcGVuZGVudAoJICBGaXhlcyAjNjQyNTA0LgoKMjAxMS0wMi0yOCAxODozMjo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFkZTdmNmEgdG8gNmFlYzZiOQoKMjAxMS0wMi0yOCAxMzoyOTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDItMjggMTM6Mjg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBOZXRBZGRyZXNzIG1ldGFkYXRhCgoyMDExLTAyLTI4IDEzOjE0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogaW1wbGVtZW50IE5ldEFkZHJlc3Mgd2l0aCBtZXRhZGF0YQoKMjAxMS0wMi0yOCAxMDoxNjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJlZ2lzdGVyIG1ldGFkYXRhCgoyMDExLTAyLTI3IDE5OjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtZXRhOiBmaXggZm9yIG5ldyBBUEkKCjIwMTEtMDItMjUgMTY6Mjk6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1ldGFkYXRhOiB1c2UgbWV0YWRhdGEgZm9yIHByaXZhdGUgYnVmZmVyIGRhdGEKCSAgVXNlIGJ1ZmZlciBtZXRhZGF0YSB0byBzdG9yZSBlbGVtZW50IHByaXZhdGUgZGF0YS4KCjIwMTEtMDItMjQgMTM6NTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWluaW9iamVjdDogcG9ydCB0byAwLjExCgkgIFVzZSBidWZmZXIgcHJpdmF0ZSBkYXRhIGluc3RlYWQgb2Ygc3ViY2xhc3NpbmcuCgoyMDExLTAyLTI0IDEzOjUwOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogZG9uJ3QgaGFyZGNvZGUgdmVyc2lvbiBudW1iZXIKCjIwMTEtMDItMjQgMTM6MDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDM6IHVzZSBib3hlZCB0eXBlIGluc3RlYWQgb2YgbWluaW9iamVjdAoKMjAxMS0wMi0yNCAxMzowMDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgbWluaW9iamVjdDogdXNlIGJ1ZmZlciBwcml2YXRlIGZpZWxkIGZvciBleHRyYSBkYXRhCgkgIFVzZSB0aGUgb3duZXIgcHJpdmF0ZSBmaWVsZCB0byBzdG9yZSBleHRyYSBidWZmZXIgZGF0YSBpbnN0ZWFkIG9mIHVzaW5nCgkgIHN1YmNsYXNzaW5nLgoKMjAxMS0wMi0yNCAxMjoyMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGR1cmF0aW9uIHdoZW4gZXh0aW1hdGluZyBRb1MgdGltZQoJICBXaGVuIHdlIG5lZWQgdG8gZGVjaWRlIG9uIHRoZSBuZXh0IFFvUyB0aW1lLCB0YWtlIGludG8gYWNjb3VudCB0aGUgZHVyYXRpb24gb2YKCSAgdGhlIGJ1ZmZlcnMuCgoyMDExLTAyLTI4IDExOjU4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMi0yMyAxNzo0MToyMiArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZWxlYXNlIHBhX3NoYXJlZF9yZXNvdXJjZV9tdXRleCBiZWZvcmUgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdAoJICBOb3QgZG9pbmcgc28gY2FuIHJlc3VsdCBpbiBhIGRlYWRsb2NrIHdoZW4gdHdvIHRocmVhZHMgZW50ZXIKCSAgZ3N0X3B1bHNlcmluZ2J1ZmZlcl9vcGVuX2RldmljZSBhdCB0aGUgc2FtZSB0aW1lLCBhcwoJICBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0IHJlbGVhc2VzIHRoZSBtYWlubG9vcCBsb2NrIHdoaWxlIHdhaXRpbmcsCgkgIGFsbG93aW5nIGFub3RoZXIgdGhyZWFkIHRvIHRha2UgaXQsIHJlc3VsdGluZyBpbiBhIGRlYWRsb2NrIGFzIHR3bwoJICB0aHJlYWRzIHdhaXRzIGZvciB0aGUgbG9jayB0aGUgb3RoZXIgaXMgaG9sZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzA4NwoKMjAxMS0wMi0yMyAxNzoxODoxOSArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzL3Jlc3NvdXJjZS9yZXNvdXJjZS8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzA4NwoKMjAxMS0wMi0yNSAyMDoxMjozNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBhY2NpZGVudGFsIGRlYnVnIG1lc3NhZ2UKCSAgaW4gcHJldmlvdXMgY29tbWl0CgoyMDExLTAyLTI1IDE5OjM1OjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIDJWdXkgYW5kIHIyMTAKCjIwMTEtMDItMjQgMTQ6MDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBOVjIxIGNvbG9yc3BhY2UKCjIwMTEtMDItMjQgMTQ6MDA6MzcgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGNvbG9yc3BhY2UKCSAgRml4ZXMgYnVnICM2NDI5NjEuCgoyMDExLTAyLTI0IDEzOjU2OjA0ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpcnN0IHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIFRJTUUgc2Vla3MgYmVmb3JlIGhhbmRsaW5nIHRoZW0gaGVyZQoJICBGaXhlcyBidWcgIzY0Mjk2My4KCjIwMTAtMTEtMDggMTQ6MjU6NTkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IFNpbXBsaWZ5IHNldGNhcHMKCSAgVGhlIGN1cnJlbnQgY29kZSBuZXZlciB1c2VzIHVwc3RyZWFtIG5lZ290aWF0aW9uIHNvIHRoZSBjb2RlIGNhbiBiZQoJICBzaWduaWZpY2FudGx5IHNpbXBsaWZpZWQuCgoyMDExLTAxLTI0IDEyOjQ4OjE4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogUG9ydCBncmVlZHlsIHRvIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kCgkgIFRoZSBtYWluIGdvYWwgb2YgdGhpcyBjaGFuZ2UgaXMgdG8gcmV1c2UgdGhlIGNvbXBsZXggYnV0IG5vdyBuZWF0bHkKCSAgd3JpdHRlbiBzY2FubGluZSBwb2ludGVyIGNhbGN1bGF0aW9uIGNvZGUgZnJvbSB0aGUgc2ltcGxlIG1ldGhvZHMuCgoyMDExLTAyLTIyIDE1OjIwOjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgUmV2ZXJ0ICJpZDNkZW11eDogZW5zdXJlIGEgdGFnbGlzdCBiZWZvcmUgYWRkaW5nIHRoZSBjb250YWluZXIgdGFnIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE4NmJhYjY2ODkzYmIxYTMzMjNhNzU2NDEwNTczYzExN2I4MjE5ZWYuIFRoZSBpc3N1ZSBpcwoJICBmaXhlZCB3aXRoIGNvbW1pdCBmZjVlNWE4ZjBkYWExZmRmODk3OTJkMDcyNmVhMDYzYmJkOTlkYjE4IGluc3RlYWQuCgoyMDExLTAyLTIyIDE1OjE5OjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcmV0dXJuIElEM1RBR1NfQlJPS0VOX1RBRyBmb3IgdW5zdXBwb3J0ZWQgdmVyc2lvbnMKCSAgVGhpcyBwcmV2ZW50cyB1cyBmb3IgdHJ5aW5nIHRvIHdvcmsgd2l0aCBhIE5VTEwgdGFnbGlzdC4KCjIwMTEtMDItMjIgMTQ6MTU6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDExLTAyLTIyIDE0OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGVuc3VyZSBzYW5lIHBhcmFtZXRlcnMgd2hlbiBwYXJzaW5nIHN1cGVyaW5kZXgKCjIwMTEtMDItMjIgMTQ6MDA6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2hlY2sgZm9yIE5VTEwgYXVkaW8gc3RyZWFtIGZvcm1hdCBoZWFkZXIgd2hlbiBwYXJzaW5nIHN0cmVhbQoKMjAxMS0wMi0yMiAxNDo1MjoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cC1leGFtcGxlczogbW92ZSBjYXBzZmlsdGVyIGJlaGluZCBjb252ZXJ0ZXJzCgkgIFdlIG5lZWQgdG8gaGF2ZSB0aGUgY2Fwc2ZpbHRlciBiZWhpbiB0aGUgY29udmVydGVycyB0byBtYWtlIHRoZSBjb252ZXJ0ZXJzCgkgIGNvbnZlcnQgZnJvbSB0aGUgZm9ybWF0cyB2NGwyc3JjIGNhbiBkbyB0byB3aGF0IHdlIHJlcXVlc3Qgd2l0aCB0aGUKCSAgY2Fwc2ZpbHRlci4KCjIwMTEtMDItMjIgMTQ6NTA6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwLWV4YW1wbGVzOiBmaXggYXNjaWktYXJ0CgkgIFNvbWUgYm94ZXMgd2hlcmUgbWlzYWxpZ25lZCBkdWUgdG8gbG9uZyAiYXVkaW90ZXRzc3JjIiBuYW1lLiBUcmltIHRyYWlsaW5nCgkgIHdoaXRlc3BhY2UuCgoyMDExLTAyLTIyIDEzOjI5OjI2ICswMTAwICBCbGFpc2UgR2Fzc2VuZCA8YmxhaXNlIGF0IHdpbGxvd2dhcmFnZSBkb3QgY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogaGFuZGxlIE5VTEwgZGVtdXggZWxlbWVudHMKCSAgV2hlbiB1c2luZyBnc3RydHBiaW4gd2l0aCBpZ25vcmUtcHQ9dHJ1ZSwgdGhlIGZyZWVfc3RyZWFtIGZ1bmN0aW9uIHRyaWVzIHRvCgkgIGNhbGwgZ3N0X2VsZW1lbnRfc2V0X2xvY2tlZF9zdGF0ZSBhbmQgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlIG9uIGEgc3RyZWFtLT5kZW11eAoJICB3aGljaCBpcyBOVUxMLgoJICBmaXhlcyAjNjQyNDEyCgoyMDExLTAxLTI0IDEyOjE4OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbi11cHMKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYnkgcHJpbnRpbmcgdGhlIGJ1ZmZlciBwb2ludGVyIHdoZW4KCSAgcG9wcGluZyBhIGJ1ZmZlciBhbmQgc2ltcGxpZnkgY29kZSB0byB1c2Ugc2NhbmxpbmVzLmJvdHRvbV9maWVsZAoJICBhcyBhcHByb3ByaWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjY5MQoKMjAxMS0wMS0yNCAxMjoxODozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggYXNzaWduZWQgbWV0aG9kX2lkIHdoZW4gdXNpbmcgZmFsbGJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjY5MQoKMjAxMS0wMi0yMSAxNzoxNzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBzZXR0aW5nIHRoZSBTREVTIHByb3BlcnR5CgkgIE9ubHkgdGhlIHNkZXMgdmVyaWFibGUgaXMgcHJvdGVjdGVkIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBVc2UgdGhlIHJpZ2h0IG9iamVjdCB3aGVuIHNldHRpbmcgdGhlIHNkZXMgcHJvcGVydHkuCgoyMDExLTAyLTIxIDEyOjA5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGU2Yjg3NmU3NmM5NDQxMGRiMTYwYWZlNWViMzBmMjE0NTJlNDE5Zi4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIxIDAwOjU1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZml4IHRhZyBsaXN0IGhhbmRsaW5nIGlzc3VlcyB0aGF0IG1pZ2h0IGhhdmUgY2F1c2VkIGNyYXNoZXMKCSAgRml4IHNsaWdodGx5IGNvbmZ1c2VkIHRhZyBoYW5kbGluZyBpbiBzb21lIHBsYWNlczogbWFrZSBpdCBjbGVhciB3aGVuCgkgIHdlJ3JlIHRha2luZyBvd25lcnNoaXAgb2YgYSB0YWcgbGlzdCBhbmQgd2hlbiBub3QuIEZvciBleGFtcGxlLAoJICBnc3RfaWN5ZGVtdXhfdGFnX2ZvdW5kKCkgd2FzIHRha2luZyBvd25lcnNoaXAgd2hlbiB0aGUgc291cmNlIHBhZAoJICBleGlzdGVkLCBidXQgb3RoZXJ3aXNlIG5vdCAobGVhaykuIEFsc28sIGdzdF9ldmVudF9wYXJzZV90YWcoKSBkb2VzCgkgIG5vdCByZXR1cm4gYSBuZXdseS1hbGxvY2F0ZWQgdGFnbGlzdCwgYnV0IGEgdGFnIGxpc3QgdGhhdCBiZWxvbmdzIHRvCgkgIHRoZSB0YWcgZXZlbnQsIHNvIGRvbid0IGdpdmUgb3duZXJzaGlwIG9mIGl0IGF3YXkuCgkgIFdoaWxlIHdlJ3JlIGF0IGl0LCBzb21lIG1pbm9yIGNsZWFuLXVwczogZG9uJ3QgcmUtaW52ZW50IGdfc3RybmR1cCgpCgkgIGFuZCBzaW1wbGlmeSBnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncygpIGEgYml0LCBhbmQgZG9uJ3QKCSAgbGVhayB0aGUgdGFnIGxpc3QgaW4gY2FzZSBubyB2YWxpZCB0YWdzIHdoZXJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMzMwCgoyMDExLTAyLTIwIDIzOjM5OjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAyLTE5IDE1OjQ4OjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogSGFuZGxlIDE2LWJpdC1wZXItY2hhbm5lbCBpbWFnZXMKCjIwMTEtMDItMTggMTA6MTI6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbS0+Y3VycmVudF90b3RhbCBpcyBhY2N1bXVsYXRlZCBieXRlIHNpemUgYW5kIG5vdCB0aW1lCgkgIFVzZSB0aW1lc3RhbXAgZm9yIHRoZSBzdHJlYW0gaW5kZXggYXMgd2VsbC4KCjIwMTEtMDItMTUgMTk6MzM6NDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogd2FybiB3aGVuIHBhY2tldCBpcyB0b28gbGFyZ2UKCjIwMTEtMDItMTcgMTc6NTk6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYXBhcnNlOiBOZXcgZWxlbWVudAoJICBDb3BpZWQgZnJvbSBkZW11eC4gIER1cGxpY2F0ZXMgbXVjaCBjb2RlLCBhbHNvIHNvbWUgZGVhZCBjb2RlCgkgIHJlbWFpbmluZy4KCjIwMTEtMDItMTcgMTc6NTc6NTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEVhcmxpZXIgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24KCjIwMTEtMDEtMjIgMDA6MTM6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBzZXQgZHVyYXRpb24gZm9yIGxpdmUgc3RyZWFtCgoyMDExLTAxLTA2IDE1OjQ0OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJICBkZWJ1Z3V0aWxzOiByZW1vdmUgYml0cm90dGVuIG5lZ290aWF0aW9uIGVsZW1lbnQKCSAgV2Fzbid0IGVuYWJsZWQsIGRpZG4ndCB3b3JrLCBhbmQgcGxhbm5lZCBmZWF0dXJlcyBoYXZlIGJlZW4KCSAgc3VwZXJjZWRlZCBieSBjYXBzZmlsdGVyIGFuZCBjYXBzZGVidWcuCgoyMDEwLTA5LTE3IDEyOjEwOjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogSW1wbGVtZW50IGludGVybGFjaW5nCgoyMDExLTAyLTE3IDE3OjU3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhbHNvIGFkZCB0aGUgZnJhbWUtdHlwZSBmb3IgdGhlIHN0cmVhbSBpbmRleAoKMjAxMS0wMi0xNyAxNzo1NjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZ2V0IHRoZSBpbmRleCB3cml0ZXIgaWQgd2hlbiB0aGUgcGFkIGhhcyBhIHBhcmVudAoJICBPdGhlcndpc2UgdGhlIGluZGV4IHdyaXRlciBoYXMgYSB3ZWlyZWQgbmFtZSwgYXMgdGhlIHBhZCBoYXMgbm8gcGFyZW50IHlldC4KCjIwMTEtMDItMTcgMTQ6MDA6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBhdmlkZW11eCwgZmx2ZGVtdXg6IGZvcm1hdHRpbmcgY2xlYW51cAoJICBUcmltIHRyYWlsaW5nIHdoaXRlc3BhY2VzIGFuZCBmaXggdGhlIGZvcm1hdHRpbmcgb2YgZG91YmxlIG5lZ2F0aW9uLgoKMjAxMS0wMi0xNyAxMzo1NzozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGF2aWRlbXV4LCBmbHZkZW11eDogbWFyayBkZWx0YS11bml0cyBpbiB0aGUgaW5kZXgKCSAgV2UgbmVlZCB0byB1c2UgdGhlICdkZWx0YScgZmxhZyBmb3IgZGVsdGEgdW5pdHMgYW5kIG5vdCB0aGUgJ25vbmUnIGZsYWcuCgoyMDExLTAyLTE3IDExOjU4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3ZlZCBlcXVhbGl6ZXIgdGVzdCBiaW5hcnkKCjIwMTEtMDItMTcgMTI6NDY6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFyayBkZWx0YS11bml0IGluIHRoZSBpbmRleAoJICBXZSBuZWVkIHRvIHVzZSB0aGUgZGVsdGEgZmxhZyBmcm8gZGVsdGEgdW5pdHMgYW5kIG5vdCBub25lLiBQcmludCBtb3JlIGRldGFpbHMKCSAgdG8gdGhlIGRlYnVnIGxvZy4KCjIwMTEtMDItMTcgMTI6NDQ6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9ybWF0dGluZyBjbGVhbnVwCgkgIFRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZXMgYW5kIGZpeCB0aGUgZm9ybWF0dGluZyBvZiBkb3VibGUgbmVnYXRpb24uCgoyMDExLTAyLTE2IDE3OjA5OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXdvcmsgX3JlcXVlc3RfbmV3X3BhZCB0byBoYW5kbGUgZXhwbGljdCByZXEtcGFkLW5hbWVzCgkgIERvbid0IGlnbm9yZSBleHBsaWNpdCBwYWQtbmFtZXMuCgoyMDExLTAyLTE2IDE3OjA2OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJld29yayBfcmVxdWVzdF9uZXdfcGFkIHRvIGhhbmRsZSBleHBsaWN0IHJlcS1wYWQtbmFtZXMKCSAgRG9uJ3QgaWdub3JlIGV4cGxpY2l0IHBhZC1uYW1lcy4gUmVhcnJhbmdlIHRoZSBjb2RlIGFuZCB0aGUgZXJyb3IgaGFuZGxpbmcgYQoJICBiaXQuIEFkZCBhIEZJWE1FLTAuMTEgZm9yIHRoZSBiYWQgcGFkLW5hbWVzLgoKMjAxMS0wMi0xNiAxNToyODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgaWNsZXM6IEFkZCBlcXVhbGl6ZXItdGVzdCB0byB0aGUgYnVpbGQgc3lzdGVtCgoyMDExLTAyLTE2IDE1OjIzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1LzVdIGVxdWFsaXplci10ZXN0OiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGFmdGVyIGdzdF9pbml0KCkgdG8gZml4IHNlZ2ZhdWx0CgoyMDA3LTExLTA3IDE1OjM2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNC81XSB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChkb19zbGlkZXJfZmlkZGxpbmcpOgoJICBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMy81XSBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wMy0xNCAxNjozMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDIvNV0gdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxLzVdIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAxMS0wMi0xNSAxNTo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBQSlBHIG1hcHBpbmcKCSAgQWRkcyBtYXBwaW5nIG9mIHByb2dyZXNzaXZlIGpwZWcgZm9ybWF0CgoyMDExLTAyLTE1IDE2OjMwOjIwICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcuY29tPgoKCSAgcGx1ZyBxdGRlbXV4IHJlZmNvdW50IGxlYWtzCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9zcmNfY29udmVydCk6IFVucmVmIHRoZSBxdGRlbXV4OyB3ZQoJICB3ZXJlbid0IGRvaW5nIHNvIGJlZm9yZS4KCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQsIGdzdF9xdGRlbXV4X2NoYWluKTogRml4IHNvbWUgZXJyb3IKCSAgY2FzZXMgd2hpY2ggd291bGQgbGVhayBhIHJlZiB0byB0aGUgcXRkZW11eC4KCjIwMTEtMDItMTQgMjA6MjA6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBZGQgVVJJIHF1ZXJ5IGhhbmRsZXIKCSAgRml4ZXMgYnVnICM2NDIzMzcuCgoyMDExLTAyLTE0IDE3OjQ5OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBzb3J0aW5nIE5VTEwgYXJyYXkgb2YgY2x1c3RlciBwb3NpdGlvbnMKCjIwMTEtMDItMTQgMTY6NDY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogaGFuZGxlIDAgc2l6ZWQgcGFja2V0cwoJICBIYW5kbGUgMCBzaXplZCBwYWNrZXRzIChyZXBlYXQgZnJhbWUpIGluIHRoZSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLgoJICBGaXhlcyAjNjQxODI3CgoyMDExLTAyLTE0IDE1OjIxOjI5ICswMjAwICBUdXVra2EgUGFzYW5lbiA8dHV1a2thLnBhc2FuZW5AaWxtaS5maT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IHJlc2VuZCB0YWdzIHdoZW4gdGhleSBhcmUgY2hhbmdlZAoJICBBbGxvdyBzZXR0aW5nIG5ldyB0YWdzIG9uIHRoZSBwcm9wZXJ0eSB3aGlsZSBydW5uaW5nIGFuZCBzZW5kIHRoZW0uCgkgIEZpeGVzICM2NDAyNDkKCjIwMTEtMDItMTQgMTI6NTM6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjk0ZDczOSB0byAxZGU3ZjZhCgoyMDExLTAyLTA3IDIzOjMyOjUzICswMTAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1pbm9yIGxlYWtzIHdoZW4gaGFuZGxpbmcgc2VydmVyIHJlcXVlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMTYzCgoyMDExLTAyLTE0IDAwOjQ5OjAwICswMDAwICBIZWF0aCBOaWVsc29uIDxoZWF0aG5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IE11c2ljQnJhaW56IHRhZ3MKCSAgRXh0cmFjdCBNdXNpY0JyYWlueiB0YWdzIGFkZGVkIGJ5IE11c2ljQnJhaW56J3MgUGljYXJkCgkgIHRhZ2dlciBhcHBsaWNhdGlvbi4gVGhlc2UgdGFncyAoZXNwLiB0aGUgYWxidW0gaWQpIGFyZQoJICBoZWxwZnVsIGZvciByaHl0aG1ib3ggZXQuYWwuIHRvIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRzCgkgIGNvdmVyIGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjIwNQoKMjAxMS0wMi0xNCAwMDozODo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGlUdW5lcyB0YWcgcGFyc2luZyBhIGJpdAoKMjAxMS0wMi0xMCAyMzo1Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIGRvYXA6IHVwZGF0ZSBtYWlsaW5nIGxpc3QgbG9jYXRpb24KCjIwMTEtMDItMTAgMTg6MTE6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wYWdhdGUgZXJyb3IgZHVyaW5nIGV4cG9zZV9zdHJlYW1zCgkgIC4uLiBhcyBpdCBtYXkgb2NjdXIgZHVyaW5nIGluaXRpYWwgcGFyc2luZyBvZiBmcmFnbWVudGVkIGZpbGUuCgoyMDExLTAyLTEwIDE4OjAwOjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2tpcHBpbmcgZXhwb3NpbmcgYSBzdHJlYW0gZm9sbG93aW5nIGEgcmVtb3ZlZCBzdHJlYW0KCjIwMTEtMDItMTAgMTE6NTY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdG9yZSBjbHVzdGVyIHBvc2l0aW9ucyBwcm92aWRlZCBieSBTZWVrSGVhZAoJICAuLi4gYW5kIHVzZSB0aG9zZSwgaWYgYXZhaWxhYmxlLCB0byBsb2NhdGUgYSBjbHVzdGVyIHJhdGhlciB0aGFuIHNjYW5uaW5nLgoKMjAxMS0wMi0wOSAxNjoyMjo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVybHkgcmVzdW1lIGNsdXN0ZXIgc2Nhbm5pbmcKCSAgLi4uIHJhdGhlciB0aGFuIGdldHRpbmcgb2Zmc2V0IHRyYWNraW5nIG1lc3NlZCB1cCwgYW5kIHRoZW4gbGlrZWx5CgkgIGZhaWxpbmcgYSBzdWJzZXF1ZW50IGFzc2VydC4KCjIwMTEtMDItMDggMTA6MDc6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogZW5zdXJlIGEgdGFnbGlzdCBiZWZvcmUgYWRkaW5nIHRoZSBjb250YWluZXIgdGFnCgkgIEluIHRoZSBjYXNlIG9mIGlkM3YxIGFsc28gZG9uJ3QgcmV0dXJuIE5VTEwgb24gZW1wdHkgdGFncywgYnV0IGFsc28gY3JlYXRlIGEgbmV3CgkgIHRhZ2xpc3QgYW5kIGFkZCB0aGUgY29udGFpbmVyIHRhZyBmb3IgY29uc2lzdGVuY3kuCgoyMDExLTAyLTA3IDE3OjA4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHN0cmlwIHRyYWlsaW5nIHNwYWNlcwoKMjAxMS0wMi0wNyAxNzowNzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHBzcmM6IHNldCBtdWx0aXBsZSBwcm9wZXJ0aWVzIGluIG9uZSBnbwoJICBUaGVyZSBpcyBubyBuZWVkIGZvciBzZXBhcmF0ZSBnX29iamVjdF9zZXQoKSBjYWxscyBoZXJlLgoKMjAxMS0wMi0wMyAxNjoxMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEhhbmRsZSBpbWFnZSBjYXBzIHdpdGhvdXQgYXNzZXJ0aW5nCgkgIEltYWdlcyBtaWdodCBoYXZlIGZyYW1lcmF0ZT0wLzEgaW4gdGhlIGNhcHMsIHdoaWNoIGNhdXNlZCBhbgoJICBhc3NlcnRpb24gb24gZGVpbnRlcmxhY2UuIEkgZG9uJ3Qga25vdyBvZiBpbnRlcmxhY2VkIGltYWdlIGZvcm1hdHMKCSAgYnV0IGRlaW50ZXJsYWNlIG1pZ2h0IGJlIGhhcmRjb2RlZCBvbiBzb21lIGdlbmVyaWMgcGlwZWxpbmVzIGFuZAoJICBpdCBzaG91bGRuJ3QgYXNzZXJ0LgoJICBUaGUgZml4IHdhcyB0byBzZXQgZmllbGRfZHVyYXRpb24gdG8gMCBpZiB0aGUgaW5wdXQgaGFzIGEgZnJhbWVyYXRlCgkgIHdpdGggYSAwIG51bWVyYXRvci4KCSAgVGhpcyBwYXRjaCBhbHNvIGFkZHMgY2hlY2tzIGZvciB0aGlzIHNpdHVhdGlvbiBvbiB0aGUgdW5pdCB0ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTQwMAoKMjAxMS0wMi0wNCAxMjozMzowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogZml4IHBhcmFtZXRlciBuYW1lIGluIHVkcHNyYyBkb2NzCgkgIEl0IGlzICJidWZmZXItc2l6ZSIgYW5kIG5vdCAiYnVmZmVyIi4gQWxzbyB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDExLTAyLTAzIDIzOjQyOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGludGVybGFjZWQgc2V0X2Zvcm1hdCBjb25maWd1cmF0aW9uCgkgIENvbW1pdCA2YzgyNjhkYmZkNWM4OGZhYzI4Yzg4MmVmMmU0NTk4YTY1MjJlMmQ2IGJyb2tlIHJlY29yZGluZwoJICBmcm9tIGludGVybGFjZWQgdjRsMiBzb3VyY2UgKGUuZy4gdHlwaWNhbCB0diBjYXB0dXJlIGNhcmQpIHNpbmNlCgkgIFY0TDJfRklFTERfU0VRX1RCICh3aXRoIGZpZWxkcyBzdG9yZWQgc2VwYXJhdGVseSkgZG9lcyBub3QgbWFwCgkgIHRvIGN1cnJlbnRseSBkZWZpbmVkIGludGVybGFjZWQgZm9ybWF0IChmaWVsZHMgc3RvcmVkIGludGVybGVhdmVkKS4KCSAgQmVzaWRlcyB0aGlzIG1pc21hdGNoLCBoYXJkd2FyZSBtaWdodCBxdWl0ZSBsaWtlbHkgbm90IHN1cHBvcnQgb3IKCSAgYXBwcmVjaWF0ZSB0aGlzIGZpZWxkIHZhbHVlLCBzaW5jZSBxdWVyeWluZyBzdXBwb3J0ZWQgZm9ybWF0cyBtYXBwZWQKCSAgX0lOVEVSTEFDRUQgZmllbGQgZm9ybWF0cyB0byBpbnRlcmxhY2VkPXRydWUgY2FwcyAoc28gdGhlIGxhdHRlciBzaG91bGQKCSAgbm90IGJlIG1hcHBlZCB0byBmaWVsZCB2YWx1ZSB0aGF0IGlzIG5vdCBrbm93biB0byBiZSBzdXBwb3J0ZWQpLgoKMjAxMS0wMi0wMiAxODoyNzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzb3VyY2U6IGZpeCB0eXBlIG9mIG50cG5zdGltZQoKMjAxMS0wMi0wMiAxODoyMToyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiBHZXQgYW5kIHVzZSB0aGUgTlRQIHRpbWUgd2hlbiByZWNlaXZpbmcgUlRDUAoJICBXaGVuIHdlIHJlY2VpdmUgYW4gUlRDUCBwYWNrZXQsIGdldCB0aGUgY3VycmVudCBOVFAgdGltZSBpbiBuYW5zZWNvbmRzIHNvIHRoYXQKCSAgd2UgY2FuIGNvcnJlY3RseSBjYWxjdWxhdGUgdGhlIHJvdW5kLXRyaXAgdGltZS4KCjIwMTEtMDItMDEgMTk6NDA6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZDogYXJyYW5nZSBmb3IgZGVmaW5pdGlvbiBvZiBfc3dhYiBvbiBDeWd3aW4KCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZGlyZWN0c291bmRfc2lua193cml0ZSc6CgkgIGdzdGRpcmVjdHNvdW5kc2luay5jOjU1NzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdfc3dhYicKCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6NTU3OiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAnX3N3YWInCgoyMDEwLTEwLTA2IDIxOjE3OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgcnRwdGhlb3JhZGVwYXk6IFJlcXVlc3QgbmV3IGtleWZyYW1lIG9uIGxvc3QgcGFja2V0cwoJICBUaGVvcmEgY2FuIG9ubHkgdXNlIHRoZSBsYXN0IGZyYW1lIChvciB0aGUga2V5ZnJhbWUpIGFzIGEgcmVmZXJlbmNlLCBzbyBpbgoJICBwcmFjdGljZS4gSWYgd2UgcmVjZWl2ZSBhIGJ1ZmZlciB0aGF0IHJlZmVyZW5jZXMgYW4gdW5rbm93biBjb2RlYm9vaywgcmVxdWVzdAoJICBuZXcgaGVhZGVycy4gSXQgcHJvYmFibHkgbWVhbnMgdGhhdCBoZWFkZXJzIHdlcmUgbG9zdC4KCjIwMTAtMDgtMjcgMTQ6MTE6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXF1ZXN0IGVhcmx5IFJUQ1AKCjIwMTAtMDgtMjcgMTY6MTE6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBjYWxsYmFjayB0byBnZXQgdGhlIGN1cnJlbnQgdGltZQoKMjAxMC0xMC0xOSAyMjoyMTo1NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERvbid0IHJlbGF5IG1vcmUgdGhhbiBvbmUgUExJIHJlcXVlc3QgcGVyIFJUVAoJICBEcm9wIFBMSSByZXF1ZXN0cyBpZiBvbmUgd2FzIHJlbGF5IGluIHRoZSBsYXN0IFJUVCwgdGhlIG90aGVyIHNpZGUgbWF5CgkgIGp1c3Qgbm90IGhhdmUgcmVjZWl2ZWQgdGhlIGtleWZyYW1lIHlldC4KCjIwMTAtMDYtMjMgMTY6NDM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFNlbmQgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IGluIHJlc3BvbnNlIHRvIHJlY2VpdmVkIFJUQ1AgUExJCgoyMDEwLTExLTI0IDE1OjI3OjQ2IC0wNTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRmFsbGJhY2sgZm9yIEZJUiB0byBQTEkgaWYgUExJIGlzbid0IGF2YWlsYWJsZQoKMjAxMC0wNi0yMiAxOTo1Njo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogSW1wbGVtZW50IHNlbmRpbmcgUExJIHBhY2tldHMgaW4gcmVzcG9uc2UgdG8gR3N0Rm9yY2VLZXlVbml0CgoyMDEwLTA2LTIyIDEzOjMzOjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IFJldGFpbiBSVENQIEZlZWRiYWNrIHBhY2tldHMgZm9yIGEgc3BlY2lmaWVkIGFtb3VudCBvZiB0aW1lCgoyMDEwLTA5LTA3IDEzOjM1OjE2ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE1ha2UgcnRjcCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYWZ0ZXIgcHJvY2Vzc2luZyBpdAoJICBGdW5jdGlvbnMgdGhhdCBwcm9jZXNzIHRoZSBydGNwIGJ1ZmZlciBjb3VsZCBkZWNpZGUgdG8ga2VlcCBhIHJlZgoJICBvbiB0aGUgYnVmZmVyIGZvciBmdXJ0aGVyIHByb2Nlc3NpbmcuIFNvIG1ha2UgdGhlIG1ldGFkYXRhIHdyaXRhYmxlCgkgIG9ubHkgYWZ0ZXIgdGhleSBhcmUgZG9uZS4KCjIwMTAtMDYtMTcgMTc6MzQ6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBFbWl0IHNpZ25hbCBvbiBpbmNvbWluZyBSVENQIEZCIHBhY2tldAoKMjAxMS0wMi0wMSAxODoxNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IGNvbXBpbGF0aW9uCgoyMDEwLTA2LTE1IDE4OjM5OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIG1ldGhvZCB0byByZXF1ZXN0IGVhcmx5IFJUQ1AgcGFja2V0CgkgIEltcGxlbWVudCB0aGUgZWFybHkgbW9kZSBkZWZpbmVkIGluIFJGQyA0NTg1LiBJbiB0aGlzIG1vZGUsIFJUQ1AgZmVlZGJhY2sKCSAgcGFja2V0cyBhcmUgc2VudCBlYXJseSB0byBub3RpZmllci4KCjIwMTAtMDYtMDEgMTk6Mjg6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBBZGQgcHJvcGVydHkgZm9yIG1pbmltdW0gaW50ZXJ2YWwgYmV0d2VlbiBSZWd1bGFyIFJUQ1AgbWVzc2FnZXMKCSAgVGhpcyBjYW4gYmUgY2hhbmdlZCBhY2NvcmRpbmcgdG8gUkZDIDQ1ODUKCjIwMTAtMDYtMTQgMTg6NDA6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBFbWl0IHNpZ25hbCB3aGVuIHNlbmRpbmcgYSBjb21wb3VuZCBSVENQIHBhY2tldAoJICBUaGlzIGFsbG93cyB1c2VycyB0byBhZGQgZXh0cmEgUlRDUCBwYWNrZXRzIHRvIHRoZSBjb21wb3VuZAoJICBSVENQIHBhY2tldC4KCjIwMTAtMDYtMTkgMTk6MTE6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogVGFnIHVwc3RyZWFtIGN1c3RvbSBldmVudHMgd2l0aCBwYXlsb2FkIHR5cGUKCjIwMTAtMDYtMTggMTk6MTI6NDAgLTA0MDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVGFnIHVwc3RyZWFtIGN1c3RvbSBldmVudHMgd2l0aCBTU1JDCgoyMDEwLTEwLTAxIDE3OjE5OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEVtaXQgIm9uLXNzcmMtdmFsaWRhdGVkIiB3aGVuIHZhbGlkYXRpbmcgYnkgUlRDUAoJICBFbWl0ICJvbi1zc3JjLXZhbGlkYXRlZCIgaWYgdGhlIFNTUkMgaXMgdmFsaWRhdGVkIGJ5IHJlY2VpdmluZwoJICBhIFJUQ1AgU0RFUyBwYWNrZXQuCgoyMDExLTAyLTAxIDE2OjM4OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBza2lwIEVQSCBwYWNrZXRzCgkgIEluY2x1ZGUgRVBIIG1hcmtlcnMgaW50byB0aGUgcHJldmlvdXMgY2h1bmsgb2YgcGFja2V0cy4KCjIwMTEtMDEtMzEgMTc6NTY6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgcnRwcGNtYXBheTogUmVuYW1lIHRoZSBjbGFzcyB0byBoYXZlIHRoZSByaWdodCBuYW1lCgkgIEl0IHdhcyBuYW1lIHBtY2EgaW5zdGVhZCBvZiBwY21hIGFuZCBtYWRlIGRlYnVnIGxvZ3MgaGFyZCB0byBzZWFyY2guCgoyMDExLTAxLTMxIDA1OjU4OjM2ICswMTAwICBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUHVsc2VzaW5rOiBBbGxvdyBjaHVua3MgdXAgdG8gYnVmc2l6ZSBpbnN0ZWFkIG9mIHNlZ3NpemUKCSAgQnkgYWxsb3dpbmcgbGFyZ2VyIGNodW5rcyB0byBiZSBzZW50LCBQdWxzZUF1ZGlvIHdpbGwgaGF2ZSBhCgkgIGxvd2VyIENQVSB1c2FnZS4gVGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCBvbiBsb3ctZW5kIG1hY2hpbmVzLAoJICB3aGVyZSBQdWxzZUF1ZGlvIGNhbiBjcmFzaCBpZiBwYWNrZXRzIGFyZSBjb21pbmcgaW4gYXQgYSBoaWdoZXIKCSAgcmF0ZSB0aGFuIFB1bHNlQXVkaW8gY2FuIHByb2Nlc3MgdGhlbS4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoyMDExLTAxLTMxIDEzOjQ0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc2ltcGxpZnkgdGVtcGxhdGUgY2FwcwoJICBXZSBjYW4gbWVyZ2UgYWxsIHRoZSBZVVYgdmFyaWFudHMgaW50byBvbmUgc2luZ2xlIHN0cnVjdHVyZS4KCjIwMTEtMDEtMjcgMTU6MzU6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBmaXggREVGQVVMVF9BVURJT1NJTkssIHNob3VsZCBiZSBkaXJlY3Qqc291bmQqc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNzA1CgoyMDExLTAxLTI3IDE2OjAyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXRpYWxpemUgbG9jYWwgdmFyaWFibGUgdG8gcGxlYXNlIG1pbmd3MzIgY29tcGlsZXIKCjIwMTEtMDEtMjYgMjI6MjE6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHVzZSBzb2NrbGVuX3Qgd2hlcmUgYXBwcm9wcmlhdGUgcmF0aGVyIHRoYW4gY3VzdG9tIHR5cGUKCSAgSW4gcGFydGljdWxhciwgZml4ZXMgQ3lnd2luIGJ1aWxkIHdoZXJlIHNvY2tsZW5fdCBpcyBkZWZpbmVkIGFzIGludAoJICBpbiBsaW5lIHdpdGggbmF0aXZlIHdpbjMyIGFwaSBkZWZpbml0aW9uLgoKMjAxMS0wMS0yNyAxMjoxNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1pbmQgcm91bmRpbmcgaXNzdWVzIHdoZW4gY29udmVydGluZyBmcm9tIGdsb2JhbCB0aW1lIHRvIG1vdiB0aW1lCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgYXZvaWRzIG1pc3NpbmcgdGhlIGludGVuZGVkIGtleWZyYW1lIHdoZW4gZmlyc3QgY29udmVydGluZwoJICBmcm9tIHRoZSBmcmFtZSdzIG1vdiB0aW1lIHRvIGdsb2JhbCBzZWdtZW50IHRpbWUsIGFuZCB0aGVuIGJhY2sgZnJvbSBnbG9iYWwKCSAgdGltZSB0byBtb3YgdGltZSB3aGVuIGFjdGl2YXRpbmcgdGhlIHNlZ21lbnQuCgoyMDExLTAxLTI2IDA4OjQ4OjQzICswMDAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXZAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgbGVhayBlYm1sIHdyaXRlciBjYXBzIHdoZW4gcmUtdXNpbmcgbWF0cm9za2FtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDU0MgoKMjAxMS0wMS0yNSAyMTo1NjoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZGl2aWRlIGJ5IDAKCjIwMTEtMDEtMTggMTQ6NDg6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHB1bGwgbW9kZSBzaG91bGQgYWx3YXlzIHJlcG9ydCBzZWVrYWJsZQoJICAuLi4gYXMgaXQgbm8gbG9uZ2VyIHJlcXVpcmVzIGFuIGluZGV4LCBidXQgY2FuIHNlZWsgYnkgc2Nhbm5pbmcgYXMgd2VsbC4KCjIwMTEtMDEtMTAgMTI6MzQ6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNvbWUgbW9yZSBtcGVnLTQgZm91cmNjIHZhcmlhbnRzCgoyMDExLTAxLTEwIDEyOjM0OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2ltcGxpZnkgcmV0cmlldmluZyBzdHNkIGNoaWxkIGVudHJ5IGF0b20KCjIwMTEtMDEtMjQgMTg6Mjc6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgY29uc2lkZXIgMCBmY2NfaGFuZGxlciBhcyB1bmNvbXByZXNzZWQuCgkgIEp1c3QgYXZvaWRzIGEgd2FybmluZwoKMjAxMS0wMS0yMCAxMjoxNDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdGFrZSBjb25maWd1cmVkIHN0YXJ0IHRpbWUgaW50byBhY2NvdW50CgkgIHdoZW4gY3JlYXRpbmcgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIHRha2UgdGhlIGNvbmZpZ3VyZWQgc3RhcnQgdGltZQoJICBpbnRvIGFjY291bnQuCgoyMDExLTAxLTI0IDE1OjExOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBvbiBtaW5ndzMyCgkgIE1ha2Ugd2luMzIgYnVpbGQgYm90IGhhcHB5IGFnYWluLCBhbmQgbmljZWZ5IG91dHB1dCB3aGlsZSB3ZSdyZSBhdCBpdC4KCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiAncXRkZW11eF9wYXJzZV90cnVuJzoKCSAgcXRkZW11eC5jOjIxNjI6MzogZXJyb3I6IGZvcm1hdCAnJWx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2d1aW50MzInCgoyMDExLTAxLTI0IDEzOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkgIGV4YW1wbGVzOiBhdXRvYXVkaXNpbmsgLT4gYXV0b2F1ZGlvc2luayBpbiBSVFAgZXhhbXBsZXMKCjIwMTEtMDEtMjQgMDA6MzI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjcgPT09CgoyMDExLTAxLTIxIDEyOjU0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI3CgoyMDExLTAxLTIwIDE0OjEwOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogZG9uJ3QgbGVhayBjb2RlYyBkYXRhIGJ1ZmZlciBpbiBieXRlLXN0cmVhbT10cnVlIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDA2MwoKMjAxMS0wMS0yMCAxMzo0MTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdXJsIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDY0CgoyMDExLTAxLTIwIDExOjQ1OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogR3JhY2VmdWxseSBoYW5kbGUgbW92IGZpbGVzIG1pc3VzaW5nIHRoZSBXQVZFIGF0b21zCgkgIENoZWNrIHRoYXQgdGhlIFdBVkVIRUFERVIgbm9kZSBpcyBwcmVzZW50IGluc3RlYWQgb2YgYmxpbmRseSB1c2luZyBpdC4KCSAgSWYgbm90IHByZXNlbnQgd2Ugd29uJ3QgYmUgYWJsZSB0byBwcm92aWRlIGEgbW9yZSByZWZpbmVkIGNhcHMsIGJ1dCBhdAoJICBsZWFzdCB3ZSB3b24ndCBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAyOAoKMjAxMS0wMS0yMCAwMDowNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGFjY2lkZW50YWwgYnJlYWthZ2Ugb2YgbmF2aWdhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydAoKMjAxMS0wMS0xOCAxMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi40IHByZS1yZWxlYXNlCgoyMDExLTAxLTEyIDE0OjAzOjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogcmV3cml0ZSBob3cgbmVpZ2hib3Jpbmcgc2NhbiBsaW5lcyBhcmUgY2FsY3VsYXRlZAoJICBPbGQgY29kZSB3YXMgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgZXhhY3RseSBob3cgdGhlIG5laWdoYm9yaW5nCgkgIHNjYW4gbGluZXMgYXJlIGNhbGN1bGF0ZWQsIGFuZCBpdCBhcHBlYXJlZCB0aGF0IHNvbWUgd2VyZSBvZmYgYnkKCSAgKzIgb3IgLTIsIGRlcGVuZGluZyBvbiB0aGUgZmllbGQgZmxhZy4gIEZpeGVzICM2MzkzMjEuCgoyMDExLTAxLTE4IDA5OjMzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpc3VidGl0bGU6IHNldCBjYXBzIG9uIHNyY3BhZCB0byBmaXggaXNzdWUgd2l0aCBkaXNjb3ZlcmVyCgkgIFNldCBjYXBzIGZyb20gdGhlIHN0YXJ0IHNvIGRpc2NvdmVyZXIgZG9lc24ndCBibG93IHVwIG9uCgkgIHNlZWluZyBubyBuZWdvdGlhdGVkIGNhcHMgYmV0d2VlbiBlbGVtZW50cyBvbiBwcmVyb2xsLAoJICB3aGljaCBtaWdodCBoYXBwZW4gaWYgbm8gc3VidGl0bGUgYnVmZmVycyBoYXZlIGJlZW4KCSAgcHVzaGVkIHlldCBhdCB0aGUgdGltZS4gU2VlIGZpbGUgZnJvbSBidWcgIzYwMzMwOC4KCjIwMTEtMDEtMTcgMjA6MDk6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFVuY29yayBzdHJlYW0gd2hpbGUgZmx1c2hpbmcgdGhlIHJpbmdidWZmZXIKCSAgQWZ0ZXIgc3RhcnRpbmcgdGhlIHJpbmdidWZmZXIsIHdlIHdhaXQgZm9yIGVub3VnaCBkYXRhIHRvIGFycml2ZSBiZWZvcmUKCSAgdW5jb3JraW5nIHRoZSBzdHJlYW0uIFRoaXMgd2lsbCBjYXVzZSB0aGUgcGlwZWxpbmUgdG8gc3RhbGwgaWYgd2UgZ2V0IGFuCgkgIEVPUyAob3Igb3RoZXJ3aXNlIG5lZWQgdG8gZmx1c2ggdGhlIHN0cmVhbSkgYmVmb3JlIHN1ZmZpY2llbnQgZGF0YQoJICBiZWNvbWVzIGF2YWlsYWJsZS4gVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZAoJICB3aGlsZSBmbHVzaGluZyB0byBhdm9pZCB0aGlzIHByb2JsZW0uCgkgIEZpeGVzIGlzc3VlIHdpdGggYSB3ZWJraXQgdW5pdCB0ZXN0IHRlc3RpbmcgcmV2ZXJzZSBwbGF5YmFjayBvZgoJICBhbiBNUDQgSC4yNjQvQUFDIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk3NDAKCjIwMTEtMDEtMTQgMTQ6NTE6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYXZvaWQgY3JlYXRpbmcgY2FwcyBmcm9tIHN0cmluZyB3aGVuIHBvc3NpYmxlCgkgIEZpeGVzICM2Mzk1MTYuCgoyMDExLTAxLTE0IDE0OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2V0IHNyYyBwYWQgY2FwcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgRml4ZXMgIzYzOTUxNi4KCjIwMTEtMDEtMTIgMjA6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkZWZpbmUgVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX3tUQixCVH0gaWYgbm90IGF2YWlsYWJsZSBpbiBoZWFkZXIKCSAgT2xkZXIga2VybmVscyBkb24ndCBoYXZlIHRoZXNlLCBhbmQgdGhlcmUncyBubyBlYXN5IHdheSB0byBjaGVjayBmb3IgdGhlCgkgIGV4aXN0YW5jZSBvZiBlbnVtcyB0aGF0IGRvZXNuJ3QgaW52b2x2ZSBhIGNvbmZpZ3VyZSBjaGVjaywgc28ganVzdCBkZWZpbmUKCSAgdGhlc2UgaWYgdGhlIFY0TDJfQ0FQX1ZJREVPX09VVFBVVF9PVkVSTEFZIGRlZmluZSBpcyBub3QgdGhlcmUsIHdoaWNoIHdhcwoJICBhZGRlZCBpbiB0aGUgc2FtZSBjb21taXQgYXMgdGhlIFRCL0JUIGVudW0uIEZpeGVzIGNvbXBpbGF0aW9uIG9uIENlbnRPUyA1LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM5CgoyMDExLTAxLTExIDIzOjE4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjMgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTEgMjI6NDI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTAxLTExIDIzOjM5OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIGNvcmtpbmcgZHVyaW5nIHBhdXNlIHN5bmNocm9ub3VzCgkgIFRoaXMgbWFrZXMgdGhlIGNhbGwgdG8gcGFfc3RyZWFtX2NvcmsoKSBkdXJpbmcgcmluZ2J1ZmZlciBwYXVzZSgpCgkgIHN5bmNocm9ub3VzLCB3aGljaCBtYWtlcyBzdXJlIHRoYXQgdGhlIGNsb2NrIGRvZXMgbm90IGFkdmFuY2UgYWZ0ZXIgd2UKCSAgdGFrZSBhIHNuYXBzaG90IGZvciBzdGFydF90aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjQwCgoyMDExLTAxLTExIDE5OjMzOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2RhLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0xMSAxNTo1MDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlNTcyYzg3IHRvIGY5NGQ3MzkKCjIwMTEtMDEtMTAgMTY6MzY6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjY2JhYTg1IHRvIGU1NzJjODcKCjIwMTEtMDEtMTAgMTQ6NTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjQ0NWFkIHRvIGNjYmFhODUKCjIwMTEtMDEtMDcgMTM6MjQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuMiBwcmUtcmVsZWFzZQoKMjAxMS0wMS0wNyAxMzowNjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0wNyAwMjozMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGZpeCBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTAxLTA3IDAyOjA2OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IGRvbid0IHB1dCBlc3NlbnRpYWwgZnVuY3Rpb24gY2FsbHMgaW50byBnX2Fzc2VydCgpCgkgIGdfYXNzZXJ0KCkgd2lsbCBleHBhbmQgdG8gTk9PUHMgaWYgLURHX0RJU0FCTEVfQVNTRVJUIGlzIHBhc3NlZC4KCjIwMTEtMDEtMDcgMDE6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRvbid0IHB1dCBmdW5jdGlvbmFsIGNvZGUgbGlrZSBpb2N0bCBjYWxscyBpbnRvIGdfcmV0dXJuX2lmX2ZhaWwoKQoJICBUaGVzZSBtYWNyb3Mgd2lsbCBleHBhbmQgdG8gTk9PUHMgZ2l2ZW4gdGhlIHJpZ2h0IGRlZmluZXMuIEFsc28sCgkgIGdfcmV0dXJuX2lmX2ZhaWwoKSBhbmQgZnJpZW5kcyBhcmUgbWVhbnQgdG8gYmUgdXNlZCB0byBjYXRjaCBwcm9ncmFtbWluZwoJICBlcnJvcnMgKGxpa2UgaW52YWxpZCBpbnB1dCB0byBmdW5jdGlvbnMpLCBub3QgcnVudGltZSBlcnJvciBoYW5kbGluZy4KCjIwMTEtMDEtMDcgMDE6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBuZXZlciBkaXNhYmxlIGdfYXNzZXJ0KCkgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBUaGUgdW5pdCB0ZXN0cyBhcmUgcmlkZGxlZCB3aXRoIGdfYXNzZXJ0KCkgYW5kIGZyaWVuZHMsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBkaXNhYmxlIGFzc2VydCBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzIGV2ZW4gaWYKCSAgdGhpcyBoYXMgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSByZXN0IG9mIHRoZSBjb2RlIGJhc2UsIGUuZy4gdmlhCgkgIC0tZGlzYWJsZS1nbGliLWFzc2VydHMuCgoyMDExLTAxLTA2IDEyOjI5OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6Mjg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDE3OjQ5OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IEFkZCBjYXBkZWJ1ZyBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0xMi0xMSAxMjo0MjoxMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENoYW5nZSB0aGUgZGVmYXVsdCB0byBsaW5lYXIKCSAgVGhlIHByZXZpb3VzIGRlZmF1bHQsIGdyZWVkeWgsIHRha2VzIDQgdGltZXMgYXMgbG9uZyBhcyBNUEVHLTIKCSAgdmlkZW8gZGVjb2RpbmcsIGFuZCBpcyB1bmxpa2VseSBmYXN0IGVub3VnaCBvbiBhbnkgY3VycmVudCBDUFUKCSAgdG8gcGxheSAxMDgwaSB2aWRlbyBpbiByZWFsLXRpbWUuICBncmVlZHlsIGlzbid0IG11Y2ggZmFzdGVyLgoJICBsaW5lYXIgd2FzIGNob3NlbiBvdmVyIHZmaXIsIHNpbmNlIHRoZSBxdWFsaXR5IGFkdmFudGFnZSBvZiB2ZmlyCgkgIGlzIG1pbmltYWwgY29tcGFyZWQgdG8gdGhlIG9jY2FzaW9uYWwgdmlzdWFsIGFydGlmYWN0cyBhbmQgc2xvd2VyCgkgIHByb2Nlc3NpbmcuCgoyMDExLTAxLTA1IDE4OjMyOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBjb25mdXNlIHJldHVybiB2YWx1ZXMKCSAgUmV0dXJuIGEgcmV0dXJuIHZhbHVlIG9mIHRoZSByaWdodCB0eXBlLgoKMjAxMS0wMS0wNSAxNjoyNDoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNSAxNTowMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZml4IGxlbmd0aCBjaGVjawoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgQWRkIHRoZSBsZW5ndGggY2hlY2sgc28gd2UgZG9uJ3QgY2F1c2UgdW5uZWVkZWQgd2FybmluZ3MuCgoyMDExLTAxLTA1IDEyOjA0OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgYnVmZmVyLXNpemUgcHJvcGVydHkKCSAgQWRkIGJ1ZmZlci1zaXplIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUga2VybmVsIHNlbmQgYnVmZmVyLgoKMjAxMS0wMS0wMyAyMDoxNjoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRlYnVnLWxvZ2dpbmcgZGlzYWJsZWQKCjIwMTEtMDEtMDMgMjA6MDY6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgd2hlbiBkZWJ1Zy1sb2dnaW5nIGRpc2FibGVkCgoyMDExLTAxLTAzIDE4OjA1OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgY2FjYXNpbms6IGZpeCBtYXNrcyBhbmQgc3RyaWRlcwoJICBVc2UgdGhlIHJpZ2h0IGVuZGlhbm5lc3MgdG8gcmVhZCB0aGUgbWFza3MuCgkgIFVzZSB0aGUgcmlnaHQgc3RyaWRlcyBmb3IgdGhlIGJpdG1hcC4KCSAgRml4ZXMgIzYzODU2OQoKMjAxMS0wMS0wMyAwMToxODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IHVuZG8gcHJlc3VtYWJseSBhY2NpZGVudGFsIGVuYWJsZW1lbnQgb2YgdGhlIEdzdFhPdmVybGF5IGludGVyZmFjZQoJICBMb29rcyBsaWtlIHRoaXMgZ290IGVuYWJsZWQgYnkgYWNjaWRlbnQgd2hlbiBhZGRpbmcgaXQgdG8gdjRsMnNpbmssCgkgIHNvIHVuZG8gdGhpcyBmb3Igbm93LiBOb3Qgc3VyZSBpdCBtYWtlcyBtdWNoIHNlbnNlIGluIGEgR1N0cmVhbWVyCgkgIGNvbnRleHQgd2l0aCBjdXJyZW50IGhhcmR3YXJlLgoKMjAxMS0wMS0wMyAxNTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5jcmVhc2UgdWRwIGJ1ZmZlciBzaXplCgkgIFNldCBhIGJpZ2dlciBVRFAgYnVmZmVyIHNpemUgYnkgZGVmYXVsdCB0byByZWR1Y2UgcGFja2V0IGxvc3Mgd2l0aAoJICBoaWdoIGJpdHJhdGUgc3RyZWFtcy4KCjIwMTEtMDEtMDIgMTk6MTk6MjcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBzZW5kIHN0cmVhbSBoZWFkZXJzIGluIGtleS1mcmFtZSBtb2RlCgoyMDExLTAxLTAyIDE5OjQzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IHVwIGVsZW1lbnQgZGV0YWlscyBhbmQgc29tZSBvdGhlciBtaW5vciBjbGVhbi11cHMKCjIwMTEtMDEtMDIgMTk6MjM6NTEgKzAwMDAgIEVyaWNoIFNjaHViZXJ0IDxlcmljaEBkZWJpYW4ub3JnPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiBJRDN2Mi40IGdlbnJlIGZyYW1lcyB3aXRoIG11bHRpcGxlIGdlbnJlcwoJICBXZSdkIG9ubHkgZXh0cmFjdCB0aGUgZmlyc3QgZ2VucmUgKG11bHRpcGxlIHRpbWVzKSBpbnN0ZWFkIG9mIGFsbAoJICBnZW5yZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg1MzUKCjIwMTEtMDEtMDIgMTc6NDA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogdGVtcGxhdGUgY2FwcyBoYWQgbGlzdHMgd2l0aCBvbmUgdmFsdWUsIGp1c3QgdXNlIHZhbHVlIGRpcmVjdGx5CgoyMDExLTAxLTAyIDE3OjA3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogbWFrZSBnZXRfdHlwZSBmdW5jdGlvbnMgdGhyZWFkLXNhZmUKCSAgQmVjYXVzZSB3ZSBjYW4gKHNob3VsZG4ndCBiZSBuZWVkZWQgd2l0aCBvdGhlciB3b3JrYXJvdW5kcyBzdGlsbCB0aGVyZSkuCgoyMDExLTAxLTAyIDE1OjI3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMS0wMS0wMiAxNToyNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSAgamFjazogbmV3IGphY2thdWRpb3NyYyBhbmQgamFja2F1ZGlvc2luayBlbGVtZW50cywgbW92ZWQgZnJvbSBnc3QtcGx1Z2lucy1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTkyOQoKMjAxMC0xMC0xOSAxNjoyMzoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wOS0wOSAxNDo0OTowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZGVkIHRyYW5zbGF0YWJsZSB0ZXh0IGZvciBzZXJ2ZXIgbm90IGZvdW5kIGVycm9yCgoyMDEwLTA5LTA2IDE3OjE3OjU0IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGV4YW1wbGVzOiBhZGQgdGVzdCB0byBkZW1vbnN0cmF0ZSBqYWNrX2NsaWVudF90IHVzYWdlCgoyMDEwLTA5LTA2IDE2OjExOjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGRlZCBjbGllbnQgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6MjY6MDcgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBqYWNrOiByZW1vdmVkIHVudXNlZCBmaWxlIGdzdGphY2tiaW4uYwoJICBUaGlzIGlzIGEgMC44IGxlZnRvdmVyLgoKMjAxMC0wNS0xMyAxMjo1NToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrc3JjOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHJlYWQgbmZyYW1lcwoJICBFcnJvciBvdXQgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gcmVhZCBhIGRpZmZlcmVudCBzaXplIHRoYXQgd2hhdCB3YXMgY29uZmlndXJlZCBhcwoJICB0aGUgamFjayBwZXJpb2Qgc2l6ZSBiZWNhdXNlIHRoYXQgd291bGQgbWVhbiBzb21ldGhpbmcgZWxzZSBpcyB3cm9uZy4KCSAgRml4ZXMgIzYxODQwOQoKMjAxMC0wNS0xMSAxNzo1NjozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGltcHJvdmUgcHJvY2Vzc19jYgoKMjAxMC0wNC0yNyAxMDo0ODozMiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkB0cmlzdGFuLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2s6IGltcGxlbWVudCBtdWx0aWNoYW5uZWwgc3VwcG9ydCBjb3JyZWN0bHkgZm9yIGphY2thdWRpb3NyYwoJICBGaXhlcyBwYXJ0cyBvZiBidWcgIzYxNjU0MS4KCjIwMTAtMDQtMjcgMTE6MjE6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIGphY2s6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGFuZCBmaW5hbGl6ZSBtZXRob2RzCgoyMDEwLTA0LTI3IDEwOjU5OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNhcHMKCSAgQWRkIGRpc3Bvc2UgbWV0aG9kcyB0byBjbGVhciBjYXBzLgoKMjAxMC0wNC0yNyAxMDozNDoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTAzLTI0IDE1OjU5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGVsZW1lbnQgbmFtZSBpbiBzZWN0aW9uIGRvYyBibG9iCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTAtMTIgMDk6MDY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGVuc3VyZSBzZWd0b3RhbCBpcyBhdCBsZWFzdCAyCgkgIE5vdCBvbmx5IGFkanVzdCBidWZmZXItdGltZSBhbmQgYXZvaWQgc2VndG90YWw9MCwgYnV0IGluc3RlYWQgZW5zdXJlIHNlZ3RvdGFsIGlzCgkgIGF0bGVhc3QgMi4gRG8gc2FtZSBjaGFuZ2Ugb24gamFja3NyYy4gV2UgY291bGQgYWxzbyBjaGVjayB0aGUgbGF0ZW5jeSBhbmQgYnVmZmVyCgkgIHRpbWUgY29uZmlndXJlZCBieSB0aGUgY2xpZW50IGFuZCBhZGp1c3QgYnVmZmVyLXRpbWUgc28gdGhhdCB3ZSBnZXQgdG8gdGhlIHNhbWUKCSAgbnVtYmVyIG9mIHNlZ21lbnRzLgoKMjAwOS0xMC0xMiAwMDo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiBkb24ndCBjcmFzaCBpbiByaW5nYnVmZmVyIHdpdGggU0lHRlBFIG9uIHNtYWxsIGJ1ZmZlci10aW1lcwoJICBKYWNrIG92ZXJyaWRlcyB1c2VyLXNwZWNpZmllZCBsYXRlbmN5LXRpbWUgd2l0aCB0aGUgb25lIGl0IGdldHMgZnJvbSBqYWNrCgkgIGl0c2VsZi4gSXQgYWxzbyBuZWVkcyB0byBhZGp1c3QgYnVmZmVyLXRpbWUgc29tZXdoYXQgdG8gYXZvaWQgc2VndG90YWwgYmVpbmcgMAoKMjAwOS0wNS0xMSAxNjoxMjo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogd2hlbiBzdG9wcGluZyBwbGF5YmFjaywgZG8gb25lIG1vcmUgY3ljbGUgdG8gZmx1c2ggdGhlIHBvcnQuIEZpeGVzICM1ODIxNjcKCSAgVGhlIGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKCkgZmxhZ3MgdGhlIHBvcnQgYXMgZGVhY3RpdmF0aW5nIGFuZCB1c2VzCgkgIGEgR0NvbmQgdG8gd2FpdCB1bnRpbCB0aGUgamFja19wcm9jZXNzX2NiKCkgaGFzIHJ1biBvbmNlIG1vcmUgYW5kIGNsZWFyZWQgdGhlCgkgIGZsYWcuIFRoaXMgd2F5IHRoZSBjbGllbnQgemVybydzIHRoZSBidWZmZXIuIFRoaXMgaGFwcGVucyBpZiBvbmUgbWFueWFsbHkgZ28KCSAgdG8gUEFVU0VEIGFuZCB0aGVuIHRvIFJFQURZLCB3aGlsZSBsZXRpbmcgdGhlIG1haW5sb29wIHJ1biBpbmJldHdlZW4uCgoyMDA5LTAzLTE2IDExOjIxOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCBuZXcgY29ubmVjdGlvbiBtb2RlCgkgIEFkZCBhIG5ldyBjb25uZWN0aW9uIG1vZGUgdG8gamFja3NyYyBhbmQgamFja3NpbmsuIEluIHRoaXMgbmV3IGF1dG8tZm9yY2UKCSAgY29ubmVjdGlvbiBtb2RlIGphY2sgd2lsbCBjcmVhdGUgYXMgbWFueSBwb3J0cyBhcyByZXF1ZXN0ZWQvbmVlZGVkIGluIHRoZQoJICBwaXBlbGluZSBhbmQgd2lsbCB0aGVuIGNvbm5lY3QgYXMgbWFueSBwaHlzaWNhbCBwb3J0cyBhcyBwb3NzaWJsZSwgcG9zc2libHkKCSAgbGVhdmluZyBzb21lIHBvcnRzIHVuY29ubmVjdGVkLgoJICBBbHNvIGdldCByaWQgb2Ygc29tZSBsZWZ0b3ZlciBnX3ByaW50LgoJICBGaXhlcyAjNTc1Mjg0LgoKMjAwOC0xMS0yMyAxNzo1MDowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svOiBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBObyBwcmludGYgcGxlYXNlLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDgtMDcgMTM6MTU6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOiBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCjIwMDgtMDgtMDcgMDk6MDk6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIEFkZCBuZXcgZWxlbWVudCB0byBkb2NzLgoJICAqIGV4dC9qYWNrL2dzdGphY2suaAoJICBBZGQgbWlzc2luZyBmaWxlLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBSZW5hbWUgamFja2F1ZGlvc3JjIHRvIGphY2tfYXVkaW9fc3JjLgoKMjAwOC0wOC0wNyAwODo0Nzo0MCArMDAwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJICBleHQvamFjay86IEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgICogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgRml4ZXMgIzU0NTE5Ny4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA1LTI2IDE3OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyk6CgkgIEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoKMjAwOC0wNC0wNiAyMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZSBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lCgkgIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHN0YXJ0aW5nIHVwIG11bHRpcGxlIHBsYXliaW4KCSAgb2JqZWN0cyBjb25jdXJyZW50bHkgKHNlZSAjNTEyMzgyKS4KCjIwMDgtMDMtMTMgMTQ6MjU6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbS5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogZ3N0L3R0YS9nc3R0dGEuYzoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZAoJICBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgoyMDA3LTA3LTE4IDA3OjQyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCjIwMDctMDQtMDQgMDc6MzY6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLSBlc3RhYmxpc2hpbmcgbGlua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtCgkgIGVzdGFibGlzaGluZyBsaW5rcy4KCjIwMDctMDMtMTggMTc6NTc6NDggKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZCBjYXVzZSBkZWFkbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbik6CgkgIERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZAoJICBjYXVzZSBkZWFkbG9ja3MuCgoyMDA3LTAzLTA4IDE1OjI0OjUyICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrLzogTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2Ugd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW5jbHVkZXMgcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9pbml0KSwKCSAgKGphY2tfcHJvY2Vzc19jYiksIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLAoJICAoamFja19zaHV0ZG93bl9jYiksIChjb25uZWN0aW9uX2ZpbmQpLAoJICAoZ3N0X2phY2tfYXVkaW9fbWFrZV9jb25uZWN0aW9uKSwgKGdzdF9qYWNrX2F1ZGlvX2dldF9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9hZGRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fcmVtb3ZlX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfbmV3KSwgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9mcmVlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9nZXRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSAgTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2UKCSAgd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZWN0ZWQgamFjayBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIGphY2sKCSAgY29ubmVjdGlvbi4KCSAgTWFrZSBzb21lIHN0dWZmIGEgYml0IG1vcmUgdGhyZWFkc2FmZS4KCSAgQWN0aXZhdGUgdGhlIGphY2sgY2xpZW50IEFTQVAuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2ZyZWVfY2hhbm5lbHMpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgVXNlIG5ldyBjbGllbnQgb2JqZWN0IHRvIG1hbmFnZSBjb25uZWN0aW9ucy4KCSAgRG9uJ3QgcmVtb3ZlIGFuZCByZWNyZWF0ZSBhbGwgcG9ydHMsIHRyeSB0byByZXVzZSB0aGVtLgoKMjAwNy0wMS0xMiAxMDoyNTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuKjogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3NhbXBsZV9yYXRlX2NiKSwKCSAgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDYtMTItMDYgMTY6NTc6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2phY2svLmN2c2lnbm9yZTogSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgoyMDA2LTExLTMwIDExOjU5OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTExLTMwIDExOjQ5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfaW5pdCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcGF1c2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RvcCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kZWxheSksCgkgIChnc3RfamFja19jb25uZWN0X2dldF90eXBlKSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNC0wOC0wMyAxNDoyODoxMiArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJICBmaXhlcyBmb3IgR19ESVNBQkxFX0FTU0VSVCBhbmQgZnJpZW5kcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9keW5wYXJhbXMvZmlsdGVyLmM6ICh1aV9jb250cm9sX2NyZWF0ZSk6CgkgICogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzogKHByaW50X3RhZyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYS5jOiAoZ3N0X2Fsc2FfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSAgKGdzdF9nZGtfYW5pbWF0aW9uX2l0ZXJfbWF5X2FkdmFuY2UpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZXh0L21hZC9nc3RpZDN0YWcuYzogKGdzdF9tYWRfaWQzX3RvX3RhZ19saXN0KSwKCSAgKHRhZ19saXN0X3RvX2lkM190YWdfZm9yZWFjaCksIChnc3RfaWQzX3RhZ19oYW5kbGVfZXZlbnQpOgoJICAqIGV4dC92b3JiaXMvb2dndm9yYmlzZW5jLmM6IChnc3Rfb2dndm9yYmlzZW5jX2dldF90YWdfdmFsdWUpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzZW5jX2dldF90YWdfdmFsdWUpOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOiAoZ3N0X3hpbmVfYXVkaW9fZGVjX2NoYWluKToKCSAgKiBnc3QtbGlicy9nc3QvbWVkaWEtaW5mby9tZWRpYS1pbmZvLXRlc3QuYzogKHByaW50X3RhZyk6CgkgICogZ3N0L3NpbmUvZGVtby1kcGFyYW1zLmM6IChtYWluKToKCSAgKiBnc3QvdGFncy9nc3R2b3JiaXN0YWcuYzogKGdzdF90YWdfdG9fdm9yYmlzX2NvbW1lbnRzKToKCSAgKiB0ZXN0c3VpdGUvYWxzYS9mb3JtYXRzLmM6IChjcmVhdGVfcGlwZWxpbmUpOgoJICAqIHRlc3RzdWl0ZS9hbHNhL3NpbmVzcmMuYzogKHNpbmVzcmNfZm9yY2VfY2FwcyksIChzaW5lc3JjX2dldCk6CgkgIGZpeGVzIGZvciBHX0RJU0FCTEVfQVNTRVJUIGFuZCBmcmllbmRzCgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChhYWNfdHlwZV9maW5kKSwKCSAgKG1wM190eXBlX2ZyYW1lX2xlbmd0aF9mcm9tX2hlYWRlciksIChtcDNfdHlwZV9maW5kKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgcmVxdWlyZSBtcDMgdHlwZWZpbmRpbmcgdG8gaGF2ZSBhdCBsZWFzdCBNSU5fSEVBREVSUyB2YWxpZCBoZWFkZXJzCgkgIGFkZCB0eXBlZmluZGluZyBmb3IgQUFDIGFkdHMgZmlsZXMKCjIwMDQtMDUtMjEgMjM6Mjg6NTcgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIHNlY29uZCBiYXRjaCA6IHJlbW92ZSAnLCcgYXQgZW5kIG9mIGVudW1zIGFzIHRoZXkgY291bGQgY29uZnVzZSBvbGRlciBnY2MsIGZvcmVpZ24gY29tcGlsZXJzIChmb3J0ZSkgYW5kIGd0ay1kb2MgKGluIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2Vjb25kIGJhdGNoIDoKCSAgcmVtb3ZlICcsJyBhdCBlbmQgb2YgZW51bXMgYXMgdGhleSBjb3VsZCBjb25mdXNlIG9sZGVyIGdjYywgZm9yZWlnbiBjb21waWxlcnMgKGZvcnRlKSBhbmQgZ3RrLWRvYwoJICAoaW4gZ3N0LXBsdWdpbnMvZXh0LyB0aGlzIHRpbWUpCgoyMDA0LTAzLTE1IDE5OjMyOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjU0ICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgICouaDogUmV2ZXJ0IGluZGVudGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZ3N0LWluZGVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwMzo0MDoxOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFJlbW92ZSBhbGwgdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY2FwcygpLCBhbmQgcmVwbGFjZSBpdCB3aXRoIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG9yIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIHVzYWdlIG9mIGdzdF9wYWRfZ2V0X2NhcHMoKSwgYW5kIHJlcGxhY2UgaXQgd2l0aAoJICBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSBvciBnc3RfcGFkX2dldF9uZWdvdGlhdGVkX2NhcCgpLgoKMjAwMy0xMi0yMiAwMTo0NzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0xMyAxNjo1OTo1MSArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHJlbW92ZWQgR1NUXypfQ0FTVC4gRGlzYWJsaW5nIG9mIHR5cGUgY2hlY2tpbmcgaXMgZG9uZSBpbiBnbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlZCBHU1RfKl9DQVNULiBEaXNhYmxpbmcgb2YgdHlwZSBjaGVja2luZyBpcyBkb25lIGluIGdsaWIuCgoyMDAzLTEyLTA0IDEwOjM3OjM4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMS0wNyAxMjo0NzowMiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDEgMjM6NDM6MTMgKzAwMDAgIElhaW4gSG9sbWVzIDxpYWluQHByZXR0eXBlb3BsZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIEphY2sgZml4ZWQgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKYWNrIGZpeGVkIHRvbwoKMjAwMy0xMC0yOSAwMzoxNTo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIGNoYW5nZSBnc3QvYnl0ZXN0cmVhbS5oIHRvIGdzdC9ieXRlc3RyZWFtL2J5dGVzdHJlYW0uaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIGdzdC9ieXRlc3RyZWFtLmggdG8gZ3N0L2J5dGVzdHJlYW0vYnl0ZXN0cmVhbS5oCgoyMDAzLTEwLTI4IDIwOjUyOjQxICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgbWVyZ2UgVFlQRUZJTkQgYnJhbmNoLiBNYWpvciBjaGFuZ2VzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVyZ2UgVFlQRUZJTkQgYnJhbmNoLiBNYWpvciBjaGFuZ2VzOgoJICAtIHRvdGFsbHkgcmV3b3JrZWQgdHlwZShmaW5kKSBzeXN0ZW0KCSAgLSBhbGwgdHlwZWZpbmQgZnVuY3Rpb25zIGFyZSBpbiBnc3QvdHlwZWZpbmQgbm93CgkgIC0gbW9yZSB0eXBlZmluZCBmdW5jdGlvbnMgdGhlbiBiZWZvcmUKCSAgLSBzb21lIHBsdWdpbnMgbWlnaHQgZmFpbCB0byBjb21waWxlIG5vdyBiZWNhdXNlIEkgZG9uJ3QgaGF2ZSB0aGVtIGluc3RhbGxlZCBhbmQgdGhleQoJICBhKSByZXF1aXJlIGJ5dGVzdHJlYW0gb3IKCSAgYikgaGF2ZW4ndCBoYWQgdGhlaXIgdHlwZWZpbmQgZml4ZWQuCgkgIFBsZWFzZSBmaXggdGhvc2UgcGx1Z2lucyBhbmQgcHV0IHRoZSB0eXBlZmluZCBmdW5jdGlvbnMgaW50byBnc3QvdHlwZWZpbmQgaWYgdGhleSBkb24ndCBoYXZlIGRlcGVuZGVuY2llcwoKMjAwMy0xMC0wOCAxNjowODoxOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCjIwMDMtMTAtMDEgMTM6MTQ6NTAgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgTmV3IHR5cGVmaW5kIHN5c3RlbTogYnl0ZXN0cmVhbSBpcyBub3cgcGFydCBvZiB0aGUgY29yZSBhbGwgcGx1Z2lucyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gdXNlIHRoaXMgbmV3IHR5cGVmaW5kIHN5c3RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgdHlwZWZpbmQgc3lzdGVtOgoJICAqIGJ5dGVzdHJlYW0gaXMgbm93IHBhcnQgb2YgdGhlIGNvcmUKCSAgKiBhbGwgcGx1Z2lucyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gdXNlIHRoaXMgbmV3IHR5cGVmaW5kIHN5c3RlbQoJICAqIGFzZiB0eXBlZmluZGluZyBhZGRlZAoJICAqIG1wZWcgdmlkZW8gc3RyZWFtIHR5cGVmaWRpbmcgcmVtb3ZlZCBiZWNhdXNlIGl0J3MgYnJva2VuCgkgICogZHVwbGljYXRlIHR5cGVmaW5kIGVudHJpZXMgcmVtb3ZlZAoJICAqIGV4dHJhIGlkMyB0eXBlZmluZGluZyBhZGRlZCwgYmVjYXVzZSB3ZSd2ZSBzZWVuIDQgdHlwZXMgb2YgZmlsZXMKCSAgKHJpZmYvd2F2LCBmbGFjLCB2b3JiaXMsIG1wMykgd2l0aCBpZDMgaGVhZGVycyBhbmQgZWFjaCBvZiB0aGVzZSBuZWVkcwoJICB0byB3b3JrLiBJbnN0ZWFkLCBJJ3ZlIGFkZGVkIGFuIGlkMyBlbGVtZW50IGFuZCBsZXQgaXQgcmVkbyB0eXBlZmlkaW5nCgkgIGFmdGVyIHRoZSBpZDMgaGVhZGVyLiB0aGlzIG5lZWRzIGEgaGFjayBiZWNhdXNlIHNwaWRlciBvbmx5IHR5cGVmaW5kcwoJICBvbmNlLiBXZSBjYW4gcmVtb3ZlIHRoaXMgaGFjayBvbmNlIHNwaWRlciBzdXBwb3J0cyBtdWx0aXBsZSB0eXBlZmluZHMuCgkgICogd2l0aCBhbGwgdGhpcywgbXAzIHR5cGVmaW5kaW5nIGlzIHNlbWktcmV3cml0dGVuCgkgICogaWQzIHR5cGVmaW5kaW5nIGluIGZsYWMvdm9yYmlzIGlzIHJlbW92ZWQsIGl0J3Mgbm8gbG9uZ2VyIG5lZWRlZAoJICAqIGZpeGVkIHNwaWRlciBhbmQgZ3N0LXR5cGVmaW5kIHRvIHVzZSB0aGlzLCB0b28uCgkgICogT3RoZXIgZ2VuZXJhbCBjbGVhbnVwcwoKMjAwMy0wOS0zMCAxMjo1NjoyNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgY29uZm9ybSB0byB0aGUgYnVmZmVyLWZyYW1lcyBwcm9wcyBlbnRyeSAtLSBtdWNoIG5pY2VyIG5vdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29uZm9ybSB0byB0aGUgYnVmZmVyLWZyYW1lcyBwcm9wcyBlbnRyeSAtLSBtdWNoIG5pY2VyIG5vdy4uLgoKMjAwMy0wOC0xMCAwMDowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoKMjAwMy0wNy0xOSAyMzoyNToyNSArMDAwMCAgTGVpZiBKb2huc29uIDxsZWlmQGFtYmllbnQuMnkubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICsgY2hhbmdlcyBmb3IgbmV3IGZsb2F0IGNhcHMgd2l0aG91dCBzbG9wZS9pbnRlcmNlcHQgKyBzb21lIGNhdGVnb3J5IGNoYW5nZXMgZm9yIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICsgY2hhbmdlcyBmb3IgbmV3IGZsb2F0IGNhcHMgd2l0aG91dCBzbG9wZS9pbnRlcmNlcHQKCSAgKyBzb21lIGNhdGVnb3J5IGNoYW5nZXMgZm9yIHBsdWdpbnMKCjIwMDMtMDctMDYgMjA6NDk6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCdzIGRvY3VtZW50LiBOb3RlOiBzb21lIHBsdWdpbnMgd2lsbCBicmVhaywgc29tZSBwaXBlbGluZXMgd2lsbCBicmVhaywgZXhwZWN0IEhFQUQgdG8gYmUgYnJva2VuIG9yIGF0IGxlYXN0IG5vdCAxMDAlIHdvcmtpbmcgZm9yIGEgZmV3IGRheXMsIGJ1dCBkb24ndCBmb3JnZXQgdG8gcmVwb3J0IGJ1Z3MKCjIwMDMtMDctMDEgMDI6Mjc6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBmaXggdHlwZSBwdW5uaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdHlwZSBwdW5uaW5nCgoyMDAzLTA2LTI5IDE5OjQ2OjEzICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBJbmNsdWRlcyBmaXhlcyBmb3IgbWlzc2luZyBpbmNsdWRlcyBmb3IgY29uZmlnLmggYW5kIHVuaXN0ZC5oCgkgIEkgb25seSBlbnN1cmVkIGZvciBwbHVnaW5zIEkgY2FuIGJ1aWxkIHRoYXQgdGhleSB3b3JrLCBzbyBpZiBzb21lIG9mIHRoZW0gYXJlIHN0aWxsIGJyb2tlbiwgeW91IGdvdHRhIGZpeCB0aGVtIHlvdXJzZWx2ZXMgdW5mb3J0dW5hdGVseS4KCjIwMDMtMDYtMTMgMjE6MjE6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFJlbW92ZWQgdWdseSBjYXBzIGZpeGVkIGZsYWcgaGFjaywgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgaW4gY29yZSBzb29uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIHVnbHkgY2FwcyBmaXhlZCBmbGFnIGhhY2ssIHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGluCgkgIGNvcmUgc29vbgoKMjAwMy0wMy0wNCAxNTozNDoyMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgdXBkYXRlIGZvciB0aGUgbGF0ZXN0IGphY2sgY3ZzIGFuZCBub24tY290aHJlYWRlZCBnc3Qgc2NoZWR1bGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgamFjayBjdnMgYW5kIG5vbi1jb3RocmVhZGVkIGdzdCBzY2hlZHVsZXIKCjIwMDMtMDItMDUgMjA6Mzg6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBDaGFuZ2VkIGNhcHMtPmZpeGVkIHRvIHVzZSBGTEFHX1NFVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBjYXBzLT5maXhlZCB0byB1c2UgRkxBR19TRVQKCjIwMDMtMDEtMTAgMTM6Mzg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoKMjAwMy0wMS0xMCAxMDoyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcyBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzCgkgIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMKCSAgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0aGF0IEkgZG9uJ3Qgc3BlbmQgZG91YmxlCgkgIHRoZSB0aW1lIHJlc29sdmluZyBjb25mbGljdHMKCjIwMDItMTItMDggMTQ6NTA6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCjIwMDItMDktMjkgMTg6MTI6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBsaWNlbnNlcyBhZ2FpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGljZW5zZXMgYWdhaW4KCjIwMDItMDktMTggMTk6MDI6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgoyMDAyLTA5LTEwIDA5OjMxOjQwICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFRoaXMgdXBkYXRlcyBhbGwgcGx1Z2lucyB0byB0aGUgbmV3IEFQSSBmb3IgZ3N0X3BhZF90cnlfc2V0X2NhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoaXMgdXBkYXRlcyBhbGwgcGx1Z2lucyB0byB0aGUgbmV3IEFQSSBmb3IgZ3N0X3BhZF90cnlfc2V0X2NhcHMKCjIwMDItMDktMDkgMjM6Mjc6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmluZyB3YXJuaW5ncyBhcyBhcHByb3ZlZCBieSB3aW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92aW5nIHdhcm5pbmdzIGFzIGFwcHJvdmVkIGJ5IHdpbQoKMjAwMi0wOC0yMyAwNDowNDoxMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGZpeCBqYWNrIGlucHV0IHBvcnQgY29ubmVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGphY2sgaW5wdXQgcG9ydCBjb25uZWN0aW9uCgoyMDAyLTA3LTA5IDE3OjM5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGNvbXBpbGUgZml4ZW4sIGFuZCBwcmVwYXJlIHRvIG1vdmUgTUFJTlRBSU5FUl9NT0RFIHRvIGFzLXZlcnNpb24ubTQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBpbGUgZml4ZW4sIGFuZCBwcmVwYXJlIHRvIG1vdmUgTUFJTlRBSU5FUl9NT0RFIHRvIGFzLXZlcnNpb24ubTQKCjIwMDItMDctMDIgMjM6MzU6MDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBtYWtlIGphY2sgd29yayBpbiBhbGwgaXRzIGZ1bGwgZHVwbGV4IGdsb3J5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWtlIGphY2sgd29yayBpbiBhbGwgaXRzIGZ1bGwgZHVwbGV4IGdsb3J5CgoyMDAyLTA2LTEyIDAzOjMyOjAyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgd29ya2luZyBqYWNrIGVsZW1lbnRzIChmaXhlZCBhIHByb2JsZW0gaW4gdXBzdHJlYW0gamFjaykgcmFuZG9tIG90aGVyIGZpeGVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdvcmtpbmcgamFjayBlbGVtZW50cyAoZml4ZWQgYSBwcm9ibGVtIGluIHVwc3RyZWFtIGphY2spCgkgICogcmFuZG9tIG90aGVyIGZpeGVuLi4uCgoyMDAyLTA1LTE1IDE5OjA4OjQ5ICswMDAwICBTdGV2ZSBCYWtlciA8c3RldmVAc3RldmViYWtlci5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHVzZSBuZXcgYnl0ZXN0cmVhbSBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBuZXcgYnl0ZXN0cmVhbSBhcGkKCjIwMDItMDUtMTMgMTg6MDg6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHVwZGF0ZSB0byBuZXcgamFjayBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBuZXcgamFjayBhcGkKCjIwMDItMDUtMDUgMTk6Mzk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYWRkIHNvbWUgaW5jbHVkZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGluY2x1ZGVzCgoyMDAyLTA1LTA1IDAxOjA4OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBiZXR0ZXIgaW5pdGlhbGl6YXRpb24uIGl0IGRvZXNuJ3Qgd29yayBvdmVyIGhlcmUsIHRob3VnaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJldHRlciBpbml0aWFsaXphdGlvbi4gaXQgZG9lc24ndCB3b3JrIG92ZXIgaGVyZSwgdGhvdWdoLgoKMjAwMi0wNS0wNCAyMTozODo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBhIGNvbW1pdCBzbyB0aGF0IGphY2sgd2lsbCBidWlsZCB3aXRob3V0IGVycm9ycyBvbiBVcmFldXMncyBzeXN0ZW0gOykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGEgY29tbWl0IHNvIHRoYXQgamFjayB3aWxsIGJ1aWxkIHdpdGhvdXQgZXJyb3JzIG9uIFVyYWV1cydzIHN5c3RlbSA7KQoKMjAwMi0wNS0wNCAyMDo1MzozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBzZXQgY2FwcyBvbmNlIHdlIGtub3cgdGhlIHNhbXBsZSByYXRlIG9mIHRoZSBzeXN0ZW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCBjYXBzIG9uY2Ugd2Uga25vdyB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIHN5c3RlbQoKMjAwMi0wNS0wNCAxODo1Nzo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgc29tZSBqYWNrIGZpeGVzLCBhbHNhIHRvdWNodXBzLCBhbmQgYWRkIHJ0cCBieSBkZWZhdWx0IHRvIHRoZSBidWlsZCBpZiB0aGVyZSBhcmUgYW55IHByb2JsZW1zIGJ1aWxkaW5nIHJ0cCwgd2UncmUgbW92Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzb21lIGphY2sgZml4ZXMsIGFsc2EgdG91Y2h1cHMsIGFuZCBhZGQgcnRwIGJ5IGRlZmF1bHQgdG8gdGhlIGJ1aWxkCgkgIGlmIHRoZXJlIGFyZSBhbnkgcHJvYmxlbXMgYnVpbGRpbmcgcnRwLCB3ZSdyZSBtb3ZpbmcgaXQgYmFjayB0byBleHBlcmltZW50YWwgOykKCjIwMDItMDQtMjAgMjE6NDI6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcyBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucyBhbiBlbGVtZW50IGJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MKCSAgKiBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjCgkgICogZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zCgkgICogYW4gZWxlbWVudCBicm93c2VyIHRoYXQgdXNlcyBkZXRhaWxzLT5rbGFzcwoJICAqIHNlcGFyYXRlZCBjZHhhIHBhcnNlIG91dCBmcm9tIHRoZSBhdmkgZGlyZWN0b3J5CgoyMDAyLTA0LTE2IDE3OjE0OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgRmluYWxseSB3ZSdyZSBvbiB0byBhIHByb3BlciBqYWNrIHNldHVwLCB3aXRoIGEgc3BlY2lhbGl6ZWQgYmluIGFuZCBlbGVtZW50cyB0aGF0IGNhbiBvbmx5IGdvIGluIGEgamFjayBiaW4uIEkgaGFkIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaW5hbGx5IHdlJ3JlIG9uIHRvIGEgcHJvcGVyIGphY2sgc2V0dXAsIHdpdGggYSBzcGVjaWFsaXplZCBiaW4gYW5kIGVsZW1lbnRzCgkgIHRoYXQgY2FuIG9ubHkgZ28gaW4gYSBqYWNrIGJpbi4gSSBoYWQgdG8gZml4IHRoZSBwYXJzZXIgZmlyc3QgdG8gZG8gdGhpcywgYnV0CgkgIHRvIHJ1biBpdCwgdGhlIHN5bnRheCBpcyBsaWtlIHNvOgoJICBnc3QtbGF1bmNoIGphY2tiaW4uKCBmaWxlc3JjICEgbWFkICEgamFja3NpbmsgKQoJICBCdXQgb2YgY291cnNlIGl0J3Mgbm90IGZ1bGx5IGZ1bmN0aW9uYWwgeWV0LiBTaWdoLgoKMjAwMi0wNC0xMSAyMDo0MjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURSBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUKCSAgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgYWxzbywgc29tZSAtV2Vycm9yIGZpeGVzLgoKMjAwMi0wMy0zMCAyMTowNzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhbHBoYWJldGl6YXRpb24gZml4ZW4gYSBqYWNrIGNhcHMgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGFscGhhYmV0aXphdGlvbiBmaXhlbgoJICAqIGEgamFjayBjYXBzIGZpeAoKMjAwMi0wMy0zMCAxOTozMToxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhZGQgbm90aWZ5IGJhY2sgdG8gZmlsZXNyYywgaXQncyBuZWVkZWQgZm9yIE1WQyBhcHBsaWNhdGlvbnMgcmVtb3ZlIG5vdGlmeSBwcmludG91dHMgZnJvbSBnc3QtbGF1bmNoIGNsZWFudXAgaW4gZ3N0LXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYWRkIG5vdGlmeSBiYWNrIHRvIGZpbGVzcmMsIGl0J3MgbmVlZGVkIGZvciBNVkMgYXBwbGljYXRpb25zCgkgICogcmVtb3ZlIG5vdGlmeSBwcmludG91dHMgZnJvbSBnc3QtbGF1bmNoCgkgICogY2xlYW51cCBpbiBnc3QtcGx1Z2lucyBjb25maWd1cmUuYWMKCSAgKiBzb21lIGphY2sgdXBkYXRlcwoJICAqIHJlbW92ZSBTRUxGX0lURVJBVElORyBmbGFnIGluIGZhdm9yIG9mIFNFRl9TQ0hFRFVMQUJMRSAobm90IGEgY2xlYXIgbmFtZSwKCSAgYnV0IGl0J3Mgd2hhdCB3ZSBoYXZlIGZvciB0aGUgbW9tZW50KQoJICAqIGltcHJvdmUgcGFyc2luZyBvZiByZXF1ZXN0IHBhZCBuYW1lcywgbm8gbW9yZSBzc2NhbmYKCSAgKiBmaXhlcyB0byB0aGUgZmFzdHNjaGVkdWxlciBNYWtlZmlsZS5hbQoKMjAwMi0wMy0yMCAyMTo0NTowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoKMjAwMi0wMy0xOSAwNDoxMDowNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cyBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMKCSAgKiBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoIHRoZSBwbHVnaW5faW5mbyBzdHJ1Y3QsCgkgIGFuZCBzeW1ib2wgcmVzb2x1dGlvbiBpcyBsYXp5LCBzbyB3ZSBjYW4gYWx3YXlzIGtub3cgaWYgYSBwbHVnaW4gY2FuIGJlIGxvYWRlZCBieSB0aGUgcGx1Z2luX2luZm8gZGF0YS4gaW4gdGhlb3J5LgoKMjAwMi0wMy0xOSAwMTozOTo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLyBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvCgkgIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpY2FsbHksCgkgIGFuZCB0aGlzIGdpdmVzIHRoZSB1c2VyIHRoZSBmcmVlZG9tIHRvIHNheSBtYWtlIEdTVF9QTFVHSU5fTERGTEFHUz0tbXlmbGFnCgoyMDAyLTAzLTE4IDA0OjQxOjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgcy9nc3RfZWxlbWVudF9pbnN0YWxsX3N0ZF9wcm9wcy9nc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcy8gLS0gaXQganVzdCBtYWtlcyBtb3JlIHNlbnNlIHRoYXQgd2F5IGFkZGVkIGphY2sgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHMvZ3N0X2VsZW1lbnRfaW5zdGFsbF9zdGRfcHJvcHMvZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMvIC0tIGl0IGp1c3QgbWFrZXMgbW9yZSBzZW5zZSB0aGF0IHdheQoJICAqIGFkZGVkIGphY2sgZWxlbWVudCwgZG9lc24ndCBxdWl0ZSB3b3JrIHJpZ2h0IHlldCBidXQgaSBkaWRuJ3Qgd2FudCB0byBsb3NlIHRoZSB3b3JrIC0tIGl0IGRvZXMgYnVpbGQsIHJlZ2lzdGVyLAoJICBhbmQgYXR0ZW1wdCB0byBydW4gdGhvdWdoCgkgICogaW1wb3NlZCBzb21lIHJlc3RyaWN0aW9ucyBvbiB0aGUgbmFtaW5nIG9mIHJlcXVlc3QgcGFkcyB0byBiZXR0ZXIgYWxsb3cgZm9yIHJldmVyc2UgcGFyc2luZwoJICAqIGFkZGVkICclcycgdG8gcmV2ZXJzZSBwYXJzaW5nCgkgICogYWRkZWQgbmV3IGJpbiBmbGFnIHRvIGluZGljYXRlIHRoYXQgaXQgaXMgc2VsZi1pdGVyYXRpbmcsIGFuZCBzb21lIGxhbWUgY29kZSBpbiBnc3QtbGF1bmNoIHRvIHRlc3QgaXQgb3V0CgkgICogZml4ZW4gb24gbGF1bmNoLWd1aQoJICAqIGFkZGVkIHBrZy1jb25maWcgc3R1ZmYgZm9yIHRoZSBlZGl0b3IncyBsaWJzCgoyMDExLTAxLTAyIDExOjM3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFyayB2NGwyc2luayBhcyBleHBlcmltZW50YWwgYW5kIGJ1aWxkIG9ubHkgaWYgLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIHBhc3NlZAoJICBJdCdzIG5vdCByZWFsbHkgb2YgJ2dvb2QnIHF1YWxpdHkgeWV0LCBidXQgdGhlcmUncyBhIGxvdCBvZgoJICBjb2RlIHNoYXJlZCB3aXRoIHY0bDJzcmMsIHNvIG5vdCBzbyBlYXN5IHRvIG1vdmUgaXQgZWxzd2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIyNDQKCjIwMTEtMDEtMDIgMDE6MjQ6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBSZXZlcnQgInY0bDI6IGFkZCBub3JtIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDllMWQ0MTlkMDczMzdlNmRiMmNjMzkzNjQ3MmJlMjA1Y2U5MjdlNTQuCgkgIFJldmVydGluZyB0aGlzIHNpbmNlIGl0IGFkZHMgdW5yZXZpZXdlZCBhbmQgYmFkIEFQSSB0byB2NGwyc3JjCgkgIChwcm9wZXJ0eSBvZiB0eXBlIGVudW0sIHdpdGggc2VlbWluZ2x5IHJhbmRvbSBhbmQgdW5zb3J0ZWQgdmFsdWVzKS4KCjIwMTEtMDEtMDEgMjM6MjY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvLmdpdGlnbm9yZToKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL1JFQURNRS5maWx0ZXJzdGFtcDoKCSogdG9vbHMvZmlsdGVyc3RhbXAuc2g6CgkqIHRvb2xzL2dzdC1sYXVuY2gtZXh0LW0ubToKCSogdG9vbHMvZ3N0LWxhdW5jaC1leHQuMS5pbjoKCSogdG9vbHMvZ3N0LXZpc3VhbGlzZS1tLm06CgkqIHRvb2xzL2dzdC12aXN1YWxpc2UuMS5pbjoKCSAgdG9vbHM6IHJlbW92ZSB1bnVzZWQgbGVmdC1vdmVyIGRpcmVjdG9yeQoJICBUaGVzZSBhcmUgYWxsIGluIC1iYXNlL3Rvb2xzLgoKMjAxMC0xMi0zMSAxMzo1NzowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIG1wNGFkZXBheTogaW1wcm92ZSB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIHBhY2tldHMKCSAgSW1wcm92ZSBwYXJzaW5nIG9mIHRoZSBzYW1wbGVyYXRlLgoJICBQYXJzZSB0aGUgZnJhbWVsZW4gc28gdGhhdCB3ZSBjYW4gY2FsY3VsYXRlIHRpbWVzdGFtcHMuCgkgIFdoZW4gaW50ZXJwb2xsYXRlIHRoZSBpbmNvbW1pbmcgdGltZXN0YW1wIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiB0aGVyZSBhcmUKCSAgbXVsdGlwbGUgc3ViZnJhbWVzLgoJICBmaXhlcyAjNjI1ODI1CgoyMDEwLTEyLTMxIDAwOjEyOjUzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IEZpeCBidWlsZCBmYWlsdXJlIGNhdXNlZCBieSBwcmV2aW91cyBjb21taXQKCjIwMTAtMTItMzAgMTg6MjA6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBidWlsZCBmaXhlcyBmb3IgTVNWQwoJICBVc2UgZ2ludDE2IGFuZCBHX1BJLgoKMjAxMC0xMi0zMCAxODoxOTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiByZWluZGVudAoKMjAxMC0xMi0zMSAwMjoxNjo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBjYWlybywgdmlkZW9maWx0ZXI6IHVzZSBnc3QvbWF0aC1jb21wYXQuaCBoZWFkZXIgZm9yIHJpbnQKCjIwMTAtMTItMzAgMTQ6MzA6MjcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IENoZWNrIGZvciBIQVZFX1JJTlQgaW5zdGVhZAoJICBBbHNvIGNoYW5nZSBNX1BJIHRvIEdfUEkgZm9yIGdpZ2dsZXMuCgoyMDEwLTEyLTMwIDE0OjIxOjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlybzogRG9uJ3QgdXNlICNpZmRlZnMgaW5zaWRlIG1hY3JvcwoKMjAxMC0xMi0zMCAxNDoyMDo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vaWZzLmM6CgkqIGdzdC9nb29tL2xpbmVzLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkgIENoYW5nZSBNX1BJIHRvIEdfUEkKCjIwMTAtMTItMzAgMTI6MDc6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IHVzZSBHX09TX1dJTjMyIGZvciB3aW5kb3dzIGNoZWNrCgoyMDEwLTEyLTMwIDE2OjI0OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgbXA0YWRlcGF5OiBmaXggdGltZXN0YW1wcyBvbiBidWZmZXJzCgoyMDEwLTEyLTMwIDE2OjIyOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgbXB2cGF5OiBmaXggZmx1c2hpbmcgYW5kIGRpc2NvbnQKCSAgRml4IGZsdXNoaW5nIGFuZCBkaXNjb250cy4KCSAgQ2xlYW4gdXAgaW4gc3RhdGUgY2hhbmdlcy4KCjIwMTAtMTItMjkgMjM6Mzg6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBpbmNyZWFzZSBhbGxvd2VkIG1heC4gYmxvY2sgc2l6ZSBmb3IgcHVzaCBtb2RlIGZyb20gMTBNIHRvIDE1TQoJICBJdCB3YXMgYW4gYXJiaXRyYXJ5IGxpbWl0IGZyb20gdGhlIHN0YXJ0LCBtZWFudCBhcyBhIGJhc2ljIHNhbml0eSBjaGVjaywKCSAgc28gbWF5IGp1c3QgYXMgd2VsbCBpbmNyZWFzZSBpdCBhIGxpdHRsZS4gV291bGQgYmUgZ29vZCB0byBwcm92aWRlCgkgIHByb2dyZXNzIHJlcG9ydGluZyB3aGlsZSBjb21wbGV0aW5nIHRoZSBibG9jayBpbiBhbnkgY2FzZS4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzcwNjAKCjIwMTAtMTItMjkgMjM6MDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBhc3N1bWUgbWF0cm9za2EgaWYgbm8gZG9jdHlwZSBpcyBzcGVjaWZpZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODAxOQoKMjAxMC0xMi0wNCAxMzo0MzoxMSAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IGFkZCBpbnRlcmxhY2VkIHN1cHBvcnQKCjIwMTAtMTAtMDIgMTQ6NDU6MTQgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMnNpbms6IGFkZCBuYXZpZ2F0aW9uIHN1cHBvcnQKCjIwMTAtMDQtMDQgMDY6NDM6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWRkIG5vcm0gcHJvcGVydHkKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBHdWVubmFkaSBMaWFraG92ZXRza2kuCgoyMDEwLTA3LTEzIDEwOjAzOjUxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogY2xlYW51cCBnZXQvc2V0IGlucHV0L291dHB1dAoJICBvdXRwdXQgZGV2aWNlcyBzaG91bGQgdXNlIGdldC9zZXQgb3V0cHV0LCBhbmQgaW4gZWl0aGVyIGNhc2Ugd2Ugc2hvdWxkCgkgIG5vdCBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSBpZiB0aGUgaW9jdGwgZmFpbHMgYnV0IHRoZSBkZXZpY2UgZG9lcyBub3QKCSAgY2xhaW0gdG8gc3VwcG9ydCB0aGUgdHVuZXIgaW50ZXJmYWNlCgoyMDEwLTA2LTEwIDExOjE1OjQ2IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDJ4b3ZlcmxheTogYWRkIHN1cHBvcnQgdG8gY3JlYXRlIHdpbmRvdwoJICBJZiB4b3ZlcmxheSBpcyBhdmFpbGFibGUsIHY0bDJzaW5rIHNob3VsZCBjcmVhdGUgYSB3aW5kb3cgZm9yIHRoZSBvdmVybGF5IHRvCgkgIGRpc3BsYXkgaW4uCgkgIFRoZSB3aW5kb3cgYXV0b21hdGljYWxseSB0cmllcyB0byBtYWtlIGl0c2VsZiBhcyBsYXJnZSBhcyBwb3NzaWJsZS4KCSAgVGhpcyB3b3JrcyB3ZWxsIG9uIGEgc21hbGwgc2NyZWVuLCBidXQgcGVyaGFwcyBzaG91bGQgZmlyc3QgYXR0ZW1wdCB0byB1c2UKCSAgdGhlIHNpemUgb2YgdGhlIHZpZGVvIHRoYXQgaXMgcGxheWVkIChubyBzY2FsaW5nKS4KCjIwMTAtMDQtMDQgMDY6NDE6MjggLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBzcGVjaWFsIGhhbmRsaW5nIGZvciBjYXNlcyBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKQoJICBTcGVjaWFsIGNhc2UgY2hlY2sgZm9yIHN1Yi1idWZmZXJzOiAgSW4gY2VydGFpbiBjYXNlcywgcGxhY2VzIGxpa2UKCSAgR3N0QmFzZVRyYW5zZm9ybSwgd2hpY2ggbWlnaHQgY2hlY2sgdGhhdCB0aGUgYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSBjb3B5aW5nCgkgIG1ldGFkYXRhLCB0aW1lc3RhbXAsIGFuZCBzdWNoLCB3aWxsIGZpbmQgdGhhdCB0aGUgYnVmZmVyIGhhcyBtb3JlIHRoYW4gb25lCgkgIHJlZmVyZW5jZSB0byBpdC4gIEluIHRoZXNlIGNhc2VzLCB0aGV5IHdpbGwgY3JlYXRlIGEgc3ViLWJ1ZmZlciB3aXRoIGFuIG9mZnNldD0wCgkgIGFuZCBsZW5ndGggZXF1YWwgdG8gdGhlIG9yaWdpbmFsIGJ1ZmZlciBzaXplLgoJICBUaGlzIGNvdWxkIGhhcHBlbiBpbiB0d28gc2NlbmFyaW9zOiAoMSkgYSB0ZWUgaW4gdGhlIHBpcGVsaW5lLCBhbmQgKDIpIGJlY2F1c2UKCSAgdGhlIHJlZmNudCBpcyBpbmNyZW1lbnRlZCBpbiBnc3RfbWluaV9vYmplY3RfZnJlZSgpIGJlZm9yZSB0aGUgZmluYWxpemUgZnVuY3Rpb24KCSAgaXMgY2FsbGVkLCBhbmQgZGVjcmVtZW50ZWQgYWZ0ZXIgaXQgcmV0dXJucy4uICBidXQgcmV0dXJuaW5nIHRoaXMgYnVmZmVyIHRvIHRoZQoJICBidWZmZXIgcG9vbCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24sIGNvdWxkIHdha2UgdXAgYSB0aHJlYWQgYmxvY2tlZCBpbgoJICBfYnVmZmVyX2FsbG9jKCkgd2hpY2ggY291bGQgcnVuIGFuZCBnZXQgYSBidWZmZXIgdy8gcmVmY250PT0yIGJlZm9yZSB0aGUgdGhyZWFkCgkgIG9yaWdpbmFsbHkgdW5yZWYnaW5nIHRoZSBidWZmZXIgcmV0dXJucyBmcm9tIGZpbmFsaXplIGZ1bmN0aW9uIGFuZCBkZWNyZW1lbnRzCgkgIHRoZSByZWZjbnQgYmFjayB0byAxIQoJICBUaGlzIGlzIHJlbGF0ZWQgdG8gaXNzdWUgIzU0NTUwMQoKMjAxMC0wNC0wNCAwNjozOTo1MiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IHJhY2UgY29uZGl0aW9uCgkgIFRoZSBzaXplIG9mIHRoZSBidWZmZXIgd291bGQgYmUgemVybydkIG91dCBpbiBnc3RfdjRsMl9idWZmZXJfZmluYWxpemUoKQoJICBhZnRlciB0aGUgYnVmZmVyIGlzIHFidWYnZCBvciBwdXNoZWQgb250byB0aGUgcXVldWUgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMuLgoJICBsZWF2aW5nIGEgcmFjZSBjb25kaXRpb24gd2hlcmUgdGhlIHRocmVhZCB3YWl0aW5nIGZvciB0aGUgYnVmZmVyIGNvdWxkIGF3YWtlCgkgIGFuZCBzZXQgYmFjayBhIHZhbGlkIHNpemUgYmVmb3JlIHRoZSBmaW5hbGl6aW5nIHRocmVhZCB6ZXJvcyBvdXQgdGhlIGxlbmd0aC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgdGhhdCB0aGUgbmV3bHkgYWxsb2NhdGVkIGJ1ZmZlciBoYXMgbGVuZ3RoIG9mIHplcm8uCgoyMDEwLTA0LTA0IDA2OjM5OjA4IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyc2luazogYWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCBjcm9wCgoyMDEwLTA0LTA0IDA2OjM3OjE2IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICB2NGwyOiByZS1lbmFibGUgeC1vdmVybGF5IHN1cHBvcnQKCjIwMTAtMTItMjUgMTE6NTI6MzYgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggZm9yIFBBVVNFRC0+UkVBRFktPlBBVVNFRCBzdGF0ZSB0cmFuc2l0aW9ucwoJICBXaGVuIHY0bDJzaW5rIGdvZXMgdG8gUEFVU0VELT5SRUFEWSBpdCBvbmx5IHN0b3BzIHN0cmVhbWluZywgc28gdGhlIHN0YXRlCgkgIHNob3VsZCBiZSBzZXQgdG8gU1RBVEVfUEVORElOR19TVFJFQU1PTiBpbiBjYXNlIHRoZSBlbGVtZW50IHRyYW5zaXRpb25zCgkgIGJhY2sgdG8gUExBWUlORy4KCjIwMTAtMDQtMDQgMDY6Mjg6NTEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDJzaW5rOiBhZGQgIm1pbi1xdWV1ZWQtYnVmcyIgcHJvcGVydHkKCjIwMTAtMDQtMDQgMDY6MjY6NTAgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNpbms6IEFkZCBzdXBwb3J0IGZvciBibG9ja2luZyBkZXF1ZXVlLgoJICBXZSdkIHByZWZlciB0byB0aHJvdHRsZSB0aGUgZGVjb2RlciBpZiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMsIHRvIGtlZXAgYSBib3VuZAoJICBvbiBtZW1vcnkgdXNhZ2UuICBBbHNvLCBmb3IgT01BUDQgaXQgaXMgYSByZXF1aXJlbWVudCBvZiB0aGUgZGVjb2RlciB0byBub3QKCSAgYWx0ZXJuYXRlIGJldHdlZW4gbWVtb3J5IGFsbG9jZWQgYnkgdGhlIGRpc3BsYXkgZHJpdmVyIGFuZCBtYWxsb2MnZCB1c2Vyc3BhY2UKCSAgbWVtb3J5LgoKMjAxMC0wNC0wNCAwNjoyNDo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2xlYXIgZmxhZ3MgYmVmb3JlIHJldXNpbmcgYnVmZmVyIGZyb20gYnVmZmVyIHBvb2wKCSAgbm90ZTogdGhpcyByZWFsbHkgb25seSBhZmZlY3RzIHY0bDJzaW5rIHNpbmNlIGdzdF92NGwyX2J1ZmZlcl9wb29sX2dldCgpIGlzCgkgIG9ubHkgY2FsbGVkIG9uY2UgcGVyIGJ1ZmZlciBpbiB0aGUgdjRsMnNyYyBjYXNlIChpbgoJICBnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9hY3RpdmF0ZSgpKQoKMjAxMC0wNC0wNCAwNjoyMzozMSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRvbid0IHJlbmRlciBwcmVyb2xsIGJ1ZmZlcnMKCSAgTW9zdCB2NGwyIGRyaXZlcnMgd2lsbCBnZXQgdXBzZXQgd2hlbiB5b3UgcXVldWUgdGhlIHNhbWUgYnVmZmVyIHR3aWNlIGluIGEKCSAgcm93IHdpdGhvdXQgZmlyc3QgZGVxdWV1ZWluZyBpdC4KCSAgUmVuZGVyaW5nIG9mIHByZS1yb2xsIGJ1ZmZlcnMgY2FuIGJlIHJlLWludHJvZHVjZWQgbGF0ZXIsIGJ1dCB3aWxsIHJlcXVpcmUKCSAgdHJhY2tpbmcgdGhlIHN0YXRlIG9mIHRoZSBidWZmZXIsIGFuZCBhdm9pZGluZyB0byByZS1RQlVGIGlmIHRoZSBidWZmZXIgaGFzCgkgIGFscmVhZHkgYmVlbiBwYXNzZWQgdG8gdGhlIGRyaXZlci4KCjIwMTAtMDQtMDQgMDY6MjI6NDMgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBJbXByb3ZlIGJlaGF2aW9yIGZvciBzaGFyZWQgYnVmZmVycy4KCSAgV2hlbiB0aGUgZGVjb2RlciBpcyB1c2luZyBwYWRfYWxsb2MoKSwgdjRsMnNpbmsgd291bGQgYmVoYXZlIGJhZGx5IGlmCgkgIHRoZSBudW1iZXIgb2YgYnVmZmVycyAoJ3F1ZXVlLXNpemUnIHByb3BlcnR5KSB3YXMgbm90IGhpZ2ggZW5vdWdoIHRvCgkgIGFjY291bnQgZm9yIGFsbCB0aGUgYnVmZmVycyBuZWVkZWQgYnkgdGhlIGRlY29kZXIsIGFuZCBvdGhlciBlbGVtZW50cwoJICAoc3VjaCBhcyBxdWV1ZXMpIGJldHdlZW4gdGhlIGRlY29kZXIgYW5kIHY0bDJzaW5rLiAgVGhpcyBwYXRjaAoJICBzbGlnaHRseSBpbmNyZWFzZXMgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGJ1ZmZlcnMsIGFuZCBjaGFuZ2VzIHY0bDJzaW5rCgkgIHRvIGRyb3AgZnJhbWVzIHJhdGhlciB0aGFuIHJldHVybiBhbiBlcnJvciBpbiBjYXNlIHRoZSBudW1iZXIgb2YKCSAgYnVmZmVycyBpcyBub3QgaGlnaCBlbm91Z2guCgoyMDEwLTExLTE1IDE1OjU4OjI4ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBhZGQgImNsaWVudCIgcHJvcGVydHkKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYyAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQsIGdzdF9wdWxzZXNyY19pbml0KQoJICAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9wdWxzZXNyY19vcGVuKTogQWRkIGEgImNsaWVudCIgcHJvcGVydHksIGFzIGluIHB1bHNlc2luay4KCSAgRml4ZXMgIzYzNDkxNAoKMjAxMC0xMi0yOSAxNTo1NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNlcmlhbGlzZS9kZXNlcmlhbGlzZSBmbG9hdHMgd2l0aG91dCBjaGFuZ2luZyBsb2NhbGUKCSAgVXNlIGdfYXNjaWlfZHRvc3RyKCkgYW5kIGdfYXNjaWlfc3RydG9kKCkgdG8gc2VyaWFsaXNlL2Rlc2VyaWFsaXNlCgkgIGZsb2F0aW5nIHBvaW50IG51bWJlcnMsIGluc3RlYWQgb2YgdWdseSBoYWNrcyB0aGF0IHN3aXRjaCBsb2NhbGUKCSAgYmVmb3JlIGFuZCBhZnRlciBjYWxsaW5nIGxpYmMgZnVuY3Rpb25zICh3aGljaCBpcyBub3QgYSBnb29kIGlkZWEKCSAgaW4gYSBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbikuCgoyMDEwLTEyLTI5IDE0OjQwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogZml4IGZyYW1lcmF0ZSBwYXJzaW5nIGZvciBsb2NhbGVzIHRoYXQgdXNlIGEgY29tbWEgYXMgZmxvYXRpbmcgcG9pbnQKCSAgYXRvZigpIGNvbnZlcnRzIHN0cmluZ3MgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZSwgYnV0IHRoZQoJICBmcmFtZXJhdGUgc3RyaW5nIHdpbGwgbGlrZWx5IGFsd2F5cyB1c2UgYSBkb3QgYXMgZmxvYXRpbmcgcG9pbnQKCSAgc2VwYXJhdG9yLCBzbyB1c2UgZ19hc2NpaV9zdHJ0b2QoKSBpbnN0ZWFkIChidXQgYWxzbyBjYW5vbmljYWxpc2UKCSAgdGhlIHN0cmluZyBiZWZvcmUsIHNvIHdlIGNhbiBoYW5kbGUgYm90aCBmb3JtYXRzIGFzIGlucHV0KS4KCjIwMTAtMTItMjcgMTM6MTE6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgdGhlIHJpZ2h0IHZhcmlhYmxlCgkgIFVzZSB0aGUgcmlnaHQgdmFyaWFibGUgZm9yIHNwZWNpZnlpbmcgdGhhdCB3ZSBzZW50IGEgcmVjZWl2ZXIgcmVwb3J0LgoKMjAxMC0xMi0yMyAxNjo0MjoyOSAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IHR5cG8KCjIwMTAtMTItMjMgMTY6MDM6MDAgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogYWRkIHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCBwcm9wZXJ0aWVzIGZvciBoMjY0CgoyMDEwLTEyLTIyIDExOjQxOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBmaXgga2xhc3MsIGFkZCBSVFAgYXMgYSB1c2UgY2FzZQoKMjAxMC0xMi0xMiAxNToxMDo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGNsZWFudXAgdGhlIGNhY2hlCgoyMDEwLTEyLTEyIDA1OjEwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIGdzdHBheS9kZXBheTogYWRkIGdlbmVyaWMgZ3N0cmVhbWVyIHBheWxvYWRlcgoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYSBnZW5lcmljIEdTdHJlYW1lciBidWZmZXJzIHBheWxvYWRlci4KCjIwMTAtMTItMjMgMTc6MDY6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgbXA0Z3BheTogcmVzZXQgc3RhdGUgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMyAxNjoyNjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogZmx1c2ggc3RhdGUgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMyAxNjoyNToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb24tbnB0LXN0b3AgaXMgYSBtYW5hZ2VyIHNpZ25hbAoKMjAxMC0xMi0yMyAxNToyNDoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBpbXByb3ZlIFJUUCBzZXNzaW9uIGhhbmRsaW5nCgkgIFN0b3JlIHRoZSBSVFAgc2Vzc2lvbiBpbiB0aGUgc3RyZWFtIHNvIHRoYXQgd2UgY2FuIG1vcmUgZWZmaWNpZW50bHkKCSAgcGVyZm9ybSBhY3Rpb25zIG9uIHRoZSBzdHJlYW0gYmFzZWQgb24gUlRQIHNpZ25hbHMuCgoyMDEwLTEyLTIzIDEzOjU1OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogaW5jbHVkZSBsYXN0IHNlbmQgUkIgYmxvY2sKCSAgT25seSByZXBvcnQgUkIgdmFsdWVzIGZvciBub24taW50ZXJuYWwgc291cmNlcy4KCSAgUmVwb3J0IG5vdCBvbmx5IHRoZSBSQiBibG9ja3Mgd2UgbGFzdCByZWNlaXZlZCBmcm9tIGJ1dCBhbHNvIHRoZSBsYXN0IFJCCgkgIGJsb2NrIHdlIHNlbnQgdG8gYSBzb3VyY2UuCgoyMDEwLTEyLTIzIDEzOjUyOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogcmVtZW1iZXIgbGFzdCBzZW50IFJCIHZhbHVlcy4KCjIwMTAtMTItMjMgMTM6MDA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBpbmNsdWRlIGFsbCBzdGF0cyBhbmQgZG9jdW1lbnQKCSAgSW5jbHVkZSBhbGwgcG9zc2libGUgc3RhdHMgb2YgYSBzb3VyY2UgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZSBiZWNhdXNlIHdlIG1pZ2h0CgkgIGJlIGludGVyZXN0ZWQgaW4gd2hhdCBoYXBwZW5lZCBpbiB0aGUgcGFzdC4KCSAgRG9jdW1lbnQgdGhlIHN0YXRzIHByb3BlcnR5IGFuZCB0aGUgZmllbGRzLgoKMjAxMC0xMi0yMyAxMjo1OTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJICBleGFtcGxlczogYWRkIGV4YW1wbGUgUlRQIHN0YXRzCgkgIEFkZCBzb21lIG1vcmUgUlRQIGV4YW1wbGVzIGZvciBob3cgdG8gcmV0cmlldmUgUlRQIHN0YXRzIGluIGEgcmVjZWl2ZXIuCgoyMDEwLTEyLTIzIDEyOjU4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhbHNvIGVtaXQgUlRDUCBhY3Rpdml0eSBvbiBTUgoJICBBbHNvIGVtaXQgUlRDUCBhY3Rpdml0eSBzaWduYWxzIHdoZW4gd2UgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2l0aG91dCBSQiBibG9ja3MsCgkgIHN1Y2ggYXMgZnJvbSBhIHNlbmRlciB0aGF0IGlzIG5vdCByZWNlaXZpbmcgYW55dGhpbmcuCgoyMDEwLTEyLTIzIDExOjEwOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IGFkZCBzb21lIG1vcmUgZ3N0cnRwYmluIGRvY3MKCjIwMTAtMTItMjIgMjE6Mjc6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IHJlbW90ZSBpcyBhIGJvb2xlYW4gKGFuZCBub3QgdWludCkgcHJvcGVydHkKCjIwMTAtMTItMjIgMTk6NTg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpCgkgIFVzaW5nIHRoaXMgaW4gYSBkZW11eGVyIHdpbGwgY2F1c2UgZGVhZGxvY2tzIGlmIHRoZXJlJ3MKCSAgYSBwYWQgd2l0aCBhIHBlbmRpbmcgcGFkLWJsb2NrIGRvd25zdHJlYW0sIG5vIG1hdHRlciBpZgoJICB0aGVyZSBpcyBhIHF1ZXVlIGJldHdlZW4gdGhlIHBhZCBvciBub3QuIFF1ZXVlcyBwYXNzCgkgIGJ1ZmZlcmFsbG9jIGRvd25zdHJlYW0gZnJvbSB0aGUgc2FtZSB0aHJlYWQgYW5kIG9ubHkKCSAgYWN0IGFzIGEgdGhyZWFkIGJvdW5kYXJ5IGZvciBldmVudHMgYW5kIGJ1ZmZlcnMuCgoyMDEwLTEyLTIyIDE0OjE0OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBzdWJ0aXRsZSBwYWQgdGVtcGxhdGUsIHdlIG9ubHkgaGFuZGxlIGthdGUgZm9yIG5vdwoKMjAxMC0xMi0xNiAxMTo0NDo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGRvY3M6IHVwZGF0ZSBydHNwc3JjIGRvY3MsIHJ0cGJpbiBpcyBub3QgaW4gLWJhZCBhbnkgbW9yZQoKMjAxMC0xMi0yMiAxMTo0MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdW5sb2NrIGJlZm9yZSBlbWl0dGluZyBzaWduYWxzCgoyMDEwLTEyLTIxIDIyOjM0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSAgcnRwYWMzcGF5OiBhZGQgQUMzIHBheWxvYWRlcgoKMjAxMC0xMi0yMSAyMjoxNzoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgYWMzZGVwYXk6IGZpeCBkZWJ1ZyBjYXRlZ29yeSBkZXNjcmlwdGlvbgoKMjAxMC0xMi0yMSAyMjoxNjo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogYWRkIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTEyLTIwIDE0OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFkZHMgYW5vdGhlciB0ZXN0IGNhc2UKCSAgQWRkcyBhIHRlc3QgZm9yIGpwZWdlbmMgdG8gY2hlY2sgdGhhdCBpcyBwb3NzaWJsZSB0byBuZWdvdGlhdGUgYW5kCgkgIHB1c2ggYnVmZmVycyB3aXRoIGRpZmZlcmVudCByZXNvbHV0aW9uIG9uZSBhZnRlciBhbm90aGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3Njg2CgoyMDEwLTEyLTIxIDEzOjM3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2luayBwYWQncyBnZXRjYXBzIHNob3VsZG4ndCB1c2UgdGhlIHNyYyBwYWQgZ2V0Y2FwcwoJICBJbnN0ZWFkIG9mIHVzaW5nIGdldF9hbGxvd2VkX2NhcHMgb24gdGhlIHNyY3BhZCwgdGhlIHNpbmtwYWQgZ2V0Y2FwcwoJICBzaG91bGQgdXNlIHRoZSBnZXRjYXBzIG9mIHRoZSBzcmNwYWQncyBwZWVyLiBUaGlzIHdheSB0aGUgc3JjcGFkCgkgIGNhbiBrZWVwIHVzaW5nIGZpeGVkX2NhcHMgYW5kIHNpbmtwYWQgZ2V0Y2FwcyBleHBvc2VzIGFsbCBjYXBzCgkgIHRoYXQgY2FuIGJlIG5lZ290aWF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzY4NgoKMjAxMC0xMi0yMSAxNjo1ODo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBhZGQgUlRQIGhpbnQgdG8gdGhlIGtsYXNzCgoyMDEwLTEyLTIxIDE2OjQ5OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IGZpeCByYW5rIG9mIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoJICBTZXQgdGhlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyB0byBhIHJlYXNvbmFibGUgcmFuay4KCjIwMTAtMTItMjEgMTU6MjQ6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IHJlc2V0IGRlcGF5bG9hZGVyIHN0YXRlCgkgIFJlc2V0IHRoZSBkZXBheWxvYWRlciBzdGF0ZSBvbiBmbHVzaC1zdG9wLgoKMjAxMC0xMi0yMSAxNTowNzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgbXA0cGF5OiB1c2Ugdm1ldGhvZCBmb3IgaW50ZXJjZXB0aW5nIGV2ZW50cwoKMjAxMC0xMi0yMSAxMzo1NTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogY2xlYXIgcGFja2V0IG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjEgMTM6NDk6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGNsZWFyIHBhY2tldCBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIxIDEyOjMxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiByZXNldCBkZXBheWxvYWRlciBzdGF0ZQoKMjAxMC0xMi0yMSAxMjoyOTo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBmbHVzaCBhZGFwdGVyIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjAgMTg6NDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IGZsdXNoIGxhc3QgcGFja2V0cyBvbiBFT1MKCjIwMTAtMTItMjAgMTc6NDc6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNjk0NjJhIHRvIDQ2NDQ1YWQKCjIwMTAtMTItMjAgMTY6NTE6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IHJlc2V0IHBheWxvYWRlciBvbiBzdGF0ZSBjaGFuZ2UKCjIwMTAtMTItMjAgMTY6MDU6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IHJlc2V0IHBheWxvYWRlciBvbiBmbHVzaAoJICBSZXNldCB0aGUgcGF5bG9hZGVyIG9uIGEgZmx1c2ggZXZlbnQuCgkgIEhhbmRsZSBESVNDT05UIGJldHRlci4KCjIwMTAtMTItMjAgMTU6NTQ6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBnZXQgYmV0dGVyIGJ1ZmZlcmluZyBsZXZlbAoJICBXaGVuIHRoZSBqaXR0ZXJidWZmZXIgY29udGFpbnMgLTEgdGltZXN0YW1wcywgbWFrZSBzdXJlIHdlIHN0aWxsIGNhbGN1bGF0ZSB0aGUKCSAgYnVmZmVyIGZpbGwgbGV2ZWwgYnkgc2tpcHBpbmcgdGhlIC0xIGJ1ZmZlcnMuCgkgIFRyeSB0byBiZSBtb3JlIHJlc2lsaWVudCB0byB3ZWlyZCBpbnB1dCB0aW1lc3RhbXBzLgoKMjAxMC0xMi0yMCAxMToxMDoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByb3ZpZGUgYSBjbG9jay4KCSAgc2luY2Ugd2UgYXJlIHVzaW5nIHRoZSBjbG9jayBmb3Igc3luYywgd2UgbmVlZCB0byBhbHNvIHByb3ZpZGUgYSBjbG9jayBmb3IgZ29vZAoJICBtZWFzdXJlLiBUaGUgcmVhc29uIGlzIHRoYXQgZXZlbiBpZiBkb3duc3RyZWFtIGVsZW1lbnRzIHByb3ZpZGUgYSBjbG9jaywgd2UKCSAgZG9uJ3Qgd2FudCB0byBoYXZlIHRoYXQgY2xvY2sgc2VsZWN0ZWQgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgcnVubmluZyB5ZXQuCgoyMDEwLTEyLTIwIDEwOjQ5OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogY29weSBidWZmZXJpbmcgc3RhdHMKCSAgd2hlbiB3ZSBjcmVhdGUgYW4gYWdncmVnYXRlIGJ1ZmZlcmluZyBtZXNzYWdlLCBjb3B5IHRoZSBidWZmZXJpbmcgc3RhdHMgZm9ybSB0aGUKCSAgbGFzdCBtZXNzYWdlLiBBdCBsZWFzdCB3ZSBnZXQgY29ycmVjdCBidWZmZXJpbmcgbW9kZSB0aGVuLgoKMjAxMC0xMi0xOSAxMTowMjo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IG1lbW9yeSBsZWFrcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTE5IDEwOjU4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICByYWRpb2FjdHY6IFByZXZlbnQgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgkgIEZpeGVzIGJ1ZyAjNjE4NjUyLgoKMjAxMC0xMi0xOSAxMDoyMjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDEwLTExLTI5IDEyOjM2OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogY2hhbmdlIGZyb20gWEdldEltYWdlIHRvIFhHZXRTdWJJbWFnZSBkZXBlbmRhbnQgb24gYSBwcm9wZXJ0eQoJICB4aW1hZ2VzcmM6IGNoYW5nZSBmcm9tIFhHZXRJbWFnZSB0byBYR2V0U3ViSW1hZ2UgZGVwZW5kYW50IG9uIGEgcHJvcGVydHkKCSAgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcGVyZm9ybWFuY2UgaGl0cyBieSBkZWZhdWx0LgoKMjAxMC0xMS0yOCAxNjowNDozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IHVzZSBYR2V0U3ViSW1hZ2UgaW5zdGVhZCBvZiBYR2V0SW1hZ2UsIHdvcmtzIHdpdGggcmVtb3RlIFgKCSAgeGltYWdlc3JjOiB1c2UgWEdldFN1YkltYWdlIGluc3RlYWQgb2YgWEdldEltYWdlLCB3b3JrcyB3aXRoIHJlbW90ZSBYCgkgIChvbiBteSBzZXR1cCBhbnl3YXkuLi4pCgoyMDEwLTExLTI3IDE3OjE1OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogZml4IHZhcmlvdXMgd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9ucyBiZWluZyBvZmYgYnkgb25lLAoJICB4aW1hZ2VzcmM6IGZpeCB2YXJpb3VzIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgYmVpbmcgb2ZmIGJ5IG9uZSwKCSAgYW5kIG1ha2UgaXQgc28gYSBzaW5nbGUgcGl4ZWwgd2lkdGgvaGVpZ2h0IGNhbiBiZSBjYXB0dXJlZCAoZXhjZXB0CgkgIHRoZSB0b3AgbGVmdCBvbmUsIGFzIDAsMCwwLDAgaXMgcmVzZXJ2ZWQgZm9yIGZ1bGwgc2NyZWVuIGFzIHBlcgoJICB0aGUgcHJvcGVydHkgY29tbWVudHMpLgoKMjAxMC0xMi0xNyAxOToxOTozNSAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBmaXggY29tcGlsZSBlcnJvcnMgb24gbWFjb3N4CgkgIHdpdGggaTY4Ni1hcHBsZS1kYXJ3aW4xMC1nY2MtNC4yLjE6CgkgIGdzdHY0bDJvYmplY3QuYzogSW4gZnVuY3Rpb24gJ2dzdF92NGwyX29iamVjdF9nZXRfbmVhcmVzdF9zaXplJzoKCSAgZ3N0djRsMm9iamVjdC5jOjE5ODg6IHdhcm5pbmc6IGZvcm1hdCAnJXUnIGV4cGVjdHMgdHlwZSAndW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEyIGhhcyB0eXBlICdnaW50IConCgkgIGdzdHY0bDJvYmplY3QuYzoxOTg4OiB3YXJuaW5nOiBmb3JtYXQgJyV1JyBleHBlY3RzIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMyBoYXMgdHlwZSAnZ2ludCAqJwoKMjAxMC0xMi0xNyAxNTozODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGRldGVybWluZSBvdXRwdXQgaDI2NCBsYXlvdXQgdXNpbmcgY2FwcyBuZWdvdGlhdGlvbgoJICAuLi4gdGhlcmVieSAocGFydGlhbGx5KSBkZXByZWNhdGluZyBwcm9wZXJ0aWVzIGN1cnJlbnRseSBjb250cm9sbGluZyB3aGV0aGVyCgkgIG9yIG5vdCBieXRlLXN0cmVhbSBvdXRwdXQgb3IgTkFML0FVIGFsaWdubWVudCAodGhvdWdoIHByb3BlcnRpZXMgc3RpbGwgZGV0ZXJtaW5lCgkgIGZhbGxiYWNrIGlmIG5vdGhpbmcgc3BlY2lmaWVkIGluIGNhcHMpLgoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMC0xMi0xNiAxODo1NTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogaGFuZGxlIEVPQyBjb3JyZWN0bHkKCSAgRG9uJ3QgaW5jbHVkZSB0aGUgbmV4dCAyIGJ5dGVzIHdoZW4gd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGRhdGEgYW5kIHRoZXJlIGFyZQoJICBubyBtb3JlIGJ5dGVzIGxlZnQuCgoyMDEwLTEyLTE2IDE1OjE1OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmbHVzaCByZW1haW5pbmcgYnVmZmVyZWQgc2FtcGxlcyBvbiBFT1MKCSAgLi4uIHdoaWNoIGNhbiBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGFsbCBvciBub3RoaW5nIHdoZW4gZGVhbGluZwoJICB3aXRoIHNob3J0IHN0cmVhbXMgYW5kIHJlbGF0aXZlbHkgbGFyZ2UgcmluZ2J1ZmZlciBzZWdtZW50LgoKMjAxMC0xMi0xNiAxMDowNDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENoYW5nZSBjbGFzc2lmaWNhdGlvbiB0byBGaWx0ZXIvRWZmZWN0L1ZpZGVvL0RlaW50ZXJsYWNlCgoyMDEwLTEyLTE1IDE4OjIxOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogSW5pdGlhbGl6ZSBhbGwgZmllbGRzCgkgIE1ha2VzIHNhZCBjb21wbGllcnMgaGFwcHkKCjIwMTAtMTItMTUgMTY6MjI6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IGNsZWFudXAgaGVhZGVyIGNvbnN0cnVjdGlvbgoJICBVc2UgYSBzaW1wbGVyIHdheSBvZiBjb25zdHJ1Y3RpbmcgdGhlIGhlYWRlciB0aGF0IGRvZXNuJ3QgZGVwZW5kIG9uCgkgIHRoZSBlbmRpYW5uZXNzLgoKMjAxMC0xMi0xNSAxMzozMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGVwZW5kIG9uIC1iYXNlIGZyb20gZ2l0IGZvciBuZXcgcnRwIGJhc2UgZGVwYXlsb2FkZXIgZmVhdHVyZXMKCSAgVGhpcyBpcyBvayBpbiB0aGlzIGNhc2UsIHNpbmNlIHRoZSBwbGFuIGlzIHRvIHJlbGVhc2UgY29yZS9iYXNlIGFnYWluCgkgIGFsb25nIHdpdGggZ29vZC91Z2x5L2JhZCBpbiB0aGUgbmV4dCBjeWNsZS4KCjIwMTAtMTItMTUgMTQ6NTU6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjA3NDJhZSB0byAxNjk0NjJhCgoyMDEwLTEyLTE1IDEzOjEyOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIGoya2RlcGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDEwLTEyLTE0IDE4OjEyOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBmaXggYXZlcmFnZSBSVENQIHBhY2tldCBzaXplIHNvbWUgbW9yZS4KCSAgRml4IHN0dXBpZCBlcnJvciBpbiBhdmVyYWdpbmcgbWFjcm8uCgkgIEluY2x1ZGUgdWRwIGhlYWRlcnMgaW4gcGFja2V0IGxlbmd0aCBlc3RpbWF0aW9uLgoKMjAxMC0xMi0xNCAxNzoxNToyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwYmluOiBjb3JyZWN0bHkgY2FsY3VsYXRlIFJUQ1AgcGFja2V0IHNpemUKCjIwMTAtMTItMTQgMTU6Mjc6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHN0b3Agc2Nhbm5pbmcgd2hlbiB3ZSByZWFjaGVkIHRoZSBlbmQKCSAgU3RvcCBzY2FubmluZyBmb3IgbWFya2VycyB3aGVuIHdlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgZGF0YS4KCjIwMTAtMTItMTMgMTY6MjM6MjQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDExYmNjOCB0byAyMDc0MmFlCgoyMDEwLTEyLTEzIDEyOjU2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgbGVha2luZyBzaW5rIGV2ZW50cwoJICBBdm9pZCBsZWFraW5nIHRoZSBuZXdzZWdtZW50IGV2ZW50IHdoZW4gaXQgaGFzIHRoZSB3cm9uZyBmb3JtYXQuCgoyMDEwLTEyLTEyIDE0OjUzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIG1wNHZwYXk6IHdlIGNhbiBhbHNvIGFjY2VwdCB4dmlkIGNhcHMKCjIwMTAtMTItMTIgMDE6Mzk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQXZvaWQgaW5maW5pdGUgbG9vcCBkcmFpbmluZyBmcmFtZXMKCSAgV2hlbiB0aGUgcGlwZWxpbmUgaXMgZmx1c2hlZCBqdXN0IGFzIHdlJ3JlIGRyYWluaW5nIGhpc3RvcnksCgkgIGRvbid0IGxvb3AgaW5maW5pdGVseSwganVzdCBkaXNjYXJkIHRoZSBoaXN0b3J5IGFuZCBhYm9ydC4KCjIwMTAtMTItMTEgMTc6Mzk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGFkZCAibWF4LWVycm9ycyIgcHJvcGVydHkgdG8gaWdub3JlIGRlY29kaW5nIGVycm9ycwoJICBBZGQgcHJvcGVydHkgdG8gaWdub3JlIGRlY29kaW5nIGVycm9ycy4gRGVmYXVsdCBpcyB0byBpZ25vcmUgYSBmZXcKCSAgZGVjb2RpbmcgZXJyb3JzIGlmIHRoZSBpbnB1dCBpcyBwYWNrZXRpemVkLCBidXQgZXJyb3Igb3V0IGltbWVkaWF0ZWx5CgkgIGlmIHRoZSBpbnB1dCBpcyBub3QgcGFja2V0aXplZC4KCSAgSWdub3JpbmcgZXJyb3JzIGZvciBwYWNrZXRpemVkIGlucHV0IG1vc3QgbGlrZWx5IGRvZXNuJ3Qgd29yawoJICBwcm9wZXJseSB5ZXQsIHNvIGRvbid0IGRvIHRoYXQgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzA2MwoKMjAxMC0wNS0yOCAxNToyNzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZyZWUvbWFsbG9jIGluc3RlYWQgb2YgcmVhbGxvYywgYXZvaWRzIG1lbWNweQoKMjAxMC0xMi0xMSAxNzo0OTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGlmIHRoZXJlJ3MgYWN0dWFsbHkgYSBzZWVrIHRhYmxlIGJlZm9yZSBwYXJzaW5nIGl0CgoyMDEwLTEyLTExIDE3OjQ2OjE3ICswMTAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW1wbGVtZW50IENPTlZFUlQgYW5kIEZPUk1BVFMgcXVlcnkKCSAgRml4ZXMgYnVnICM2MzY3ODQuCgoyMDEwLTA3LTAxIDAwOjIyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcHV0IHVucmVjb2duaXNlZCBSSUZGIGZvcm1hdCBJRHMgaW50byB0aGUgdW5rbm93biBjYXBzCgkgIEV4dHJhIGluZm8gY2FuJ3QgaHVydC4gRmllbGQgbmFtZXMgYXJlbid0IG5lY2Vzc2FyaWx5IGNvbnNpc3RlbnQgd2l0aAoJICB3aGF0J3MgdXNlZCBlbHNld2hlcmUgdGhvdWdoIChlLmcuIGF2aWRlbXV4KSwgYnV0IHRoZW4gbmVpdGhlciBhcmUgdGhlCgkgIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMxNzgKCjIwMTAtMTAtMjkgMjI6NTA6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSAgcHVsc2VtaXhlcjogSW1wbGVtZW50IE1JWEVSX0ZMQUdfQVVUT19OT1RJRklDQVRJT05TCgkgIEFkZCB0aGUgbWl4ZXIgZmxhZyBhbmQgc2VuZCBub3RpZmljYXRpb25zIHdoZW4gZWl0aGVyIHRoZSB2b2x1bWUgb3IgbXV0ZWQKCSAgc3RhdHVzIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTgzODkKCjIwMTAtMDItMDggMjE6NDE6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIERJU0NPTlQgd2hlbiByZXN1bWluZyBQTEFZCgkgIEluIHBhcnRpY3VsYXIsIHdoZW4gc3RyZWFtaW5nIGludGVybGVhdmVkLCB0aGlzIGFycmFuZ2VzIGZvciBzZXR0aW5nIGEgbmV3CgkgIHRpbWVzdGFtcCBvbiBvdXRnb2luZyBidWZmZXIgc28gZG93bnN0cmVhbSBjYW4gYXBwcm9wcmlhdGUgcmVzZXQKCSAgdG8gYSBjaGFuZ2UgaW4gKHJ0cCl0aW1lLgoKMjAxMC0xMi0wMiAxNjowODozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZGVncmFkZSBncmFjZWZ1bGx5IHVwb24gZmFpbGluZyBzZWVrIGFuZCB0d2VhayBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgoyMDEwLTEwLTI1IDExOjUxOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGFuZCB1c2UgYXV0byBidWZmZXJpbmcgbW9kZQoJICAuLi4gd2hpY2ggc2VsZWN0cyBCVUZGRVIgZm9yIGEgbm9uLWxpdmUgc3RyZWFtLCBhbmQgb3RoZXJ3aXNlIFNMQVZFLgoJICBGaXhlcyAjNjMzMDg4LgoKMjAxMC0xMi0wNiAxMjoxNjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBqMmtkZXBheTogbWFrZSB0aGUgZGVwYXlsb2FkZXIgbW9yZSByZXNpbGllbnQKCSAgVXNlIDMgYWRhcHRlcnMsIG9uZSB0byBhY2N1bXVsYXRlIHBha2V0aXphdGlvbiB1bml0cywgYW5vdGhlciBvbiB0byBhY2N1bXVsYXRlCgkgIHRpbGVzIGFuZCBhIGxhc3Qgb25lIHRvIGFjY3VtdWxhdGUgdGhlIGZpbmFsIGZyYW1lLgoJICBEb24ndCBqdXN0IGJsaW5kbHkgZmx1c2ggdGhlIGFkYXB0ZXIgb24gRElTQ09OVCBidXQgb25seSBkaXNjYXJkIHRoZSBjdXJyZW50CgkgIHBhY2tldGl6YXRpb24gdW5pdC4KCSAgV2hlbiB3ZSBkcm9wcGVkIGpwZWcyMDAwIHBhY2tldHMgYmV0d2VlbiBTT1AgbWFya2VycywgYWRqdXN0IHRoZSBTT1QgaGVhZGVyIHdpdGgKCSAgdGhlIG5ldyBsZW5naHQuCgoyMDEwLTEyLTA5IDEzOjQ5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgoyMDEwLTEyLTA4IDExOjM1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGhhbmRsaW5nIG5lYXIgZW5kLW9mLWZpbGUgY29ybmVyIGNhc2VzCgkgIEFsc28sIHJlbGF4IHNvbWUgZXJyb3IgaGFuZGxpbmcgdG8gbm90IGJhaWwgb3V0IGNvbXBsZXRlbHkgd2hlbiBzb21ldGhpbmcKCSAgZmVlbHMgYW1pc3MsIGJ1dCBjb25zaWRlciB0aGlzIEVPRiBhbmQgY29udGludWUgd2l0aCB3YXMgb2J0YWluZWQgc28gZmFyLgoKMjAxMC0xMi0wNyAxNzoxOTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgZml4IG9mZnNldCBoYW5kbGluZyBhbmQgcmVsYXggZXJyb3IgcmFpc2luZwoJICBJbiBwYXJ0aWN1bGFyLCBhY2NlcHQgdW5rbm93biBzdHJlYW0gaW4gdHJhY2sgZnJhZ21lbnQsIGFuZCBvbmx5IGVycm9yIG91dAoJICBpZiB0aGF0IHJhaXNlcyBwcm9ibGVtcyBsYXRlciBvbiB3aXRoIHJlc3BlY3QgdG8gb2Zmc2V0IHRyYWNraW5nLgoJICBGaXhlcyAjNjIwMjgzLgoKMjAxMC0xMi0wNyAxMzoxMTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB1c2UgYWFjIGNvZGVjLWRhdGEgdG8gYWRqdXN0IHNhbXBsZXJhdGUgaWYgbmVlZGVkCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEZhYmllbiBMZWJhaWxsaWYtRGVsYW1hcmUgPGZhYmllbkBhcnEtbWVkaWEuY29tPgoJICBGaXhlcyAjNjM2NjIxLgoKMjAxMC0xMi0wNyAxMTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1bmNvcmsgaW4gX3N0YXJ0CgkgIERvbid0IHVuY29yayBpbiB0aGUgX3N0YXJ0IG1ldGhvZCBqdXN0IHlldCBidXQgd2FpdCB1bnRpbCB3ZSBoYXZlIHdyaXR0ZW4gc29tZQoJICBzYW1wbGVzIHRvIHB1bHNlYXVkaW8uIFRoaXMgYXZvaWQgdW5kZXJydW5zIG9uIHB1bHNlYXVkaW8gYW5kIGxlc3MgY3JhY2tsaW5nCgkgIG5vaXNlcyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0xMi0wNyAxMTo0Nzo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTAtMTItMDcgMTE6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdW5jb3JrIGluIF9zdGFydAoJICBEb24ndCB1bmNvcmsgaW4gdGhlIF9zdGFydCBtZXRob2QganVzdCB5ZXQgYnV0IHdhaXQgdW50aWwgd2UgaGF2ZSB3cml0dGVuIHNvbWUKCSAgc2FtcGxlcyB0byBwdWxzZWF1ZGlvLiBUaGlzIGF2b2lkIHVuZGVycnVucyBvbiBwdWxzZWF1ZGlvIGFuZCBsZXNzIGNyYWNrbGluZwoJICBub2lzZXMgd2hlbiBzdGFydGluZy4KCjIwMTAtMTItMDcgMTE6NDI6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBfb2JqZWN0X3JlZl9zaW5rKCkgd2hlbiB3ZSBjYW4KCjIwMTAtMTItMDcgMTE6NDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGFidXNlIHRoZSBjbGFzcyBsb2NrCgkgIFVzZSBhIG5ldyBzdGF0aWMgbG9jayB0byBwcm90ZWN0IHRoZSBwcm9iZWQgZGV2aWNlIGxpc3QgaW5zdGVhZCBvZiB0aGUgb2JqZWN0CgkgIGNsYXNzIGxvY2suCgoyMDEwLTEyLTA2IDE5OjU5OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWC4KCjIwMTAtMTItMDYgMTg6MTc6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgZGVidWcgdG8gbm90aWZ5IHdoZW4gc2tpcHBpbmcgdG8ganBlZyBoZWFkZXIKCjIwMTAtMTItMDYgMTg6MTY6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkaXNjYXJkIGluY29tcGxldGUgaW1hZ2UKCSAgLi4uIGFzIGRldGVybWluZWQgd2hlbiBmaW5kaW5nIFNPSSBuZXh0IGltYWdlIGJlZm9yZSBhbiBFT0kuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IERhdmlkIEhveXQgPGRhdmlkLmhveXRAbGxubC5nb3Y+CgkgIEZpeGVzICM2MzU3MzQuCgoyMDEwLTEyLTA2IDE3OjQ1OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIHJlc3luY2luZwoJICBGaXhlcyAjNjM1NzM0IChwYXJ0bHkpLgoKMjAxMC0xMi0wNiAxNzoyODozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTAtMTItMDYgMTc6Mjc6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBhbmRyb2lkL2FwZXRhZy5tazoKCSogYW5kcm9pZC9hdmkubWs6CgkqIGFuZHJvaWQvZmx2Lm1rOgoJKiBhbmRyb2lkL2ljeWRlbXV4Lm1rOgoJKiBhbmRyb2lkL2lkM2RlbXV4Lm1rOgoJKiBhbmRyb2lkL3F0ZGVtdXgubWs6CgkqIGFuZHJvaWQvcnRwLm1rOgoJKiBhbmRyb2lkL3J0cG1hbmFnZXIubWs6CgkqIGFuZHJvaWQvcnRzcC5tazoKCSogYW5kcm9pZC9zb3VwLm1rOgoJKiBhbmRyb2lkL3VkcC5tazoKCSogYW5kcm9pZC93YXZlbmMubWs6CgkqIGFuZHJvaWQvd2F2cGFyc2UubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgbW9yZSAwLjEwIC0+IDAuMTEgY2hhbmdlcwoKMjAxMC0xMi0wNiAxNToyMTo1MyArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHBhc3MgYWxvbmcgZW9zIGlmIHJlY2VpdmVkIGJlZm9yZSBidWZmZXIgYXJyaXZlcwoJICBGaXhlcyAjNjM2MTcyLgoKMjAxMC0xMC0yMCAxMTowNTo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdHJ5IHRvIHdyaXRlIHRpbWVzdGFtcHMgaW4gYWxsIHRoZSBvdXRnb2luZyBidWZmZXJzCgkgIEZpeGVzICM2MzI2NTQuCgoyMDEwLTEyLTA2IDEyOjIxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN0YXJ0IDAuMTEgYnJhbmNoCgoyMDEwLTEyLTA2IDEyOjE3OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIHByb2dyZXNzcmVwb3J0OiBvcHRpb25hbGx5IGRldGVybWluZSBwcm9ncmVzcyB1c2luZyBidWZmZXIgbWV0YWRhdGEKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTGVvIFNpbmdlciA8bHNpbmdlciBhdCBjYWx0ZWNoLmVkdT4KCSAgRml4ZXMgIzYyOTQxOC4KCjIwMTAtMTItMDUgMTQ6Mzk6MTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGNoZWNrOiBGaXh1cCB0aGUgc2h1dHRpbmcgZG93biBvcmRlcgoJICBGaXJzdCBicmluZyBkb3duIGV2ZXJ5dGhpbmcgdG8gTlVMTCBiZWZvcmUgYXR0ZW1wdGluZyB0byB1bmxpbmsKCSAgb3IgdW5yZWYgYW55dGhpbmcuCgkgIEF2b2lkcyB0aGUgdGVzdHMganVzdCBoYW5naW5nIHRoZXJlIGZvciBldmVyIHdhaXRpbmcgdG8gYWNxdWlyZSBhCgkgIGxvY2sgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUuCgoyMDEwLTExLTA0IDE5OjMxOjQ1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBzZXQgdG9wIGZpZWxkIGZpcnN0IGZvciBpbnRlcmxhY2VkIGJ1ZmZlcnMgaWYgdjRsMiBleHBvcnRzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQzOTMKCjIwMTAtMTEtMDQgMTg6MzY6MDkgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogY2hlY2sgZmllbGQgaW5mb3JtYXRpb24gYW5kIHNldCBpbnRlcmxhY2VkIGNhcHMgYWNjb3JkaW5nbHkKCSAgUmVqZWN0IHRoZSBmb3JtYXQgaWYgdGhlIGZpZWxkIHR5cGUgaXMgbm90IHN1cHBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDM5MQoKMjAxMC0xMi0wMyAxNzo0MjoxNCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSAgQWRkIGJ1aWxkIHN5c3RlbSBmb3IgQW5kcm9pZAoKMjAxMC0wMy0yNiAxMzo1MTo1OCArMDEwMCAgR3VpbGxhdW1lIEVtb250IDxnZW1vbnRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSAgbmF2c2VlazogYWRkIGJhc2ljIHN1cHBvcnQgdG8gY2hhbmdlIHBsYXliYWNrIHJhdGUKCSAgVGhlIGZvbGxvd2luZyBrZXlzIHdpbGwgbm93IGJlIGludGVycHJldGVkIGJ5IG5hdnNlZWs6CgkgICdmJyBtZWFucyBmYXN0IGZvcndhcmQ6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAyLjAKCSAgJ3InIG1lYW5zIHJld2luZDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIC0yLjAKCSAgJ24nIG1lYW5zIG5vcm1hbDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIDEuMAoJICBGaXhlcyAjNjMxNTE2LgoKMjAxMC0xMi0wMSAxMzoxMjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBlKGEpYy0zIGF1ZGlvCgoyMDEwLTExLTE5IDEyOjQ0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2VuZGluZyBFT1MgZXZlbnQgdHdpY2UKCjIwMTAtMTEtMTkgMTI6NDQ6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZGVhZCBjb2RlIHRyeWluZyB0byB1cGRhdGUgc3RyZWFtIGR1cmF0aW9uCgkgIE9uIHRoZSBvbmUgaGFuZCwgaXQgaW5zdWZmaWNpZW50bHkgY2hlY2tzIHdoZXRoZXIgaXQgb25seSB1cGRhdGVzIGEgZHVtbXkKCSAgc2VnbWVudC4gIE9uIHRoZSBvdGhlciBoYW5kLCBvbmx5IGRvaW5nIHRoaXMgYXQgdGhlIHRpbWUgdGhlIGxhc3Qgc2FtcGxlZCBpcwoJICBwcmVwYXJlZCAoYW5kIHNlbnQgZG93bnN0cmVhbSkgaXMgdG9vIGxpdHRsZSB0b28gbGF0ZS4KCjIwMTAtMTEtMDkgMTA6NTg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBpc212IHNhbXBsZSBmbGFncwoKMjAxMC0xMS0wOCAxMTo0MToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIGlzbXYgc3RibCBhdG9tcwoJICAuLi4gb3IgbGFjayBvZiBzb21lIHRoZXJlb2YsIHN1Y2ggYXMgbWFuZGF0b3J5IHN0c3ouICBTaHVmZmxlIHNvbWUgY29kZQoJICBpbiBfc3RibF9pbml0IHRvIGRldGVjdCB0aGlzIGVhcmx5IGVub3VnaC4KCjIwMTAtMTEtMDggMTE6Mzk6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvbXBlbnNhdGUgZm9yIGlzbXYgb2Zmc2V0IGhhbmRsaW5nCgkgIC4uLiBvciBsYWNrIHRoZXJlb2YsIHdoaWNoIGFjY29yZGluZyB0byBzcGVjcyB3b3VsZCBwdXQgbWVkaWEgZGF0YSBpbgoJICB1bmxpa2VseSBwb3NpdGlvbi4KCjIwMTAtMTEtMDQgMTQ6MDc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydCBmb3IgcHVzaCBtb2RlCgoyMDEwLTExLTA0IDEwOjE3OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3BlciBhbmQgaW5jcmVtZW50YWwgbW9vZiBwYXJzaW5nCgkgIFRoYXQgaXMsIHBhcnNlIGVhY2ggbW9vZiBpbiBvbmUgcGFzcyAoY29uc2lkZXJpbmcgYWxsIGNvbnRhaW5lZCBzdHJlYW1zJwoJICBtZXRhZGF0YSksIGFuZCBkbyBzbyBpbmNyZW1lbnRhbGx5IGFzIG5lZWRlZCBmb3IgcGxheWJhY2sgcmF0aGVyIHRoYW4KCSAgYW4gaW5pdGlhbCBjb21wbGV0ZSBzY2FuIG9mIGFsbCBtb29mICh0aG91Z2ggYWxsIG1vb3Ygc2FtcGxlIG1ldGFkYXRhCgkgIGlzIGZ1bGx5IHBhcnNlZCBhdCBzdGFydHVwKS4KCjIwMTAtMTEtMDQgMTA6MDY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBzdHJlYW0gZnJlZWluZwoKMjAxMC0xMS0wNCAxMDowNToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRlbGVnYXRlIGxpbmVhciBzZWFyY2ggZm9yIHNhbXBsZSB0byBiaW5hcnkgc2VhcmNoIHdoZW4gcG9zc2libGUKCSAgQWxzbyBhcnJhbmdlIGZvciBwYXJzaW5nIGEgc2FtcGxlIHByaW9yIHRvIHRha2luZyBhIHJlZmVyZW5jZSB0byBpdCwKCSAgd2hpY2ggcmVxdWlyZXMgbGVzcyBtZW1vcnkgbGF5b3V0IGFzc3VtcHRpb25zIGZvciBjb3JyZWN0bmVzcy4KCjIwMTAtMTEtMDEgMTU6NTI6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBtb292IHNhbXBsZXMgYW5kIHByb3BlciBzdHJlYW0gZHVyYXRpb24KCjIwMTAtMTEtMDEgMTM6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvbnNpZGVyIG12ZXggYW5kIGhhbmRsZSBmbGFncyBhbmQgb2Zmc2V0IGZpZWxkcwoKMjAxMC0xMC0yOCAxNjo0OTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgZm9yZWdvIGNoZWNrIGZvciBzaG9ydCBzdHJlYW1zCgkgIC4uLiBhcyBzb21lIGJvZ3VzIGZpbGVzIG1heSBpbmRpY2F0ZSBzdHJlYW1zIG9mIDAgZHVyYXRpb24gaW4gbW9vdiwKCSAgd2hpbGUgaW5kaWNhdGluZyB0aGUgY29tcGxldGUgbW92aWUgZHVyYXRpb24gaW4gbXZoZCAodGhlIGxhdHRlciBzaG91bGQKCSAgYmUgaW4gbWVoZCkuCgoyMDEwLTEwLTI4IDE2OjQ2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvZGUgY2xlYW51cHMgYW5kIG9wdGltaXphdGlvbnMgaW4gYXRvbSBwYXJzaW5nCgkgIEF2b2lkIGV4dHJhIGFsbG9jYXRpb24gaW4gX3BhcnNlX3RydW4sIGFkZCBtb3JlIGNoZWNrcyBmb3IgcGFyc2luZyBlcnJvcnMsCgkgIGFkZCBvciBhZGp1c3Qgc29tZSBkZWJ1ZyBzdGF0ZW1lbnQsIGZpeCBjb21tZW50cywgc3ByaW5rbGUgc29tZSBicmFuY2gKCSAgcHJlZGljdGlvbi4KCjIwMTAtMDktMTMgMjM6MTk6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZV9tb29mIHNob3VsZCByZXR1cm4gVFJVRSBvbiBzdWNjZXNzCgoyMDEwLTA5LTEwIDIyOjQxOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGl0ZXJhdGlvbiBidWcKCSAgQXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIGl0ZXJhdGluZyB0cmFmCgoyMDEwLTA5LTEwIDIxOjMyOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVmYWN0b3IgdHJ1biBwYXJzaW5nCgkgIFRoZSBhbGxvY2F0aW9uIG9mIHRoZSBzYW1wbGVzIGNhbiBiZSBwbGFjZWQgb3V0IG9mIHRoZSBsb29wLgoJICBNYWtlcyB0aGUgY29kZSBjbGVhcmVyLgoJICBBbHNvIGF2b2lkIHJlbHlpbmcgb24gdHJhZiBpbmZvcm1hdGlvbiBhcyBpdCBpcyBwbGFjZWQgb24gdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSBhbmQgbWlnaHQgbm90IGJlIGFjZXNzaWJsZSBvbiBwdXNoIG1vZGUuCgoyMDEwLTA5LTEwIDAwOjI5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHBhcnNpbmcgb2YgdW51c2VkIGF0b20KCSAgc2R0cCBhdG9tIGlzIHBhcnNlZCBidXQgbm90IHVzZWQsIHNvIHdlIGRvbid0IGhhdmUgdG8KCSAgcGFyc2UgaXQuCgoyMDEwLTExLTA5IDExOjQ1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHdlYWsgd2FtIHN1cHBvcnQKCSAgLi4uIHdpdGggc29tZSBjb21tZW50IGFuZCBwb3J0YWJpbGl0eSBtYWNyb3MuCgoyMDA5LTA5LTIzIDE4OjQ3OjQyICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHdtYSAmIHZjLTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAwOTo1NjowNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGZtcDQgc2FtcGxlcyBpbmZvcm1hdGlvbgoJICBUaGUgZnJhZ21lbnRlZCBtcDQgZm9ybWF0IHN0b3JlcyB0aGUgdHJhY2tzIGFuZCBzYW1wbGVzIGluZm9ybWF0aW9uIGluIHRoZQoJICAnbW9vZicgYm94ZXMsIHdoaWNoIGFyZSBhcHBlbmRlZCBiZWZvcmUgZWFjaCBmcmFnbWVudCAoZnJhZ21lbnQtPidtb29mJysnbWRhdCcpLgoJICBUaGUgJ21mcmEnIGJveCBzdG9yZXMgdGhlIG9mZnNldCBvZiBlYWNoICdtb29mJyBib3ggYW5kIHRoZWlyIHByZXNlbnRhdGlvbgoJICB0aW1lLiBUaGUgbG9jYXRpb24gb2YgdGhpcyBib3ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSAnbWZybycgYm94LCB3aGljaCBpcwoJICBsb2NhdGVkIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIFRoZSAnbWZyYScgYm94IGlzIHBhcnNlZCB0byBnZXQgdGhlIG9mZnNldCBvZiBlYWNoICdtb29mJyBib3ggYW5kIHRoZWlyCgkgIHByZXNlbnRhdGlvbiB0aW1lLgoJICBFYWNoICdtb29mJyBib3ggY2FuIGNvbnRhaW4gaW5mb3JtYXRpb24gZm9yIG9uZSBvciBtb3JlIHRyYWNrcyBpbnNpZGUKCSAgJ3RmaGQnIGJveGVzLiBGb3IgZWFjaCB0cmFjayBpbiBhICdtb29mJywgd2UgaGF2ZSBhICd0cnVuJyBib3gsIHdoaWNoCgkgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9mIGVhY2ggc2FtcGxlIChvZmZzZXQgYW5kIGR1cmF0aW9uKSB1c2VkIHRvIGJ1aWxkCgkgIHRoZSBzYW1wbGVzIHRhYmxlLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxNTozNDo0OSArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogYWRkIGZyYWdtZW50ZWQgbXA0IGZvdXJjY3MKCSAgQWRkcyBmb3VyY2MncyBmb3IgdGZyYSwgdGZoZCwgdHJ1biwgc2R0cCwgdHJleCwgbWVoZCBhbmQKCSAgdGhlaXIgZHVtcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxMDoyNDo1NiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHRoZSB0cmFjayBpZCBmcm9tIHRoZSB0cmFjayBoZWFkZXIKCSAgU2lnbmVkLW9mZi1ieTogQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDE0OjEwOjEyICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxsb3cgcHVsbGluZyBhdG9tcyB3aXRoIHVua25vd24gc2l6ZQoJICBTaWduZWQtb2ZmLWJ5OiBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDctMTQgMjA6MTM6NTUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IG1ha2UgcXRkZW11eF9kdW1wX212aGQgcGFyc2UgdmVyc2lvbiAxIGNvcnJlY3RseQoJICBWZXJzaW9ucyAwIGFuZCAxIG9mIG12aGQgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMgb2YgaXRzIHZhbHVlcwoJICAoMzJiaXRzLzY0Yml0cykuIFRoaXMgcGF0Y2ggbWFrZXMgaXQgZHVtcCB0aGVtIGNvcnJlY3RseS4KCSAgQWxzbyB1c2UgdGhlIHJpZ2h0IG5vZGUgaW4gdGhlIHBhcmFtZXRlciBhbmQgbm90IHRoZSByb290IG5vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMTEtMTkgMTI6NDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtaW5vciBjbGVhbnVwcyBpbiBzZXR0aW5nIHN0cmVhbWhlYWRlciBvbiBjYXBzCgoyMDEwLTExLTAyIDE3OjA0OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBub3JtYWxpemUgZW1wdHkgQ3VlcyB0byBubyBDdWVzCgkgIC4uLiB0byB0cmlnZ2VyIGluZGV4bGVzcyBzZWVraW5nLgoKMjAxMC0xMC0yNiAxMToxNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgd29ya2Fyb3VuZCBmb3IgYnVnZ3kgbGlzdCBzaXplCgkgIEZpeGVzIHRydW5jYXRlZCBleHRyYS1kYXRhIGluIGhkcmwvc3RybC9zdHJmIGR1ZSB0byBidWdneSBjb250YWluaW5nCgkgIGxpc3Qgc2l6ZSBub3QgYWNjb3VudGluZyBmb3IgcGFkZGluZyBpbiBjb250YWluZWQgY2h1bmtzLgoKMjAxMC0xMi0wMiAxNjoxMTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkbyBub3QgaG9sZCBjdXN0b20gUEFEX0xPQ0sgd2hlbiBwdXNoaW5nIGRvd25zdHJlYW0KCjIwMTAtMTItMDIgMTY6MTA6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBzZXNzaW9uIG1hbmFnZXIgYmFzZSB0aW1lIHdoZW4gZmx1c2hpbmcKCSAgLi4uIGFzIHJ0cGJpbiB1c2VzIHJ1bm5pbmcgdGltZSB0byBoYW5kbGUgcnRwaml0dGVyYnVmZmVyJ3MgYnVmZmVyIG1vZGUgcGF1c2VzLgoKMjAxMC0xMi0wMSAxNjo1MTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluY2x1ZGUgcmFuZ2UgcmVxdWVzdCBmb3IgYWxsIHN0cmVhbXMgd2l0aCBub24tYWdncmVnYXRlIGNvbnRyb2wKCjIwMTAtMTAtMDcgMTQ6NTA6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZGVidWcgc3RhdGVtZW50CgoyMDEwLTEyLTAzIDE1OjM4OjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUGFyc2UgbW9yZSB2YXJpYW50cyBvZiBudW1lcmljYWwgSURJVCB0YWcKCjIwMTAtMDUtMDcgMTc6MzA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IFVzZSBwcm9wZXIgZnJhbWVyYXRlIHJhbmdlIGluIGNhcHMKCjIwMTAtMTItMDMgMTU6MDQ6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBGaXggcHJldmlvdXNseSB1bmJ1aWxkYWJsZS91bnRlc3RlZCB3YXZlbmMgdGVzdAoKMjAxMC0xMC0yNCAxNToyMTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlZmFjdG9yIHRhZyBwdXNoaW5nIGxvZ2ljCgkgIFRoZSBsb2dpYyBvZiB3aGVuIHRvIHB1c2ggd2FzIHdyb25nIGFsc28gKHJlc3VsdGluZyBpbiBzb21lIHRhZ3MgbmV2ZXIKCSAgYmVpbmcgcHVzaGVkKS4KCjIwMTAtMTAtMjQgMTU6MjA6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgY29kZWMgZGVzY3JpcHRpb25zCgoyMDEwLTA0LTEzIDExOjI5OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICBjaGVjazogVXNlIGZhaWxfdW5sZXNzX2VxdWFsc19pbnQgaW5zdGVhZCBvZiBmYWlsX2lmCgkgIE1ha2VzIHRoZSBlcnJvciBtZXNzYWdlIG1vcmUgaW50ZXJlc3RpbmcKCjIwMTAtMTEtMzAgMTk6MjI6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHNvIGV4dHJhY3QgSURJVCB0YWdzIHByZXNlbnQgdG9vIGVhcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYxNDMKCjIwMTAtMTEtMzAgMTk6MjE6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHNvIGVtaXQgRGF0ZVRpbWUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYxNDMKCjIwMTAtMTItMDMgMDA6MjI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkZXRlY3QgRFRTIGFkdmVydGlzZWQgYXMgUENNIGNvcnJlY3RseSBpbiBzb21lIG1vcmUgY2FzZXMKCSAgVGhlIERUUyB0eXBlZmluZGVyIG1heSByZXR1cm4gYSBsb3dlciBwcm9iYWJpbGl0eSBmb3IgZnJhbWVzIHRoYXQgc3RhcnQKCSAgYXQgbm9uLXplcm8gb2Zmc2V0cyBhbmQgd2hlcmUgdGhlcmUncyBubyBzZWNvbmQgZnJhbWUgc3luYyBpbiB0aGUgZmlyc3QKCSAgYnVmZmVyLiBJdCdzIGZhaXJseSB1bmxpa2VseSB0aGF0IHdlJ2xsIGFjaWRlbnRhbGx5IGlkZW50aWZ5IFBDTSBkYXRhCgkgIGFzIERUUywgc28gd2UgZG9uJ3QgZG8gYWRkaXRpb25hbCBjaGVja3MgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjIzNAoKMjAxMC0xMS0wOCAxNzoxMTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBtYWtlZmlsZSBjbGVhbnVwCgkgIEZpeCBpbmRlbnRhdGlvbi4gVXNlICQoR1NUX01BSk9STUlOT1IpIGluc3RlYWQgb2YgaGFyZGNvZGVkIDAuMTAuCgoyMDEwLTExLTA4IDE3OjAyOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIHdhdiBtdXhpbmcKCjIwMTAtMTEtMDggMTY6NTc6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHJlbW92ZSBuZXdsaW5lcyBiZXR3ZWVuIHZhcmlhYmxlIGRlY2xzIChvbGQgZ3N0LWluZGVudCBmYWlsdXJlKQoKMjAxMC0xMS0wOCAxNDo0NzowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiB1c2UgcG5nX2Vycm9yKCkgYXMgcmVjb21tZW5kZWQgYnkgbGlicG5nIGRvY3MgdG8gc2lnbmFsIGFuIGVycm9yCgkgIFdpdGhvdXQgdGhhdCB0aGUgZWxlbWVudCBsb29wcyBlbmRsZXNzbHkgb24gYnJvZWtuIHBuZ3MuIEZpeGVzICM2MzQzMTQKCjIwMTAtMTEtMTYgMTc6NDg6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBhbmQgdXNlIGNyZWF0aW9uIHRpbWUgdGFnIGZyb20gbXZoZAoJICBFeHBvc2UgY3JlYXRpb24gdGltZSBmcm9tIG12aGQgYXMgYSBkYXRldGltZSB0YWcKCSAgRml4ZXMgIzYzNDkyOAoKMjAxMC0xMC0yNyAxOToxNToyMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBBZGQgJ1N0cmVhbVVybCcgbWV0YWRhdGEgYXMgR1NUX1RBR19IT01FUEFHRSB0YWcKCjIwMTAtMTAtMjMgMTk6MzQ6MDAgLTA0MDAgIFRvbSBKYW5pc3pld3NraSA8VG9tLkphbmlzemV3c2tpQGFsY2F0ZWwtbHVjZW50LmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IGZvciBuZWxseW1vc2VyIGNvZGVjaWQgc2V0dGluZwoJICBGaXhlcyBidWcgIzYzMjg5Ny4KCjIwMTAtMTAtMjEgMTY6MTU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIEUtQUMzCgoyMDEwLTEwLTIxIDE2OjE0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBEVFMKCjIwMTAtMTAtMzEgMTg6MDg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IHNlbmQgc2Vla3MgYmVoaW5kIHRoZSBlbmQgb2YgZmlsZSB0byB0aGUgc2VydmVyCgkgIEFsc28gaW1wcm92ZSBkZWJ1ZyBvdXRwdXQsIHJlLWluaXRpYWxpemUgdGhlIGNvbnRlbnQgc2l6ZSBhbmQgbGV0IHRoZQoJICBzZWVrIGhhbmRsZXIgZXJyb3Igb3V0IG9uIGludmFsaWQgc2VlayBzZWdtZW50cy4KCSAgRml4ZXMgYnVnICM2MzI5NzcuCgoyMDEwLTEyLTAyIDE3OjUzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiB1c2UgU09QIG1hcmtlcnMgdG8gc3BsaXQgYml0c3RyZWFtCgkgIFdoZW4gcGFyc2luZyB0aGUgYml0c3RyZWFtLCBsb29rIGZvciBTT1AgbWFya2VycyBiZWNhdXNlIHdlIGFyZSBhbGxvd2VkIHRvIHNwbGl0CgkgIHBhY2tldHMgb24gdGhvc2UgbWFya2VyIGJvdW5kYXJpZXMuCgkgIFJld29yayB0aGUgcGFyc2luZyBjb2RlIGEgbGl0dGxlIHNvIHRoYXQgd2UgY2FuIHBhY2sgbXVsdGlwbGUgUGFja2V0aXphdGlvbgoJICB1bml0cyBpbiBvbmUgUlRQIHBhY2tldC4KCjIwMTAtMTEtMTggMTI6NDk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHBqMmtwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgVXNlIGJ1ZmZlciBsaXN0cyBmb3IgZG9pbmcgemVyb2NvcHkgcGF5bG9hZGluZy4KCSAgQWRkIHByb3BlcnR5IHRvIGRpc2FibGUgYnVmZmVyIGxpc3RzLgoKMjAxMC0xMS0xNiAxNjo1NDoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBzbWFsbCBjbGVhbnVwcwoJICBBbGxvY2F0ZSBhZGFwdGVyIG9ubHkgb25jZS4KCSAgTWFrZSBzb21lIGd1aW50OCAqIGNvbnN0LgoKMjAxMC0xMS0xNiAxNTozOToyNCArMDEwMCAgVGFtYmV0IEluZ28gPHRhbWJldCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGltcGxlbWVudCBmdWxsIGJ5dGVzdHJlYW0gc2NhbiBtb2RlLgoJICBJbXBsZW1lbnQgdGhlIGZ1bGwgYnl0ZXN0cmVhbSBzY2FuIG1vZGUuCgkgIEZpeGVzICM2MzQ5MTAKCjIwMTAtMTEtMTUgMTA6NTI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgZXhhbXBsZXM6IGltcHJvdmUgUlRQIGV4YW1wbGVzCgkgIE1ha2UgdGhlIGV4YW1wbGVzIHVzZSBhdXRvdmlkZW9zaW5rIGFuZCBmZm1wZWdjb2xvcnNwYWNlIGZvciBiZXR0ZXIKCSAgY29tcMOgdGliaWxpdHkuCgkgIE1ha2Ugc29tZSBtb3JlIHZhcmlhYmxlcyBmb3IgdGhlIHNpbmsgYW5kIHRoZSBkZWNvZGVycy4KCSAgU2V0IHplcm9sYXRlbmN5IHR1bmluZyBvbiB4MjY0ZW5jIGZvciBiZXR0ZXIgcmVhbHRpbWUgcmVzdWx0cy4KCjIwMTAtMTEtMTAgMTE6MDQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VsZWN0IG11bHRpY2FzdCB0cmFuc3BvcnRzIGluIGEgc21hcnRlciB3YXkKCSAgV2hlbiB3ZSBzZWUgYSBtdWx0aWNhc3QgYWRkcmVzcyBpbiB0aGUgU0RQIGNvbm5lY3Rpb24sIG9ubHkgdHJ5IHRvIG5lZ290aWF0ZSBhCgkgIG11bHRpY2FzdCB0cmFuc3BvcnQgd2l0aCB0aGUgc2VydmVyLgoJICBGaXhlcyAjNjM0MDkzCgoyMDEwLTEyLTAyIDE4OjE0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIGltcGxpY2l0IHJlcXVpcmVtZW50CgkgIGllLiA+PSAyLjIwIHdoaWxlIHdlIGRlcGVuZCBvbiBjb3JlL2Jhc2UgMC4xMC4zMQoKMjAxMC0xMi0wMiAxODoxMzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI2ID09PQoKMjAxMC0xMi0wMSAyMToxNTowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI2CgoyMDEwLTExLTMwIDE1OjI4OjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogYW5hbHlzZSBSRkYgZmllbGRzIGluIGNvcnJlY3Qgb3JkZXIKCSAgQ29kZSB3YXMgcmVwZWF0aW5nIHRoZSBzZWNvbmQgZmllbGQsIG5vdCB0aGUgZmlyc3QuCgkgIEZpeGVzOiAjNjM2MTc5LgoKMjAxMC0xMS0yOSAxNTozMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzdGFsZSBkaWdlc3QgYXV0aGVudGljYXRpb24gc2Vzc2lvbiBkYXRhCgkgIEluIHBhcnRpY3VsYXIsIGhhbmRsZSBVbmF1dGhvcml6ZWQgc2VydmVyIHJlc3BvbnNlIHdoZW4gdHJ5aW5nIHRvIGNvbnZleQoJICBrZWVwLWFsaXZlLgoJICBGaXhlcyAjNjM1NTMyLgoKMjAxMC0xMS0yNiAxNTowMDoyOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IHNlZ2ZhdWx0IG9uIGVtcHR5IHBheWxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg0MwoKMjAxMC0xMS0yNSAxOTowNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0xOCAwMDo0NToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS41IHByZS1yZWxlYXNlCgoyMDEwLTExLTE4IDAwOjQ0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL3NrLnBvOgoJKiBwby90ci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTEtMTQgMDA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggcmVmZXJlbmNlIGxlYWsKCjIwMTAtMTEtMTIgMjM6NTk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRmx1c2ggUW9TIGFuZCBoaXN0b3J5IGJlZm9yZSBhcHBseWluZyBzZWdtZW50CgkgIFdoZW4gaGFuZGxpbmcgbmV3c2VnbWVudCwgZmx1c2ggb3V0IHRoZSBidWZmZXIgaGlzdG9yeSBpbiB0aGUKCSAgZXhpc3Rpbmcgc2VnbWVudCwgbm90IHRoZSBuZXcgb25lLiBGaXhlcyBwbGF5YmFjayBpbiBzb21lIERWRAoJICBjYXNlcy4KCSAgUGFydGlhbGx5IGZpeGVzICM2MzMyOTQKCjIwMTAtMTEtMTIgMTI6MjA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXByb3ZlIGV2ZW50IGxvZ2dpbmcKCjIwMTAtMTEtMDUgMTc6MDA6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCBmaWVsZCBoaXN0b3J5IGZsdXNoaW5nCgkgIEluIGEgbnVtYmVyIG9mIGNhc2VzIGl0IGlzIG5lY2Vzc2FyeSB0byBmbHVzaCB0aGUgZmllbGQgaGlzdG9yeSBieQoJICBwZXJmb3JtaW5nICdkZWdyYWRlZCcgZGVpbnRlcmxhY2luZyAtIHRoYXQgaXMsIHVzaW5nIHRoZSB1c2VyLWNob3NlbgoJICBtZXRob2QgZm9yIGFzIG1hbnkgZmllbGRzIGFzIHBvc3NpYmxlLCB0aGVuIHVzaW5nIHZmaXIgZm9yIGFzIGxvbmcgYXMKCSAgdGhlcmUgYXJlID49IDIgZmllbGRzIHJlbWFpbmluZyBpbiB0aGUgaGlzdG9yeSwgdGhlbiB1c2luZyBsaW5lYXIgZm9yCgkgIHRoZSBsYXN0IGZpZWxkLgoJICBUaGlzIHNob3VsZCBhdm9pZCBsb3NpbmcgZmllbGRzIGJlaW5nIGtlcHQgZm9yIGhpc3RvcnkgZm9yIGV4YW1wbGUgYXQKCSAgRU9TLgoJICBUaGlzIG1heSBhZGRyZXNzIHBhcnQgb2YgIzYzMzI5NAoKMjAxMC0xMS0wNSAxNTo0NDozNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZWZhY3RvciBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIG91dHB1dCBhIGZyYW1lIGZyb20gb3V0c2lkZSB0aGUgY2hhaW4KCSAgZnVuY3Rpb24sIGkuZS4gaW4gdGhlIGZvbGxvd2luZyBjb21taXQgdGhhdCBhZGRzIGZsdXNoaW5nIG9mIHRoZSBmaWVsZAoJICBoaXN0b3J5LgoKMjAxMC0xMS0wNSAxNzoxNzo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogd2Ugc3RpbGwgcmVxdWlyZSBHdGsrID49IDIuMTQuMCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IDIuMAoJICBUaGUgY2hlY2sgZm9yIHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBkcm9wcGVkIGluIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDEwLTExLTA1IDE2OjI0OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgLS13aXRoLWd0ayBvcHRpb24gYW5kIGRlZmF1bHQgdG8gR3RrKyAyLjAgd2hpbGUgdGhlIDMuMCBBUEkgaXMgc3RpbGwgaW4gZmx1eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MDE0CgoyMDEwLTExLTA0IDE2OjQyOjA3ICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZml4IHVzZS1hZnRlci1mcmVlIG9mIHRhZ2xpc3QKCSAgQnJva2VuIGJ5IGNvbW1pdCA0YzJmNTMzMyAoYnVnICM2MzAyMDUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzOTcwCgoyMDEwLTExLTAxIDE3OjI5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjQgcHJlLXJlbGVhc2UKCjIwMTAtMTEtMDEgMTc6Mjg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTEtMDEgMTY6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMTEtMDEgMTQ6NTY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IG9ubHkgc2V0IGRlbHRhIHVuaXQgb24gYWxsLW5vbi1rZXkgdW5pdHMKCSAgT25seSBzZXQgdGhlIGRlbHRhIGZsYWcgd2hlbiBhbGwgb2YgdGhlIHVuaXRzIGluIHRoZSBwYWNrZXQgYXJlIGRlbHRhIHVuaXRzLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXMgIzYzMjk0NQoKMjAxMC0xMC0yNiAxNTo0NDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFJldHVybiBub3QtbmVnb3RpYXRlZCB3aGVuIGJwcyBpcyB1bmtub3duCgkgIElmIGNhcHMgd2VyZW4ndCBuZWdvdGlhdGVkLCBnb29tIHNob3VsZCByZXR1cm4gbm90LW5lZ290aWF0ZWQKCSAgZnJvbSBpdHMgY2hhaW4gZnVuY3Rpb25zIGluc3RlYWQgb2YgdXNpbmcgYnBzIHVuaXRpYWxpemVkLCB3aGljaAoJICBsZWFkcyB0byBhIGRpdmlzaW9uIGJ5IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzIxMgoKMjAxMC0xMC0yNyAxMzoxNjo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmJkNzA4IHRvIDAxMWJjYzgKCjIwMTAtMTAtMjYgMTY6NTQ6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBGb3J3YXJkIHNyYyBwYWQgZXZlbnRzIHVwc3RyZWFtLgoJICBGaXggcGFzc2luZyBuYXZpZ2F0aW9uIGFuZCBvdGhlciBldmVudHMgdXBzdHJlYW0gYnkgYWN0dWFsbHkgc2VuZGluZyB0aGVtLgoJICBGaXhlczogIzYzMzIwNQoKMjAxMC0xMC0yNCAxODo1MDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWFkbG9jayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgR1NUX0VMRU1FTlRfRVJST1IgbXVzdCBub3QgYmUgY2FsbGVkIHdpdGggdGhlIG9iamVjdCBsb2NrIGhlbGQsCgkgIHNpbmNlIGl0IHdpbGwgY2FsbCBnc3Rfb2JqZWN0X2dldF9wYXJlbnQoKSBpbnRlcm5hbGx5LCB3aGljaAoJICB0YWtlcyB0aGUgb2JqZWN0IGxvY2sgYXMgd2VsbC4KCjIwMTAtMTAtMjAgMTA6MjE6NDggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIHVzZWxlc3MgY2xlYXJpbmcgb2Ygc2VuZF94aXBoX2hlYWRlcnMgZm9yIERpcmFjCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2Ugd2hlbiBjb3B5LXBhc3RpbmcgdGhlIFRoZW9yYSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNjgyCgoyMDEwLTEwLTIwIDEzOjI4OjI4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGNyYXNoIGlmIHZvcmJpcy90aGVvcmEgY29kZWMgZGF0YSBpcyBtaXNzaW5nCgkgIEVycm9yIG91dCBwcm9wZXJseSBpbiB0aGlzIGNhc2UgaW5zdGVhZCBvZiBjcmFzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjY4MgoKMjAxMC0xMC0yMiAxODoxMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS4zIHByZS1yZWxlYXNlCgoyMDEwLTEwLTE5IDE2OjQ1OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGR1cmF0aW9uIHJlcG9ydGluZwoJICBJbml0IHNlZ21lbnQgcHJpb3IgdG8gc3RvcmluZyBkdXJhdGlvbiBpbmZvIGluIGl0LgoJICBGaXhlcyAjNjMyNTQ4LgoKMjAxMC0xMC0xOSAxNDoyMTo1MyArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIGdjb25mOiBEb24ndCBpbnN0YWxsIHNjaGVtYXMgd2hlbiBHQ29uZiBpcyBkaXNhYmxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNTUzCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTM6NDQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcmVtb3ZlIERFQlVHX0ZVTkNQVFIgZnJvbSBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTEwLTE2IDE1OjQzOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogc2V0IEdTVF9QQUNLQUdFX1JFTEVBU0VfREFURVRJTUUgYWxzbyBpbiB3aW4zMiBjb25maWcuaAoKMjAxMC0xMC0xNiAwMTozMzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS4yIHByZS1yZWxlYXNlCgoyMDEwLTEwLTE2IDAxOjI2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2VsLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTAtMTUgMTM6MjI6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBkaXN0IGdlbmVyYXRlZCBvcmMgZmlsZXMKCjIwMTAtMTAtMTUgMTQ6MDI6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgVXBkYXRlIGdlbmVyYXRlZCBvcmMgY29kZQoKMjAxMC0xMC0xNSAxODowMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBPcmMgcmVxdWlyZW1lbnQgdG8gMC40LjExCgoyMDEwLTEwLTE0IDE3OjQxOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBVc2UgdGhlIHJpZ2h0IGNvbnN0YW50IHRvIGRlZmluZSB0aGUgInVzZS1waXBlbGluZS1jbG9jayIgcHJvcGVydHkKCSAgVGhlIHdyb25nICNkZWZpbmUgd2FzIGJlaW5nIHVzZWQsIG5vdyB1c2UgdGhlIGNvcnJlY3Qgb25lLgoKMjAxMC0xMC0xNCAxMjozMTo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhNjY4YmYgdG8gN2JiZDcwOAoKMjAxMC0xMC0xNCAxNzoyNjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBhYzM6IGRlbXV4ZXJzIHByb3ZpZGUgZnJhbWVkIG91dHB1dAoKMjAxMC0xMC0xNCAwMDoxMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogcmVkdWNlIG5ld3NlZ21lbnQgZXZlbnQgc3BhbSBhbmQgc2V0IGRpc2NvbnQgZmxhZyB3aGVyZSBuZWVkZWQKCSAgT25seSBzZW5kIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggbmV3IHBvc2l0aW9ucyBkb3duc3RyZWFtIHdoZW4gYWN0dWFsbHkKCSAgbmVlZGVkLCBpbnN0ZWFkIG9mIHNlbmRpbmcgbXVsdGlwbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBuZXcgc2VlawoJICBwb3NpdGlvbnMgaW4gYSByb3cuIEFsc28gc2V0IHRoZSBkaXNjb250IGZsYWcgb24gYnVmZmVycyBhZnRlciBhCgkgIGRpc2NvbnRpbnVpdHkuCgoyMDEwLTEwLTEzIDIzOjQ2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiBzZXQgY29ycmVjdCBidWZmZXIgb2Zmc2V0cyBhZnRlciBzZWVrcwoJICBSZS11c2UgdGhlIGV4aXN0aW5nICdwb3MnIGZpZWxkIG1haW50YWluZWQgYnkgZWJtbCB3cml0ZXIgdG8gc2V0CgkgIGJ1ZmZlciBvZmZzZXRzLiBUaGlzIGFsc28gbWFrZXMgc3VyZSB0aGF0IHdlIHNldCB0aGUgcmlnaHQgb2Zmc2V0cwoJICBvbiBidWZmZXJzIGFmdGVyIGEgc2VlayAoZS5nLiB3aGVuIHdyaXRpbmcgYW4gaW5kZXggYXQgdGhlIGVuZCkuCgoyMDEwLTEwLTE0IDAwOjIyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGZvcndhcmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtCgkgIERvbid0IGZvcndhcmQgc3RyZWFtLXNwZWNpZmljIHRhZyBldmVudHMgZG93bnN0cmVhbSAoZXNwLiBub3QKCSAgYmVmb3JlIGFueSBuZXdzZWdtZW50IGV2ZW50KS54CgoyMDEwLTEwLTEzIDE3OjE1OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogaGFuZGxlIGFub3RoZXIgbXA0diB2YXJpYXRpb24KCSAgLi4uIGluY2x1ZGluZyB0aGUgZ2xibCBhdG9tIGNvbnRhaW5pbmcgY29kZWMtZGF0YS4KCjIwMTAtMTAtMTMgMTc6MjE6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE3OjEzOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB2YXJpb3VzIChzeXMpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTY6MjU6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE2OjM0OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgIHZhcmlvdXM6IHdyYXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGFuZCBhZGQgYSBzaW5nbGUgZml4bWUgZm9yIGxvbmcgZGVzYy4KCjIwMTAtMTAtMTMgMTE6NDY6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGFsd2F5cyBtYXJrIHRoZSBjb2RlY19kYXRhIGFzIGtleWZyYW1lCgkgIFdlIG5lZWQgdG8gbWFyayB0aGUgY29kZWNfZGF0YSBhcyBhIGtleWZyYW1lIG9yIGVsc2UgZG93bnN0cmVhbSBkZWNvZGVycyBtaWdodAoJICBkZWNpZGUgdG8gc2tpcCBpdCwgd2FpdGluZyBmb3IgYSBrZXlmcmFtZS4KCSAgRml4ZXMgIzYzMTk5NgoKMjAxMC0xMC0xMyAwNzoxNjo0NyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGJ1ZmZlciBvZmZzZXRzIGEgYnl0ZSBjb3VudCByYXRoZXIgdGhhbiBhIGJ1ZmZlciBjb3VudAoKMjAxMC0xMC0wNyAyMToxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGV4dCwgZ3N0OiBjYW5vbmljYWxpc2UgcHJvcGVydHkgbmFtZXMgd2hlcmUgdGhpcyB3YXNuJ3QgdGhlIGNhc2UKCSAgaWUuICJmb29fYmFyIiAtPiAiZm9vLWJhciIKCjIwMTAtMTAtMTIgMTU6MDI6NDIgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IGZpeCB0aW1lc3RhbXBpbmcgb2YgcnRwIGJ1ZmZlcnMKCSAgSW5jb21taW5nIGJ1ZmZlciBpcyBvbmx5IHB1c2hlZCBvbiB0aGUgYWRhcHRlciBhdCB0aGUgZW5kIG9mIHRoZQoJICBoYW5kbGVfYnVmZmVyIGZ1bmN0aW9uLiBCdXQgZHVyYXRpb24vdGltZXN0YW1wIG9mIHRoaXMgYnVmZmVyIGlzIGFscmVhZHkKCSAgdGFrZW4gaW50byBhY2NvdW50IGZvciB0aGUgY3VycmVudCBkYXRhIGluIHRoZSBhZGFwdGVyLiBUaGlzIGxlYWRzIHRvCgkgIHdyb25nIHJ0cCB0aW1lc3RhbXBzIGFuZCBleHRyYSBsYXRlbmN5LgoKMjAxMC0xMC0xMiAxMTozNzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogRml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMTAtMTEgMTU6MTI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgYXMgYSBzb3VyY2UKCSAgTWFyayB0aGUgcnRzcHNyYyBlbGVtZW50IGFzIGEgc291cmNlLgoJICBSZXF1aXJlcyAwLjEwLjMxLjEgbm93CgoyMDEwLTEwLTExIDE0OjI0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogU2V0IEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnIG9uIHNvdXJjZXMKCjIwMTAtMTAtMTEgMTQ6MjE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJICBzd2l0Y2hzcmM6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcKCjIwMTAtMTAtMTEgMTQ6MTc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZSAwLjEwLjMwLjEKCjIwMTAtMTAtMTAgMTQ6NDM6NTggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogc2V0IG9mZnNldHMgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAxMC0xMC0wOSAxNDoxNDoyNyArMDIwMCAgSU9oYW5uZXMgbSB6bcO2bG5pZyA8em1vZWxuaWdAaWVtLmF0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IE9ubHkgZ2V0L3NldCBvdmVybGF5IHBhcmFtcyBpZiBuZWVkZWQKCSAgaXQncyBwZXJmZWN0bHkgb2sgZm9yIGEgdmlkZW8gb3V0cHV0IGRldmljZSB0byBub3QgaGF2ZSBvdmVybGF5IGNhcGFiaWxpdGllcy4KCSAgdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBuZWVkIHRvIGdldC9zZXQgdGhlIG92ZXJsYXkgcGFyYW1ldGVycyBpZiB0aGUgdXNlcgoJICBkb2VzIG5vdCBleHBsaWNpdGVseSByZXF1ZXN0IG9uZSBvZiB0aGUgb3ZlcmxheSBwcm9wZXJ0aWVzCgoyMDEwLTA5LTMwIDE1OjI4OjIzICswMjAwICBJT2hhbm5lcyBtIHptw7ZsbmlnIDx6bW9lbG5pZ0BpZW0uYXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogUHJvdGVjdCBhZ2FpbnN0IE5VTEwtcG9pbnRlciBhY2Nlc3MKCSAgZ3N0X3Y0bDJzaW5rX2NoYW5nZV9zdGF0ZSgpIHdvdWxkIGZyZWUgdGhlIHBvb2wgd2l0aG91dCBjaGVja2luZyB3aGV0aGVyIHRoZXJlCgkgIHdhcyBhIHZhbGlkIHBvb2wuLi4KCjIwMTAtMTAtMDggMTI6NDM6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNGE4YWRjIHRvIDVhNjY4YmYKCjIwMTAtMTAtMDggMTI6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZTNjOWJmIHRvIGM0YThhZGMKCjIwMTAtMTAtMDYgMTE6Mjk6NTUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHJlcXVpcmVkIGZpZWxkcyBsb2dpYwoJICBCb3RoIGhpc3RvcnlfY291bnQgYW5kIGZpZWxkc19yZXF1aXJlZCBjb3VudCBmcm9tIDEuIEFzIHBlciB0aGUgd2hpbGUgbG9vcAoJICBjb25kaXRpb24gdGhhdCBmb2xsb3dzIHRoaXMgY29kZSwgdG8gcGVyZm9ybSB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2QsIHdlIG5lZWQKCSAgaGlzdG9yeV9jb3VudCA+PSBmaWVsZHNfcmVxdWlyZWQgZmllbGRzIGluIHRoZSBoaXN0b3J5LiBUaGVyZWZvcmUgaWYgd2UgaGF2ZQoJICBoaXN0b3J5X2NvdW50IDwgZmllbGRzX3JlcXVpcmVkIChub3QgZmllbGRzX3JlcXVpcmVkICsgMSksIHdlIG5lZWQgbW9yZSBmaWVsZHMuCgoyMDEwLTA5LTIwIDE5OjQzOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IHJlc2VuZCBvbk1ldGFkYSB0YWcgd2hlbiB0YWdzIGNoYW5nZXMgaW4gc3RyZWFtYWJsZSBtb2RlCgoyMDEwLTEwLTA1IDE5OjQwOjUwICswMTAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQUFDIGNvZGVjX2RhdGEgY2FuIGJlID4gMiBieXRlcyBsb25nCgkgIFRoaXMgZml4ZXMgdGhlIGFzc3VtcHRpb24gdGhhdCBEZWNvZGVyU3BlY2lmaWNJbmZvIG11c3QgYmUgMiBieXRlcyBsb25nCgkgIGZvciBBQUMgZmlsZXMuIFRoZSBzcGVjaWZpY2F0aW9uIGFsbG93cyBIRS1BQUMgdG8gYmUgZXhwbGljaXRseQoJICBzaWduYWxsZWQgaW4gYSBiYWNrd2FyZCBjb21wYXRpYmxlIHdheS4gVGhpcyBpcyBkb25lIGJ5IG1lYW5zIG9mIGFuCgkgIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWZ0ZXIgdGhlIHJlZ3VsYXIgQUFDIGhlYWRlci4gSXQgaXMgZXhwZWN0ZWQgdGhhdAoJICBkZWNvZGVycyB0aGF0IGNhbiBwbGF5IEFBQyBidXQgbm90IEhFLUFBQyB3aWxsIHBhcnNlIHRoZSBoZWFkZXIgbm9ybWFsbHkKCSAgYW5kIGlnbm9yZSBleHRlbmRlZCBiaXRzLCBtdWNoIGFzIHRoZXkgZG8gZm9yIHRoZSBIRS1BQUMgc3BlY2lmaWMgcGF5bG9hZAoJICBpbiB0aGUgYWN0dWFsIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjMxMwoKMjAxMC0xMC0wNSAxNjowMToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSB1bnJlZiBidWZmZXIgd2hlbiBubyBsb25nZXIgbmVlZGVkIGZvciBjbHVzdGVyIHNjYW5uaW5nCgkgIEZpeGVzICM2MjkwNDcuCgoyMDEwLTEwLTA1IDE2OjAwOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBpbmZpbml0ZSBjbHVzdGVyIHNjYW5uaW5nCgoyMDEwLTEwLTA1IDEyOjIwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb206IHRha2UgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gZG9pbmcgUW9TCgkgIFRha2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBmcmFtZXMgaW50byBhY2NvdW50IHNvIHRoYXQgd2UgZG9uJ3QgZHJvcCBmcmFtZXMgdGhhdAoJICBhcmUgb25seSBwYXJ0aWFsbHkgcGFzdCB0aGUgUW9TIGRlYWRsaW5lLgoKMjAxMC0xMC0wNSAxMDo0MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTogdXNlIGFkYXB0ZXIgZm9yIHRpbWVzdGFtcGluZwoJICBVc2UgdGhlIGFkYXB0ZXIgdGltZXN0YW1wIGNvZGUgdG8gZ2V0IG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcy4KCSAgRml4IGxhdGVuY3kgY2FsY3VsYXRpb24sIHdlIGFkZCBvdXIgb3duIGxhdGVuY3kgaW4gdGhlIHdvcnN0IGNhc2UuCgoyMDEwLTEwLTA0IDIyOjMxOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJICByYXcxMzk0OiBEb24ndCBjb21waWxlIGhkdjEzOTRzcmMgaWYgbGliaWVjNjE4ODMgaXNuJ3QgYXZhaWxhYmxlCgkgIEZpeGVzICM2Mjk4OTYKCjIwMTAtMDktMjAgMTk6NDQ6MDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZm9yd2FyZCB0YWcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzAyMDUKCjIwMTAtMTAtMDQgMTk6MDA6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IHJlcG9ydCBvdXIgbGF0ZW5jeSBjb3JyZWN0bHkKCSAgRml4ZXMgIzYzMTMwMwoKMjAxMC0xMC0wNCAxODo1NjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogYWRkIGRlZmluZXMgZm9yIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZwcwoJICBBZGQgc29tZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnBzIGluc3RlYWQgb2YgdXNpbmcgZGlmZmVyZW50CgkgIHZhbHVlcyBpbiBkaWZmZXJlbnQgcGxhY2VzLgoKMjAxMC0xMC0wNCAxODo1MjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogYWRkIGxhdGVuY3kgY29tcGVuc2F0aW9uIGNvZGUuCgkgIEltcGxlbWVudCBhIGxhdGVuY3kgcXVlcnkgYW5kIHJlcG9ydCBob3cgbXVjaCBsYXRlbmN5IHdlIHdpbGwgYWRkIHRvIHRoZQoJICBzdHJlYW0uCgkgIEFsc2UgbWFrZSBzb21lIGRlZmF1bHRzIGZvciB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlCgkgIEZpeGVzICM2MzEzMDMKCjIwMTAtMTAtMDQgMTc6NTY6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgdGVzdDogYWRkIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBhdWRpbyBzZW5kZXIKCSAgQWRkIGEgcHl0aG9uIHZlcnNpb24gb2YgdGhlIGF1ZGlvIHNlbmRlciBwaXBlbGluZS4KCSAgUG9ydGVkIGJ5IFNwNHJjIG9uIElSQy4KCjIwMTAtMTAtMDQgMTc6NTI6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkgIHRlc3RzOiBBZGQgcHl0aG9uIFJUUCBjbGllbnQgZXhhbXBsZQoJICBBZGQgYSBweXRob24gdmVyc2lvbiBvZiB0aGUgUENNQSBjbGllbnQgYXBwLgoJICBQb3J0ZWQgYnkgU3A0cmMgb24gSVJDLgoKMjAxMC0xMC0wNCAwOTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgcnRwOiBGaXggdW5pdGlhbGl6ZWQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCBidWlsZCBib3QKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nIHRob3VnaCwgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGluCgkgIHRoZSBjYXNlcyB3aGVyZSB0aGV5ICphcmUqIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0xMC0wMyAyMzo0OTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSAgcnRwZzcyMnBheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBUaGUgY2xvY2sgcmF0ZSBpcyBhbHdheXMgODAwMCBIeiBhY2NvcmRpbmcgdG8gdGhlIFJGQyBhbmQKCSAgdGhlIHNhbXBsaW5nIHJhdGUgbXVzdCBhbHdheXMgYmUgMTYwMDAgSHouCgoyMDEwLTEwLTAxIDEzOjU5OjEwICswNDAwICBWbGFkaW1pciBFcmVtZWV2IDxlcmVtZWV2QGF0bGFudGlzLnJ1PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBhcnRpY2xlIHJlZmVyZW5jZSBpbiBjb21tZW50IGJsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEwODIKCjIwMTAtMDQtMzAgMjE6MDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgcXRkZW11eDogVXNlIHBidXRpbHMgZm9yIEguMjY0IHByb2ZpbGUvbGV2ZWwgZXh0cmFjdGlvbgoJICBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gZXh0cmFjdCB0aGlzIGRhdGEgaGF2ZSBiZWVuIG1vdmVkIHRvIGdzdHBidXRpbHMgdG8KCSAgZmFjaWxpdGF0ZSByZXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNzMxOAoKMjAxMC0wNC0zMCAyMTowMDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIHBidXRpbHMgZm9yIEguMjY0IHByb2ZpbGUvbGV2ZWwgZXh0cmFjdGlvbgoJICBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gZXh0cmFjdCB0aGlzIGRhdGEgaGF2ZSBiZWVuIG1vdmVkIHRvIGdzdHBidXRpbHMgdG8KCSAgZmFjaWxpdGF0ZSByZXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNzMxOAoKMjAxMC0wNC0yMiAxOTozOTo0NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBNUEVHLTQgdmlkZW8gcHJvZmlsZSBhbmQgbGV2ZWwgaW4gc3RyZWFtIGNhcHMKCSAgVGhpcyB1c2VzIGdzdHBidXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgZnJvbSB0aGUgdmlkZW8KCSAgb2JqZWN0IHNlcXVlbmNlIGFuZCBhZGRzIHRoaXMgdG8gc3RyZWFtIGNhcHMuIFRoaXMgY2FuIGJlIHVzZWQgYXMKCSAgbWV0YWRhdGEgYW5kIGZvciBmaW5lLWdyYWluZWQgZGVjb2RlciBzZWxlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY1MjEKCjIwMTAtMDktMzAgMTI6NDQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYWFjIGNoYW5uZWwgb3ZlcnJpZGUgYmFzZWQgb24gY29kZWMgZGF0YSBmb3IgNy4xIGNhc2UKCjIwMTAtMDQtMzAgMTQ6MDY6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IEFBQyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgQUFDIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMgZm9yIHVzZSBhcyBtZXRhZGF0YSBhbmQKCSAgKGV2ZW50dWFsbHkpIGZvciBtb3JlIGZpbmUtZ3JhaW5lZCBzZWxlY3Rpb24gb2YgZGVjb2RlcnMgYXQKCSAgY2Fwcy1uZWdvdGlhdGlvbiB0aW1lLiAoRG9lc24ndCB3b3JrIGZvciBIRS1BQUMgeWV0IHRob3VnaC4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzMTMKCjIwMTAtMDktMzAgMTg6MzQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkgIHJ0cDogYWRkIEc3MjIgcGF5IGFuZCBkZXBheWxvYWRlcgoKMjAxMC0wOS0zMCAxMjowODo0OSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBsaW5rIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMzAgMTE6MzQ6NTYgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgIGV4YW1wbGVzOiBmaXggaW5kZW50YXRpb24gb24gcnRwIGNsaWVudCBleGFtcGxlCgoyMDEwLTA5LTMwIDExOjMzOjI0ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgZXhhbXBsZXM6IGZpeCB0eXBvIGluIHBvcnQgb2YgcnRwIGV4YW1wbGVzCgoyMDEwLTA5LTI5IDEzOjIwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogbWluaXNjdWxlIGNvZGUgY2xlYW4tdXAKCSAgR1NUX0NMT0NLX1RJTUVfTk9ORSBpcyBub3Qgc29tZXRoaW5nIHRoYXQgc2hvdWxkIGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoCgkgIEdTVF9GT1JNQVRfQllURVMuCgoyMDEwLTA5LTI5IDEwOjM0OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJldmVyc2UgcGxheWJhY2s7IHByZXZlbnQgb3ZlcmxhcCBvZiBzdWJzZXF1ZW50IGZyYWdtZW50cwoKMjAxMC0wOS0yOCAxNjoyMTo0OCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1pc3NpbmcgbnVsbC10ZXJtaW5hdG9yIGluIHByb3RvY29scyBhcnJheQoJICBGaXhlcyByYW5kb20gY3Jhc2ggcmVncmVzc2lvbiBmcm9tIGNvbW1pdCBhZTg0YWUuCgoyMDEwLTA5LTI0IDE2OjI2OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBhZGQgL1VEUCBpbiB0aGUgdHJhbnNwb3J0LCBpdCdzIHRoZSBkZWZhdWx0CgkgIGRvbid0IGFkZCB0aGUgZGVmYXVsdCBVRFAgbG93ZXItdHJhbnNwb3J0LCBzb21lIHNlcnZlcnMgZG9uJ3Qgc2VlbSB0byBsaWtlIGl0LgoJICBGaXhlcyAjNjMwNTAwCgoyMDEwLTA2LTI1IDE3OjA4OjAzICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBwYWNrZXQgbG9zdCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4gSXQgaGFwcGVucyBhbGwgdGhlIHRpbWUuLi4KCjIwMTAtMDktMjQgMTU6MzM6NDAgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogTWFrZSBjbGVhbmluZyB1cCBzb3VyY2VzIGluIHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgTVQgc2FmZQoJICBVc2luZyBfZm9yZWFjaF9yZW1vdmUgb24gdGhlIGhhc2h0YWJsZSwgd2hpbGUgcmVsZWFzaW5nIHRoZSBsb2NrIHByb3RlY3RpbmcKCSAgdGhhdCB0YWJsZSBpbnNpZGUgdGhlIGNhbGxiYWNrIGlzIG5vdCBhIGdvb2QgaWRlYS4gVGhlIGhhc2h0YWJsZSBtaWdodAoJICB0aGVuIGNoYW5nZSAoYSBzb3VyY2UgcmVtb3ZlZCBvciBhZGRlZCkgd2hpbGUgc2lnbmFscyBsaWtlIG9uX3RpbWVvdXQKCSAgYXJlIGJlaW5nIHNlbnQuCgkgIFRoaXMgc29sdXRpb24gbWFrZXMgYSBjb3B5IG9mIHRoZSB0YWJsZSwgcGVyZm9ybXMgdGhlIF9mb3JlYWNoIHdpdGhvdXQKCSAgYWN0dWFsbHkgcmVtb3ZpbmcgYW55IHNvdXJjZXMsIGJ1dCBtYXJrcyB0aGVtIGZvciByZW1vdmFsIG9uIGEgc2Vjb25kCgkgIGl0ZXJhdGlvbiB3aXRoIHRoZSByZWFsIGxpc3QsIGJ1dCB0aGlzIHRpbWUgbm90IGxldHRpbmcgZ28gb2YgdGhlIGxvY2suCgkgIEZpeGVzICM2MzA0NTIKCjIwMTAtMDktMjQgMTU6MTk6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogU2FuaXRpemUgaWQzIGZyYW1lIG5hbWVzCgkgIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IGlzIGRvbmUgaW4gcXRkZW11eC4gQXZvaWRzIHByb3ZpZGluZyBpbnZhbGlkCgkgIHN0cnVjdHVyZS90YWdzIG5hbWVzCgoyMDEwLTA5LTI0IDE0OjU5OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogU2tpcCBlbXB0eSB0YWdzCgkgIEF2b2lkIGNyZWF0aW5nIGJvZ3VzIHN0cmluZyB0YWdzLiBBbHNvIGFkZGVkIGxvZ2dpbmcgb2YgdGhlIHN0cmluZwoJICB2YWx1ZXMgb2YgdGhlIHRhZyBuYW1lIGFuZCB2YWx1ZS4KCjIwMTAtMDktMjQgMDg6NTY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDQtMTIgMDk6NDk6MTQgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSGFuZGxlIHJ5c25jIG9mIGl0ZXJhdG9yIHdoZW4gbG9va2luZyBmb3IgZnJlZSBwYWQgbmFtZQoJICBJZiBhIG5ldyBwYWQgd2FzIGFkZGVkIHdoaWxlIGl0ZXJhdGluZyB0aGVuIGEgcGFkIGNvdWxkIGJlCgkgIHJldHVybmVkIHRoYXQgd2FzIGFscmVhZHkgaW4gdXNlLgoJICBGaXhlcyAjNjMwNDUxCgoyMDEwLTA5LTI0IDE0OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggY29tcGlsYXRpb24KCjIwMTAtMDQtMDcgMTU6MzE6NTIgKzAyMDAgIFRyb25kIEFuZGVyc2VuIDx0cm9uZC5hbmRlcnNlbkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBVbmxvY2sgYmVmb3JlIGFkZGluZyBwYWQgaW4gbmV3X3BheWxvYWRfZm91bmQKCSAgSG9sZGluZyBpbnRlcm5hbCBsb2NrcyB3aGlsZSBwb3RlbnRpYWxseSBjYWxsaW5nIG91dCBpcyBhIHNvdXJjZQoJICBvZiBkZWFkbG9ja3MsIGFuZCBpbiB0aGlzIGNhc2UgdGhlIGFwcGxpY2F0aW9uIG1pZ2h0IHN1YnNjcmliZSB0byB0aGUKCSAgcGFkLWFkZGVkIHNpZ25hbC4KCSAgRml4ZXMgIzYzMDQ0OQoKMjAwOS0wOC0zMSAxODozNzo0MCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZWxheCB0aGlyZC1wYXJ0eSBjb2xsaXNpb24gZGV0ZWN0aW9uCgkgIElmIHRoZSBzb3VyY2UgaGFzIGJlZW4gaW5hY3RpdmUgZm9yIHNvbWUgdGltZSwgd2UgYXNzdW1lIHRoYXQgaXQgaGFzCgkgIHNpbXBseSBjaGFuZ2VkIGl0cyB0cmFuc3BvcnQgc291cmNlIGFkZHJlc3MuIEhlbmNlLCB0aGVyZSBpcyBubyB0cnVlCgkgIHRoaXJkLXBhcnR5IGNvbGxpc2lvbiAtIG9ubHkgYSBzaW11bGF0ZWQgb25lLgoJICBGaXhlcyAjNjMwNDQ3CgoyMDEwLTA5LTI0IDEzOjUwOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogd2hpdGVzcGFjZSBmaXhlcwoKMjAxMC0wOS0yNCAxMzo0ODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHNpbXBsaWZ5IHRoZSByYXRlIGVzdGltYXRpb24gc29tZSBtb3JlCgoyMDA5LTA4LTMxIDE4OjM0OjA4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogcHJvdmlkZSBhZGRpdGlvbmFsIHN0YXRpc3RpY3MKCjIwMTAtMDktMjQgMDA6MDE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNldCBwbHVnaW4gcmVsZWFzZSBkYXRldGltZQoKMjAxMC0wOS0yMyAyMToyMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgZXF1YWxpemVyOiBmaXggY2xhc3MgZGVmaW5pdGlvbnMKCSAgQ2xhc3Mgc3RydWN0dXJlcyBtdXN0IGJlIGJhc2VkIG9uIHRoZSBwYXJlbnQgY2xhc3Mgc3RydWN0LCBub3Qgb24KCSAgdGhlIHBhcmVudCBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDEwLTA5LTE1IDIwOjM2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBwcmUtcmVnaXN0ZXIgcGFkIGNsYXNzIHByb3Blcmx5IHdpdGggZ190eXBlX2NsYXNzX3JlZgoJICBGaXggY29kZSB0byBtYXRjaCB0aGUgY29tbWVudC4gQWxzbywgdGhlcmUncyBubyBuZWVkIHRvIHJlZ2lzdGVyIHRoZQoJICBiYWNrZ3JvdW5kIGVudW0gdHlwZSBhZ2FpbiwgdGhpcyBpcyBhbHJlYWR5IGRvbmUgdmlhIGluc3RhbGxfcHJvcGVydHkuCgoyMDEwLTA5LTIzIDIxOjU3OjE4ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEZpeCBjcmFzaGVzIHdpdGggTVNWQwoJICBVc2luZyB0aGUgc3ltYm9scyBmb3IgdGhlIGRpZmZlcmVudCBTcGVleCBtb2RlcyByZXN1bHRzCgkgIGluIGNyYXNoZXMgd2hlbiB1c2luZyBNU1ZDLiBVc2UgdGhlIGxpYnJhcnkgZnVuY3Rpb25zIHRvCgkgIGdldCB0aGUgbW9kZXMgaW5zdGVhZC4KCSAgRml4ZXMgYnVnICM2MzAzNzguCgoyMDEwLTA4LTI0IDEzOjI1OjAyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gb24gc2lsZW5jZQoJICBGaXhlcyBidWcgIzYzMDQ1OC4KCjIwMTAtMDktMjMgMTY6NDY6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBwYXJzZSBhbmQgdXNlIGN0cwoJICBGb3IgSDI2NCwgdGhlcmUgaXMgYW4gZXh0cmEgaGVhZGVyIGNvbnRhaW5pbmcgdGhlIENUUywgd2hpY2ggaXMgYSB0aW1lc3RhbXAKCSAgb2Zmc2V0IHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIFBUUy4gUGFyc2UgdGhpcyB2YWx1ZSBhbmQgdXNlIGl0IHRvIGFkanVzdAoJICB0aGUgcHRzLgoJICBGaXhlcyAjNjMwMDg4CgoyMDEwLTA5LTIzIDE2OjQ1OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogaW1wcm92ZSBwdHMgZGVidWdnaW5nCgoyMDEwLTA5LTIyIDE5OjAxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkgIHB1bHNlOiBhZGQgdGVzdCBhcHAgZm9yIHB1bHNlIGRldmljZSBwcm9iZQoKMjAxMC0wOS0yMiAxODo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBmaXggZGV2aWNlX2Rlc2NyaXB0aW9uIGluIFJFQURZCgkgIE1ha2UgdGhlIGlzX2RlYWQgY2hlY2sgbW9yZSBjbGVhciBhbmQgYWRkIGFuIG9wdGlvbiB0byBjaGVjayBmb3IgdGhlIHN0YXR1cyBvZgoJICB0aGUgc3RyZWFtIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZXh0LgoJICBXZSBkb24ndCBuZWVkIGEgc3RyZWFtIHRvIGdldCB0aGUgZGV2aWNlX2Rlc2NyaXB0aW9uIHN0cmluZy4KCSAgRml4ZXMgIzYzMDMxNwoKMjAxMC0wOS0yMiAxMjo1NjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcG9zdCB0YWdzIGlmIHRoZXJlIGFyZSBub25lCgkgIEFuZCBtYWtlIGFsbCBjb2RlIGdvIHRocm91Z2ggX3Bvc3RfZ2xvYmFsX3RhZ3MuCgoyMDEwLTA5LTIyIDEyOjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiByZWZhY3RvciBhbmQgc2ltcGxpZnkgQVUgbWVyZ2luZwoJICBNb3ZlIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBOQUxVIHRvIGEgc2VwYXJhdGUgbWV0aG9kLgoJICBTaW1wbGlmeSB0aGUgbWVyZ2luZyBvZiBOQUxVIGludG8gQVUgYW5kIHVzZSBjb21tb24gY29kZSB3aGVuIHBvc3NpYmxlLgoKMjAxMC0wOS0yMSAyMzoyMzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogYWRkIG9wdGlvbmFsIGJvcmRlciBwYXJhbWV0ZXIgYW5kIHNsb3dkb3duIGFuaW1hdGlvbgoJICBBbGxvdyB0byBwbGF5IHdpdGggdGhlIGJvcmRlciBwcm9wZXJ0eSAoc2hhcnAvc29mdCBlZGdlcykuCgoyMDEwLTA5LTIxIDE5OjE0OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRm9yY2UgZm9ybWF0IHRvIEFZVVYgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUgZm9yIHRoZSBzYW1lIHJlYXNvbgoKMjAxMC0wOS0yMSAxOToxMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBGb3JjZSB0aGUgaW5wdXQgdG8gQVlVViB0byBwcmV2ZW50IG5lZ290aWF0aW9uIGZhaWx1cmVzIGluIHZpZGVvbWl4ZXIKCSAgVGhlIHNlY29uZCB2aWRlb3Rlc3RzcmMgY2hhaW4gbWlnaHQgcHJvZHVjZSBZVVkyIGJlY2F1c2UgZXZlcnl0aGluZyBpcwoJICBhY2NlcHRlZCBkb3duc3RyZWFtIGJlZm9yZSB0aGUgZmlyc3Qgc2hhcGV3aXBlIGNoYWluIGdldHMgbmVnb3RpYXRlZC4KCjIwMTAtMDktMjEgMTk6MTI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgaW1tZWRpYXRlbHkgcmV0dXJuIGVtcHR5IGNhcHMgZnJvbSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbnMKCjIwMTAtMDktMjEgMTg6MzM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFhMGQxZDAgdG8gNWUzYzliZgoKMjAxMC0wOS0yMSAxMjo0OTozMSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMjogdXNlIHRoZSB4b3ZlcmxheSBBUElzCgoyMDEwLTA5LTIxIDEyOjQ4OjM0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogdXNlIHRoZSBuZXcgeG92ZXJsYXkgQVBJcwoJICBBbHNvIGJ1bXBlZCAtYmFzZSByZXF1aXJlbWVudHMuCgoyMDEwLTA5LTIxIDEyOjMxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGFnYWluIGZvciBHSVQgdmVyc2lvbnMKCjIwMTAtMDktMjEgMTE6NTI6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wOS0yMCAyMzoxNzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIHV1aWQgYXRvbXMgaW4gcHVzaCBtb2RlCgkgIFBhcnNlcyB1dWlkIGF0b21zIGluIHB1c2ggbW9kZSB3aGVuIHRoZXkgYXJlIGZvdW5kLCB0aGV5IG1pZ2h0CgkgIGNvbnRhaW4geG1wIHRhZ3MuCgkgIEFsc28gZG9lcyBhIG1pbm9yIHJlZmFjdG9yaW5nIHRvIHB1dCB0aGUgZ2xvYmFsIHRhZ3MgcG9zdGluZwoJICBpbnRvIGEgc2luZ2xlIGZ1bmN0aW9uIGluc3RlYWQgb2YgcmVwZWF0aW5nIGl0IGluIDMgZGlmZmVyZW50CgkgIHBsYWNlcy4KCSAgRml4ZXMgIzYyOTgzOQoKMjAxMC0wOS0xNiAwODowNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERlbGF5IHRhZ3MgcG9zdGluZyBhIGxpdHRsZQoJICBEZWxheSB0YWdzIHBvc3RpbmcgdW50aWwgd2UndmUgcGFyc2VkIGFsbCB0aGUgaGVhZGVycyBzbwoJICB0aGF0IHRoZSBuYXRpdmUgYW5kIHhtcCB0YWdzIGdldCBtZXJnZWQgYmVmb3JlIHBvc3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTgzOQoKMjAxMC0wOS0xNSAyMjoxMzo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFBhcnNlIHhtcCBwYWNrZXQgaW4gdXVpZCBhdG9tCgkgIHhtcCBwYWNrZXQgaXMgcGxhY2VkIGludG8gYSB0b3AtbGV2ZWwgdXVpZCBhdG9tIGZvcgoJICBpc29tL21wNCB2YXJpYW50cy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHBhcnNlIGFsbCB0b3AtbGV2ZWwgYXRvbXMKCSAgaW4gcHVsbC1tb2RlIGJlZm9yZSBzdGFydGluZyB0byBwdXNoIGRhdGEsIG1ha2luZwoJICBpdCBhYmxlIHRvIGZpbmQgdGhvc2UgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTgzOQoKMjAxMC0wOS0xNyAxMTowNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA5LTE3IDExOjA3OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cHBheTogc29tZSBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA5LTE1IDE4OjIxOjExICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbG9naWMgd2hlbiBwdXNoaW5nIEVPUy4KCSAgRG9uJ3QgY2hlY2sgZm9yIHJldHVybiB2YWx1ZXMgd2hlbiBwdXNoaW5nIEVPUy4gU3RpbGwgcG9zdCBhbiBlcnJvciBpZiBFT1MgaXMKCSAgcmVhY2hlZCBhbmQgbm8gc3RyZWFtcyBoYXZlIGJlZW4gZm91bmQuCgoyMDEwLTA5LTE1IDE3OjAyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGRvY3M6IGFkZCBndGstZG9jIGNodW5rcyB3aXRoIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgdjRsMnNyYyBwcm9wZXJ0aWVzCgoyMDEwLTA5LTE1IDE4OjQzOjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY2FtY3RybDogYWRkIGxpY2Vuc2UgaGVhZGVyIHRvIGRlbW8KCjIwMTAtMDktMTQgMTc6NDE6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHNlbmQgRU9TIHR3aWNlIG9uIHRoZSBzYW1lIHBhZC4KCjIwMTAtMDktMTQgMTA6MDc6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IG1vdmUgdGhlIHNoYXJlZCBtYWlubG9vcCBmcm9tIGNsYXNzIHRvIHN0YXRpYyB2YXIKCSAgSnVzdCBoYXZlIG9uZSBzdGF0aWMgdmFyIGZvciB0aGUgc2hhcmVkIG1haW5sb29wIGluc3RlYWQgb2Ygb25lIGNsYXNzIHZhcmlhYmxlCgkgIGFuZCBjb3BpZXMgaW4gdGhlIGluc3RhbmNlLgoKMjAxMC0wOS0xMyAxNzozMTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBjbGVhbnVwcyBmb3IgRFJJIG1hcmtlcnMKCSAgUHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgRFJJIG1hcmtlcnMuCgkgIGRvIHNvbWUgY2xlYW51cHMKCjIwMTAtMDktMTAgMTE6MzU6NTMgLTA0MDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVnc0B0eWNvc3AuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGdzdHJ0cGpwZWdwYXk6IEFkZGVkIERlZmluZSBSZXN0YXJ0IEludGVydmFsIChEUkkpIE1hcmtlcgoJICBBZGRlZCBhYmlsaXR5IHRvIGRldGVjdCBhbmQgcmVzcG9uZCB0byBhIEpQRUctZGVmaW5lZCBEUkkgbWFya2VyCgoyMDEwLTA2LTE5IDE5OjIwOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IFNwbGl0IGdldHRpbmcgdGhlIGNhcHMgaW50byBpdHMgb3duIGZ1bmN0aW9uCgoyMDEwLTA5LTEzIDE2OjAzOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc21hbGwgY2xlYW51cC4KCjIwMTAtMDktMTMgMTY6MjQ6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJld29yayBjb250ZXh0IHNoYXJpbmcKCSAgV2UgYWxzbyBuZWVkIHRvIHNoYXJlIHRoZSBtYWluLWxvb3AgdGhyZWFkcyBhcyB0aGlzIG93bnMgdGhlIGNvbnRleHQuIFRodXMgaGF2ZQoJICBhIGNsYXNzIHdpZGUgbWFpbi1sb29wIHRocmVhZC4gRnJvbSB0aGlzIHdlIGNyZWF0ZSBhIGNvbnRleHQgcGVyIGNsaWVudC1uYW1lLgoJICBJbnN0ZWFkIG9mIGFsd2F5cyBsb29raW5nIHVwIHRoZSBjb250ZXh0LCB3ZSBrZWVwIHRoaXMgd2l0aCB0aGUgaW5zdGFuY2UuIFRoZQoJICByZXZlcnNlIG1hcHBpbmcgaXMgb25seSBuZWVkZWQgaW4gcHVsc2Ugc2luZ2FsIGhhbmRsZXJzLiBUaGlzIHNhdmVzIGEgbG90IG9mCgkgIGxvY2tpbmcuIEFsc28gb25lIHNpZ25hbCBoYW5kbGVyIGJlY29tZXMgc2ltcGxlciBhcyB0aGVyIGVpcyBvbmx5IG9uZSBtYWlubG9vcAoJICB0byBub3RpZnkuCgkgIE5vdyB2YWxnaW5kIGhhcHB5IC0gbm8gbGVha3MsIG5vIGJhZCByZWFkcy93cml0ZXMuCgkgIFRoaXMgcmV2ZXJ0cyBtYWpvciBwYXJ0cyBvZiBjb21taXQgNjlhMzk3YzMyZjRiYWYwN2E3YjI5MzdjNjEwZjllOGYzODNlOWFlOS4KCSAgRml4ZXMgIzYyODk5NgoKMjAxMC0wOS0xMyAxNTo0NDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc2Vzc2lvbjogU21hbGwgY2xlYW51cHMKCSAgTWFrZSB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb24gcHJldHRpZXIuCgkgIEFjdHVhbGx5IG11bHRpcGxlIHRoZSBiYW5kd2lkdGggd2l0aCB0aGUgZnJhY3Rpb24uCgoyMDEwLTA2LTAxIDIxOjM1OjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBDYWxjdWxhdGUgUlRDUCBiYW5kd2lkdGggYXMgYSBmcmFjdGlvbiBvZiB0aGUgUlRQIGJhbmR3aWR0aAoJICBDYWxjdWxhdGUgdGhlIFJUQ1AgYmFuZHdpZHRoIHRvIGJlIGEgZnJhY3Rpb24gb2YgdGhlIFJUUCBiYW5kd2lkdGggaWYgaXQgaXMKCSAgc3BlY2lmaWVkIGFzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLgoKMjAxMC0wOS0xMyAxNToyOTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaW1wcm92ZSBiYW5kd2lkdGggcmVjYWxjdWxhdGlvbgoJICBBbHNvIHJlY2FsY3VsYXRlIGJhbmR3aWR0aCB3aGVuIG9uZSBvZiB0aGUgc291cmNlIGJhbmR3aWR0aHMgY2hhbmdlZC4KCSAgVXNlIHRoZSBuZXdseSBjYWxjdWxhdGVkIGJhbmR3aWR0aC4KCjIwMTAtMDYtMDEgMjE6MTc6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgdGhlIG9wdGlvbiB0byBhdXRvLWRpc2NvdmVyIHRoZSBSVFAgYmFuZHdpZHRoCgoyMDEwLTA5LTEzIDE0OjM4OjExICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHVzZS1waXBlbGluZS1jbG9jayBvbiBjb3JyZWN0IEdPYmplY3QKCjIwMTAtMDYtMDIgMTc6NTE6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgYXZlcmFnZSBzY2FsZWQgYnkgMTYKCjIwMTAtMDktMTMgMTI6NDE6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBydW5uaW5nX3RpbWUgYXJndW1lbnQgZG9jcwoKMjAxMC0wNi0yMyAxNjoxMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IFJlY3RpZnkgZGVzY3JpcHRpb24gb2YgY3VycmVudF90aW1lIGluIFJUUEFycml2YWxTdGF0cwoJICBJdCBpcyB0aGUgY3VycmVudCB0aW1lLCBpdCBpcyB1bnJlbGF0ZWQgdG8gd2hlbiB0aGUgcGFja2V0IHdhcyBhY3R1YWxseSByZWNlaXZlZC4KCjIwMTAtMDktMTMgMTI6MzE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNvbXB1dGUgdGhlIGF2ZXJhZ2UgY29ycmVjdGx5IHNjYWxlZAoKMjAxMC0wNi0wMSAyMDozMToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBDb3VudCBzZW50IFJUQ1AgcGFja2V0cyBhZnRlciB0aGV5IGhhdmUgYmVlbiBmaW5pc2hlZAoJICBJZiB0aGV5IGFyZSBjb3VudGVkIGJlZm9yZSBjYWxsaW5nIGdzdF9ydGNwX2J1ZmZlcl9lbmQoKSwgdGhlbiB0aGUKCSAgc2l6ZSBpcyB3YXkgdG9vIGJpZy4KCjIwMTAtMDYtMDEgMTk6NTE6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRG9uJ3QgdW5yZWYgIHBhZHMgaW4gZmluYWxpemUKCSAgVGhlIGdzdHJ0cHNlc3Npb24gb2JqZWN0IGlzIG5vdCBob2xkaW5nIGFueSByZWZlcmVuY2UgdG8gdGhlbSBkaXJlY3RseQoKMjAxMC0wOS0xMiAwMDowOTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIG5ldyBzb3VwaHR0cHNyYyBtZXNzYWdlcwoKMjAxMC0wOS0xMiAwMDowODowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBob29rIHVwIGkxOG4gYml0cyBmb3IgcGx1Z2luCgkgIENhbGwgYmluZHRleHRkb21haW4oKSBldGMuCgoyMDEwLTA5LTEyIDAwOjA0OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCBlcnJvciBtZXNzYWdlcwoJICBFcnJvciBtZXNzYWdlcyBzaG91bGQgYmUgdHJhbnNsYXRlZC4gVVJJcyBhbmQgZmlsZW5hbWVzIHNob3VsZCBub3QKCSAgYmUgcGFydCBvZiB0aGUgZXJyb3IgbWVzc2FnZSBzdHJpbmcgdGhhdCdzIHNob3duIHRvIHRoZSB1c2VyLgoJICBzb3VwX21lc3NhZ2UtPnJlYXNvbl9waHJhc2UgaXMgbm90IHRyYW5zbGF0ZWQgYW5kIG5vdCBzdWl0YWJsZSBhcwoJICBlcnJvciBtZXNzYWdlIGZvciB1c2VycyAoc2VlIGxpYnNvdXAgZG9jdW1lbnRhdGlvbikuIEFsc28gZml4IHVwCgkgIGVycm9yIGNvZGVzIGEgYml0LCBhcyBmYXIgYXMgcG9zc2libGUgd2l0aCB0aGUgZXhpc3RpbmcgY29kZXMuCgoyMDEwLTA5LTEwIDA5OjQzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGJ1ZmZlciBhbGxvYyBmYWlscyB3aXRoIE5PVF9MSU5LRUQgZmxvdwoJICBUaGlzIGlzIG5vdCBmYXRhbCwgbGV0IHVwc3RyZWFtIGhhbmRsZSBpdC4KCjIwMTAtMDktMTAgMTg6MDY6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGNsZWFyIHNkcCB3aGVuIHNldCBhcyB1cmkKCSAgd2hlbiB3ZSBzZXQgdGhlIFNEUCB3aXRoIGFuIHVyaSwgZG9uJ3QgY2xlYXIgaXQgd2hlbiB3ZSBnbyB0byBSRUFEWS4KCjIwMTAtMDktMTAgMTg6MDE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBzZHAgdXJpIHBhcnNlIG1ldGhvZAoJICBVc2UgdGhlIHNkcCBwYXJzZSBtZXRob2QgdGhhdCBkb2VzIHByb3BlciB1cmkgZXNjYXBpbmcuCgoyMDEwLTA5LTEwIDE2OjU5OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBleGFtcGxlOiBhZGQgdjRsMiBleGFtcGxlLCBkZW1vbnN0cmF0aW5nIHRoZSB1c2Ugb2YgZ3N0IGNvbnRyb2xsZXIKCjIwMTAtMDktMTAgMTY6NTU6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZG9uJ3Qgc2tpcCBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24KCjIwMTAtMDYtMjIgMTU6NDg6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGNvbnRyb2xhYmxlIGNvbG9yYmFsYW5jZSBwYXJhbWV0ZXJzCgkgIEV4cG9zZSBjb2xvcmJhbGFuY2UgY29udHJvbHMgYXMgb2JqZWN0IHByb3BlcnRpZXMgKGxpa2Ugd2UgZG8gb24geHZpbWFnZXNpbmspLgoJICBNYWtlIHRoZW0gY29udHJvbGFibGUuCgoyMDEwLTA5LTEwIDEzOjI1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGZpeCBzb21lIG1pcy1pbXBsZW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIGRlYnVnLgoKMjAxMC0wOS0xMCAxMzoyNDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBwcm9wZXJseSBpbnNlcnQgZHVtbXkgYnVmZmVycwoKMjAxMC0wOS0xMCAxMTo1NToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcnRzcC1zZHAgcHJvdG9jb2wgc3VwcG9ydAoJICBBbGxvdyBzZXR0aW5nIGFuIFNEUCB3aXRoIHRoZSBydHNwLXNkcDovLyB1cmwuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gTWFyY28gQmFsbGVzaW8uCgkgIFNlZSAjNjI4MjE0CgoyMDEwLTA5LTEwIDExOjM1OjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogbWFrZSBwYXNzdGhyb3VnaCB3b3JrLgoKMjAxMC0wOS0wOSAyMTo0Mzo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgbXA0YWRlcGF5OiBzbWFsbCBsb2dnaW5nIGNsZWFudXAgYW5kIGFkZGl0aW9uIHRvIGRlYnVnIGNvbmZpZyBwYXJzaW5nCgoyMDEwLTA5LTA5IDIxOjQyOjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogZml4IGNvbnRleHQgaW5pdGlhbGlzYXRpb24gYW5kIGZyZWVpbmcgdG8gbm90IGxlYWsKCjIwMTAtMDktMDkgMjE6NDA6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogYWxsb3cgcnVubmluZyBzdGF0ZSB0ZXN0cyBmb3IgYWxsIGVsZW1lbnRzCgkgIE5vdyBvbmUgY2FuIHVzZSBHU1RfTk9fU1RBVEVfSUdOT1JFX0VMRU1FTlRTPTEgbWFrZSBnZW5lcmljL3N0YXRlcy5jaGVjawoJICB0byB0cnkgZWxlbWVudHMgdGhhdCB3b3VsZCBub3JtYWx5IGJlIHNraXBwZWQuCgoyMDEwLTA5LTA5IDE4OjQ3OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBydHBqcGVncGF5IHRlc3QKCSAgTWFrZSB0aGUgZGF0YSB3ZSBzZW5kIHRvIHRoZSBqcGVnIHBheWxvYWRlciBiZSBhIHZhbGlkIGpwZWcgZmlsZSBiZWNhdXNlIHRoZQoJICBwYXlsb2FkZXIgbm93IGV4cGVjdHMgdGhpcy4KCjIwMTAtMDktMDkgMTg6NDc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTAtMDktMDkgMTY6MzE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogdXNlIHZhbGlkIGJpdHJhdGUgZm9yIGR1bW15IGZyYW1lCgoyMDEwLTA5LTA4IDE3OjA3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBBZGRzIG1hcHBpbmcgZm9yIGFsYnVtIGFydGlzdAoJICBNYXBzIEdTVF9UQUdfQUxCVU1fQVJUSVNUIHRvIFRQRTIgaW4gaWQzdjJtdXgKCjIwMTAtMDktMDggMTg6MzU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgb3JjIDAuNC44CgkgIFRoZSBkZWludGVybGFjZSBwbHVnaW4gYXBwYXJlbnRseSBmYWlscyB0byBjb21waWxlIHdpdGggb2xkZXIgdmVyc2lvbnMuCgoyMDEwLTA5LTA4IDE3OjUwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBRb1MgaGFuZGxpbmcgbG9naWMgb25seSBhcHBsaWVzIHRvIGZvcndhcmQgcGxheWJhY2sKCSAgRml4ZXMgIzYyODg5NC4KCjIwMTAtMDktMDggMTc6NDM6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTAtMDktMDggMTQ6MzY6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXh1cCBsYXN0IGNvbW1pdAoJICBXZSBuZWVkIHRvIHByZXZlbnQgdGhlIGV2ZW50dWFsIGxlYWsgYmV0dGVyLgoKMjAxMC0wOS0wOCAxNDoxNjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNvZGUgY2xlYW51cHMKCSAgVXNlIGdfc2xpc3RfcHJlcGVuZCBhcyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBvcmRlci4gQ2hlY2sgZm9yIGxpc3QgPT0gTlVMTAoJICBpbnN0ZWFkIG9mIGl0ZXJhdGluZyB0aGUgbGlzdCB0byBzZWUgaWYgaXQgaXMgZW1wdHkuIE1vdmUgY3R4IGFsbG9jYXRpb24gZG93bgoJICB0byBwcmV2ZW50IGxlYWsgaW4gY2FzZSBvZiBmYWlsdXJlLgoKMjAxMC0wOS0wOCAwNzoxMzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyBidWcgIzYyOTAxOC4KCjIwMTAtMDktMDcgMTk6MDI6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2ltcGxpZnkgY2xvY2sgcHJvdmlkZSBjb2RlCgkgIERvbid0IGxlYWsgdGhlIHB1bHNlc2luayBlbGVtZW50IGJ5IGhhdmluZyB0aGUgY2xvY2sga2VlcCBhIHJlZiB0byB0aGUgc2luay4KCSAgQ3JlYXRlIHRoZSBjbG9jayBvbmx5IG9uY2UgaW4gdGhlIGNvbnN0cnVjdG9yIGFuZCB1c2UgdGhlIGJhc2VhdWRpb3NpbmsgY2xvY2sKCSAgY2xlYW51cCBjb2RlLgoKMjAxMC0wOS0wNyAxNzo0OTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG1vdmUgdGhlIGNvbnRleHQgdGFibGUgaW5pdCB0byBfZ2V0X3R5cGUgcGhhc2UKCSAgVGhpcyBzZWVtcyB0byBmaXggdGhlIGludmFsaWQgcmVhZHMgb24gY29udGV4dCBzaHV0ZG93biBiZXR0ZXIsIGFsdG91Z2gKCSAgSSBjYW4ndCByZWFsbHkgZXhwbGFpbi4KCjIwMTAtMDktMDcgMTc6MDY6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBvbGRlciBnX2FycmF5X2ZyZWUKCSAgZ19hcnJheV91bnJlZigpIGlzIG9ubHkgc2luY2UgMi4yMgoKMjAxMC0wOS0wNyAxNjo0OToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgaW52YWxpZCBhZGFwdGVyIGZsdXNoIG9uIFFvUwoJICBGaXJzdCBzdG9yZSB0aGUgYXZhaWxhYmxlIGRhdGEgaW4gdGhlIGFkYXB0ZXIgaW4gdGhlIHJlbV9pbWdfbGVuIGluc3RhbmNlIGZpZWxkCgkgIGJlZm9yZSB0cnlpbmcgdG8gZmx1c2ggdGhlIGFkYXB0ZXIgd2l0aCB0aGF0IHZhbHVlIG9uIFFvUy4KCjIwMTAtMDktMDcgMTY6NDA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogZG8gc29tZSBtb3JlIHNhbml0aXR5IGNoZWNrcwoJICBQcm90ZWN0IHNvbWUgbW9yZSBhZ2FpbnN0IGludmFsaWQgaW5wdXQuCgoyMDEwLTA5LTA3IDE1OjIwOjEyICswMjAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3MgYXQgdHljb3NwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiBoYW5kbGUgY29ycnVwdGVkIGpwZWcgYmV0dGVyCgkgIFByb3RlY3QgYWdhaW5zdCBjb3JydXB0ZWQganBlZyBpbnB1dC4KCjIwMTAtMDktMDcgMTM6NTU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydmF3ZGVwYXk6IGNsZWFudXAgdW51c2VkIGZpZWxkcwoKMjAxMC0wOS0wNyAxMzo1MTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogaGFuZGxlIGludmFsaWQgcGF5bG9hZCBiZXR0ZXIKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgbW9yZSBkYXRhIHRoYW4gYXZhaWxhYmxlIGluIHRoZSBpbnB1dCBidWZmZXIuCgkgIENsaXAgdGhlIGlucHV0IGRhdGEgaW50byB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTAtMDgtMTYgMTU6MzU6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogYWxsb3cgc2V0dGluZyBzdHJlYW0gcHJvcGVydGllcwoJICBBZGQgYSAicHJvcGVydGllcyIgcHJvcGVydHkgdG8gdGhlIGVsZW1lbnRzIHRvIGFsbG93IHNldHRpbmcgZXh0cmEgc3RyZWFtCgkgIHByb3BlcnRpZXMuCgkgIEZpeGVzICM1Mzc1NDQKCjIwMTAtMDktMDcgMTI6MDg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogcmVtb3ZlIGludHJvc3BlY3Rpb24gaW5mbyBmb3IgZ2RrcGl4YnVmMyBwbHVnaW4gYW5kIHVwZGF0ZSB2ZXJzaW9uIGZvciBvdGhlcnMKCSAgVGhlIHZlcnNpb25zIGdvdCBhY2NpZGVudGFsbHkgcmV2ZXJ0ZWQgdG8gYSBwcmUtcmVsZWFzZSB2ZXJzaW9uLCBmaXggdGhhdC4KCjIwMTAtMDktMDcgMTE6NDI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjMmUxMGJmIHRvIGFhMGQxZDAKCjIwMTAtMDktMDcgMDk6MjA6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICBjbW1sZGVjOiBmaXggZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgRml4IGJ1Z2d5IEdTVF9GTE9XX0lTX0ZBVEFMIHN1YnN0aXR1dGlvbiwgYW5kICdtYWtlIGNoZWNrJzoKCSAgLSAgaWYgKCFHU1RfRkxPV19JU19GQVRBTCAoZGVjLT5mbG93X3JldHVybikgJiYgIWRlYy0+c2VudF9yb290KSB7CgkgICsgIGlmIChkZWMtPmZsb3dfcmV0dXJuICE9IEdTVF9GTE9XX09LICYmICFkZWMtPnNlbnRfcm9vdCkgewoKMjAxMC0wOS0wNyAwMDoyNzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGZyZWUgdGhlIGNvbnRleHQgbXVsdGlwbGUgdGltZXMKCSAgQXBwYXJlbnRseSB0aGUgY2xvc2UgZnVuY3Rpb24gb2YgdGhlIHJpbmctYnVmZmVyIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDEwLTA4LTEyIDEyOjMzOjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGdyYWIgdGhlIHNhbXBsaW5nIGFydGUgYW5kIHB1dCBpbnRvIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBtdXggdGhlIHJlY2VpdmVkIGF1ZGlvIGludG8gbXA0IChpbiB0aGUgY2FzZSBvZgoJICBhYWMpLiBGaXhlcyAjNjI1ODI1LgoKMjAxMC0wOS0wNiAxNDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IG1hcmsgY29uc3RhbnQgdGFibGVzIGFzIGNvbnN0CgoyMDEwLTA4LTE4IDE0OjQwOjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgIHJ0cGFtcnBheTogcHJvcGVybHkgc3VwcG9ydCBwZXJmZWN0LXJ0cHRpbWUKCjIwMTAtMDgtMTggMTE6NDI6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1ycGF5OiBwcm9wZXIgZHVyYXRpb24gZm9yIG11bHRpcGxlIGZyYW1lIHBheWxvYWQKCjIwMTAtMDgtMTggMTE6NDI6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXIoZGUpcGF5OiBzdXBwb3J0IEFNUi1XQiBTSUQgZnJhbWUKCjIwMTAtMDgtMTggMTE6Mzk6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBwcm9wZXJseSBzdXBwb3J0IHBlcmZlY3QtcnRwdGltZQoKMjAxMC0wOC0xNiAxNjowODowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZnJhbWVyYXRlIGRldGVybWluaW5nCgkgIENvbGxlY3QgYSBsaW1pdGVkIG51bWJlciBvZiBzdGFydGluZyBzYW1wbGUgZHVyYXRpb25zIGFuZCB1c2UgdGhlIG1lZGlhbiBvZgoJICB0aG9zZSB0byBkZXRlcm1pbmUgY2FwcyBmcmFtZXJhdGUuCgoyMDEwLTA4LTE3IDEyOjA4OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdHRlbXB0IG1vcmUgcmVzeW5jIHVwb24gKGNsdXN0ZXIpIHBhcnNlIGVycm9yCgkgIFRoYXQgaXMsIGlmIHBhcnNlIGVycm9yIG9jY3VycyBpbiBzdGF0ZSByZXF1aXJpbmcgdG8gbW92ZSB0byBuZXh0IGNsdXN0ZXIsCgkgIGFuZCBkb2luZyBzbyB0byB0aGUgZXhwZWN0ZWQgbmV4dCBwb3NpdGlvbiBvZiBjbHVzdGVyIGZhaWxzLCB0aGVuIHNjYW4gZm9yIGEKCSAgbmV4dCBjbHVzdGVyIGZyb20gcHJlc2VudCBwb3NpdGlvbiBhbmQgcmVzdW1lIGZyb20gdGhlcmUuCgkgIEZpeGVzICM2MjA3OTAuCgoyMDEwLTA4LTE2IDE2OjA1OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBub3Qgc28gZmF0YWwgZXJyb3IgaGFuZGxpbmcKCSAgSWYgc29tZSBiaXRzIG91dCBvZiBwbGFjZSBpbiBibG9jayhncm91cCkgcGFyc2luZywgZm9yZWdvIGFuZCBtb3ZlIHRvIG5leHQuCgkgIEFsc28gc2tpcCBsYXJnZSBibG9ja3MgaW4gcHVsbCBtb2RlLCBidXQgbmVlZCB0byBnaXZlIHVwIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgIzYyNjQ2My4KCSAgSW1wcm92ZXMgIzYyMDc5MC4KCjIwMTAtMDctMjYgMTU6NTE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIHBhcnNlIHJlY292ZXJ5CgkgIEluIHBhcnRpY3VsYXIsIHVwb24gcGFyc2UgZmFpbHVyZSBpbiBvbmUgY2x1c3Rlciwgd2UgbWF5IGZvcmVnbyByZW1haW5pbmcKCSAgY29udGVudCBhbmQgdHJ5IHJlc3VtaW5nIGZyb20gbmV4dCBjbHVzdGVyIG9ud2FyZHMuCgkgIEZpeGVzICM2MjA3OTAuCgoyMDEwLTA4LTI2IDAyOjU0OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBNYWtlIHRoZSBkdG1mc3JjIGFjY2VwdCBldmVudHMgc2VudCB3aXRoIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQKCSAgVGhlIGRvYyBzYXlzIHRvIHVzZSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50IG9uIHRoZSBwaXBlbGluZSwgYnV0IGlmCgkgIHdlIGFyZSB0byBjYWxsIGl0IG9uIHRoZSBlbGVtZW50IGl0c2VsZiwgaXQncyBhIG5vb3AuIFRoaXMgc2hvdWxkIG1ha2UgaXQKCSAgaGFuZGxlIHRoZSBldmVudCBwcm9wZXJseSBiZWZvcmUgZGVsZWdhdGluZyBpdCB0byBiYXNlc3JjLgoKMjAxMC0wOS0wNiAxMjoyMjoxMSArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB1ZHBzcmMgYnVmZmVyIHNpemUKCSAgQWRkIGEgbmV3IHVkcC1idWZmZXItc2l6ZSBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIGJ1ZmZlci1zaXplIG9uIHRoZSB1ZHBzcmMKCSAgZWxlbWVudHMuCgkgIEZpeGVzICM2MjgwNTgKCjIwMTAtMDgtMjcgMTc6NTg6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIG50cC1zeW5jIHByb3BlcnR5CgkgIEFkZCBhbiBudHAtc3luYyBwcm9wZXJ0eSB0aGF0IHdpbGwgc3luYyB0aGUgcmVjZWl2ZWQgc3RyZWFtcyB0byB0aGUgc2VydmVyCgkgIE5UUCB0aW1lLiBUaGlzIHJlcXVpcmVzIHN5bmNocm9uaXplZCBOVFAgdGltZXMgYmV0d2VlbiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlcnMsCgkgIGxpa2Ugd2l0aCBudHBkLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIFRoaWpzIFZlcm1laXIuCgkgIEZpeGVzICM2Mjc3OTYKCjIwMTAtMDgtMjcgMTI6MTQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW5hbWUgYSB2YXJpYWJsZSB0byBhdm9pZCBjb25mdXNpb24KCjIwMTAtMDgtMjcgMTE6MDc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGxlc3MgY29uZnVzaW9uCgoyMDEwLTA4LTI3IDEwOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBjb21tZW50IHdoZXJlIGl0IGJlbG9uZ3MKCjIwMTAtMDgtMjYgMTY6MDA6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1pbm9yIGNsZWFudXBzCgkgIE1ha2UgY2xvY2sgc25hcHNob3RzIG1vcmUgYWNjdXJhdGUgYnkgb25seSBzYW1wbGluZyB0aGUgc2FtZSBjbG9jayBvbmNlLgoKMjAxMC0wOC0yNiAxMDo1ODoyNiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgV2l0aCB0aGlzIHByb3BlcnR5IFJUQ1AgU1IgTlRQIHRpbWVzIGNhbiBiZSBiYXNlZAoJICBvbiB0aGUgc3lzdGVtIGNsb2NrIChtYXliZSBzeW5jZWQgd2l0aCBudHBkKSBvciB0aGUKCSAgY3VycmVudCBwaXBlbGluZSBjbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzc5NgoKMjAxMC0wOC0yNSAwOTo1ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgcnRzcGV4dDogc3RvcCBjb25maWd1cmF0aW9uIG9uIGZpcnN0IGZhaWx1cmUKCSAgU3RvcCB0aGUgY29uZmlndXJhdGlvbiBvZiBhIHN0cmVhbSBhcyBzb29uIGFzIHNvbWUgb2YgdGhlIGV4dGVuc2lvbnMgcmV0dXJuCgkgIEZBTFNFLgoJICBGaXhlcyAjNTgxMjk0CgoyMDEwLTA4LTIwIDE1OjM1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGlmZHNpbms6IHVzZSByZWZjb3VudCB0byBjb3VudCBob3N0L3BvcnQgZHVwbGljYXRlcwoJICBJbnN0ZWFkIG9mIGFkZGluZyBtdWx0aXBsZSBjbGllbnQgc3RydWN0dXJlcyBmb3IgdGhlIHNhbWUgaG9zdC9wb3J0IHBhaXIsIHVzZSBhCgkgIHJlZmNvdW50LgoJICBBZGQgYSBzZW5kLWR1cGxpY2F0ZXMgZmVhdHVyZSB0aGF0IGFsbG93cyB5b3UgdG8gZGlzYWJsZSBzZW5kaW5nIG11bHRpcGxlIGNvcGllcwoJICBvZiB0aGUgc2FtZSBwYWNrZXQgdG8gdGhlIHNhbWUgaG9zdCB3aGVuIGl0IHdhcyBhZGRlZCBtdWx0aXBsZSB0aW1lcy4gVGhlCgkgIHNlbmQtZHVwbGljYXRlcyBwcm9wZXJ0eSBpcyBieSBkZWZhdWx0IHNldCB0byBUUlVFIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBhbHRob3VnaCBpdCBpcyB2ZXJ5IGxpa2VseSB0aGF0IHRoaXMgaXMgbm90IGRlc2lyZWQgYmVoYXZpb3VyLgoKMjAxMC0wOC0xOSAxNzowNjoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wbGVtZW50IGN1c3RvbSBldmVudCBoYW5kbGVyCgkgIEV4dGVuZCB0aGUgX3B1c2hfZXZlbnQoKSBmdW5jdGlvbiBzbyB0aGF0IGl0IGNhbiBhbHNvIHNlbmQgZXZlbnRzIHRvIHRoZSB1ZHAKCSAgc291cmNlcyB3aGVuIGFza2VkLgoJICBJbXBsZW1lbnQgYSBjdXN0dW0gc2VuZF9ldmVudCBmdW5jdGlvbiB0aGF0IGNvcnJlY3RseSBkaXNwYXRjaGVzIHRoZSBkb3duc3RyZWFtCgkgIGV2ZW50cyBpbiBUQ1AgbW9kZS4gVGhpcyBmaXhlcyBzZW5kaW5nIEVPUyB0byBydHNwc3JjIGFuZCBoYXZlIGl0IHB1c2ggdGhlIEVPUwoJICBkb3duc3RyZWFtLgoKMjAxMC0wOC0xOSAxMTozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogdXNlIF9nZXRfY2Fwc19yZWZmZWQoKSB3aGVuIHdlIGNhbgoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCgpCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgd2hlbiBvcGVuaW5nIHRoZSBzZXJ2ZXIgY29ubmVjdGlvbi4KCjIwMTAtMDgtMTYgMTE6Mjk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBqcGVnZGVwYXk6IGhhbmRsZSBESVNDT05UIGFuZCByZXNldCBzdGF0ZQoJICBQdXQgYSBESVNDT05UIGV2ZW50IG9uIHRoZSBuZXh0IG91dHB1dCBidWZmZXIgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhZCBhCgkgIERJU0NPTlQuCgkgIE1ha2Ugc3VyZSB3ZSBjbGVhciBvdXIgYWRhcHRlciBhbmQgcmVzZXQgb3VyIHN0YXRlIGJlZm9yZSBnb2luZyB0byBQQVVTRUQuCgkgIEZyZWUgdGhlIHF0YWJsZXMuCgkgIEZpeGVzICM2MjY4NjkKCjIwMTAtMDgtMTYgMTE6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgZzcyOXBheTogZXh0ZW5kIGZyb20gcmlnaHQgcGFyZW50CgoyMDEwLTA5LTA2IDA5OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIHNpbmNlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0eS4KCjIwMTAtMDgtMzAgMTY6NDU6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0xNiAxNzoyMzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlbWl4ZXI6IGFkZCBhIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gdXNlIHRoZSBjaGlsZCBwcm9wZXJ0aWVzCgkgIFNob3cgaG93IHRvIHBvc2l0aW9uIGFuZCBzZXQgdGhlIGFscGhvIG9mIHRoZSB2aWRlb3Mgb24gZ3N0LWxhdW5jaC4KCjIwMTAtMDgtMTYgMTU6MTk6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogbW92ZSB0aGUgcHJvcGVydHktc2V0dGVyIHRvIHRoZSBnZXR0ZXIuCgoyMDEwLTA4LTExIDE1OjQ4OjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW0gb25seSBhZ2dyZWdhdGUgbWFnbml0dWRlL3BoYXNlIGlmIHVzZXIgYXNrcyBmb3IgaXQKCjIwMTAtMDgtMTEgMTU6NDU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwZXJmb3JtYW5jZSB3aXRoIGxvY2FsIHZhcnMKCSAgVXNlICdpbnB1dCcgaW5zdGVhZCBvZiAnc3BlY3RydW0tPmlucHV0JyB3aGljaCB3YXMgaW50ZW5kZSBhbHJlYWR5ICh2YXJpYWJsZQoJICBleGlzdHMsIGJ1dCBub3QgdXNlZCBldmVyeXdoZXJlKS4gQWxzbyB1c2UgYSBsb2NhbCB2ZXJzaW9uIG9mCgkgICdzcGVjdHJ1bS0+aW5wdXRfcG9zJy4KCjIwMTAtMDgtMTEgMTU6NDQ6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwCgkgIE1vcmUgY29tbWVudHMgYW5kIGxvZ2dpbmcuIEV4dHJhY3Qgb25lIGNvbXBsZXggY29uZGl0aW9uIHRvIGEgdmFyaWFibGUuIFJlb3JkZXIKCSAgc29tZSBjb2RlIGZvciByZWFkYWJpbGl0eS4KCjIwMTAtMDgtMTEgMTU6NDA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwcm9wZXJ0eSBzZXR0ZXIKCSAgY29uc2lzdGVudGx5IG9ubHkgdXBkYXRlIGlmIHRoZSBwcm9wZXJ0eSBhY3R1YWx5IGNoYW5nZWQgdGhlIHZhbHVlLiBEbyBpdAoJICB3aXRob3V0IHJlYWRpbmcgdGhlIGd2YWx1ZSB0d2ljZS4gTm8gbmVlZCB0byByZXNldCB0aGUgc3BlY3RydW0gYW5hbHl6ZXIgZm9yCgkgIHRocmVzaG9sZCBjaGFuZ2VzLgoKMjAxMC0wOC0xMSAxNTozODoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhZGQgaGVscGVyIHRvIG9ubHkgZmx1c2ggcmluZ2J1ZmZlciBkYXRhIHdpdGhvdXQgcmVzZXR0aW5nIHRoZSBmZnQKCSAgUmVkdWNlcyBzb21lIGR1cGxpY2F0ZWQgY29kZSBhcyB3ZWxsLgoKMjAxMC0wOC0xMSAxMjo0NTo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cwoKMjAxMC0wOS0wNSAyMjoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvY3VtZW50IG1ldGhvZHMgd2l0aCBiYWQgcXVhbGl0eQoKMjAxMC0wOS0wNSAyMjoxOTo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IGluaXRpYWxpemUgYWxsIGRlaW50ZXJsYWNlIGNsYXNzIG1lbWJlcnMKCSAgVGhpcyBmaXhlcyBVWVZZIGRlaW50ZXJsYWNpbmcuCgoyMDEwLTA5LTA1IDE4OjU4OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDE4OjQ1OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IG9yY19pbml0KCkgZG9lc24ndCBuZWVkIHRvIGJlIGNhbGxlZAoJICBUaGVyZSdzIG5vIG5lZWQgdG8gY2FsbCBvcmNfaW5pdCgpIHVubGVzcyB5b3UncmUgdXNpbmcgdGhlIE9yYwoJICBBUEkgZGlyZWN0bHkuICBBbGwgY29kZSBjcmVhdGVkIGJ5IG9yY2MgaXMgZ3VhcmFudGVlZCB0byB3b3JrCgkgIHdpdGhvdXQgY2FsbGluZyBvcmNfaW5pdCgpLgoKMjAxMC0wOS0wNSAxODo0MDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZ3JlZWR5bCBPcmMgaW1wbGVtZW50YXRpb24KCSAgVG8gYWdyZWUgd2l0aCB0aGUgcHJldmlvdXMgQy9hc20gY29kZS4KCjIwMTAtMDktMDUgMjI6MzE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZhaWwgd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUKCSAgRG8gbm90IGZvcmdldCB0byByZXR1cm4gZmFsc2Ugd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUuCgoyMDEwLTA5LTA1IDIwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgaW5pdCBvcmMgaWYgaXQgaXMgYXZhaWxhYmxlCgkgIFB1dCBzb21lIGlmZGVmIGFyb3VuZCBvcmNfaW5pdCB0byBwcmV2ZW50IGJ1aWxkIGVycm9ycwoKMjAxMC0wOS0wNSAxMjoxNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNCAxMjo0NjozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkgIGRlaW50ZXJsYWNlOiBVcGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAwOS0wNi0yOSAxMTo0MzowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGRlY2ltYXRlIHByb3BlcnR5CgoyMDEwLTA2LTA0IDEyOjA5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSAgZHZkZW11eDogUGFyc2UgU01QVEUgdGltZSBjb2RlcwoKMjAxMC0wOC0yMyAwMjo1MDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgYXNzZW1ibHkgY29kZSBpbiBmYXZvciBvZiBvcmMKCjIwMTAtMDYtMDggMTQ6NTQ6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBpbXBsZW1lbnQgZ3JlZWR5IGluIE9yYwoKMjAxMC0wOS0wNCAxMTo0MzoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB1cGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAxMC0wOS0wMiAxNDozNDo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogRml4IGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgaXMgbm8gZWZmZWN0IGJ1dCBhIGNvbnZlcnRlci4gRml4ZXMgYnVnICM2Mjg2MDguCgoyMDEwLTA5LTAyIDExOjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGFkZCB0byB0aGUgZG9jcwoKMjAxMC0wNy0yNiAxNjowNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdmlkZW9taXhlcjIgZWxlbWVudAoJICBUaGlzIGlzIGJhc2VkIG9uIGNvbGxlY3RwYWRzMiBhbmQgaXMgc3luY2hyb25pemluZwoJICBhbGwgc3RyZWFtcyBiYXNlZCBvbiB0aGUgcnVubmluZyB0aW1lLgoJICBOZXcgZmVhdHVyZXMgY29tcGFyZWQgdG8gb2xkIHZpZGVvbWl4ZXI6CgkgICogU3luY2hyb25pemluZyBmcmFtZXMgb24gdGhlIHJ1bm5pbmcgdGltZQoJICAqIEltcHJvdmVkIGFuZCBzaW1wbGlmaWVkIG5lZ290aWF0aW9uCgkgICogRnVsbCBRb1Mgc3VwcG9ydAoJICAqIFZhcmlhYmxlIGZyYW1lcmF0ZSBzdXBwb3J0CgkgIEZpeGVzIGJ1ZyAjNjI2MDQ4LCAjNjI0OTA1LgoKMjAxMC0wOS0wMSAxMToxMTozNCArMDIwMCAgUGF2ZWwgS29zdHl1Y2hlbmtvIDxzaHByb3R4QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZWxheCBwYXJzaW5nIG9mIGRhdGUgdGFncwoJICBCZWZvcmUgd2UgcmVxdWlyZWQgYSBjb21wbGV0ZSBkYXRlIGluIG1hdHJvc2thZGVtdXggYnV0IGluCgkgIGlkM2RlbXV4IGZvciBleGFtcGxlIG9ubHkgdGhlIHllYXIgb3IgeWVhciBhbmQgbW9udGggd2FzIHBvc3NpYmxlIHRvby4KCSAgRml4ZXMgYnVnICM2Mjg0NTQuCgoyMDEwLTA4LTMwIDE5OjAzOjUyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogVXNlIEdzdEJhc2VTcmM6OmJsb2NrLXNpemUgYXMgZmFsbGJhY2sgc2l6ZQoKMjAxMC0wOC0zMCAxODozNjo1NCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRml4IHVzaW5nIG1wZWd0cyB2aWEgdGhlIG1tYXAgaW50ZXJmYWNlCgkgIE1QRUcgZG9lc24ndCBoYXZlIGEgc3RhdGljIHNpemUgcGVyIGZyYW1lLCBzbyBkb24ndCBwcmV0ZW5kIGl0IGhhcyBvbmUKCSAgYW5kIGZhaWwgd2hlbiBjYXB0dXJpbmcgYmVjYXVzZSBpdCBkb2Vzbid0IG1hdGNoLiBJbnN0ZWFkIG1hcmsgdGhlIHNpemUKCSAgYXMgdW5rbm93biBhbmQgbGV0IHRoZSByZWFkIGZyYW1lIGdyYWJiaW5nIG1ldGhvZCB1c2UgYSByZWFzb25hYmxlIGZhbGxiYWNrCgkgIHZhbHVlIChhc3N1bWluZyB0aGF0J3Mgb25seSBmb3IgYWN0dWFsIHN0cmVhbWluZyBmb3JtYXRzKQoJICBGaXhlcyBidWcgIzYyODM0OS4KCjIwMTAtMDgtMjcgMTg6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MTM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGRvd25zdHJlYW0gcmV0dXJucyBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODowNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkIGJlY2F1c2UKCSAgb2YgVU5FWFBFQ1RFRCwgd2hpY2ggb25seSBtZWFucyB0aGF0IGRvd25zdHJlYW0gd2FudHMgdXMgdG8gRU9TIG5vdy4KCjIwMTAtMDgtMjcgMTg6MDI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmMvZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgcHJvcGVybHkgaGFuZGxlIFVORVhQRUNURUQgYW5kIFdST05HX1NUQVRFLgoKMjAxMC0wOC0yNyAxNzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGRlYy9lbmM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBhcyBhIHJlc3VsdCwgZG9uJ3QgaWdub3JlIFdST05HX1NUQVRFIGFuZCBOT1RfTElOS0VELgoJICBCb3RoIG1lYW4gdGhhdCBpdCdzIGEgZ29vZCBpZGVhIHRvIHBhc3MgdGhlbSB1cHN0cmVhbSBpbnN0ZWFkCgkgIG9mIHByZXRlbmRpbmcgdGhhdCBldmVyeXRoaW5nIGlzIGdvb2QuCgoyMDEwLTA4LTI3IDE3OjQ3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKSBhbmQgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE3OjM5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6Mzc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM1OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvY3VtZW50IHdoeSB3cm9uZy1zdGF0ZSBkb2Vzbid0IG5lZWQgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMTAtMDgtMjYgMTM6NDQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZhaWwgZ3JhY2VmdWxseSBpZiBubyB0aHJlYWRlZCBQQSBtYWlubG9vcCBjYW4gYmUgY3JlYXRlZAoJICBGaXhlcyBidWcgIzYyODAyMC4KCjIwMTAtMDgtMjQgMTU6MTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBkaXN0ZWQgT1JDIGZpbGVzCgoyMDEwLTA4LTIzIDE1OjQ0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT3B0aW1pemUgQVJHQiBibGVuZGluZyBhbmQgaW1wbGVtZW50IEJHUkEgYmxlbmRpbmcgd2l0aCBvcmMKCSAgVGhpcyBub3cgbWVhbnMsIHRoYXQgd2UgaGF2ZSBhYnNvbHV0ZWx5IG5vIGhhbmR3cml0dGVuIGFzc2VtYmx5IGFueW1vcmUKCSAgaW4gdmlkZW9taXhlciBhbmQgaXQncyBhbHNvIGZhc3RlciBub3cgd2hlbiB1c2luZyBTU0UuCgoyMDEwLTA4LTIyIDAxOjU4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCjIwMTAtMDgtMjIgMDE6NTQ6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgdmlkZW9taXhlcjogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEwLTA4LTIwIDExOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgY2hlY2tpbmcgaWYgaW1hZ2VmcmVlemUgY29ycmVjdGx5IHJldHVybnMgVU5FWFBFQ1RFRCBhZnRlciB0aGUgZmlyc3QgYnVmZmVyCgoyMDEwLTA4LTIwIDExOjM4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgYnVmZmVyYWxsb2MgcGFzc3Rocm91Z2gKCjIwMTAtMDgtMjAgMTA6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEZpeCByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIHVuaXQgdGVzdAoJICBJZiBzZXR0aW5nIHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGJlZm9yZSBpc3N1aW5nIHRoZSBzZWVrLCBidWZmZXJzCgkgIGFyZSBhbHJlYWR5IGFycml2aW5nIGF0IHRoZSBzaW5rIGJlZm9yZSB0aGUgc2VlayBpcyBoYW5kbGVkIGFuZAoJICB3aWxsIGhhdmUgdGhlIHdyb25nIHRpbWVzdGFtcHMgYW5kIGV2ZXJ5dGhpbmcuCgkgIEZpeGVzIGJ1ZyAjNjI1NTQ3LgoKMjAxMC0wOC0yMCAxMDozNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBGaXggYW5vdGhlciBzdWJ0bGUgcmFjZSBjb25kaXRpb24gcmVsYXRlZCB0byBzdGFydGluZyB0aGUgc3JjcGFkIHRhc2sKCSAgRHVlIHRvIGEgc2VlayB0aGUgc3JjcGFkIHRhc2sgY291bGQgYmUgc3RhcnRlZCBpbiByYXJlIGNpcmN1bXN0YW5jZXMgYWx0aG91Z2gKCSAgaXQgc2hvdWxkbid0IGJlIHN0YXJ0ZWQgYW55bW9yZSBiZWNhdXNlIG5vIHVwc3RyZWFtIGJ1ZmZlciBpcyBhdmFpbGFibGUuCgoyMDEwLTA4LTIwIDEwOjI0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IFByb3RlY3QgdGhlIGZsdXNoaW5nLXNlZWsgdmFyaWFibGUgYnkgdGhlIHNyY3BhZCdzIHN0cmVhbSBsb2NrCgkgIFRoaXMgZml4ZXMgYSBzdWJ0bGUgcmFjZSBjb25kaXRpb24sIHRoYXQgY2F1c2VkIGJ1ZmZlcmFsbG9jIHRvIGZhaWwKCSAgd2l0aCB3cm9uZy1zdGF0ZSBkdWUgdG8gYSBzZWVrIGJ1dCBjYXVzZWQgaXQgdG8gYmUgbm90IHJldHJpZWQgYXMKCSAgaXQgc2hvdWxkLgoKMjAxMC0wOC0yMCAwOToxNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFsd2F5cyBnZW5lcmF0ZSBhIHBlcmZlY3RseSB0aW1lc3RhbXBlZCBzdHJlYW0KCSAgQmVmb3JlIHRoZXJlIGNvdWxkIGJlIHJvdW5kaW5nIGVycm9ycyB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiwKCSAgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCArIGR1cmF0aW9uIGJlaW5nIHNtYWxsZXIgdGhhbiB0aGUgbmV4dCBidWZmZXIncwoJICB0aW1lc3RhbXAuCgoyMDEwLTA4LTE5IDE4OjM4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IGluY2x1ZGUgdGhlIHNlcnZlciBuYW1lIGluIHRoZSBjb250ZXh0IG5hbWUgaWYgaXQncyBub3QgTlVMTAoKMjAxMC0wOC0xOCAxNjozNzo0MSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEFkZCAiY2xpZW50IiBwcm9wZXJ0eSB0byBzZXQgdGhlIFBBIGNsaWVudCBuYW1lCgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBjbGllbnQgbmFtZSB1c2VkIHRvIGNvbm5lY3Qgd2hlbgoJICBjb25uZWN0aW5nIHRvIHRoZSBQdWxzZUF1ZGlvIGRhZW1vbi4gTm90ZSBob3dldmVyIHRoYXQgdXBkYXRpbmcgdGhlCgkgIHByb3BlcnR5IGFmdGVyIHRoZSBlbGVtZW50IHJlYWNoZWQgdGhlIFJFQURZIHN0YXRlIHdpbGwgaGF2ZSBubwoJICBlZmZlY3QgdW50aWwgdGhlIG5leHQgTlVMTC0+UkVBRFkgdHJhbnNpdGlvbi4KCSAgRml4ZXMgYnVnICM2MjcxNzQuCgoyMDEwLTA4LTE5IDE3OjU5OjA5ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzCgkgIEJlZm9yZSB0aGV5IGNvbnRhaW5lZCB0aGUgVVJMIGJlZm9yZSB0aGUgYWN0dWFsIGZhaWx1cmUuIFRoZSBvdGhlcgoJICB3YXkgYXJvdW5kIG1ha2VzIG1vcmUgc2Vuc2UgYW5kIHdlIGRvIHRoZSBzYW1lIGluIG90aGVyIGVsZW1lbnRzCgkgIGxpa2UgZmlsZXNyYy4KCSAgRml4ZXMgYnVnICM2MjcyODkuCgoyMDEwLTA4LTE5IDEyOjQ2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIHRoZSBjbG9jayBvbiBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMgdG9vCgoyMDEwLTA4LTE3IDE2OjI2OjQxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcHVsc2V1dGlsOiBpbmNsdWRlIHBpZCB2YWx1ZSBpbiBnc3RfcHVsc2VfY2xpZW50X25hbWUoKSBmYWxsYmFjayByZXR1cm4gdmFsdWUKCSAgRml4ZXMgYnVnICM2MjcxNjIKCjIwMTAtMDgtMTkgMTI6MzI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgdGhlIEdzdFB1bHNlQ29udGV4dCBhZnRlciB1c2FnZQoKMjAxMC0wOC0xNiAwOToxMjowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzaGFyZSB0aGUgUEEgY29udGV4dCBiZXR3ZWVuIGFsbCBjbGllbnRzIHdpdGggdGhlIHNhbWUgbmFtZQoJICBBdm9pZCB0byBjcmVhdGUgYSBuZXcgUEEgY29udGV4dCBmb3IgZWFjaCBuZXcgY2xpZW50IGJ5IHVzaW5nIGEgaGFzaAoJICB0YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHJpbmctYnVmZmVycyBhbmQgdGhlIHNoYXJlZCBQQSBjb250ZXh0CgkgIGZvciBlYWNoIGNsaWVudC4gRG9pbmcgdGhpcyB3aWxsIGltcHJvdmUgYXBwbGljYXRpb24gbWVtb3J5IHVzYWdlIGluCgkgIHRoZSBjYXNlcyB3aGVyZSBtdWx0aXBsZSBwaXBlbGluZXMgaW52b2x2aW5nIG11bHRpcGxlIHB1bHNlc2luawoJICBlbGVtZW50cyBhcmUgdXNlZC4KCSAgRml4ZXMgYnVnICM2MjQzMzguCgoyMDEwLTA4LTE3IDEzOjQxOjQ5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhciB0aGUgUEEgbWFpbmxvb3AgaWYgYmFzZWF1ZGlvc2luayBmYWlsZWQgdG8gb3BlbiB0aGUgcmluZ19idWZmZXIKCSAgSWYgdGhlIGFwcGxpY2F0aW9uIHJlcXVlc3RzIGEgc3RhdGUtY2hhbmdlIGFuZCBwdWxzZXNpbmsgZmFpbHMgdG8gb3BlbgoJICB0aGUgcmluZ19idWZmZXIgZGV2aWNlIHRoZSBtYWlubG9vcCBhdHRyaWJ1dGUgb2YgdGhlIHNpbmsgc2hvdWxkIGJlCgkgIGNsZWFuZWQgdXAgdG8gYXZvaWQgZnV0dXJlIHN0YXRlLWNoYW5nZSAoTlVMTC0+UkVBRFkpIGZhaWx1cmVzLgoKMjAxMC0wOC0xOSAxMjoyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBFT1MgaGFwcGVucyBiZWZvcmUgdmFsaWQgaW5wdXQgaXMgZm91bmQKCSAgRml4ZXMgYnVnICM2MjczNDEuCgoyMDEwLTA4LTEyIDExOjQ5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogU2VuZCBjbG9zZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTAtMDgtMTEgMTE6MzY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogUmV0cnkgYnVmZmVyYWxsb2MgaWYgaXQgd2FzIGFib3J0ZWQgd2l0aCBXUk9OR19TVEFURSBiZWNhdXNlIG9mIGEgZmx1c2hpbmcgc2VlawoKMjAxMC0wOC0xMSAwODo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoZW4gZ2V0dGluZyBhIHNlY29uZCBidWZmZXIKCSAgVGhpcyBwcmV2ZW50cyB1cHN0cmVhbSBmcm9tIHB1c2hpbmcgbWFueSB1c2VsZXNzIGJ1ZmZlcnMgYW5kIG1ha2VzCgkgIGl0IGdvIGludG8gRU9TIHN0YXRlLgoKMjAxMC0wOC0xMCAyMDoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFBhc3N0aHJvdWdoIGJ1ZmZlciBhbGxvY2F0aW9ucwoKMjAxMC0wOS0wNCAxMzoxMDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKPT09IHJlbGVhc2UgMC4xMC4yNSA9PT0KCjIwMTAtMDktMDIgMjM6NDQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjUKCjIwMTAtMDktMDIgMjM6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVsZWFzZQoKMjAxMC0wOS0wMiAyMzowNzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2x0LnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOC0yNSAxOTowMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMjIgMjE6MTU6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2Ugc2VwYXJhdGUgYnVmZmVyIG1ldGFkYXRhIGZvciBmaWVsZHMKCSAgQ2FsbCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBvbiBidWZmZXJzIHRoYXQgYXJlCgkgIGR1cGxpY2F0ZWQgaW50byBmaWVsZHMuICBGaXhlcyAjNjI3Njg5LgoKMjAxMC0wOC0yMSAyMTo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTkgMTg6MzA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBQcmV2ZW50IGNyYXNoIHdoZW4gcmVhZGluZyBpbWFnZSB3aXRoIHByb2JsZW1zCgkgIENoZWNrIGlmIHdlIGhhdmUgZGF0YSBvbiB0aGUgYWRhcHRlciBhbmQgZmFpbCBpZiBub3QuCgkgIEZpeGVzICM2Mjc0MTMKCjIwMTAtMDgtMTMgMTc6MjQ6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjIwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2VuZCBjbG9zZSBzZWdtZW50cyB3aGVuIHNlZWtpbmcgb25seSBmb3Igbm9uLWZsdXNoaW5nIHNlZWtzIGFuZCBpZiB3ZSBhbHJlYWR5IHNlbnQgYSBuZXdzZWdtZW50IGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjI2NjE5LgoKMjAxMC0wOC0xMSAxNjo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSAgMC4xMC4yNC4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDExOjE3OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCByZWFkaW5nIHBhc3QgYXZjMSBhdG9tIHdoZW4gcGFyc2luZwoJICAuLi4gd2hlbiBvbmUgb2YgdGhlIHN1YmF0b21zIGhhcyBhIGxhcmdlL2ludmFsaWQgc2l6ZS4KCSAgRml4ZXMgIzYyNjYwOS4KCjIwMTAtMDgtMTAgMjM6Mzc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjQuMiBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMCAxMDo1Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAwMDozNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBmaXggcHJpbnRmIGZvcm1hdCBpbiBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcwoKMjAxMC0wOC0wOCAyMzozMTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBzZXQgcGx1Z2luc2RpciB0byB0b3AtbGV2ZWwgYnVpbGRkaXIgd2l0aG91dCB0aGUgcGtnY29uZmlnLy4uIGJpdHMKCSAgUmVtb3ZlcyBjbHV0dGVyIGluIHBsdWdpbiBkaXIgcGF0aHMuIFRoaXMgaXMgb25seSB1c2VkIHRvIGZpbmQgdGhlIC1nb29kCgkgIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMgb2YgdWdseS9iYWQvZmZtcGVnL2V0Yy4gaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuCgoyMDEwLTA4LTA2IDIwOjA0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYWxzbyBsb2cgcGl4ZWwgZm9ybWF0cyBpbiBzb3J0ZWQgb3JkZXIKCjIwMTAtMDgtMDYgMTg6MDc6NDYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzb3J0IGZvcm1hdHMgaW4gdGhlIHJpZ2h0IG9yZGVyIHNvIHRoYXQgbm9uLWVtdWxhdGVkIGZvcm1hdHMgYXJlIHByZWZlcmVkCgkgIFRoZSBmb3JtYXQgbGlzdCBzaG91bGQgYmUgc29ydGVkIGZyb20gaGlnaCByYW5rcyB0byBsb3cgcmFua3MuIEluIHRoZSBHU0xpc3QKCSAgc29ydGluZyBmdW5jdGlvbiB0aGlzIG1lYW5zIHRoZSBjb21wYXJlIG5lZWRzIHRvIHJldHVybiBhIHBvc2l0aXZlIHZhbHVlIGlmCgkgIGZvcm1hdCBhIGhhcyBhIGxvd2VyIHJhbmsgdGhhbiBmb3JtYXQgYi4KCSAgQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgZml4ZXMgdjRsMnNyYyB0byBwcmVmZXIgbm9uLWVtdWxhdGVkIGZvcm1hdHMKCSAgdG8gZW11bGF0ZWQgZm9ybWF0cyB3aGVuIGJ1aWx0IGFnYWluc3QgbGlidjRsLgoKMjAxMC0wOC0wNiAxOToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBwaXBlbGluZSBpbiB0aGUgZG9jdW1lbnRhdGlvbgoJICBNYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIHRoZSBzYW1lIGNvbG9yIGZvcm1hdCBvbiBhbGwgc3RyZWFtcywgaS5lLiBBWVVWCgkgIEZpeGVzIGJ1ZyAjNjI1NDUyLgoKMjAxMC0wOC0wNSAxMzo1Njo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNTE5NTcxIHRvIGJkMjA1NGIKCjIwMTAtMDYtMTQgMTk6NTg6MTEgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIGJlYXRzLXBlci1taW51dGUgdGFnIHVzaW5nIFRCUE0gZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMAoKMjAxMC0wNy0yNSAxMTo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogTW92ZSBkZWJ1ZyBjYXRlZ29yaWVzIGludG8gdGhlIHNvdXJjZSBmaWxlcyBhbmQgYWRkIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYmxlbmQgZnVuY3Rpb25zCgoyMDEwLTA4LTA0IDE5OjI1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA3LTE1IDEwOjEwOjMxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSBHX1RZUEVfREVGSU5FIHRvIGRlZmluZSByaW5nIGJ1ZmZlciB0eXBlCgkgIFRoZSBleGlzdGluZyBnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uIGlzIHJhY3ksIGFuZCB0aGUKCSAgZ190eXBlX2NsYXNzX3JlZigpIHdvcmthcm91bmQgZGlkbid0IGFjdHVhbGx5IHdvcmsgYmVjYXVzZQoJICBpdCB3YXMgaW4gdGhlIHdyb25nIGZ1bmN0aW9uLiBTaW5jZSBjbGFzcyBjcmVhdGlvbiBpbiBHT2JqZWN0CgkgIGlzIHRocmVhZC1zYWZlIHRoZXNlIGRheXMgKHNpbmNlIDIuMTYpLCB0aGUgY2xhc3NfcmVmIHdvcmthcm91bmQKCSAgaXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgaXQgaXMgc3VmZmljaWVudCB0byBlbnN1cmUgdGhlIF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9uIGlzIHRocmVhZC1zYWZlLCB3aGljaCBHX1RZUEVfREVGSU5FIGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMzgKCjIwMTAtMDgtMDQgMTU6MjA6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgQ0xPQ0stTE9TVC9DTE9DSy1QUk9WSURFIHdoZW4gZ29pbmcgdG8vZnJvbSBSRUFEWQoJICBPdGhlcndpc2UgdGhlIGNsb2NrcyBhcmUgcmVkaXN0cmlidXRlZCBldmVyeSB0aW1lIHRoZSBwaXBlbGluZQoJICBnb2VzIHRvIFBBVVNFRCwgd2hpY2ggaXMgcXVpdGUgZXhwZW5zaXZlLgoKMjAxMC0wNy0xMiAxMjozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgcnRwbXA0Z3BheTogaW1wbGVtZW50IHBlcmZlY3QgdGltZXN0YW1wcwoJICBVc2UgYml0cmVhZGVyIGZvciBwYXJzaW5nIHRoZSBjb25maWcgc3RyaW5nCgkgIFJlc2V0IHN0YXRlIHZhcmlhYmxlcyB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFBhcnNlIGZyYW1lIGxlbmd0aCBhbmQgdXNlIGl0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHJ0cHRpbWVzdGFtcHMKCjIwMTAtMDctMDkgMTQ6MDc6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogYWxsb3cgbW9yZSBjbG9jay1yYXRlcyBhcyBpbnB1dAoJICBBbHRob3VnaCB0aGUgc3BlYyBzYXlzIHRoYXQgdGhlIGNsb2NrLXJhdGUgc2hvdWxkIGFsd2F5cyBiZSA5MDAwMCwgc29tZSBydHNwCgkgIHNlcnZlcnMgc2VuZCBkaWZmZXJlbnQgY2xvY2stcmF0ZXMgc28gd2UgbXVzdCBhY2NlcHQgdGhlbiBpbiBvcmRlciB0byBoYW5kbGUKCSAgdGhvc2Ugc3RyZWFtcyB0b28uCgoyMDEwLTA3LTA2IDE5OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICBMMTZkZXBheTogZGVmYXVsdCB0byAxIGNoYW5uZWwKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGFueSBjaGFubmVsIG9yIGVuY29kaW5nLXBhcmFtcyBvbiB0aGUgY2FwcyBmb3IgZHluYW1pYwoJICBwYXlsb2FkIHR5cGVzLCBzZXQgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDEsIGFzIHRoZSBzcGVjIHNheXMgd2UKCSAgc2hvdWxkLgoJICBTZWUgIzYyMzIwOQoKMjAxMC0wNy0wNiAxODoyMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcmV1c2UgdWRwIHNvY2tldHMKCSAgRG9uJ3QgcmV1c2Ugc29ja2V0cyBidXQgbWFrZSB0aGUgdWRwc3JjIGVsZW1lbnQgZmFpbCB0aGUgc3RhdGUgY2hhbmdlIHdoZW4gdGhlCgkgIHNvY2tldCBpcyBhbHJlYWR5IGluIHVzZS4gSWYgd2UgZG9uJ3QgcHJldmVudCByZXVzZSwgd2UgbWlnaHQgZW5kIHVwIHVzaW5nIHRoZSBzYW1lCgkgIHBvcnQgZm9yIGRpZmZlcmVudCBzdHJlYW1zIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM2MjIwMTcKCjIwMTAtMDctMDYgMTg6MTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGFkZCBwcm9wZXJ0eSB0byBlbmFibGUgcG9ydCByZXVzZQoKMjAxMC0wNy0wNSAxMDoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgTDE2ZGVwYXk6IHVzZSBlbmNvZGluZy1wYXJhbXMgZm9yIHRoZSBjaGFubmVscwoJICBXaGVuIHBhcnNpbmcgdGhlIG51bWJlciBvZiBjaGFubmVscywgdXNlIHRoZSBlbmNvZGluZy1wYXJhbXMgcHJvcGVydHkgZnJvbSB0aGUKCSAgUlRQIGNhcHMgYmVjYXVzZSB0aGF0IGlzIHdoZXJlIHdlIGNhbiBmaW5kIHRoZSBjaGFubmVscyBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuCgkgIEZhbGwgYmFjayB0byB0aGUgY2hhbm5lbHMgcHJvcGVydHkgaW4gdGhlIGNhcHMgd2hlbiBuZWVkZWQuCgkgIEZpeGVzICM2MjMyMDkKCjIwMTAtMDYtMjkgMTA6NDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgZXJyb3IgYW5kIHdhcm5pbmcgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIGFuZCB3YXJuaW5nIG1lc3NhZ2UuCgkgIEZpeGVzICM2MjI1NzcKCjIwMTAtMDgtMDIgMjM6MTU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBubyBuZWVkIHRvIHNldCB0aGUgY29sb3IgZm9yIGVhY2ggZnJxLWJhbmQKCjIwMTAtMDgtMDIgMTI6NTY6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBhdm9pZCBiYXNlcnRwcGF5bG9hZCBwZXJmZWN0LXJ0cHRpbWUgbW9kZQoJICBHNzI5IHBhY2tldHMgbWF5IG9ubHkgb2NjdXIgaW50ZXJtaXR0ZW50bHkgKGUuZy4gY24gcGFja2V0cyksIGFuZCBhcyBzdWNoCgkgIGRvIG5vdCBhbGxvdyBmb3IgcGVyZmVjdC1ydHB0aW1lIGNhbGN1bGF0aW5nIHJ0cCB0aW1lcyBiYXNlZCBvbiBmcmFtZSBvciBieXRlCgkgIGNvdW50LiAgSW4gcGFydGljdWxhciwgZG8gbm90IHVzZSBydHAgYXVkaW8gYmFzZSBwYXlsb2FkZXIgYXMgYmFzZSBjbGFzcywgYnV0CgkgIHJhdGhlciBiYXNlIHBheWxvYWRlciBkaXJlY3RseS4KCjIwMTAtMDgtMDIgMTI6NDg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwbXA0dmRlcGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cCBwYXlsb2FkaW5nOiBmaXggcGFkIGxlYWsKCjIwMTAtMDctMjkgMTc6MTg6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyB1c2UgcHJvcGVyIG1vdmkgb2Zmc2V0IGZvciBtb3ZpIGJhc2VkIGluZGV4CgkgIEZpeGVzICM2MjMzNTcuCgoyMDEwLTA3LTI5IDEwOjAwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgbXZoZCBhdG9tcwoJICBQYXJzZSBtdmhkIGRhdGEgYWNjb3JkaW5nIHRvIGl0cyB2ZXJzaW9uIHRvIGF2b2lkIGZhaWxpbmcKCSAgb24gdmFsaWQgZmlsZXMuCgoyMDEwLTA3LTI4IDEyOjIxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRoZSBtYXgvYXZnIGluIGJ0cnQgYXRvbSByZWFkaW5nCgkgIEFjY29yZGluZyB0byBJU08gbWVkaWEgYmFzZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZSBpcyB0aGUKCSAgZmlyc3Qgb25lLCBhbmQgdGhlIGF2ZyBjb21lcyBuZXh0LgoKMjAxMC0wNy0yNyAxNTo1ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIGhhbmRsaW5nIG9mIHN0cmVhbWluZyB1cHN0cmVhbSB3aXRob3V0IGR1cmF0aW9uCgkgIEZpeGVzICM2MjUzNzEuCgoyMDEwLTA3LTI2IDE4OjMzOjA5ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1ggYnVpbGQgYm90CgoyMDEwLTA3LTI2IDE4OjE1OjI1ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb3JyZWN0bHkgY2hlY2sgd2hhdCB2ZXJzaW9uIG9mIGdzdC1wbHVnaW5zLWJhc2Ugd2UncmUgY29tcGlsaW5nIGFnYWluc3QKCSAgV2UgbmVlZCB0byBjaGVjayB0aGUgZ3N0LXBsdWdpbnMtYmFzZSB2ZXJzaW9uLCBub3QgdGhlIGNvcmUgdmVyc2lvbgoJICAoZXZlbiBpZiBib3RoIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBhbnkgc2FuZSBzZXR1cCkuCgoyMDEwLTA3LTI2IDE3OjQ1OjQyICswMjAwICBBcm5hdWQgVnJhYyA8cmF3b3VsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcG9ydC1yYW5nZSBwcm9wZXJ0eSB0byBydHNwc3JjCgkgIFRvIHN1cHBvcnQgc2V0dXBzIHdpdGggZmlyZXdhbGwvaXBzZWMsIGl0IGlzIHVzZWZ1bCBmb3IgYW4gcnRzcCBjbGllbnQgdG8gYmUKCSAgYWJsZSB0byBzZXQgdGhlIHJhbmdlIG9mIHBvcnRzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHJ0cC9ydGNwIHJlY2VwdGlvbi4KCSAgQWxsb3dzIHRoaXMgYnkgYWRkaW5nIGEgInBvcnQtcmFuZ2UiIHByb3BlcnR5IHRvIHRoZSBydHNwc3JjIGVsZW1lbnQuCgkgIEZpeGVzICM2MjUxNTMKCjIwMTAtMDctMjYgMTM6Mzg6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgYWxzbyBmb3IgcGFyPTEvMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzAyCgoyMDEwLTA3LTI2IDE1OjMxOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gc2VydmVyIHJlcXVlc3QgcmVwbHkKCSAgVGhlIFJUU1Agc2VydmVyIHJ0c3BzcmMgaXMgY29tbXVuaWNhdGluZyB3aXRoLCBzZW5kcyBhIEdFVF9QQVJBTUVURVIgcmVxdWVzdAoJICBwZXJpb2RpY2FsbHkgYXMgYSBwaW5nLiAgVGhlIGNvZGUgaW4gZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QgZm9ybXMgYW4gT0sKCSAgcmVzcG9uc2UgYW5kIHNlbmRzLCBidXQgZG9lc24ndCBjYWxsIGdzdF9ydHNwX21lc3NhZ2VfdW5zZXQgdG8gZnJlZSB0aGUgbWVtb3J5CgkgIGFmdGVyIHNlbmRpbmcgdGhlIHJlc3BvbnNlLiAgVGhpcyByZXN1bHRzIGluIGEgY29uc3RhbnQgc2xvdyBtZW1vcnkgbGVhay4KCSAgRml4ZXMgIzYyNDc3MAoKMjAxMC0wNy0yNCAyMjozOTo1NCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJICBjcHVyZXBvcnQ6IHJlbW92ZSBib2d1cyBkb2NzCgoyMDEwLTA3LTI0IDIyOjM3OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgZGVidWd1dGlsczogbmV3IGVsZW1lbnQgY3B1cmVwb3J0CgkgIGNwdXJlcG9ydCBwb3N0cyBidXMgbWVzc2FnZXMgYWZ0ZXIgZXZlcnkgYnVmZmVyIHJlY2VpdmVkIG9mIGNwdSB1c2VkLCBzeXN0ZW0KCSAgY2xvY2sgdGltZSwgYnVmZmVyIHRpbWUKCjIwMTAtMDctMjQgMTA6Mjk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IERlc3Ryb3kgdGhlIGNhaXJvIGNvbnRleHQgYWZ0ZXIgdXNhZ2UKCjIwMTAtMDctMjQgMTA6MjE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICBSZXZlcnQgImdka3BpeGJ1ZjogQWRkIGEgZ2RrcGl4YnVmMyBwbHVnaW4gdGhhdCB1c2VzIGdka3BpeGJ1ZjMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjY3ODgxNTMxNjFiNGUwN2ZiZjNkNDJhMmQ4OTIxZWEwNDkzMDVkMC4KCSAgVGhlcmUncyBubyBnZGstcGl4YnVmMyBhbnltb3JlLiBnZGstcGl4YnVmIHdhcyBzZXBhcmF0ZWQgZnJvbSBHVEsrCgkgIGFuZCB3aWxsIHN0YXkgYXQgdmVyc2lvbiAyLjAgZm9yIEdUSysgMy4wLgoKMjAxMC0wNy0yNCAxMDoxOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgdG8tYmUtZGVwcmVjYXRlZCBHREsgQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAyLgoKMjAxMC0wNy0yMiAxNjoyNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBldmVudCBsZWFrCgoyMDEwLTA3LTIyIDEyOjA1OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIG5vbi1jdWUgc2Vla2luZwoJICBUaGF0IGlzLCBpbiBmaWxlcyB0aGF0IGhhdmUgbm8gaW5kZXggKEN1ZSksIHBlcmZvcm0gc2VlayBieSBzY2FubmluZyBmb3IKCSAgbmVhcmVzdCBjbHVzdGVyIHdpdGggdGltZWNvZGUgYmVmb3JlIHJlcXVlc3RlZCBwb3NpdGlvbi4gIFNjYW5uaW5nIGlzIGRvbmUKCSAgYXMgYSBjb21iaW5hdGlvbiBvZiBpbnRlcnBvbGF0aW9uIGFuZCBzZXF1ZW50aWFsIHNjYW4uCgkgIEZpeGVzICM2MTczNjguCgoyMDEwLTA3LTE2IDEyOjQ2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbWFibGUgZmlsZXMgbmVlZCBubyBfZmluaXNoCgkgIEZpeGVzICM2MjQ0NTUuCgoyMDEwLTA3LTIyIDExOjQ2OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIDAtc2l6ZSBkYXRhIGNodW5rcwoJICBGaXhlcyAjNjE4NTM1LgoKMjAxMC0wNy0yMSAwODoxMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgcmVzZXQgUW9TIGluZm9ybWF0aW9uIGFuZCBzZW5kIGEgTkVXU0VHTUVOVCBldmVudCBkb3duc3RyZWFtIGZvciBORVdTRUdNRU5UIGV2ZW50cyBvbiB0aGUgbWFzdGVyIHBhZAoKMjAxMC0wNy0xNCAyMDozMTo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wNy0yMCAxNjoxMToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkZW1vdGUgV0FSTklORyBtZXNzYWdlIHRvIExPRyBsZXZlbAoJICBJdCdzIG5vdCBhIHdhcm5pbmcuCgoyMDEwLTA3LTE5IDE0OjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHJlZ3Jlc3Npb24gb24gbWFya2VycyBwYXJzaW5nCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIHdoZW4gZml4aW5nIGJ1ZyAjNTgzMDQ3IGluCgkgIGNvbW1pdCBhMzkxYmY1MmNjM2M1ODBjN2EwYTIzMTZjYTUyZWI2NmRhM2I4NWMxCgkgIFNraXAgdGhlIGRhdGEgd2hlbiBsaWJqcGVnIGFza3MgaXQgdG8gYmUgc2tpcHBlZCBvbgoJICBvbmUgb2YgaXRzIGNhbGxiYWNrcy4KCjIwMTAtMDctMTYgMTg6MDQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBtaXNzaW5nIGFyZ3VtZW50IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDctMTYgMTc6NTM6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc2luazogT25seSB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ldygpIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgbmV3ZXIgYmFzZQoKMjAxMC0wNy0wOSAxNzozMzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZHYxMzk0c3JjOiBQb3N0IGNsb2NrLXByb3ZpZGUgYW5kIGNsb2NrLWxvc3QgbWVzc2FnZXMgd2hlbiBnb2luZyBmcm9tL3RvIFBMQVlJTkcKCSAgSW4gUEFVU0VEIGFuZCBiZWxvdyB0aGUgY2xvY2sgaXMgbm90IHdvcmtpbmcuCgoyMDEwLTA3LTA0IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJICBnY29uZjogRml4IHJlZiBoYW5kbGluZyBvZiBuZXcgY2hpbGQgZWxlbWVudHMgYW5kIG1pbm9yIGNsZWFudXAKCjIwMTAtMDctMDQgMDk6NDU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSAgZ2NvbmZ2aWRlb3NyYzogVXNlIGNvcnJlY3QgR0NvbmYga2V5CgoyMDEwLTA3LTAzIDE0OjE2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mYXVkaW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjEyOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mdmlkZW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjExOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkgIGdjb25mOiBBZGQgR3N0U3dpdGNoU3JjIGJhc2UgY2xhc3MKCjIwMTAtMDctMDMgMTM6NTY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgZ2NvbmY6IENyZWF0ZSB0aGUgZ2hvc3RwYWQgb2YgdGhlIHN3aXRjaHNpbmsgZnJvbSB0aGUgdGVtcGxhdGUKCjIwMTAtMDctMDcgMTA6MTA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgY2xvY2stcHJvdmlkZS9jbG9jay1sb3N0IHdoZW4gZ29pbmcgdG8vZnJvbSBQQVVTRUQKCSAgQWxzbyB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkgdG8gcHJldmVudCBjcmFzaGVzIHdoZW4gdGhlCgkgIGNsb2NrIGlzIHVzZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgd2FzIGRlc3Ryb3llZC4KCjIwMTAtMDctMTUgMTE6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlbW92ZSBib2d1cyBVTkxPQ0sKCjIwMTAtMDctMTMgMTI6MzQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNhbGN1bGF0ZSBQQVIgdXNpbmcgdHJhY2sgd2lkdGggYW5kIGhlaWdodCBmb3IgUVQgZmlsZXMKCSAgKC4uLiBhcyBvcHBvc2VkIHRvIG9ubHkgZm9yIElTTyBzdHlsZSBmaWxlcykuCgkgIEZpeGVzICM2MjQxNzMuCgoyMDEwLTA3LTEyIDE3OjI5OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYm9ndXMgZmlsZXMgc3RvcmluZyBBRFRTIEFBQyBkYXRhCgoyMDEwLTA3LTA5IDE2OjU3OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkbyBub3QgZXJyb3Igb3V0IG9uIGEgYmxvY2sgd2l0aCB1bmtub3duIHRyYWNrbnVtYmVyCgoyMDEwLTA3LTA4IDE4OjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IGFsaWduIHJldmVyc2UgcGxheWJhY2sgcmVmZXJlbmNlIHN0cmVhbSB0d2ljZQoJICBUaW1lc3RhbXAgcm91bmRpbmcgaXNzdWVzIGNvdWxkIGxlYWQgdG8gZ29pbmcgYmFja3dhcmRzIDIga2V5ZnJhbWUgcGVyaW9kcwoJICAocmF0aGVyIHRoYW4gb25seSAxKS4gIFdoaWxlIHRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IGEgcHJvYmxlbSwgaXQgbWlnaHQKCSAgcG90ZW50aWFsbHkgcGxhY2UgYWRkaXRpb25hbCAoYnVmZmVyaW5nKSBsb2FkIG9uIGRvd25zdHJlYW0gYW5kIGNvdWxkIGJlCgkgIGF2b2lkZWQgKGJlY2F1c2UgV2UgQ2FuKS4KCSAgRml4ZXMgIzYyMzYyOS4KCjIwMTAtMDctMDggMTY6MDc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb252ZXJ0IHNvbWUgbW9yZSBtb3YgZm9ybWF0IHRpbWVzdGFtcCB0byBnc3QgdGltZQoKMjAxMC0wNy0wNyAxNDoxNjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGRpdGlvbmFsIHZlcmlmaWNhdGlvbiBoZXVyaXN0aWNzIGZvciBWQlIgYXVkaW8gc3RyZWFtCgkgIENoZWNrIGZvciBhbmQgb3ZlcnJpZGUgc29tZSBoZWFkZXIgZmllbGQocykgZm9yIHJlYXNvbmFibGUgdmFsdWVzLCBhY2NvcmRpbmcKCSAgdG8gbGF0ZXIgZXhwZWN0ZWQgdXNlIGluIGNhbGN1bGF0aW9ucy4KCjIwMTAtMDctMTQgMTU6MjE6MjEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEZpeCB3cm9uZyBsb2NrIG9yZGVyIHRoYXQgY291bGQgbGVhZCB0byBhIGRlYWRsb2NrLiBGaXhlcyAjNjI0MzMxLgoKMjAxMC0wNy0xNiAxMTozMTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI0ID09PQoKMjAxMC0wNy0xNSAwMTo0OTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjQKCjIwMTAtMDctMTUgMDE6MzU6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2x2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNy0wNyAwMDo0Mjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuNCBwcmUtcmVsZWFzZQoKMjAxMC0wNy0wNyAwMDozMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaWQucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yMyAxMTo0Nzo0MyArMDIwMCAgTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRlc3Ryb3kgYnVmZmVyIHBvb2wgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBOVUxMCgkgIEluIHRoZSBjYXNlIHdlIGNoYW5nZSB0aGUgU3RhdGUgZnJvbSBSRUFEWV9UT19OVUxMIHRoZSBidWZmZXJzIGluIHRoZSBwb29sCgkgIHN0aWxsIGhvbGQgYW4gb3BlbiBkdXAgZmlsZSBkZXNjcmlwdG9yIHRvIHRoZSBkZXZpY2UsIHRoZXJlZm9yZSB0aGUgZGV2aWNlCgkgIHJlbGVhc2UgZnVuY3Rpb24gd2lsbCBub3QgYmUgY2FsbGVkIGFuZCB0aGUgZGV2aWNlIHdpbGwgcHJvYmFibHkgYW5zd2VyIHdpdGgKCSAgLUVCVVNZIHdoZW4gd2UgcmVvcGVuIGl0IGluIHRoZSBuZXh0IE5VTExfVE9fUkVBRFkgdHJhbnNpdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoJICBTZWUgYnVnICM2MjI1MDAgYW5kICM2MTIyNDQuCgoyMDEwLTA3LTA2IDEzOjIxOjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9yZGVyIG9mIGJpdHJhdGVzIGluICdidHJ0JyBhdG9tCgkgIFRoZXJlIHNlZW1zIHRvIGJlIGEgYnVnIGluIGxpYm1wNHYyIHRoYXQgZ2VuZXJhdGVzIGEgTVBFRzRCaXRSYXRlQm94IGFzCgkgIChidWZmZXJTaXplREIsIGF2Z0JpdHJhdGUsIG1heEJpdHJhdGUpIGluc3RlYWQgb2YgKGJ1ZmZlclNpemVEQiwKCSAgbWF4Qml0cmF0ZSwgYXZnQml0cmF0ZSksIGFjY29yZGluZyB0byB0aGUgc3BlYy4gSSB1c2VkIHRoZSBtcDRmaWxlCgkgIG91dHB1dCB3aGlsZSB3cml0aW5nIHRoaXMgY29kZSwgc28gdGhlIG9yZGVyIGlzIHdyb25nLiBUaGlzIHBhdGNoZXMKCSAgZml4ZXMgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY1NAoKMjAxMC0wNy0wNSAxMjowNTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgRml4ZXMgIzYyMzU4NS4KCjIwMTAtMDYtMjkgMjM6MTg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGZpeCBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIHJlc3VsdCBvZiBnc3RfYWRhcHRlcl90YWtlKCkuIFRoZXJlIGFyZSBtb3N0IGxpa2VseQoJICBzbWFydGVyIHRoaW5ncyB3ZSBjYW4gZG8sIGJ1dCBsZXQncyBrZWVwIHRoaW5ncyBzaW1wbGUgZm9yIHRoZQoJICByZWxlYXNlLgoJICBGaXhlcyAjNjIzMTcyLgoKMjAxMC0wNy0wMiAxMjozMTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RyaXAgb3V0IGJvZ3VzIHRhZ3MgZnJvbSBYTVAgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY2CgoyMDEwLTA3LTAyIDE0OjI1OjIyICswMjAwICBBbmRyemVqIEsuIEhhY3pld3NraSA8YWhhY3pld3NraUBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFdyaXRlIGR1cmF0aW9uIGF0IHRoZSBjb3JyZWN0IHBvc2l0aW9uCgoyMDEwLTA2LTMwIDExOjEyOjA4ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmaXggbWVtbGVhayBvbiBjdXN0b20gZG93bnN0cmVhbSBldmVudHMKCSAgYnkgbm90IHNlbmRpbmcgY3VzdG9tIGRvd25zdHJlYW0gZXZlbnQgdHdpY2UgYW5kIGZpeCBtZW1sZWFrIHdoZW4KCSAgbm90IGhhbmRsaW5nIHRoZSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTk2CgoyMDEwLTA2LTI5IDIwOjE4OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNi0yOSAyMDoxNDo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCB1bnBvcnRhYmxlIHByaW50ZiBmb3JtYXQgc3BlY2lmaWVycyBpbiBjb21tZW50ZWQgb3V0IGNvZGUKCSAgVG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIHdoZW4gZ3JlcHBpbmcgZm9yIHVucG9ydGFibGUgc3BlY2lmaWVycy4KCjIwMTAtMDYtMjkgMTk6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDYtMjggMTU6NDQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTAgYW5kIGF1dG9jb25mIHRvIDIuNjAKCSAgRm9yIG1haW50YWluYWJpbGl0eSByZWFzb25zIGFuZCAkKGJ1aWxkZGlyKS4KCSAgU2VlICM2MjI5NDQuCgoyMDEwLTA2LTI4IDA5OjA3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGRvbid0IGFsbG9jYXRlIDI2MGtCIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgUGx1Z2luSW5mbyBpcyBxdWl0ZSBhIHNpemVhYmxlIHN0cnVjdCwgbGV0J3Mgbm90IGFsbG9jYXRlIGl0IG9uIHRoZQoJICBzdGFjaywgZXNwZWNpYWxseSBub3QgaWYgd2UncmUgY29weWluZyBpdCBvdmVyIGludG8gYW5vdGhlciBkeW5hbWljYWxseQoJICBhbGxvY2F0ZWQgY29weSBhbnl3YXkuCgkgIEZpeGVzICM1NzA3NjEuCgoyMDEwLTA2LTI3IDEwOjMxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGVzCgoyMDEwLTA2LTI2IDIwOjEyOjI1ICswMjAwICBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IE1ha2UgZGVtb3MgLURTRUFMIHNhZmUgdG8gZml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6Mzk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgIGpwZWc6IEV4cGxpY2l0ZWx5IGxpbmsgd2l0aCBsaWJnc3RiYXNlCgoyMDEwLTA2LTI2IDE4OjQyOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDYtMjYgMTg6NDE6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIG9yYyBmaWxlcwoKMjAxMC0wNi0yNiAxODo0MTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yNSAxOTo0MDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggbGVha2luZyBvZiB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMKCSAgZ3N0X3ZhbHVlX3NldF9idWZmZXIoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50IGFuZCBkb2Vzbid0CgkgIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBidWZmZXIuCgoyMDEwLTA2LTI0IDE2OjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgbWF0cm9za2EsIHZpZGVvYm94LCB2aWRlb2ZpbHRlcjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkIGluIGdzdHJlYW1lcgoJICBGaXhlcyB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3Mgd2hlbiBHU3RyZWFtZXIncyBkZWJ1Z2dpbmcgc3lzdGVtIGhhcyBiZWVuIGRpc2FibGVkLgoKMjAxMC0wNi0yNCAxNToxNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlL2Jhc2UvZ29vZCBwbHVnaW5zIGhlcmUuCgkgIEZpeGVzICM2MTk3MTcuCgoyMDEwLTA2LTI0IDE1OjA5OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczZmY5M2EgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmZGVjOiBidW1wIHJhbmsgdG8gU0VDT05EQVJZCgkgIEJ1bXAgZ2RrcGl4YnVmZGVjJ3MgcmFuayB0byBTRUNPTkRBUlkgdG8gZ2l2ZSBpdCBhbiBlZGdlIG92ZXIgbWlzYy4KCSAgaW1hZ2UgZGVjb2RlcnMgaW4gZ3N0LWZmbXBlZyB0aGF0IGFsc28gaGF2ZSBhIE1BUkdJTkFMIHJhbmsuCgkgIEZpeGVzICM2MjAxNjIuCgoyMDEwLTA2LTIzIDEyOjE1OjEzICswMjAwICBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIHJlc2V0IHRoZSBoYXZlX2luZGV4IGZsYWcgYXQgdHJhbnNpdGlvbiBQQVVTRURfVE9fUkVBRFkKCSAgSWYgd2UgcmVzdGFydCB0aGUgU3RyZWFtIGluIHRoZSBjYXNlIG9mIGRvaW5nIGEgdHJhbnNpdGlvbiBmcm9tCgkgIFBBVVNFRF9UT19SRUFEWSBhbmQgYmFjayB3aXRoIFJFQURZX1RPX1BBVVNFRCBhc28uIHRoZSBkdXJhdGlvbiBvZiB0aGUgdmlkZW8KCSAgd2lsbCBnZXQgY2FsY3VsYXRlZCBldmVuIGlmIHdlIGhhdmUgYSBhdmkgaGVhZGVyIHdpdGggdGhhdCBpbmZvcm1hdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKMjAxMC0wNi0yMyAyMDoyOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBuZWdvdGlhdGlvbiBmb3IgSTQyMC9ZVjEyCgkgIFdlIGRvbid0IHN1cHBvcnQgY29udmVyc2lvbiBpbnRvICphbGwqIFlVVgoJICBmb3JtYXRzIGZvciB0aGVtLCBvbmx5IGludG8gSTQyMC9ZVjEyL0FZVVYuCgkgIEZpeGVzIGJ1ZyAjNjIyNTAxLgoKMjAxMC0wNi0yMiAxNToyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHByb3BlciBjbG9zaW5nIHNlZ21lbnQgY29uc3RydWN0aW9uCgkgIEZpeGVzICM2MTg5ODIuCgoyMDEwLTA2LTIyIDE1OjQ2OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwcmVjYWxjdWxhdGUgZHVyYXRpb24KCSAgSGF2ZSBmcmFtZSBkdXJhdGlvbiBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IGFuZCBjYWxjdWxhdGUgaXQgYWZ0ZXIgY2hhbmdpbmcgdGhlIGNhcHMuCgoyMDEwLTA2LTIxIDEyOjE3OjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogdXNlIGdsaWIgZGVmaW5lcyBpbiBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgZm9yIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTIxIDEyOjE1OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gc2F2ZSBhIGZldyBieXRlcyBhbmQgc3RyZHVwcwoKMjAxMC0wNi0xOCAyMDowMjo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxvY2tpbmcgYWZ0ZXIgbW92aW5nIHRoaW5ncyBhcm91bmQKCjIwMTAtMDYtMTggMTQ6MTM6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgdGFnbGliOiBVc2UgbmV3bHkgYWRkZWQgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgY2FsbHMgdG8gZ3N0X3RhZ19saXN0X2dldF9zdHJpbmdfaW5kZXggd2l0aAoJICBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxNjo1NjoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzb21lIGVycm9ycyBhcyB3YXJuaW5ncwoJICBBdm9pZCBzcGFtbWluZyB0aGUgdGVzdHN1aXRlIHdpdGggdGhlc2UgZXJyb3IgZGVidWcgbGluZXMuCgoyMDEwLTA2LTE4IDE2OjQ5OjA4ICswMjAwICBLZWl0aCBOaWNob2xzb24gPGtlaXRoLm5pY2hvbHNvbiBhdCB1bHRyYS1jY3MuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggbXVsdGljYXN0IHN1cHBvcnQgb24gd2luZG93cyBidWlsZHMKCSAgT24gd2luZG93cyBidWlsZHMsIHNldHMgc291cmNlIGFkZHJlc3MgZm9yIGJpbmQgdG8gSU5BRERSX0FOWSwgd2hpbGUKCSAgbWFpbnRhaW5pbmcgdGhlIG9yaWdpbmFsIG11bHRpY2FzdCBncm91cCBhZGRyZXNzIGZvciBzdWJzZXF1ZW50IGpvaW4uCgkgIEZpeGVzICM1OTU5NzgKCjIwMTAtMDYtMTggMTY6MTY6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogbWFrZSB1cmwgcGFyc2luZyBjb21wYXRpYmxlIHdpdGggVkxDIHN5bnRheAoJICBTa2lwIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBAIHNpZ24gaW4gdGhlIHVybCBsb2NhdGlvbi4gVkxDIHVzZXMgdGhhdCBhcyB0aGUKCSAgcmVtb3RlIGFkZHJlc3MgdG8gY29ubmVjdCB0byAoYnV0IHdlIGlnbm9yZSBpdCBmb3Igbm93KS4gVGhpcyBtYWtlcyBvdXIgdWRwIHVybHMKCSAgY29tcGF0aWJsZSB3aXRoIHRoZSBvbmVzIHVzZWQgYnkgVkxDLgoJICBGaXhlcyAjNTk3Njk1CgoyMDEwLTA2LTE4IDE1OjA4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZhY3RvciBvdXQgdGhlIGNvbm5lY3Rpb25zCgkgIEtlZXAgYSBnbG9iYWwgY29ubmVjdGlvbiBmb3IgYWdncmVnYXRlIGNvbnRyb2wgYnV0IGFsc28ga2VlcCBzdHJlYW0gY29ubmVjdGlvbnMKCSAgZm9yIG5vbi1hZ2dyZWdhdGUgY29udHJvbC4KCSAgQWRkIHNvbWUgaGVscGVyIG1ldGhvZHMgdG8gY29ubmVjdC9jbG9zZS9mbHVzaCB0aGUgY29ubmVjdGlvbnMuCgoyMDEwLTA2LTE3IDEzOjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgbm9uLWFnZ3JlZ2F0ZSBjb250cm9sCgkgIEFkZCBub24tYWdncmVnYXRlIGNvbnRyb2wuCgkgIFNlcGFyYXRlIHJldHJpZXZpbmcgdGhyIFNEUCBmcm9tIHBhcnNpbmcgYW5kIHNldHRpbmcgdXAgdGhlIHN0cmVhbWluZyBmcm9tIHRoZQoJICBTRFAuCgoyMDEwLTA2LTE3IDIyOjEwOjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gYmFjayB0byB3aGF0IGl0IHdhcwoKMjAxMC0wNi0xNyAxNzoyNDoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgZG9jdW1lbnRhdGlvbiBmb3Igc3RyZWFtYWJsZSBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjo0Mzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlIGludHJvc3BlY3RlZCBwbHVnaW4gZG9jcyBmb3IgZ3N0ZG9jLXNjYW5nb2JqIGFuZCBvdGhlciBjaGFuZ2VzCgkgIFVwZGF0ZSBjb21tb24gZm9yIGxhdGVzdCBnc3Rkb2Mtc2NhbmdvYmosIGFuZCBpbnNwZWN0IHhtbCBmaWxlcyBmb3IKCSAgZXNjYXBpbmcgYW5kIHBhZCB0ZW1wbGF0ZSBvcmRlciBjaGFuZ2VzLgoKMjAxMC0wNi0xNyAxNjo0MTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIHN1Yi1kaXJlY3Rvcnkgd2l0aCBvcmMgdGVzdHMKCjIwMTAtMDYtMTcgMTA6NDQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDYtMTYgMjE6MDI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sLXJlYWQ6IFplcm8tc2l6ZWQgaW50cy91aW50cy9mbG9hdHMgaGF2ZSBhIHZhbHVlIG9mIDAgYWNjb3JkaW5nIHRvIHRoZSBFQk1MIHNwZWMKCjIwMTAtMDYtMTYgMjA6MDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIGFzc2VydGlvbiB0aGF0IGNvdWxkIGJlIGNhdXNlZCBieSBpbnZhbGlkIGZpbGVzCgoyMDEwLTA2LTE2IDE5OjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbGVhbiB1cC9maXggc29tZSBtaW5vciBlcnJvciBoYW5kbGluZyBidWdzCgoyMDEwLTA2LTE2IDE5OjMwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSB3aGVuIGFsbG9jYXRpb24gb2YgdGhlIHhpbWFnZSBmYWlscwoKMjAxMC0wNi0xNiAxOToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IERvbid0IHVzZSBmbG9hdHMgYXMgbG9vcCBjb3VudGVycwoKMjAxMC0wNi0xNiAxMToyMTozNSAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgdHJ5IHRvIGNoYW5nZSBkZXZpY2UgZm9ybWF0IGlmIGl0J3MgYWxyZWFkeSBjb3JyZWN0CgkgIFRoaXMgYWxsb3dzIHNldF9jYXBzIHRvIHN1Y2NlZWQgaWYgY2FwcyBjaGFuZ2UgaW4gYSB3YXkgdGhhdAoJICB3b3VsZCBub3QgbW9kaWZ5IHRoZSBmb3JtYXQgd2UncmUgZ2V0dGluZyBmcm9tIHRoZSBoYXJkd2FyZS4KCSAgT3RoZXJ3aXNlIGlmIG5vdCBpbiBOVUxMIHN0YXRlLCBzZXR0aW5nIGNhcHMgd291bGQgZmFpbAoJICB3aXRoIEVCVVNZLgoJICBXaXRoIHRoaXMgY2hhbmdlLCBpbiBzb21lIGNhc2VzIGl0J3MgT0sgdG8gZ28gUExBWUlORy0+UkVBRFktPlBMQVlJTkcKCSAgcmF0aGVyIHRoYW4gUExBWUlORy0+TlVMTC0+UExBWUlORyB0byBhdm9pZCBhIHRpbWUtY29uc3VtaW5nIGNsb3NlCgkgIGFuZCByZW9wZW4gb2YgdGhlIGRldmljZS4KCSAgRml4ZXMgIzYyMTcyMwoKMjAxMC0wNi0xNiAxMTowOToxNyAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbiBuZWdvdGlhdGUsIGNoZWNrIGZvciBlcnJvciByZXR1cm4gZnJvbSBzZXRfY2FwcwoJICBGaXhlcyAjNjIxNzIzICAocGFydGlhbGx5KQoJICBzZXRfY2FwcyBjYW4gZmFpbCBpZiB0aGUgdmlkZW8gZGV2aWNlIGlzIHJ1bm5pbmcsIGluIHRoYXQgY2FzZQoJICBzZXR0aW5nIGl0cyBmb3JtYXQgbGVhZHMgdG8gRUJVU1kuCgkgIElmIHNldF9jYXBzIGZhaWxzIHRoZW4gd2Ugd2lsbCBub3QgaGF2ZSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgkgIChpdCB3aWxsIGJlIE5VTEwpIHdoaWNoIGxlYWRzIHRvIGEgY3Jhc2ggd2hlbiB3ZSB0cnkgdG8gcHVsbAoJICBidWZmZXJzLiBJZiB3ZSBmYWlsIHRoZSBuZWdvdGlhdGUgb24gc2V0X2NhcHMgZmFpbHVyZSwgdGhlbiB3ZQoJICB3b24ndCBnbyB0byBwbGF5aW5nIHN0YXRlIGFuZCB3b24ndCBjcmFzaC4KCSAgVGhpcyBpcyBhIHNtYWxsIGltcHJvdmVtZW50LiBPZiBjb3Vyc2UsIGEgbmljZXIgZml4IHdvdWxkCgkgIGJlIHRvIG1ha2Ugc2V0X2NhcHMgd29yayBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgZm9ybWF0IGlzCgkgIHVuY2hhbmdlZC4gSWYgdGhlIGZvcm1hdCBoYXMgY2hhbmdlZCwgZmFpbGluZyBpcwoJICBwcm9iYWJseSBjb3JyZWN0IGJlY2F1c2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgZGV2aWNlCgkgIChnbyB0byBOVUxMIHN0YXRlKSBpbiBvcmRlciB0byBzZXQgY2Fwcy4KCjIwMTAtMDYtMTYgMTU6NDA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBhdWRpbyB2YnIgZGV0ZWN0aW9uCgkgIFN1YnNlcXVlbnQgZW50cnkgdGltZSBjYWxjdWxhdGlvbnMgdXNlIGJsb2NrYWxpZ24gdmFsdWUgdG8gZGV0ZXJtaW5lCgkgIG51bWJlciBvZiBmcmFtZXMgcGVyIGNodW5rLCBhbmQgYmxvY2thbGlnbiA9PSAxIGlzIHRoZW4gbW9zdCB1bmxpa2VseSB0byByZXN1bHQKCSAgaW4gcmVhc29uYWJsZSB2YWx1ZXMgKHdoaWNoIGFsc28gYWxpZ25zIHdpdGggInNwZWMiKS4KCjIwMTAtMDYtMTYgMTU6NTI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiB0d2VhayBERUxUQV9VTklUIGxhYmVsaW5nCgkgIENvbnNpZGVyIFNQUywgUFBTIGFuZCBJRFIgYXMga2V5ZnJhbWUsIGFsbCBvdGhlcnMgYXMgREVMVEFfVU5JVC4KCSAgU2VlICM2MjAxNTQuCgoyMDEwLTA2LTE1IDIwOjA2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogSW5pdGlhbGl6ZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGFuZCBkb24ndCB1bnJlZiBpdCBpZiBpdCdzIE5VTEwKCjIwMTAtMDYtMTUgMjA6MDQ6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQXNzaWduIHZhcmlhYmxlcyBiZWZvcmUgcHJpbnRpbmcgdGhlbQoKMjAxMC0wNi0xNSAyMDowMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEluaXRpYWxpemUgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxOTo0NzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEluaXRpYWxpemUgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTk6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggTkVXU0VHTUVOVCBwYXJzaW5nIGxvZ2ljIGFuZCBkb24ndCB1c2UgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDYtMTUgMTc6MjA6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTY6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTY6MzU6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE0OjA4OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgdHZ0aW1lLmggZmlsZQoKMjAxMC0wNi0xNSAxNTozNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDUtMTcgMTM6NTQ6MDMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJICByYXcxMzk0OiByZW1vdmUgdXNlbGVzcyBsYXN0X3RpbWUKCSAgSXQgc2VlbXMgdG8gbWUgdGhpcyBjb2RlIGlzIHVzZWxlc3M6IHJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4ODcxCgoyMDEwLTA2LTE0IDE5OjIxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHJlc3BlY3QgYWdncmVnYXRlIGNvbnRyb2wgYXR0cmlidXRlcwoJICB3aGVuIHRoZSBTRFAgc3BlY2lmaWVzIGFuIGFnZ3JlZ2F0ZSBjb250cm9sIHVybCwgdXNlIHRoYXQgZm9yIHBsYXliYWNrCgkgIGNvbnRyb2wuCgkgIEZpeGVzICM2MTk1MzEKCjIwMTAtMDYtMTQgMTU6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE1OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNDoyNjoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHJldmVydCBjaGFuZ2UgdGhhdCBzZXQgYSByZXNlcnZlZCBmbGFnIG9uIHRoZSBCbG9jay4KCSAgU28gbWF0cm9za2EncyBCbG9jayBzdHJ1Y3R1cmUgaGFzIG5vIGtleWZyYW1lIGZsYWcsIG9ubHkgdGhlIFNpbXBsZUJsb2NrIGhhcyBpdC4KCSAgVG8gZGV0ZWN0IGtleWZyYW1lcyBpbiBCbG9ja3MsIGl0IGlzIGp1c3QgdGhlIEJsb2NrR3JvdXAgY29udGFpbmVyIHRoYXQgbmVlZHMKCSAgdG8gaGF2ZSBhIFJlZmVyZW5jZUJsb2NrIGF0dGFjaGVkIGlmIGl0IGlzIGEgZGVsdGEgZnJhbWUgaW4gdmlkZW8uCgoyMDEwLTA1LTMxIDEyOjQ1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiB1c2UgbGlianBlZyBzY2F0dGVyLWdhdGhlciBvcGVyYXRpb24gdG8gYXZvaWQgZGF0YSBjb3B5aW5nCgkgIEZpeGVzICM1ODMwNDcgKG1vcmUpLgoKMjAxMC0wNS0yNyAxNTo0NToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pemUgYnVmZmVyIGhhbmRsaW5nIHdoZW4gcGFyc2luZwoJICBVc2UgYW4gYWRhcHRlciB0byBjb2xsZWN0IGluY29taW5nIGRhdGEsIGFuZCB1c2UgYWRhcHRlciBBUEkgdG8gc2NhbiBhbmQgcGVlay4KCSAgRml4ZXMgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBVc2UgZ19hc2NpaV9zdHJjYXNlY21wKCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAoKQoKMjAxMC0wNi0xNCAxMzoyNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjAzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDExOjQ2OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYWxzbyBjb25zaWRlciBBVSBhbmQgU0VJIE5BTFVzIGFzIERFTFRBX1VOSVQKCSAgRml4ZXMgIzYyMDE1NC4KCjIwMTAtMDYtMTQgMTE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGEzYmFiIHRvIDdhMGZkZjUKCjIwMTAtMDYtMTIgMjE6MjY6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgYnVpbGQ6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDEwLTA2LTEyIDE0OjEyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIGNsZWFuIHJ1bGUgZm9yIHRoZSBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMTQ6MTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgYXV0b2dlbmVyYXRlZCBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMDg6Mjc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDYtMTEgMTY6MjM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAxMC0wNi0xMSAyMToxMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBkb24ndCB0cnkgdG8gdW5yZWYgTlVMTCBidWZmZXJzCgkgIEZpeGVzIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTAtMDYtMTEgMjA6NTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1c2UgdHlwZWZpbmQgZnVuY3Rpb25zIHRvIGNoZWNrIGlmIFBDTSBkYXRhIGNvbnRhaW5zIGR0cyBzdHJlYW0KCSAgVXNlIG5ldyBkdHMgYXVkaW8gdHlwZWZpbmRlciBmcm9tIC1iYXNlIHRvIGNoZWNrIGlmIHRoZSBQQ00gZGF0YQoJICBjb250YWlucyBhIGR0cyBzdHJlYW0uIFRoaXMgd2F5IHdlIHJlY29nbmlzZSBtb3JlIHZhcmlldGllcyBtb3JlCgkgIHJlbGlhYmx5IGFuZCBhbHNvIGRldGVjdCB0aGUgZHRzIHN0cmVhbSBpZiB0aGVyZSBpc24ndCBhIGZyYW1lCgkgIHN5bmMgcmlnaHQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBkYXRhLgoJICBGaXhlcyAjNDEzOTQyLgoKMjAxMC0wNi0xMSAyMDo0NzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNldCBidWZmZXIgb2Zmc2V0cyBiZWZvcmUgdXNpbmcgdGhlIGJ1ZmZlciBmb3IgdGhlIGZpcnN0IHRpbWUKCSAgZ3N0X3R5cGVfZmluZF9oZWxwZXJfZm9yX2J1ZmZlcigpIHdpbGwgbmVlZCB0aGUgY29ycmVjdCBvZmZzZXQKCSAgc2V0IG9uIHRoZSBidWZmZXIgKGllLiAwKSBhbmQgbm90IHRoZSBieXRlIG9mZnNldCB3ZSBzdGFydGVkCgkgIHB1bGxpbmcgdGhlIGRhdGEgZnJvbS4KCjIwMTAtMDYtMTAgMTY6MTQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkgIHJ0cDogYWRkIG1wYS1yb2J1c3QgZGVwYXlsb2FkZXIKCSAgRml4ZXMgIzU4OTk5Ny4KCjIwMTAtMDYtMTEgMTA6NTc6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXZpIGhlYWRlciBieXRld3JpdGluZwoJICAuLi4gYnkgdXNpbmcgcHJvcGVyIG9mZnNldHMgZm9yIHRhZyBsaXN0IHdyaXRpbmcuCgkgIEFsc28gdXNlIF9yZXNldCByYXRoZXIgdGhhbiBfZnJlZSBhbmQgY29uc2lzdGVudGx5IHVzZSBieXRld3JpdGVyIHBvc2l0aW9uLgoJICBTZWUgIzYxOTI5My4KCjIwMTAtMDYtMTAgMjI6NTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCSAgQWRkIHRoZSBnZW5lcmF0ZWQgb3JjIHNvdXJjZSBmaWxlcwoKMjAxMC0wNi0xMCAyMjo1NToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IHVuaXQgdGVzdCBmb3IgY2hhbmdlZCBrZXktZnJhbWUgYmVoYXZpb3VyCgkgIEFsbCBhdWRpbyBmcmFtZXMgYXJlIG1hcmtlZCBhcyBrZXlmcmFtZSBub3cgaW5zdGVhZCBvZiBtYXJraW5nCgkgIHRoZW0gYWxsIGFzIGRlbHRhIHVuaXQuLi4KCjIwMTAtMDYtMTAgMjI6NDU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBQb3J0IG1vc3QgYmxlbmRpbmcgcmVsYXRlZCBmdW5jdGlvbnMgdG8gb3JjCgkgIE9ubHkgcmVtYWluaW5nIE1NWCBpbXBsZW1lbnRhdGlvbiBpcyB0aGUgQVJHQi9CR1JBL0FZVVYgYmxlbmRpbmcKCSAgZm9yIHdoaWNoIHdlIGZpcnN0IG5lZWQgdGhlIG9yYyBjb21wb3NpdGluZyBvcGNvZGVzLgoKMjAxMC0wNi0xMCAyMDoxNzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogUmVwbGFjZSBzb21lIHRhYnMgYnkgc3BhY2VzCgoyMDEwLTA2LTEwIDExOjA0OjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0OiBGaXggdGhlIGludGVybmFsIGNsb2NrIGV2ZW4gbW9yZQoJICBUaGUgY3ljbGVDb3VudCByZWdpc3RlciBpcyAxMyBiaXRzIGxvbmcgYW5kIHRoZSBjeWNsZU9mZnNldCBvbmUKCSAgaXMgMTIgYml0cyBsb25nLiBUbyByZWFkIHRoZSBjeWNsZUNvdW50IHJlZ2lzdGVyIHdlIG5lZWQgdG8gc2hpZnQKCSAgMTIgYml0cyBhbmQgbm90IDEzLiBGaXhlcyAjNjE1NDYxCgoyMDEwLTA2LTA5IDE4OjM3OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gdG8gY2hlY2sgZm9yIE9yYwoKMjAxMC0wNi0wOSAyMjo0MDoyMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNvbWUgbm9uLWRlbHRhIGJ1ZmZlcnMgd2VyZSBub3QgbWFya2VkIGFzIGtleWZyYW1lcwoKMjAxMC0wNi0wOSAyMjowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIDIgc2Vjb25kIGxpbWl0IHBlciBjbHVzdGVyCgkgIFN0YXJ0IGNsdXN0ZXIgYXQgZXZlcnkga2V5ZnJhbWUgb3Igd2hlbiB3ZSB3b3VsZCBvdmVyZmxvdyB0aGUgcHJldmlvdXMKCSAgY2x1c3RlcidzIHJlbGF0aXZlIHRpbWVzdGFtcCBmaWVsZC4gVGhpcyB3b3VsZCBhdm9pZCBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIHN0YXJ0aW5nIGNsdXN0ZXJzIGF0IG5vbi1rZXlmcmFtZXMuCgoyMDEwLTA2LTA5IDEyOjQwOjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjUzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCByZXF1ZXN0IG1vcmUgc2hhcmVkIG1lbW9yeSB0aGFuIG5lZWRlZAoKMjAxMC0wNi0wOSAyMDo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBzd2l0Y2hzaW5rOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NJTksgZmxhZyBvbiB0aGUgc2luawoKMjAxMC0wNi0wOSAyMDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgIGdjb25mdmlkZW9zaW5rOiBVc2UgR3N0U3dpdGNoU2luayBhcyBiYXNlIGNsYXNzCgoyMDEwLTA2LTA5IDIwOjMwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJICBnY29uZmF1ZGlvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTAtMDYtMDkgMjA6Mjk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICBnY29uZmF1ZGlvc2luazogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIHRvIGJlIG1vcmUgZGVzY3JpcHRpdmUKCjIwMTAtMDYtMDkgMjA6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99c2luazogRG9uJ3QgbG9zZSB0aGUgR1NUX0VMRU1FTlRfSVNfU0lOSyBmbGFnIGFmdGVyIHJlbW92aW5nIHRoZSBjaGlsZAoKMjAxMC0wNi0wOSAyMDowNzowOSArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFBsdWcgc29tZSBtZW1sZWFrIGFuZCBzdXBwb3J0IDIyMDUwSHogbW9ubyBzb3VuZC4KCSAgU2VnbWVudCBzaXplIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNhbXBsZSBzaXplIGluIGJ5dGVzLgoKMjAxMC0wNi0wOSAxNjoyMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmx1c2ggc2htIGJ1ZmZlciBpbW1lZGlhdGVseSBpZiBpdCdzIGZ1bGwKCjIwMTAtMDYtMDkgMTY6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCB3cml0aW5nIG9mIGJ1ZmZlcnMgbGFyZ2VyIHRoYW4gc2Vnc2l6ZQoJICBGaXhlcyBidWcgIzYyMDU0MC4KCjIwMTAtMDYtMDkgMTU6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBwbGF5YmFjayBpZiBQQSBkb2Vzbid0IGdpdmUgdXMgYSBsYXJnZSBlbm91Z2ggc2hhcmVkIG1lbW9yeSBidWZmZXIKCjIwMTAtMDYtMDkgMTU6NDI6MTkgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpbmRleGVkIHByb3BlcnR5IHRvIHN0cmVhbWFibGUKCSAgVGhlIHByb3BlcnR5IHN0cmVhbWFibGUgaGFzIHJldmVyc2Ugc2VtYW50aWNzIHRvIGluZGV4ZWQuCgoyMDEwLTA2LTA5IDA5OjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVuYW1lIHVucmVsZWFzZWQgcHJvcGVydHkgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJwoJICBSZW5hbWUgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJyBmb3IgYSBiZXR0ZXIgbmFtZSB3aGlsZSBpdAoJICBoYXNuJ3QgYmVlbiByZWxlYXNlZAoKMjAxMC0wNi0wOCAxNToyMzo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbGlib2lsIGNoZWNrCgoyMDEwLTA2LTA4IDE0OjQ0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIHVudXNlZCBsaWJvaWwgaW5jbHVkZQoKMjAxMC0wNi0wNCAxODoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA0IDE4OjIxOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy5vcmM6CgkgIHZpZGVvYm94OiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDQgMTg6MTY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL1JFQURNRToKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDggMTY6MDQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJICBkZWludGVybGFjZTogb3JjaWZ5IHNvbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzCgoyMDEwLTA2LTA4IDE2OjAzOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNvbnZlcnQgZnJvbSBsaWJvaWwgdG8gb3JjCgoyMDEwLTA2LTA4IDE1OjIzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBvcmMgY2hlY2sKCjIwMTAtMDYtMDggMTQ6MDk6MDAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBpbmRleGVkIHByb3BlcnR5IHRvIHJlcGxhY2UgZGlzYWJsZWQgaXMtbGl2ZS4KCSAgQWRkIGluZGV4ZWQgcHJvcGVydHkgdG8gYmUgdGhlIG5lZ2F0aW9uIG9mIHdoYXQgdGhlIGRpc2FibGVkIGlzLWxpdmUgcHJvcGVydHkKCSAgd2FzLiBGaXhlcyBidWcgIzYxMzA2Ni4KCjIwMTAtMDYtMDggMDk6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICByYXcxMzk0OiBSZXF1aXJlIGxpYnJhdzEzOTQgPj0gMi4wLjAgZm9yIHJhdzEzOTRfcmVhZF9jeWNsZV90aW1lcgoJICBGaXhlcyBidWcgIzYyMDkyOS4KCjIwMTAtMDYtMDggMDc6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBSZW1vdmUgaGFjayB0byBsZXQgb2dnbXV4IHN0YXJ0IGEgbmV3IHBhZ2UgZm9yIGV2ZXJ5IENNTUwgYnVmZmVyCgkgIG9nZ211eCBkb2VzIHRoaXMgZm9yIENNTUwgYnkgaXRzIG93biBub3cKCjIwMTAtMDYtMDcgMTg6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgaGFuZGxlIG5vbi1USU1FIHNlZWtzCgkgIERvbid0IHNlbmQgdGhlbSB1cHN0cmVhbSBiZWNhdXNlIGZvciB1cHN0cmVhbSBhIEJZVEVTIHNlZWsKCSAgbWlnaHQgbWFrZSBzZW5zZSBidXQgaXMgY29tcGxldGVseSB3cm9uZyBiZWNhdXNlIHVwc3RyZWFtCgkgIGNhbid0IHNlZWsgdG8gYSBieXRlIHBvc2l0aW9uIG9mIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW0uCgkgIEFsc28gZG9uJ3QgYnVpbGQgdGhlIGluZGV4IGluIHB1c2ggbW9kZSBmb3Igbm9uLVRJTUUgc2Vla3MsCgkgIHRoaW5ncyB3aWxsIGdvIHdyb25nIGhlcmUgb3RoZXJ3aXNlLgoKMjAxMC0wNi0wNyAxMToxNToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogT25seSB3b3JrcyB3aXRoIHJhdGU9ODAwMCwgZml4IGluIGNhcHMKCjIwMTAtMDYtMDIgMTk6MTY6MjAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIENvcGUgd2l0aCBzaG9ydCBzdGFydGNvZGVzIGluIHRoZSBoMjY0IGJ5dGVzdHJlYW0KCjIwMTAtMDYtMDYgMTc6MjU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogbG9nIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wNi0wNiAxODowMDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBleHQ6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTc6NTc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgc3lzOiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE3OjUyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNToxMjoxNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZWZhY3RvciBkZWx0YSB1bml0IGhhbmRsaW5nCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHNraXAgZGVsdGEgdW5pdHMgZWFybGllciBhbmQgaXMgYSBiaXQgY2xlYXJlciBpbiBteQoJICBvcGluaW9uLiBJdCBhbHNvIG1ha2VzIG9ubHkgdmlkZW8gYnVmZmVycyBldmVyIGJlIGRlbHRhIHVuaXRzLCBub3QKCSAganVzdCBmb3IgU2ltcGxlQmxvY2sgYXMgYmVmb3JlLgoKMjAxMC0wNi0wNiAxNToxNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRpbnVpdGllcwoKMjAxMC0wNi0wNiAxNDowMzo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJZ25vcmUga2V5ZnJhbWUgZmxhZyBmb3Igbm9uLXZpZGVvIHN0cmVhbXMKCSAgV2hlbiB0aGUga2V5ZnJhbWUgYml0IG9mIFNpbXBsZUJsb2NrIEZsYWdzIHdhc24ndCBzZXQsIHRoZSBidWZmZXIgd2FzIGJlaW5nCgkgIG1hcmtlZCB3aXRoIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklULCBjYXVzaW5nIGFsbCBidWZmZXJzIHRvIGJlIHNraXBwZWQKCSAgYWZ0ZXIgYSBzZWVrLiBUaGlzIG1heSBiZSBhIHByb2JsZW0gd2l0aCB0aGUgU29yZW5zb24gU3F1aXNoIGVuY29kZXIsIGJ1dAoJICBhcmd1YWJseSB0aGUga2V5ZnJhbWUgYml0IHNob3VsZCBvbmx5IGJlIGFwcGxpZWQgdG8gdmlkZW8uCgkgIEZpeGVzIGJ1ZyAjNjIwMzU4LgoKMjAxMC0wNi0wNiAxNDo1Njo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXJzdCB0cnkgdXBzdHJlYW0gd2hlbiBoYW5kbGluZyBzZWVrIGV2ZW50cy9xdWVyaWVzCgoyMDEwLTA2LTA0IDE0OjU0OjU5IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBnc3RydHBjZWx0cGF5OiBkb24ndCBhbHdheXMgZml4YXRlIHNpbmsgY2FwcyB0byAxIGNoYW5uZWwKCSAgVGhlIGdldGNhcHMgZnVuY3Rpb24gc2hvdWxkIG5vdCBmaXhhdGUgdGhlIGNoYW5uZWxzIGZpZWxkIHVudGlsIHdlCgkgIGdldCB0aGUgZW5jb2RpbmctcGFyYW1zIGZpZWxkIGZyb20gb3VyIHNyY3BhZCdzIGNhcHMuIEZpeGVzICM2MjA1OTEKCjIwMTAtMDYtMDQgMTM6NTc6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHRyeSBhbGwgcmFuZ2VzIGZyb20gdGhlIHNkcAoJICBUcnkgYWxsIHJhbmdlcyBpbiB0aGUgU0RQIGJlZm9yZSBnaXZpbmcgdXAuCgoyMDEwLTA2LTA0IDEzOjU2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHBhcnNlX3JhbmdlIHJldHVybiByZXN1bHQKCSAgTWFrZSB0aGUgcGFyc2VfcmFuZ2UgZnVuY3Rpb24gcmV0dXJuIGlmIHRoZSBwYXJzaW5nIHN1Y2NlZWRlZCBvciBmYWlsZWQuCgoyMDEwLTA2LTA0IDExOjQ0OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBpZiB3ZSdyZSBub3QgbGlua2VkIGRvd25zdHJlYW0sIHdlIGNhbiBkbyBhbnkgZm9ybWF0CgkgIFN0dXBpZCBtZSwgYXNzdW1pbmcgX2dldF9hbGxvd2VkX2NhcHMoKSB3b3VsZCBhY3R1YWxseSByZXR1cm4gdGhlCgkgIHBhZCB0ZW1wbGF0ZXMgaWYgdGhlcmUgd2FzIG5vIHBlZXIuCgoyMDEwLTA1LTMxIDE2OjI2OjE5ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIEtlZXAgYW5ub3VuY2luZyB0aGUgZGVsaXZlcnktbWV0aG9kIGluIHRoZSBjYXBhYmlsaXRpZXMKCSAgRXZlbiB0aG91Z2ggd2UgZG9uJ3QgdXNlIGRlbGl2ZXJ5LW1ldGhvZCBpbiBvdXIgcGF5bG9hZGVyLCBvbGRlciB2ZXJzaW9ucyBvZgoJICB0aGUgdGhlb3JhIHBheWxvYWRlciBpbiBnc3RyZWFtZXIgcmVxdWlyZWQgaXQuIEFzIHN1Y2ggd2UgbmVlZCB0byBrZWVwIHRoaXMKCSAgYXJvdW5kIGluIHRoZSBjYXBzIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS4KCSAgVGhpcyByZXZlcnRzIHBhcnQgb2YgNDk0NjNhMzdjYmFhOTUyZTE0MDEyOTFmMGEyNjIzZGU2Y2FiMzg4MAoJICBGaXhlcyAjNjE4OTQwCgoyMDEwLTA2LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIHNvbWUgY29tbWVudHMgZm9yIHRyYW5zbGF0b3JzIHRvIGNsYXJpZnkgbWVhbmluZyBvZiAiTG93IgoJICAiTG93IiBldGMuIGFyZSBxdWFsaXR5IHNldHRpbmdzIGhlcmUgKGUuZy4gZm9yIHRoZSBpbnRlcm5hbCByZXNhbXBsZXIpLgoJICBTb21lIGRheSB3aGVuIHdlIHVzZSBHTGliJ3MgaTE4biBmdW5jdGlvbnMgd2UgbWlnaHQgd2FudCB0byB1c2UKCSAgTkNfKCkgYW5kIGdfZHBnZXR0ZXh0MigpIGhlcmUgaW5zdGVhZCBvZiB0aGUgY29tbWVudHMuCgkgIEZpeGVzICM1NTU5NjcuCgoyMDEwLTA2LTAzIDE5OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgbXA0Z2RlcGF5OiBjYWxjdWxhdGUgdGhlIGZyYW1lIGR1cmF0aW9uIGNvcnJlY3RseQoJICBXaGVuIHdlIGNhbGN1bGF0ZSB0aGUgZnJhbWUgZHVyYXRpb24sIHdlIG5lZWQgdG8gdXNlIHRoZSBhbW91bnQgb2YKCSAgZnJhbWVzIGluIHRoZSBfcHJldmlvdXNfIHBhY2tldCwgbm90IHRoZSBjdXJyZW50IHBhY2tldC4gVGhlIGZyYW1lIGR1cmF0aW9uIGlzCgkgIG5lZWRlZCB0byBjb3JyZWN0bHkgZGUtaW50ZXJsZWF2ZSBpbnRlcmxlYXZlZCBzdHJlYW1zLiBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlCgkgIHRoZXJlIGFyZSBhIHZhcmlhYmxlIG51bWJlciBvZiBmcmFtZXMgaW4gYSBwYWNrZXQuCgkgIEZpeGVzICM2MjA0OTQKCjIwMTAtMDYtMDMgMTg6NTg6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHJldHVybiBjYXBzIGluIGdldF9jYXBzKCkgdGhhdCB3aWxsIGJlIHJlamVjdGVkCgkgIFRoaXMgY29tbWl0IGJhc2ljYWxseSBwdXRzIF9nZXRfY2FwcygpIGluIHN5bmMgd2l0aCBhY2NlcHRfY2FwcygpLgoJICBJZiB3ZSBkb24ndCBoYXZlIGEgbWFzdGVyIHBhZCBPUiB0aGUgbWFzdGVyIHBhZCBjYXBzIGFyZW4ndCBuZWdvdGlhdGVkCgkgIHRoZW4gd2UganVzdCByZXR1cm4gdGhlIGRvd25zdHJlYW0gYWxsb3dlZCBjYXBzLgoJICBJZiB3ZSBoYXZlIGEgbWFzdGVyIHBhZCB3aXRoIG5lZ290aWF0ZWQgY2Fwcywgd2UgcmV0dXJuIHRob3NlIGNhcHMKCSAgd2l0aCBhIGZyZWUgcmFuZ2Ugb2Ygd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZQoKMjAxMC0wNi0wMyAxMzo0NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiBBZGQgY29tbWVudHMgdG8gcmVtb3ZlIHRoZSBwcm92aWRlLWNsb2NrIG1lc3NhZ2UgcG9zdGluZyBvbmNlIHdlIGRlcGVuZCBvbiBiYXNlIDAuMTAuMzAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGYzNzA4ZjM4YWEzODM5YTZhNjI1Y2E3ZDFjMTY2MTAxYzlmYmI3Zi4KCSAgVGhlIGJhc2VhdWRpb3NpbmsgY29tbWl0IHdhcyByZXZlcnRlZAoKMjAxMC0wNi0wMyAxMDoyNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWRkIGNvbW1lbnRzIHRvIHJlbW92ZSB0aGUgcHJvdmlkZS1jbG9jayBtZXNzYWdlIHBvc3Rpbmcgb25jZSB3ZSBkZXBlbmQgb24gYmFzZSAwLjEwLjMwCgkgIGJhc2VhdWRpb3NpbmsgZG9lcyBhbGwgdGhpcyBmb3IgdXMgbm93LgoKMjAxMC0wNS0wNyAxODo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBydHBkdG1mbXV4IHN0cmVhbS1sb2NrIGNvZGUKCjIwMTAtMDYtMDIgMTY6MzY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZGVsYXllZCBzZWVrIGhhbmRsaW5nIGFsc28gZGVzZXJ2ZXMgVFJVRSBldmVudCByZXNwb25zZQoKMjAxMC0wNi0wMiAxNTozMDo0NyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIHVudXNlZCB2YXJpYWJsZSDigJhlc3RpbWF0ZWTigJkKCjIwMTAtMDYtMDIgMTU6MDQ6MDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IHJldmVydCB0aGUgY2hhbmdlIGkgZGlkIGluIG15IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0wNi0wMiAxMzozOToxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHN0b3AgYnVmZmVyaW5nIGFuZCBlbWl0IEVPUyBhdCB0aGUgZW5kIG9mIGEgc3RyZWFtCgkgIFdoZW4gdXNpbmcgUlRQX0pJVFRFUl9CVUZGRVJfTU9ERV9CVUZGRVIsIG1ha2Ugc3VyZSB0aGF0IHRoZSByaW5nYnVmZmVyIGRvZXNuJ3QKCSAgZ2V0IHN0dWNrIGJ1ZmZlcmluZyBmb3JldmVyIHdoZW4gdGhlcmUgaXNuJ3QgZW5vdWdoIGRhdGEgbGVmdCB0byBmaWxsIHRoZQoJICBidWZmZXIuCgoyMDEwLTA2LTAxIDIxOjUyOjU5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkgIGRlYnVndXRpbHM6IERvbid0IGNvbnN1bWUgcHJlcm9sbCBidWZmZXIgdHdpY2UKCjIwMTAtMDYtMDEgMjE6MzI6MTEgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IFN0eWxlIGZpeDogdXNlIGdfc3RyZHVwKCkgaW5zdGVhZCBvZiBwcmludGYoKWluZyBhIHNpbXBsZSBzdHJpbmcKCjIwMTAtMDUtMjcgMTY6MDc6MzEgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVndXRpbHM6IFJlcGxhY2UgbWQ1IGltcGxlbWVudGF0aW9uIHdpdGggZ2xpYidzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk4MjQKCjIwMTAtMDUtMjIgMTE6NTU6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjbGVhbiB1cCBjb2RlIGZvciBhdmkgaGVhZGVyIHVzaW5nIGEgYnl0ZXdyaXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5MjkzCgoyMDEwLTA2LTAxIDE4OjU0OjQxIC0wNTAwICBQaWVycmUtTG91aXMgQm9zc2FydCA8cGllcnJlLWxvdWlzLmJvc3NhcnRAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb3B0aW1pemUgY29tbXVuaWNhdGlvbiB3aXRoIFB1bHNlQXVkaW8gdXNpbmcgcGFfc3RyZWFtX2JlZ2luX3dyaXRlCgoyMDEwLTA2LTAyIDEwOjUyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHRoZSBjbG9jayBhcHBlYXJzL2Rpc2FwcGVhcnMKCSAgRml4ZXMgYnVnICM2MjAyNzcuCgoyMDEwLTA2LTAxIDIzOjQ5OjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTdmODllNSB0byA0NzY4M2MxCgoyMDEwLTA2LTAxIDIyOjU0OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2RmZjBmYiB0byAxN2Y4OWU1CgoyMDEwLTA2LTAxIDIwOjQ1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaWx0ZXIgY2FwcyByZXR1cm5lZCBmcm9tIGRvd25zdHJlYW0gd2l0aCBvdXIgcGFkIHRlbXBsYXRlLgoKMjAxMC0wNi0wMSAxNjo1NjozMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFJlbW92ZSBtb3JlIHVubmVlZGVkIHdhcm5pbmdzCgoyMDEwLTA2LTAxIDE2OjU0OjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lZWRlZCB3YXJuaW5nCgoyMDEwLTA2LTAxIDE2OjQ5OjE0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lZWRlZCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDYtMDEgMTY6MjQ6NTMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpcy1saXZlIHByb3BlcnR5IHRvIGluZGV4ZWQKCjIwMTAtMDUtMjMgMTM6NTY6MTYgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogdXNlIHRoZSB1aW50NjQgc2NhbGluZyBmdW5jdGlvbnMKCSAgSW4gZGVtdXhlciBhbmQgbXV4ZXIgdXNlIHRoZSBnc3RfdXRpbF91aW50NjQgc2NhbGluZyBmdW5jdGlvbnMgcmF0aGVyIHRoYW4KCSAgc3RhbmRhcmQgaW50ZWdlciBkaXZpc2lvbi4gQWRkIHdhcm5pbmdzICh0byBiZSBjaGFuZ2VkIHRvIGRlYnVnKSBmb3IgZGVidWdnaW5nCgkgIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uLgoKMjAxMC0wNS0yMSAxNDozNTozNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBkZWx0YSB1bml0IG9uIGFsbCBidWZmZXJzIGV4Y2VwdCBjbHVzdGVyIHN0YXJ0IG9uZXMKCjIwMTAtMDUtMjEgMTM6Mzg6MTEgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBjYXBzIGFuZCBzZXQgb24gYnVmZmVycyByYXRoZXIgdGhhbiB1c2luZyBwYWQgY2FwcwoKMjAxMC0wNS0yMSAxMzoyNToyNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2Ugc3VyZSBwYWRzIGNhcHMgYXJlIHNldCBiZWZvcmUgYW55IGJ1ZmZlcnMgcHVzaGVkLgoKMjAxMC0wNS0yMSAxMzoxNDowNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZCBzdHJlYW1oZWFkZXJzCgoyMDEwLTA1LTIxIDEyOjIzOjA4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbm8gbmVlZCB0byBzZXQgY2FjaGUgdHdpY2UKCjIwMTAtMDUtMjEgMDE6NTk6NTMgKzAyMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIERvIG5vdCBjcmVhdGUgYSBTZWVrSGVhZGVyLCBDdWVzLCAuLiB3aGVuIGRvaW5nIGxpdmUKCjIwMTAtMDUtMjAgMjM6Mzk6NTkgKzAyMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGlzLWxpdmUgcHJvcGVydHkKCjIwMTAtMDYtMDEgMTM6MjI6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggdmFyaWFibGUgaW5pdAoKMjAxMC0wNS0yOCAxNjozNzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSByZXZlcnNlIHBsYXliYWNrCgkgIFNsaWdodGx5IG1vZGlmeSBhcHByb2FjaCB0byBhbHNvIGhhbmRsZSBjYXNlcyB3aGVyZSBjdWUgZW50cmllcyBkbyBub3QgcmVsaWFibHkKCSAgbGVhZCB0byBpbml0aWFsIGtleWZyYW1lcy4KCSAgRml4ZXMgIzYxOTgxNy4KCjIwMTAtMDUtMjQgMTY6MDI6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogYXZvaWQgZ3RrLWRvYyBjb25mdXNpbmcgY29tbWVudHMKCjIwMTAtMDUtMjEgMTE6MjE6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91cgoKMjAxMC0wNS0yMCAxNDozMzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2Ugd3JpdGUgY2FjaGluZyBhbHNvIHdoZW4gd3JpdGluZyBidWZmZXIgZGF0YQoJICBTcGVjaWZpY2FsbHksIHRoaXMgcmVkdWNlcyBwdXNoaW5nIHNldmVyYWwgc21hbGwgYnVmZmVycyBmb3IgZWFjaAoJICBkYXRhIGJ1ZmZlciBhbmQgYWxzbyBhdm9pZHMgYSBzZWVrIGZvciBlYWNoIGJ1ZmZlciBhbHRvZ2V0aGVyCgkgICh0aG91Z2ggYSBzZWVrIGlzIHN0aWxsIG5lZWRlZCBmb3IgZWFjaCBjbHVzdGVyKS4KCSAgRml4ZXMgIzYxOTI3My4KCjIwMTAtMDUtMjAgMTQ6MjM6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGVibWwgd3JpdGUgY2FjaGluZyB3aXRoIGJ5dGV3cml0ZXIgaW1wbGVtZW50YXRpb24KCSAgQWxzbyBjYWNoZSBhIGJpdCBtb3JlIGR1cmluZyBoZWFkZXIgd3JpdGluZy4KCSAgRml4ZXMgIzYxOTI3My4KCjIwMTAtMDUtMjAgMTQ6MDg6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBjb25zaXN0ZW50IGRlYnVnIGNhdGVnb3J5IG5hbWUgZm9yIGVibWx3cml0ZQoKMjAxMC0wNS0xOCAxNDo0NDoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgYnl0ZXJlYWRlciBiYXNlZCBHc3RFYm1sUmVhZCBhcyBhIGhlbHBlcgoJICAuLi4gcmF0aGVyIHRoYW4gYmFzaW5nIG9uIGl0IGJ5IGluaGVyaXRhbmNlLgoJICBBbHNvIHVzZSBtb3JlIGNvbW1vbiBjb2RlIGZvciBwdXNoIGFuZCBwdWxsIG1vZGUuCgkgIEZpeGVzICM2MTkxOTguCgkgIEZpeGVzICM2MTExMTcuCgoyMDEwLTA2LTAxIDE1OjQ3OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IF9nZXRfcGFkX3RlbXBsYXRlIHJlc3VsdCBuZWVkcyBubyB1bnJlZgoKMjAxMC0wNS0xOCAxOTo0Mjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IFN1cHBvcnQgOCBiaXQgZ3JheXNjYWxlCgkgIEFkZHMgc3VwcG9ydCB0byA4IGJpdCBncmF5c2NhbGUgaW5wdXQKCjIwMTAtMDUtMTggMTQ6NDY6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBZGRzIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQKCSAgQWRkcyBkZWNvZGluZyBzdXBwb3J0IGZvciBqcGVnIGltYWdlcyBpbiA4IGJpdCBncmF5c2NhbGUgZm9ybWF0LgoKMjAxMC0wNS0xOCAwMTo1NzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFjY2VwdCBncmF5c2NhbGUgYXMgaW5wdXQKCSAgQWRkcyB2aWRlby94LXJhdy1ncmF5c2NhbGUgKDggYml0KSBzdXBwb3J0IHRvIGpwZWdlbmMKCjIwMTAtMDUtMzEgMTM6MzA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEltcGxlbWVudCBzaW5rcGFkIEdldENhcHNGdW5jdGlvbi4KCSAgVGhpcyBhbGxvd3MgcmV0dXJuaW5nIG9ubHkgdGhlIGZvcm1hdHMsIHdpZHRoLCBoZWlnaHQsIGZyYW1lcmF0ZQoJICBhbmQgcGl4ZWwtYXNwZWN0LXJhdGlvIHRoYXQgZG93bnN0cmVhbSBjYW4gc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDE0OAoKMjAxMC0wNS0zMSAwNzo0OToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgY29tcGFyZSBydW5uaW5nIHRpbWVzIHdpdGggc3RyZWFtIHRpbWVzIHdoZW4gZG9pbmcgUW9TCgoyMDEwLTA1LTI3IDIxOjA2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IERvbid0IHJlY29uZmlndXJlIHRoZSBjYXBzIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcwoJICBGaXhlcyBidWcgIzYxOTg0OC4KCjIwMTAtMDUtMjYgMTM6MTM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogQWRkIHByb3BlcnR5IHRvIGFsbG93IHBhc3N0aHJvdWdoIG1vZGUKCSAgVGhpcyBwYXNzdGhyb3VnaCBtb2RlIGlzIHVzZWQgaWYgdGhlIGFscGhhIG1ldGhvZCBpcyAic2V0IgoJICBhbmQgdGhlIGFscGhhIHZhbHVlIGlzIDEuMC4KCSAgRml4ZXMgYnVnICM2MTc1MTIuCgoyMDEwLTA1LTI1IDE1OjE2OjA2ICsxMDAwICBBbGV4YW5kZXIgS29qZXZuaWtvdiA8YWxleGFuZGVyQGtvamV2bmlrb3YuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzdXBwb3J0IDI0LWJpdCB3aWR0aAoJICBGaXhlcyAjNjE5MDQ1CgoyMDEwLTA1LTI0IDIxOjUwOjU4ICsxMDAwICBBbGV4YW5kZXIgS29qZXZuaWtvdiA8YWxleGFuZGVyQGtvamV2bmlrb3YuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzdXBwb3J0IGFyYml0cmFyeSBiaXQgZGVwdGgKCSAgUGFydGlhbGx5IGZpeGVzICM2MTkwNDUKCjIwMTAtMDUtMjUgMDU6MzY6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGRlYWRsb2NrIGludHJvZHVjZWQgYnkgdmlkZW8ga2V5ZnJhbWUgUW9TCgoyMDEwLTA1LTIzIDA5OjMyOjA4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBza2lwIGJ1ZmZlcnMgYmVmb3JlIGEgbGF0ZSBrZXlmcmFtZSAoUW9TKQoJICBCZWZvcmUsIHZwOGRlYyBoYWQgbm8gb3B0aW9uIGJ1dCB0byBkZWNvZGUgYWxsIGZyYW1lcyBldmVuIGlmIHNvbWUvYWxsCgkgIG9mIHRoZW0gd291bGQgYmUgbGF0ZS4gV2l0aCB0aGlzIGNoYW5nZSwgcGVyZm9ybWFuY2Ugd2hlbiBrZXlmcmFtZXMgYXJlCgkgIGZyZXF1ZW50IGlzIGhlbHBlZCBhIGdyZWF0IGRlYWwuIE9uIG15IFRoaW5rcGFkIFg2MHMsIGRlY29kaW5nIGEgMjAgcwoJICAxMDgwcCBzdW5mbG93ZXIgZW5jb2RlIHdpdGgga2V5ZnJhbWVzIGV2ZXJ5IDEwIGZyYW1lcyB3ZW50IGZyb20gdGFraW5nCgkgIDQyIHMgd2l0aCA1IGZyYW1lcyBzaG93biB0byAyMSBzIHdpdGggMTUgZnJhbWVzIHNob3duIChzdGlsbCBzbG93CgkgIGVub3VnaCB0byBjb3VudCBieSBoYW5kKS4gV2hlbiBrZXlmcmFtZXMgYXJlIG1vcmUgc3BhcnNlLCB5b3Ugd2lsbAoJICBzdGlsbCBiZSBhYmxlIHRvIGNhdGNoIHVwIGV2ZW50dWFsbHksIGJ1dCB0aGUgcmVzdWx0cyB3b24ndCBiZSBhcwoJICBub3RpY2FibGUuCgoyMDEwLTA1LTE0IDE3OjU3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IERvbid0IG1peCBpbnB1dCB3aXRoIGRpZmZlcmVudCBwaXhlbCBhc3BlY3QgcmF0aW9zCgkgIEZpeGVzIGJ1ZyAjNjE4NTMwLgoKMjAxMC0wNS0xNyAxOTo1NDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBNTVgvM0ROb3cgaW1wbGVtZW50YXRpb25zIG9mIGdyZWVkeWggZm9yIFVZVlkKCjIwMTAtMDUtMTcgMTk6MTY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggVVlWWSBpbXBsZW1lbnRhdGlvbiBvZiBncmVlZHloIHRvIGJlIGFjdHVhbGx5IHVzZWQKCjIwMTAtMDUtMTEgMTE6NDM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICBnZGtwaXhidWY6IEFkZCBhIGdka3BpeGJ1ZjMgcGx1Z2luIHRoYXQgdXNlcyBnZGtwaXhidWYzCgoyMDEwLTA2LTAxIDEwOjA2OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5oOgoJICB3aW4zMjogYWRkIG1vcmUgZ2VuZXJhdGVkIG1hcnNoYWwgYW5kIGVudW10eXBlIGZpbGVzIHRvIHdpbjMyLXVwZGF0ZQoKMjAxMC0wNi0wMSAwOToyNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgUmV2ZXJ0ICJtYXRyb3NrYTogYWRkIHRlbXBvcmFyeSB3ZWJtIHR5cGVmaW5kZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDE0OGVjMGFkMjA1M2FiYjBjMzhmYzY4MWE4OTUzMjkyOTg1Mzg4Zi4KCSAgV2UgZGVwZW5kIG9uIC1iYXNlIGdpdCBub3csIHdoaWNoIGhhcyBhIHdlYm0gdHlwZWZpbmRlciBpbiB0aGUgdXN1YWwKCSAgcGxhY2UuCgoyMDEwLTA2LTAxIDA5OjI2OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgUmV2ZXJ0ICJhdmltdXgsIGZsdm11eCwgbWF0cm9za2FtdXg6IGRvbid0IGNyYXNoIGlmIHRhZ3MgYXJyaXZlIG9uIG11bHRpcGxlIGlucHV0IHBhZHMgYXQgdGhlIHNhbWUgdGltZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2YTk5ODNjZDIwYzQ4Yjk2Mzk2MjI5YjNmOTRkMDI1NGEwNWRkZjQ4LgoJICBSZWx5IG9uIGxvY2tpbmcgZG9uZSBpbiBHc3RUYWdTZXR0ZXIgaW4gY29yZSBnaXQuCgoyMDEwLTA2LTAxIDA5OjIzOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGNvcmUvYmFzZSBnaXQKCSAgRm9yIFdlYk0gdHlwZWZpbmRpbmcgYW5kIEdzdFRhZ3NldHRlciBmaXhlcy4KCjIwMTAtMDYtMDEgMDk6MTc6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIzID09PQoKMjAxMC0wNS0zMCAxNDowMzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjMKCjIwMTAtMDUtMzAgMTQ6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNS0yOSAxMDoyMzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggcG9zaXRpb24gcXVlcnkKCjIwMTAtMDUtMjggMTU6MTQ6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIGRvY3M6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2aWRlb3JhdGUgZWxlbWVudCBmcm9tIHdlYm1tdXggZXhhbXBsZSBwaXBlbGluZQoKMjAxMC0wNS0yOCAxMDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEtlZXAgdmFyaWFibGVzIGluIHNhbmUgc3RhdGUgYWZ0ZXIgX3Jlc2V0CgkgIFdoZW4gcmVzZXRpbmcsIGtlZXAgJ3JvdycgdmFyaWFibGVzIGF0IGEgc2FuZSBzdGF0ZSBhZnRlcgoJICBmcmVlaW5nIHRvIGF2b2lkIGl0IGJlaW5nIGZyZWVkIGFnYWluIG9uIF9yZXN5bmMgcmVhbGxvYwoJICB3aGVuIHRoZSBlbGVtZW50IGlzIHJldXNlZC4KCSAgRml4ZXMgIzYxOTk0MwoKMjAxMC0wNS0yNyAxODowODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBmbG9hdGluZyBwb2ludCB0byBpbnRlZ2VyIGNvbnZlcnNpb24gZm9yIHRoZSBhbHBoYSB2YWx1ZXMKCSAgRml4ZXMgYnVnICM2MTk4MzUuCgoyMDEwLTA1LTI2IDA4OjU0OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIyLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMjYgMDA6MzM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDUtMjUgMTU6MzQ6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBoYW5kbGUgdHJ1bmNhdGVkIGlucHV0IGRhdGEgYXQgRU9TIGluIHB1bGwgbW9kZQoJICBGaXhlcyAjNjE3NzMzLgoKMjAxMC0wNS0yNiAxMTo1NToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1N2IwZGIgdG8gZmQ3Y2EwNAoKMjAxMC0wNS0yNSAyMToxNDowNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSb3VuZCB0aW1lc3RhbXAgdXAgd2hlbiBzY2FsaW5nIHRvIG1vdiBmb3JtYXQKCSAgRml4IHRpbWVzdGFtcCByb3VuZGluZyB0byBhbGxvdyB0aGUgY29ycmVjdCBpbmRleCB0byBiZSBsb2NhdGVkLgoJICBUaGUgaXNzdWUgd2FzIHRoYXQgc2NhbGluZyBmcm9tIEdTdHJlYW1lciB0aW1lIGZvcm1hdCB0byBtb3YgdGltZSBmb3JtYXQgd2FzCgkgIHJvdW5kaW5nIGRvd24gY2F1c2luZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXdzZWdtZW50IGV2ZW50IHJlY2VpdmVkIGFmdGVyIGEKCSAgZmx1c2hpbmcga2V5ZnJhbWUgc2VlayB0byBmaW5kIHRoZSBzYW1wbGUgaW5kZXggYmVmb3JlIHRoZSBvbmUgaXQgc2hvdWxkCgkgIGNhdXNpbmcgZnVydGhlciBiYWNrd2FyZCBzZWVraW5nIHRvIHRoZSBrZXlmcmFtZSBwcmlvciB1bnRpbCBubyByb3VuZGluZyBlcnJvcgoJICBvY2N1cnJlZC4KCSAgUm91bmRpbmcgdXAgd2hlbiBzY2FsaW5nIHRvIG1vdiBmb3JtYXQgaGFzIHRoZSBkZXNpcmVkIGVmZmVjdCwgYW5kIGl0IGlzCgkgIG5vdCBjbGVhciB3aGV0aGVyIGp1c3QgdGhlIF9yb3VuZCAoKSB2YXJpYW50IHdvdWxkIGJlIHN1ZmZpY2llbnQuCgkgIEZpeGVzIGJ1ZyAjNjE5MTA1CgoyMDEwLTA1LTI0IDE3OjI2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgYXZpbXV4LCBmbHZtdXgsIG1hdHJvc2thbXV4OiBkb24ndCBjcmFzaCBpZiB0YWdzIGFycml2ZSBvbiBtdWx0aXBsZSBpbnB1dCBwYWRzIGF0IHRoZSBzYW1lIHRpbWUKCSAgVGhpcyBpcyBhIHRlbXBvcmFyeSBmaXggZm9yIHRoZSByZWxlYXNlIG9ubHkuCgkgIEZpeGVzICM2MTk1MzMuCgoyMDEwLTA1LTI1IDE3OjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmE6IHJlbW92ZSBkZWxpdmVyeS1tZXRob2QgZnJvbSBjYXBzCgkgIFdlIGNhbiBhY2NlcHQgYWxsIGRlbGl2ZXJ5IG1ldGhvZHMgc28gZG9uJ3QgYWR2ZXJ0aXNlIGFueXRoaW5nIG9uIHRoZSBjYXBzIG9yCgkgIHBhcnNlIGFueXRoaW5nLCB3ZSB3aWxsIGhhbmRsZSB3aGF0ZXZlciB3ZSByZWNlaXZlLgoJICBGaXhlcyAjNjE4OTQwCgoyMDEwLTA1LTI1IDE1OjQwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYTogYWRkIHRlbXBvcmFyeSB3ZWJtIHR5cGVmaW5kZXIKCSAgQWRkIHdlYm0gdHlwZWZpbmRlciBqdXN0IGZvciB0aGUgcmVsZWFzZSwgc28gd2VibSB3b3JrcyBmb3IKCSAgcGVvcGxlIHdob3NlIGRpc3Ryb3MgZG9uJ3QgcGF0Y2ggZ3N0LXBsdWdpbnMtYmFzZSBhcyB3ZWxsLgoJICBXZSdsbCByZW1vdmUgdGhpcyBhZ2FpbiBhZnRlciB0aGUgcmVsZWFzZS4KCjIwMTAtMDUtMjMgMTE6MTc6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIGRvY3M6IGFkZCBzb21lIHBpcGVsaW5lIGV4YW1wbGVzIHRvIHdlYm1tdXggZG9jcwoKMjAxMC0wNS0yMSAxMjoyNzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogYWRkIHdlYm1tdXggdG8gZG9jcwoKMjAxMC0wNS0yMSAxMzowMTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogZml4IHVwIHBsdWdpbiBhbmQgZWxlbWVudCBkZXNjcmlwdGlvbnMgYSBiaXQKCjIwMTAtMDUtMjEgMTI6NDc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguaDoKCSAgbWF0cm9za2E6IG1vdmUgd2VibW11eCBpbnRvIG93biBzb3VyY2UgZmlsZXMKCSAgTWFrZXMgdGhpbmdzIGVhc2llciBmb3IgZ3RrLWRvYy4KCjIwMTAtMDUtMjEgMTI6MjY6MDUgKzA1MDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEwLTA1LTIwIDIwOjAxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogUmVtb3ZlIHRoZSBkb2N0eXBlIGVudW0sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlCgoyMDEwLTA1LTIwIDE5OjU3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICB3ZWJtbXV4OiBBZGQgbmV3IHdlYm1tdXggZWxlbWVudCB0aGF0IG9ubHkgc3VwcG9ydHMgbXV4aW5nIG9mIFdlYk0KCSAgLi4uYW5kIHJlbW92ZSB0aGUgZG9jdHlwZSBwcm9wZXJ0eSBmcm9tIG1hdHJvc2thbXV4IGFnYWluLgoKMjAxMC0wNS0yMCAxNzozMTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogdW5pdCB0ZXN0IGNoZWNrcyB2ZXJzaW9uIDEgZmlsZXMKCjIwMTAtMDUtMTggMTU6Mjc6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBmaXggbGF0ZW5jeSBxdWVyeQoJICBTcGVleCBzaG91bGQgcmVwb3J0IDMwIG1zIGxhdGVuY3kgZm9yIG5hcnJvd2JhbmQgbW9kZSwgMzQgb3RoZXJ3aXNlLgoJICBGaXhlcyAjNjE5MDE4CgoyMDEwLTA1LTE4IDIxOjA0OjMyICswODAwICBQaGlsaXAgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1scmVhZDogcm0gZmxvYXRjYXN0LmggaW5jbHVkZSAobm90IHVzZWQpCgoyMDEwLTA1LTE3IDA1OjM2OjAwICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYnVtcCBkZWZhdWx0IGRvY3R5cGUgdmVyc2lvbiB0byAyCgkgIEluIHRoaXMgZGF5IGFuZCBhZ2UgdGhpcyBzaG91bGQgYmUgc2FmZS4gVGhlcmUncyBvdGhlcndpc2UgYSByaXNrIHBlb3BsZQoJICB3aWxsIGJlIGNyZWF0aW5nIHVubmVjY2Vzc2FyaWx5IGJpZyBXZWJNIGZpbGVzIGFzIHRoZXkgY2FuJ3QgdXNlCgkgIFNpbXBsZUJsb2NrIGluIHYxLgoKMjAxMC0wNS0xNyAwNToyNzo0NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBoYW5kbGUgbWF0cm9za2EgYW5kIHdlYm0gZG9jdHlwZSB2ZXJzaW9ucyBlcXVhbGx5CgkgIFRoZSBvcmlnaW5hbCBwbGFuIHdhcyB0byBsZXQgV2ViTSB2MSBiZSB0aGUgc2FtZSBhcyBNYXRyb3NrYSB2MiAod2l0aAoJICBleHRyYSBjb25zdHJhaW50cyksIGJ1dCBmb3Igc2ltcGxpY2l0eSBpdCB3YXMgZGVjaWRlZCB0byBoYW5kbGUgdGhlCgkgIHZlcnNpb25zIGVxdWFsbHksIHN1Y2ggdGhhdCBlLmcuIFNpbXBsZUJsb2NrIGlzIG9ubHkgYWxsb3dlZCBpbiBXZWJNIHYyLgoKMjAxMC0wNS0xMyAxMjoxMDo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBWZXJpZnkgbGFjZSBzaXplIGluIF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrCgkgIEZhaWx1cmUgdG8gZG8gdGhpcyBmb3IgY29ycnVwdCBpbnB1dCBjYW4gY2F1c2UgYSBzdWJidWZmZXIgYmlnZ2VyCgkgIHRoYW4gdGhlIGFjdHVhbCBidWZmZXIgdG8gYmUgY3JlYXRlZCwgcXVpY2tseSBsZWFkaW5nIHRvIHNlZ2ZhdWx0LgoJICBUZXN0IGNhc2U6CgkgIGJ1Z19zMjIyMDA1NzUxX3IwLjAwMV9fX19tZW1jcHkud2VibQoKMjAxMC0wNS0xMyAxMDoyMzoxMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBlYm1sOiBjcnVkZSBoYWNrIHRvIGF2b2lkIGNyYXNoaW5nIG9uIHVuZXhwZWN0ZWQgbWV0YWRhdGEKCSAgVGhlIGNvbW1lbnQgc2F5cyB0aGlzIGNhbm5vdCBoYXBwZW4sIGJ1dCBpdCBkaWQgYW5kIEkgZG9uJ3Qga25vdwoJICB3aHkuIFRoaXMgaXMgbm90IHRoZSBjb3JyZWN0IGZpeCwgbmVlZHMgaW52ZXN0aWdhdGlvbi4gVGVzdCBjYXNlOgoJICBidWdfczU1NTAxMDA5NF9yMC4wMDA1OjAuMDA4X19fX0lBX19nX2Fzc2VydGlvbl9tZXNzYWdlX2V4cHIud2VibQoKMjAxMC0wNS0xMyAwOToxODo1NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbDogZG9uJ3QgbW9kaWZ5IG91dCBzdHIgaWYgcmV0dXJuaW5nIGFuIGVycm9yIGluIF9yZWFkX2FzY2lpCgkgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gQVNDSUkgdmFsaWRhdGlvbiBjaGFuZ2VzLiBUZXN0IGNhc2U6CgkgIGJ1Z19zNjY4NzYzOTBfcjAuMDAxX19fX21hbGxvY19wcmludGVyci53ZWJtCgoyMDEwLTA1LTEyIDEzOjE2OjI4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sOiBWYWxpZGF0ZSA3LWJpdCBBU0NJSSBpbiBnc3RfZWJtbF9yZWFkX2FzY2lpCgkgIFRoaXMgd2FzIHRyaWdnZXJpbmcgYW4gVVRGLTggYXNzZXJ0aW9uIGluIGdzdF9jYXBzX3NldF9zaW1wbGUgZm9yCgkgIGNvcnJ1cHQgZmlsZXMgd2l0aCBnYXJiYWdlIGFzIGNvZGVjIGlkLiBUZXN0IGNhc2U6CgkgIGdzdHJlYW1lcl9lcnJvcl90cnlpbmdfdG9fc2V0X2ludmFsaWRfdXRmOF9hc19jb2RlY19pZC53ZWJtCgkgIE9sZCBnc3RfZWJtbF9yZWFkX2FzY2lpIHJlbmFtZWQgdG8gZ3N0X2VibWxfcmVhZF9zdHJpbmcsIGFsc28gdXNlZCBieQoJICBnc3RfZWJtbF9yZWFkX3V0ZjguIFVubGlrZSBmb3IgVVRGLTgsIGZhaWx1cmUgdG8gdmFsaWRhdGUgaXMgYW4gZXJyb3IsCgkgIGFzIGdzdF9lYm1sX3JlYWRfYXNjaWkgaXMgdXNlZCBmb3IgcmVhZGluZyBkb2N0eXBlIGFuZCBjb2RlYyBpZCBhbmQgd2UKCSAgbWlnaHQganVzdCBhcyB3ZWxsIGdpdmUgdXAgZWFybHkgaW4gdGhvc2UgY2FzZXMuCgoyMDEwLTA1LTEyIDE0OjMwOjE4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IElnbm9yZSB1bmV4cGVjdGVkIENvZGVjU3RhdGUKCSAgQmVjYXVzZSBHc3RNYXRyb3NrYVRyYWNrQ29udGV4dCAqc3RyZWFtIGlzIHNldCB1cCBpbiB0aGUgZmlyc3QKCSAgU2ltcGxlQmxvY2sgb3IgQmxvY2ssIGEgcm9ndWUgQ29kZWNTdGF0ZSBvdGhlcndpc2UgY2F1c2VzIGEgc2VnZmF1bHQgb24KCSAgZGVyZWZlbmNpbmcgdGhlIE5VTEwgcG9pbnRlci4gVGVzdCBjYXNlOgoJICBidWdfczU1MDYxNjdfcjAuMDAxX19fX2dzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrLndlYm0KCjIwMTAtMDUtMTAgMDY6MDA6NDkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWRkIHZpZGVvL3dlYm0gc2luayBjYXBzCgoyMDEwLTA1LTA5IDE5OjQ2OjUxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIFNpbXBsZUJsb2NrIGZvciBXZWJNIHdoZW4gcG9zc2libGUKCjIwMTAtMDUtMDkgMTk6Mjg6NTkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU3VwcG9ydCAid2VibSIgRG9jVHlwZQoKMjAxMC0wNS0wOSAxMjozNToxMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogcmVuYW1lIG1hdHJvc2thX3ZlcnNpb24gdG8gZG9jdHlwZV92ZXJzaW9uCgoyMDEwLTA1LTA5IDEyOjA5OjU3ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogU3VwcG9ydCAid2VibSIgRG9jVHlwZQoKMjAxMC0wNS0xMiAxODozODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBWUDgKCjIwMTAtMDQtMjcgMTU6MjY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIE9uMiBWUDgKCSAgLi4ubWF0cm9za2FkZW11eCBhdXRvbWF0aWNhbGx5IHN1cHBvcnRzIGl0IHRocm91Z2ggbGliZ3N0cmlmZi4KCjIwMTAtMDQtMjcgMTU6MjU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBZGQgc3VwcG9ydCBmb3IgT24yIFZQOAoJICAuLi5hdmlkZW11eCBhdXRvbWF0aWNhbGx5IHN1cHBvcnRzIGl0IHRocm91Z2ggbGliZ3N0cmlmZi4KCjIwMTAtMDUtMTcgMTc6MTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IERvbid0IGxvY2sgdGhlIG1haW5sb29wIGluIE5VTEwKCjIwMTAtMDUtMTUgMjE6MTU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSA9IGluc3RlYWQgb2YgPT0gaW4gc2hlbGwgc2NyaXB0cyBmb3IgZXF1YWxpdHkgY2hlY2tzCgoyMDEwLTA1LTE0IDE4OjMzOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIyLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMTQgMTg6MjQ6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0ZDY3YmQ2IHRvIDM1N2IwZGIKCjIwMTAtMDUtMTQgMTg6MTY6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBsZWFrIGluIHNvdXBodHRwc3JjIHVuaXQgdGVzdAoJICBVbnJlZiBzZXJ2ZXIgb2JqZWN0cyB3aGVuIGRvbmUuIEZpeGVzIGNoZWNrLXZhbGdyaW5kLgoKMjAxMC0wNS0xNCAxNzozMDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZpeCB0d28gbGVha3MKCSAgRG9uJ3QgbGVhayBvdGhlcmNhcHMgb3IganBlZ2VuYyByZWYuCgoyMDEwLTA1LTEzIDEzOjAxOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGRvY3MKCSAgRG9jdW1lbnRhdGlvbiBlcnJvciBzcG90dGVkIGJ5IHRvbnkgPGNhaWNhaTAxMTkgYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjE4NDE5CgoyMDEwLTA1LTExIDEzOjE4OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBtYWtlIGRlbGl2ZXJ5LW1ldGhvZCBwYXJhbWV0ZXIgb3B0aW9uYWwKCSAgSXQgcHJvYmFibHkgd2lsbCBub3QgYmUgaW4gdGhlIGZpbmFsIFJGQyBhcyBpdCBpcyBub3QgaW4gUkZDIDUyMTUgZm9yIFZvcmJpcy4KCSAgSWYgdGhlcmUgaXMgYSBjb25maWd1cmF0aW9uIHNwZWNpZmllZCwgYXNzdW1lIGl0IGlzIGluLWxpbmUgYW5kIGlmIG5vdGhpbmcgaXMKCSAgc3BlY2lmaWVkLCBhc3N1bWUgaXQgaXMgaW4tYmFuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxODM4NgoKMjAxMC0wNS0xMyAxMjoxNjo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogaW5jcmVhc2UgYWNjZXB0YWJsZSBvdXRwdXQgc2l6ZXMKCSAgV2UgY2FuIHBlcmZlY3RseSBkZWNvZGUgMXgxIGltYWdlcyBzbyBsb3dlciB0aGUgbWluIHdpZHRoIGFuZCBoZWlnaHQgdG8gMS4KCSAgRml4ZXMgIzYxODM5MgoKMjAxMC0wNS0xMyAxMTozMDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBjZWx0cGF5OiBmaXggcXVldWUgZHVyYXRpb24gY2FsY3VsYXRpb25zCgkgIERvbid0IGJsaW5kbHkgYWRkIHRoZSBkdXJhdGlvbnMgb2YgaW5jb21taW5nIGJ1ZmZlcnMgdG8gdGhlIHRvdGFsIHF1ZXVlZAoJICBkdXJhdGlvbiBiZWNhdXNlIGl0IG1pZ2h0IGJlIGludmFsaWQuIE1hcmsgdGhlIHRvdGFsIHF1ZXVlZCBkdXJhdGlvbiBpbnZhbGlkCgkgIHdoZW4gd2UgcmVjZWl2ZSBhbiBpbnZhbGlkIGluY29tbWluZyB0aW1lc3RhbXAgYmVjYXVzZSB0aGF0J3Mgd2hlbiB3ZSBsb3NlIHRyYWNrCgkgIG9mIHRoZSB0b3RhbCBxdWV1ZWQgZHVyYXRpb24uCgkgIEZpeGVzICM2MTgzMjQKCjIwMTAtMDUtMTAgMTE6MTQ6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGV4dHJhY3QgU1BTIGFuZCBQUFMgZnJvbSBwcm9wZXJ0eSBwcm92aWRlZCBwYXJhbWV0ZXIgc2V0CgkgIC4uLiBzbyBpdCBjYW4gYWxzbyBiZSByZWd1bGFybHkgaW5zZXJ0ZWQgaW50byB0aGUgc3RyZWFtIGlmIHNvIGNvbmZpZ3VyZWQuCgkgIEZpeGVzICM2MTcxNjQuCgoyMDEwLTA1LTExIDIyOjI4OjA4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhbGxvdyBzd2l0Y2hpbmcgdmlld3MgYXQgcnVudGltZS4KCjIwMTAtMDUtMTEgMjA6MjY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBkaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGUgdG8gZml4IG1ha2UgZGlzdGNoZWNrCgoyMDEwLTA1LTExIDE5OjA1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICBvc3M0OiBtaW5vciBjbGVhbnVwCgkgIFJlbW92ZSBmaXhlZCBGSVhNRSwgY2hhbmdlIGZpbmFsaXNlIHRvIGZpbmFsaXplIGZvciBjb25zaXN0ZW5jeS4KCjIwMTAtMDUtMTEgMTk6MDE6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJICBkb2NzOiBhZGQgb3NzNCBlbGVtZW50cyB0byBkb2NzCgoyMDEwLTA1LTExIDE2OjA5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogbW92ZSBvc3M0IHN0cmluZ3MgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDEwLTA1LTExIDE2OjA4OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSBvc3M0IHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSwgZG9jcyBhbmQgdGVzdHMuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTI5IDEzOjE4OjU4ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgIG9zczRzaW5rOiBpbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZSBhbmQgYWRkIG11dGUgYW5kIHZvbHVtZSBwcm9wZXJ0aWVzCgkgIE9TUzQgc3VwcG9ydHMgcGVyLXN0cmVhbSB2b2x1bWUgY29udHJvbCwgc28gZXhwb3NlIHRoaXMgdXNpbmcgdGhlIHJpZ2h0CgkgIEFQSSwgc28gdGhhdCBwbGF5YmluMiBhbmQgYXBwbGljYXRpb25zIGxpa2UgdG90ZW0gY2FuIG1ha2UgdXNlIG9mIGl0CgkgIChpbnN0ZWFkIG9mIHVzaW5nIGEgdm9sdW1lIGVsZW1lbnQgZm9yIHZvbHVtZSBjb250cm9sKS4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMDggMTA6NDU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiA4LWJpdCBQQ00gYXVkaW8gY2FwcyBkb24ndCBuZWVkIGFuIGVuZGlhbm5lc3MgZmllbGQKCjIwMTAtMDQtMDggMTA6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBkb24ndCBpdGVyYXRlIHRoZSBmb3JtYXRzIHRhYmxlIHR3aWNlIGZvciBlYWNoIGVudHJ5CgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBmb3JtYXRzIHRhYmxlLCB3ZSBjYW4ganVzdCBwYXNzIHRoZSB3aG9sZQoJICBlbnRyeSB0byBvdXIgaGVscGVyIGZ1bmN0aW9uLCB3aGljaCBhdm9pZHMgaXRlcmF0aW5nIHRoZSB0YWJsZQoJICBhZ2FpbiB0byBmaW5kIHRoZSBlbnRyeSBzdHJ1Y3R1cmUgZnJvbSB0aGUgcGFzc2VkIGZvcm1hdCBpZC4KCjIwMTAtMDMtMzAgMTE6NDM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBhbHNvIGFjY2VwdCBmb3JtYXRzIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQKCSAgQWxzbyBhY2NlcHQgZm9ybWF0cyB0aGF0IGFyZSBub3QgbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IHRoZQoJICBoYXJkd2FyZSwgT1NTNCBjYW4gY29udmVydCB0aGVtIGludGVybmFsbHkuIExpc3QgdGhlIG5hdGl2ZQoJICBmb3JtYXRzIGZpcnN0IGluIHRoZSBjYXBzIHRob3VnaCwgdG8gZXhwcmVzcyBvdXIgcHJlZmVyZW5jZQoJICBmb3IgdGhlIG5hdGl2ZSBmb3JtYXRzLiBXZSBuZWVkIHRoaXMgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUKCSAgY2FzZSBwcm9wZXJseSB3aGVyZSB0aGUgYXVkaW8gaGFyZHdhcmUgc3VwcG9ydHMgb25seSBlLmcuCgkgIGxpdHRsZSBlbmRpYW4gUENNLCBidXQgdGhlIGhvc3QgaXMgYmlnIGVuZGlhbiwgc2luY2UgbWFueQoJICBhdWRpbyBlbGVtZW50cyBvbmx5IHN1cHBvcnQgbmF0aXZlIGVuZGlhbm5lc3MgYW5kIG1ha2UgdGhlCgkgIHJlYXNvbmFibGUgYXNzdW1wdGlvbiB0aGF0IGFueSBhdWRpb3Npbmsgd2lsbCBiZSBhYmxlIHRvCgkgIGhhbmRsZSBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCSAgRml4ZXMgIzYxNDMxNy4KCjIwMTAtMDMtMzAgMDE6MTQ6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgY29tbWVudCBmb3IgdHJhbnNsYXRvcnMKCSAgTm90IHRoYXQgdGhhdCB3aWxsIG1ha2UgdGhlc2Ugc3RyaW5ncyBtdWNoIGJldHRlci4gQWxzbyByZW1vdmUgaTE4bgoJICBtYXJrZXIgd2hlcmUgaXQgZG9lc24ndCBtYWtlIHNlbnNlLgoKMjAxMC0wMy0yMiAxNjoxMzoxMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBSZWZhY3RvciBjb2RlIHRvIG1ha2UgaXQgbG9vayBtb3JlIG1vZGVybgoJICBBIHNpZGUgZWZmZWN0IGlzIHRoYXQgaXQgcGFzc2VzIC1XZm9ybWF0LW5vbmxpdGVyYWwgYW5kIGRvZXNuJ3QgcmVhZAoJICBpbnZhbGlkIG1lbW9yeSBpbiBzb21lIGNhc2VzLCBsaWtlIHdoZW4gdGhlIG1peGVyIHRyYWNrIGNvbnRhaW5zCgkgIGEgJSBzaWduIG9yIHRoZXJlIGlzIGEgbnVtYmVyIGJ1dCBub3QgYSBrbm93biBtaXhlciBuYW1lLgoKMjAxMC0wMy0yMiAxNDowOToyNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdm9pZCBnX3F1YXJrX3RvX3N0cmluZyAoZ19xdWFya19mcm9tX3N0cmluZyAoKSkgbWFkbmVzcwoJICBXZSB0byB0aGUgc3RyZHVwIGluc2lkZSBnc3Rfb3NzNF9taXhlcl9jb250cm9sX2dldF90cmFuc2xhdGVkX25hbWUoKQoJICBpbnN0ZWFkIG9mIGluIHRoZSBvbmx5IGNhbGxlci4KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAxLTIwIDEzOjI5OjUyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCByZXR1cm4gdmFsdWUKCjIwMDktMDgtMjEgMDE6MTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBmaXggdGVzdC1vc3M0IHRvIHRyZWF0IGFuIGVtcHR5IGRldmljZSBuYW1lIHRoZSBzYW1lIGFzIGEgTlVMTCBuYW1lCgoyMDA5LTA3LTE2IDEzOjU1OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF0dGVtcHQgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoJICBEb24ndCBzdG9yZSBhIGNvbnN0IGdjaGFyICogaW4gYSBub24tY29uc3QgZ2NoYXIgKiBsb2NhbCB2YXIuCgkgIEFsc28sIG1ha2UgdGhlIHRyYW5zbGF0aW9uIHN0cmluZyBmdW5jdGlvbiBzdGF0aWMgc2luY2UgaXQncyBvbmx5CgkgIHVzZWQgaW4gdGhlIG9uZSBmaWxlLgoKMjAwOS0wNi0xMCAxOToyMToyMSArMDEwMCAgR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEVuaGFuY2VtZW50cyB0byB0aGUgbWl4ZXIgYW5kIGF1ZGlvIG91dHB1dAoJICBDb2RlIGNsZWFudXBzLCBnZW5lcmFsIGltcHJvdmVtZW50cywgc3VwcG9ydCBmb3IgdGhlCgkgIG5ldyBtaXhlciBmbGFncyBpbiBsYXRlc3QgZ3N0LXBsdWdpbnMtYmFzZS4KCSAgRml4ZXM6ICM1ODQyNTIKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTEyIDIxOjUyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3M0LzogQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIEZpeGVzOiAjNTU1OTY5ICM1NTU5NjggIzU1NTk2NQoKMjAwOC0wOC0wNyAxNjoyMDozMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3BsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0xMiAxMzowNjozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IEluY2x1ZGUgc3RkbGliLmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwOC0wNS0yMiAxNjozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiAob3B0X3Nob3dfbWl4ZXJfbWVzc2FnZXMpLCAoV0FJVF9USU1FKSwKCSAgKHNob3dfbWl4ZXJfbWVzc2FnZXMpLCAocHJvYmVfbWl4ZXJfdHJhY2tzKSwgKHByb2JlX3BhZCksCgkgIChwcm9iZV9kZXRhaWxzKSwgKHByb2JlX2VsZW1lbnQpLCAobWFpbik6CgkgIFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcwoJICB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGF0LiBBbHNvIGFsbG93cyB0ZXN0aW5nIG9mCgkgIG1peGVyIGNoYW5nZSBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwOC0wNS0yMiAxNToxNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3M0LzogTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZSBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOiAoZ3N0X29zczRfbWl4ZXJfb3Blbik6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZSksCgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lX25vZmQpOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzogKGdzdF9vc3M0X3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUKCSAgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgoyMDA4LTA1LTA4IDE5OjE2OjE3ICswMDAwICBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodEBudGx3b3JsZC5jb20+CgoJICBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLCBzbyBtYXNrIHRob3NlIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodCBudGx3b3JsZCBjb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogKGdzdF9vc3M0X21peGVyX3NsaWRlcl91bnBhY2tfdm9sdW1lKToKCSAgQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywKCSAgc28gbWFzayB0aG9zZSBvdXQgd2hlbiByZWFkaW5nIHRoZW0uIFByb2JhYmx5IG1ha2VzIHRoZSBtaXhlciBhcHBsZXQKCSAgd29yayBwcm9wZXJseSBpbiBzb21lIG1vcmUgY2FzZXMuCgoyMDA4LTA0LTExIDA4OjEzOjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9vc3M0LzogRml4IGFyZ3VtZW50cyBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMTEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgIChnc3Rfb3NzNF9taXhlcl9lbnVtX2dldF92YWx1ZXNfbG9ja2VkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2RlbGF5KTogRml4IGFyZ3VtZW50cwoJICBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDQtMDIgMjA6MTg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLCBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICAqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLAoJICBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCjIwMTAtMDUtMTEgMTA6NTI6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBpbXBsZW1lbnQgdGhlIHhvdmVybGF5IGludGVyZmFjZS4gRml4ZXMgIzYxODM0OS4KCjIwMTAtMDUtMTEgMTg6NDI6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHVzaCBiYXNlZCBzZWVraW5nCgkgIC4uLiB3aGVyZSBpdCBjb21lcyBkb3duIHRvIHRyYW5zZm9ybWluZyBpbmNvbWluZyBCWVRFIHNlZ21lbnQKCSAgdG8gYSBjb3JyZXNwb25kaW5nIFRJTUUgc2VnbWVudC4KCSAgQWxzbyBmaXhlcyAjNjA5NDA1LgoKMjAxMC0wNS0xMSAxNDoyMzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIE1vdmUgaW1hZ2VmcmVlemUgcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBIb29rIHVwIGJ1aWxkIGluZnJhc3RydWN0dXJlLCBkb2NzIGFuZCB1bml0IHRlc3QgZm9yIG5ldyBwbHVnaW4uCgkgIEZpeGVzICM2MTM3ODYuCgoyMDEwLTA1LTA1IDEyOjIzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IGZpeGVkIGNhcHMgb24gdGhlIGNvcnJlY3QgcGFkCgkgIFRoaXMgbWFrZXMgdGhlIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbiBhY3R1YWxseSB1c2VkIGluc3RlYWQgb2YgdXNpbmcKCSAgdGhlIGZpeGVkIGNhcHMgZnVuY3Rpb24gZm9yIGl0LgoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE1IDExOjU0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogT25seSBzdGFydCB0aGUgdGFzayBhZnRlciBhIHNlZWsgaWYgYSBidWZmZXIgd2FzIHJlY2VpdmVkIGFscmVhZHkKCjIwMTAtMDItMjggMTY6MDg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzb21lIHVuaXQgdGVzdHMKCjIwMTAtMDItMjggMTY6MDQ6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgdW5kZWZpbmVkIGZyYW1lcmF0ZSBpbiBzaW5rIGdldGNhcHMgZnVuY3Rpb24KCjIwMTAtMDItMjggMTU6MDI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBhbmQgc2V0IGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTAyLTI3IDE3OjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogQWRkIHN0aWxsIGZyYW1lIHN0cmVhbSBnZW5lcmF0b3IgZWxlbWVudAoKMjAxMC0wNS0xMSAxMzowNzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlIGNhcHNmaWx0ZXIgZWxlbWVudCBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBtb3ZlZCBmaWxlcyB0byB0aGUgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUgYW5kIGRvY3MuCgkgIEZpeGVzICM2MTc3MzkuCgoyMDEwLTA1LTA2IDEzOjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTEwLTA4IDE5OjUxOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogYWRkIHVuaXQgdGVzdAoKMjAwOS0wNi0yNSAxNjo0MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogaW1wb3J0IGVsZW1lbnQgaW50byAtYmFkCgoyMDEwLTA1LTExIDEyOjA2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2hlY2sgdGhhdCBwYWRzIGhhdmUgYmVlbiBuZWdvdGlhdGVkCgkgIEFsc28gc2V0IGZjY19oYW5kbGVyIGZpZWxkIGluIGF1ZGlvIHN0cmVhbSBoZWFkZXIuCgkgIEZpeGVzICM2MTgzNTEuCgoyMDEwLTA1LTEwIDE4OjMzOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHBhcnRpYWwgcGFyc2luZyBvZiBjdHRzIHRhYmxlCgkgIEZpeGVzICM2MTY1MTYuCgoyMDEwLTA1LTEwIDE4OjMyOjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2xlYW51cCBhIGNvbW1lbnQgYW5kIGFkZCBzb21lIGRlYnVnIGFuZCBjb25kaXRpb25hbCBjb21waWxhdGlvbgoKMjAxMC0wNS0xMSAxMDowMTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdUSysgMy4wIGFuZCBpZiBpdCdzIG5vdCBhdmFpbGFibGUgZm9yIEdUSysgMi4wCgoyMDEwLTA1LTEwIDIyOjExOjEwICswMjAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBvbmx5IHN0b3JlIHRoZSBsYXN0IGJ1ZmZlciB0aW1lc3RhbXAgaWYgaXQncyB2YWxpZAoJICBGaXhlcyBidWcgIzYxODMwNQoKMjAxMC0wMS0wOCAyMjoxMzo1OSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IFJlLXNlbmQgU1BTL1BQUyB3aGVuIHJlcXVlc3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2Njg5CgoyMDEwLTA1LTA3IDE3OjA5OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTA1LTA3IDE1OjQyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgIHJ0cHRoZW9yYXBheTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBjb25maWd1cmF0aW9uIGhlYWRlcnMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBrZXlmcmFtZSBpcyBjb3VudGVyZWQpLgoKMjAxMC0wNS0wNyAxNTozMTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBmaXggaW4tYmFuZCBjb25maWd1cmF0aW9uIHBhcnNpbmcKCSAgQWxzbyBtYWtlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIHBhcnNpbmcgYSBiaXQgbW9yZSByZWxheGVkIHdpdGggcmVzcGVjdAoJICB0byBsZW5ndGggZmllbGQgaW50ZXJwcmV0YXRpb24uCgoyMDEwLTA1LTA3IDE1OjMwOjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGZpeCBpbi1saW5lIGNvbmZpZ3VyYXRpb24gcGFyc2luZwoJICBBbHNvIG1ha2UgY29uZmlndXJhdGlvbiBoZWFkZXIgcGFyc2luZyBhIGJpdCBtb3JlIHJlbGF4ZWQgd2l0aCByZXNwZWN0CgkgIHRvIGxlbmd0aCBmaWVsZCBpbnRlcnByZXRhdGlvbi4KCjIwMTAtMDUtMDQgMTY6NTc6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBkbyBub3QgZGlzY2FyZCBkb3duc3RyZWFtIGZsb3cgcmV0dXJuCgoyMDEwLTA1LTA0IDE2OjU3OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogcmVmYWN0b3IgYnVmZmVyIHBheWxvYWRpbmcKCjIwMTAtMDUtMDcgMjA6NDE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAxMC0wNS0wNyAxOTowNjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IHJldHVybiB2YWx1ZQoKMjAxMC0wNS0wNyAxOTowMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB0aGUgc2Vzc2lvbgoKMjAxMC0wNS0wNyAxODo1OTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogY29uZmlndXJlIGJhbmR3aWR0aCBwcm9wZXJ0aWVzIGluIHRoZSBzZXNzaW9uCgoyMDEwLTA1LTA3IDE4OjU4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIGJhbmR3aWR0aAoJICBBZGQgcHJvcGVydGllcyB0byBwcm94eSB0aGUgYmFuZHdpZHRoIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHNlc3Npb24gb2JqZWN0LgoKMjAxMC0wNS0wNyAxODo1NzoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBhZGQgcHJvcGVydGllcyB0byBjb25maWd1cmUgYmFuZHdpZHRocwoJICBBZGQgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIgYmFuZHdpZHRocy4KCSAgQ29uZmlndXJlIHRoZSBiYW5kd2lkdGhzIGJlZm9yZSBjYWxjdWxhdGluZyB0aGUgUlRDUCB0aW1lb3V0IHdoZW4gd2UgbmVlZCB0by4KCjIwMTAtMDUtMDcgMTg6NTY6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogYWRkIHNvbWUgZGVidWcgaW5mbwoKMjAxMC0wNS0wNyAxODo1NTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc21hbGwgY2xlYW51cHMKCjIwMTAtMDUtMDcgMTY6NTU6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogbWFrZSBiYW5kd2lkdGhzIG1vcmUgY29uZmlndXJhYmxlCgkgIEFkZCBhIG1ldGhvZCB0byBjb25maWd1cmUgdGhlIHZhcmlvdXMgYmFuZHdpZHRocyBpbiB0aGUgc2Vzc2lvbi4KCjIwMTAtMDUtMDcgMTM6MzI6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGhhbmRsZSBOT05FIFJUQ1AgaW50ZXJ2YWxzCgkgIFByZXBhcmUgZm9yIGhhbmRsaW5nIFJUQ1AgcmVwb3J0aW5nIGludGVydmFscyBvZiBHU1RfQ0xPQ0tfVElNRV9OT05FLCB3aGljaAoJICBtZWFucyBkb24ndCBzZW5kIFJUQ1AgYXQgYWxsLgoKMjAxMC0wNS0wNyAxMjo1MTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmYWxsIGJhY2sgdG8gU0RQIHBvcnRzIGluc3RlYWQgb2Ygc2VydmVyX3BvcnQKCSAgSW4gbXVsdGljYXN0LCBmYWxsIGJhY2sgdG8gdGhlIHBvcnRzIGluIHRoZSBTRFAgaW5zdGVhZCBvZiB0aGUgc2VydmVyX3BvcnQKCSAgYXR0cmlidXRlIGFzIHRoaXMgaXMgbW9yZSBpbiBsaW5lIHdpdGggdGhlIFJGQy4KCjIwMTAtMDUtMDcgMTI6MjQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlZmFjdG9yIGNvbGxlY3RpbmcgdGhlIHRyYW5zcG9ydCBpbmZvCgkgIE1ha2UgYSBtZXRob2QgdG8gY29sbGVjdCB0aGUgcG9ydHMgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3MuCgoyMDEwLTA1LTA3IDExOjI4OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgc2VydmVycyB0aGF0IHNlbmQgYnJva2VuIFRyYW5zcG9ydHMKCSAgSGFuZGxlIHNlcnZlcnMgdGhhdCBzZW5kIHRoZWlyIHBvcnQgcGFpcnMgd2l0aCB0aGUgd3JvbmcgbmFtZS4KCSAgRml4ZXMgIzYxNzUzNwoKMjAxMC0wNS0wNiAxNjo1MjoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiB1c2UgdGhlIFNEUCBjb25uZWN0aW9uIGluZm8gaW4gbXVsdGljYXN0CgkgIFBhcnNlIHRoZSBjb25uZWN0aW9uIGluZm8gZnJvbSB0aGUgU0RQLgoJICBXaGVuIHdlIG5lZWQgdG8gY29uZmlndXJlIHRoZSBtdWx0aWNhc3QgZGVzdGluYXRpb24sIGZhbGwgYmFjayB0byB0aGUgU0RQCgkgIGNvbm5lY3Rpb24gaW5mbyB3aGVuIHRoZSB0cmFuc3BvcnQgZGlkIG5vdCBzcGVjaWZ5IGEgZGVzdGluYXRpb24gYW5kIHR0bC4KCSAgRml4ZXMgIzYxNzUzNwoKMjAxMC0wNS0wNiAxNTo0MjozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGdvb20sbW9ub3Njb3BlOiB0cnVuY2F0ZSBvd24gY2FwcywgaW5zdGVhZCBvZiBjb3B5aW5nIGFuZCB1c2luZyB0aGUgZmlyc3Qgb25seQoJICBXZSBnb3QgdGhlIGNhcHMgZnJvbSBhbiBpbnRlcnNlY3QsIGl0IGlzIG91ciBvd24sIGhlbmNlIHdlIGNhbiB0cnVuY2F0ZSBpdC4KCjIwMTAtMDUtMDYgMTU6NDA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogcmVmbG93IHRvIHRydW5jYXRlIGNhcHMganVzdCBvbmNlCgkgIFdlIGdldCB3cml0YWJsZSBjcGFzIGZyb20gdGhlIGludGVyc2VjdGlvbiAodW5sZXNzIGl0IGZhaWxlZCkuIEFzIHdlIHRydW5jYXRlCgkgIHRob3NlIGFueXdheSwgd2UgZG9uJ3QgbmVlZCB0byBtYW55YWx5IGNvcHkgdGhlIGZpcnN0IHN0cnVjdHVyZS4KCjIwMTAtMDUtMDYgMTU6Mzk6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWY6IGRvbid0IGxlYWsgdGVtcGxhdGUgY2FwcwoKMjAxMC0wNS0wNiAxNTozODozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b3thdWRpbyx2aWRlb317c3JjLHNpbmt9OiB1c2UgY2FuX2ludGVyc2VjdCB0byBhdm9pZCBhIGNhcHMgY29weQoKMjAxMC0wNC0yNyAxMzozNjozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdGVsbCB3aGF0IHdlIGNhbiBkbwoJICBBbnktY2FwcyBhcmUgYmFkLiBJZiBhcHBzIHNjYW4gdGhlIHJlZ2lzdHJ5LCB0aGV5J2QgbGlrZSB0byBrbm93IHdoYXQgd2UgY2FuCgkgIG91dHB1dC4KCjIwMTAtMDQtMjcgMTM6NDM6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogYWxzbyBsaWZ0IHRoZSBhcmJpdHJhcnkgcmVzdHJpY3Rpb25zIGZvciB3aWR0aCBhbmQgaGVpZ2h0CgkgIFRoaXMgd2FzIGFscmVhZHkgZG9uZSBmb3IganBlZ2RlYy4KCjIwMTAtMDUtMDYgMTQ6MDM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBBbGxvY2F0ZS9mcmVlIFBBIG1haW5sb29wIGR1cmluZyBzdGF0ZSBjaGFuZ2VzCgkgIC4uLmFsc28gZGVzdHJveSB0aGUgc3RyZWFtIGFuZCBjb250ZXh0IGR1cmluZyBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0wNS0wNiAxMzo1NzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWxsb2NhdGUgYW5kIGZyZWUgdGhlIGN1c3RvbSBjbG9jayBpbiBOVUxMPC0+UkVBRFkKCjIwMTAtMDUtMDYgMTM6NTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENyZWF0ZSBhbmQgZnJlZSB0aGUgUEEgbWFpbmxvb3AgaW4gTlVMTC0+UkVBRFkvUkVBRFktPk5VTEwKCSAgVGhpcyBmaXhlcyBhIHJhY2UgY29uZGl0aW9uLCB3aGVuIHN0b3BwaW5nIHRoZSBtYWlubG9vcCBkdXJpbmcgZmluYWxpemF0aW9uCgkgIGlzIGRvbmUgZnJvbSBhIG1haW5sb29wIGNhbGxiYWNrLgoJICBGaXhlcyBidWdzICM2MTQ3NjUgYW5kICM1OTA2NjIuCgoyMDEwLTA1LTA1IDE5OjM1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBzZWxlY3Rpb24gb2YgYSBzaW5rcGFkIG51bWJlciB0aHJlYWRzYWZlCgoyMDEwLTA1LTA1IDE3OjM5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgYWxsIGNvbW1vbiBSR0IgZm9ybWF0cwoKMjAxMC0wNS0wNSAxNjowNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBBWVVWCgoyMDEwLTA1LTA0IDE2OjM0OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHNldHVwIHVybCBpbiBhIHNtYXJ0ZXIgd2F5CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VwYXJhdGUgdGhlIGJhc2UgYW5kIGNvbnRyb2wgdXJsIHBhcnRzIHdpdGggYSAvIHdoZW4KCSAgY3JlYXRpbmcgdGhlIHNldHVwIHVybC4KCjIwMTAtMDUtMDQgMTY6MDQ6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgU0VFS0lORyBxdWVyaWVzLgoKMjAxMC0wNS0wNCAxMToxMzo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgY29uZmlnIChWT1NILCBWT1MsIGV0YykgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBHT1Agb3IgVk9QLUkgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjA3NDUyLgoKMjAxMC0wNS0wMyAxMzoyNjozMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgc29tZSBpbml0aWFsaXphdGlvbiBjb2RlIGZyb20gY2hhbmdlX3N0YXRlIHRvIF9pbml0LgoJICBTZXQgLT5hY3RpdmUgdG8gVFJVRSBpbiBfaW5pdCBzbyBpdCBjYW4gYmUgc2V0IHRvIEZBTFNFIGFmdGVyIGNyZWF0aW5nIHRoZQoJICBqaXR0ZXJidWZmZXIgYW5kIGl0IHdvbid0IGJlIG1pc3Rha2VubHkgcmVzZXQgdG8gVFJVRSBpbiB0aGUgY2hhbmdlX3N0YXRlCgkgIGZ1bmN0aW9uLgoJICBUaGlzIGlzIG5lZWRlZCB0byBzdGFydCB0aGUgaml0dGVyYnVmZmVyIGFzIGluYWN0aXZlIHdoZW4gcnRwYmluIGlzIGJ1ZmZlcmluZy4KCjIwMTAtMDUtMDMgMTE6NTY6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggYSBidWcgaGFuZGxpbmcgQlVGRkVSSU5HIG1lc3NhZ2VzLgoJICBJZiBhIHNlc3Npb24gZXhpc3RzIGJ1dCBoYXMgbm8gc3RyZWFtcywgc2V0IHRoZSBtaW4gYnVmZmVyaW5nIHBlcmNlbnQgdG8gMAoJICBzaW5jZSBpdCBtZWFucyB0aGF0IHdlIGhhdmVuJ3QgcmVjZWl2ZWQgYW55dGhpbmcgZm9yIHRoYXQgc2Vzc2lvbiB5ZXQuCgoyMDEwLTA1LTAzIDExOjUxOjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogd2hlbiBhIHN0cmVhbSBpcyBjcmVhdGVkLCBwYXVzZSB0aGUgaml0dGVyYnVmZmVyIGlmIHJ0cGJpbiBpcyBidWZmZXJpbmcuCgoyMDEwLTA1LTAzIDExOjIzOjU5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGEgYnVnIGNhbGN1bGF0aW5nIHN0cmVhbSBvZmZzZXRzLgoKMjAxMC0wNS0wMSAxNDoyMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIHByZXZpb3VzIGNsdXN0ZXIncyBzaXplCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBiYWNrd2FyZHMgcGxheWJhY2ssIHdoaWNoIHNob3VsZCBiZSBpbXBsZW1lbnRlZAoJICBpbiBtYXRyb3NrYWRlbXV4IGF0IHNvbWUgcG9pbnQuCgoyMDEwLTA1LTAxIDE0OjE1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZXQgaW50ZXJsYWNlZCBmbGFnIGluIHRoZSBjYXBzIGlmIHRoZSBmbGFnIGlzIHNldCBpbiB0aGUgTWF0cm9za2EgZmlsZQoKMjAxMC0wNS0wMSAxNDoxMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBXcml0ZSBpbnRlcmxhY2VkIGZsYWcgaWYgdGhlIGlucHV0IHZpZGVvIGNvbnRlbnQgaXMgaW50ZXJsYWNlZAoJICBVbmZvcnR1bmF0ZWx5IE1hdHJvc2thIGhhcyBubyB3YXkgdG8gc3BlY2lmeSBURkYgYW5kIGZyaWVuZHMuLi4KCjIwMTAtMDUtMDEgMTE6MjU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cDogZml4IHByaW50ZiBmb3JtYXQgb2Ygc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wMSAxMTowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGluaXQgdmFyaWFibGUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZyBvbiBPU1gKCSAgRml4ZXMgKGJvZ3VzKSAiJ29mZnNldCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIgoJICB3YXJuaW5nIG9uIGJ1aWxkIGJvdCAoYWxzbyBzcG90dGVkIGJ5IHBoaWxuKS4KCjIwMTAtMDQtMzAgMTc6MTk6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVWVZZIGlzIDQ6MjoyLCBub3QgNDoyOjAKCjIwMTAtMDQtMzAgMjI6MjI6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRG9uJ3QgY29tcGFyZSB2YWx1ZXMgb2YgdHdvIGRpZmZlcmVudCBlbnVtIHR5cGVzCgoyMDEwLTA0LTMwIDIyOjEzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogTWFrZSBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIGludGVybGFjaW5nIHRoZSBkZWZhdWx0CgkgIFByZXZpb3VzbHkgImZvcmNlIGRlaW50ZXJsYWNpbmciIHdhcyB0aGUgZGVmYXVsdCwgd2hpY2ggaXMgYSBub3QgdmVyeQoJICBzZW5zaWJsZSBkZWZhdWx0IGZvciB0aGUgbm9ybWFsIHVzZSBjYXNlIHdoZXJlIGRlaW50ZXJsYWNlIHNob3VsZCBhY3QKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZSB1bmxlc3MgaW50ZXJsYWNlZCBjb250ZW50IGlzIHByZXNlbnQuCgoyMDEwLTA0LTI5IDE2OjI2OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBvcHRpbWlzZSBidWZmZXIgc2Nhbm5pbmcKCSAgU3BlY2lmaWNhbGx5LCB3aGVuIG5lZWRpbmcgbW9yZSBkYXRhLCBkbyBub3QgcmVzY2FuIGZyb20gc3RhcnQgbmV4dCB0aW1lCgkgIGFyb3VuZCwgYnV0IHJlc3VtZSBmcm9tIGxhc3QgcG9zaXRpb24uCgkgIFNlZSBhbHNvICM1ODMwNDcuCgoyMDEwLTA0LTI5IDE1OjM4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZGlzcmVnYXJkIHN1cGVyZmx1b3VzIGxpbmVzIHdoZW4gaW5kaXJlY3QgZGVjb2RpbmcKCjIwMTAtMDQtMjcgMTU6NDQ6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGFkZCBzdXBwb3J0IGZvciBSR0IgYW5kIGdyYXlzY2FsZSBjb2xvciBzcGFjZQoJICBBbHNvIHJlZmFjdG9yIHNyYyBjYXBzIG5lZ290aWF0aW9uIGFuZCBzZXR0aW5nLgoKMjAxMC0wNC0yNyAxMjoxOToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IHN1cHBvcnQgbW9yZSBjb2xvdXIgc3BhY2VzIGFuZCBzb21lIGNsZWFudXBzCgoyMDEwLTA0LTMwIDEyOjQ3OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogbW9yZSBnZW5lcmljIHNpbmsgZ2V0Y2FwcwoKMjAxMC0wNC0zMCAxMjo0Mjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBpbnB1dAoJICBTcGVjaWZpY2FsbHksIHZlcmlmeSBpbnB1dCBjb21wb25lbnRzIC8gY29sb3VyIHNwYWNlIGlzIGFzIGNvZGUKCSAgc3Vic2VxdWVudGx5IGV4cGVjdHMsIHRoZXJlYnkgYXZvaWRpbmcgY3Jhc2hlcyBvciBvdGhlcndpc2UgYm9ndXMgb3V0cHV0LgoJICBQcmVzZW50bHksIHRoYXQgbWVhbnMgMyBjb21wb25lbnRzIFlDYkNyIGNvbG91ciBzcGFjZSwgYW5kIHNvbWV3aGF0CgkgIGxpbWl0ZWQgc2FtcGxpbmcgZmFjdG9ycy4KCSAgRml4ZXMgIzYwMDU1My4KCjIwMTAtMDQtMjIgMTI6Mjg6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogYWxzbyBhY2NlcHQgaW4tYmFuZCBjb25maWd1cmF0aW9uCgkgIEZpeGVzICM1NzQ0MTYgKHRoZW9yYSkuCgoyMDEwLTA0LTIyIDEyOjI3OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGFsc28gYWNjZXB0IGluLWxpbmUgY29uZmlndXJhdGlvbgoJICBGaXhlcyAjNTc0NDE2ICh2b3JiaXMpLgoKMjAxMC0wNC0wNyAxNzoyMTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogSWdub3JlIHBhY2tldHMgd2l0aG91dCBhIGtub3duIGNvZGVib29rCgkgIERvbid0IHByb2R1Y2UgYW4gZXJyb3IgaWYgYSBwYWNrZXQgaXMgcmVjZWl2ZWQgd2l0aG91dCBhIHZhbGlkIGNvZGVib29rLAoJICBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNvZGVib29rIHdpbGwganVzdCBiZSBjb21pbmcgbGF0ZXIuCgkgIFNlZSAjNTc0NDE2LgoKMjAxMC0wNC0yMCAxMjoxNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgeTRtZW5jOiBhZGp1c3QgdW5pdCB0ZXN0IHRvIGVsZW1lbnQgYmVoYXZpb3VyCgoyMDEwLTAyLTIzIDIyOjE2OjM5IC0wNTAwICBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG1lbmM6IGFkZCA0OjI6MiwgNDoxOjEsIGFuZCA0OjQ6NCBvdXRwdXQgc3VwcG9ydAoJICBGaXhlcyAjNjEwOTAyLgoKMjAxMC0wNC0xNSAxMjoyMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IERFTFRBX1VOSVQgbWFya2luZyBvZiBvdXRwdXQgYnVmZmVycwoJICAuLi4gd2hpY2ggZXZpZGVudGx5IG1ha2VzIChtb3N0KSBzZW5zZSBpZiBvdXRwdXQgYnVmZmVycyBhcmUKCSAgYWN0dWFsbHkgZnJhbWVzLgoJICBQYXJ0aWFsbHkgYmFzZWQgb24gYSBwYXRjaCBieQoJICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSA8bWFkX2FsdWNoZSBhdCBob3RtYWlsLmNvbT4KCSAgRml4ZXMgIzYwOTY1OC4KCjIwMTAtMDQtMTYgMTc6MjE6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgcnRwaDI2M2RlcGF5OiBleHRyYSBrZXlmcmFtZSBpbmZvIGZyb20gUFRZUEUgaGVhZGVyCgkgIC4uLiBhcyBvcHBvc2VkIHRvIHRha2luZyBpdCBmcm9tIGgyNjMgcGF5bG9hZCBoZWFkZXIsIHdoaWNoIG5lZWQgbm90CgkgIGJlIHNvIHJlbGlhYmxlLgoJICBGaXhlcyAjNjEwMTcyLgoKMjAxMC0wNC0xNiAxNzowODo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGFsc28gdXNlIFBpY3R1cmUgU3RhcnQgQ29kZSB0byBkZXRlY3QgcGFja2V0IGxvc3MKCSAgVGhpcyBlbnN1cmVzIGEgd2hvbGUgZnJhbWUgaXMgZHJvcHBlZCBpZiBhIChzdGFydCkgcGFja2V0IGlzIGxvc3QsCgkgIHJhdGhlciB0aGFuIHJlbHlpbmcgb25seSBvbiB0aGUgRElTQ09OVCBmbGFnLgoKMjAxMC0wNC0xNiAxNzowNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGRldGVjdCBmcmFtZSBzdGFydCB1c2luZyBQaWN0dXJlIFN0YXJ0IENvZGUKCSAgU28gd2Ugc3RvcCBkcm9wcGluZyBmcmFnbWVudHMgYXMgc29vbiBhcyB0aGVyZSBpcyBhIHBpY3R1cmUgc3RhcnQgKGNvZGUpLgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHByZXZlbnRzIGRyb3BwaW5nIHRoZSBmaXJzdCBmcmFtZSBmb2xsb3dpbmcKCSAgaW5pdGlhbCBESVNDT05ULgoKMjAxMC0wNC0xNiAxNjozNDowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGhhbmRsZSBhIGZldyBGSVhNRXMKCjIwMTAtMDQtMTYgMTY6Mjc6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBzbGlnaHRseSByZWZhY3RvciBwYXlsb2FkIGRyb3BwaW5nCgoyMDEwLTA0LTE2IDExOjUzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogdXNlIGZvdW5kIEdPQnMgdG8gYXBwbHkgTW9kZSBBIHBheWxvYWRpbmcKCSAgLi4uIHJhdGhlciB0aGFuIGZhbGxpbmcgYmFjayB0byBzZW5kaW5nIHRoZSB3aG9sZSBmcmFtZSBpbiBvbmUgcGFja2V0CgkgIGlmIG51bWJlciBvZiBHT0Igc3RhcnRjb2RlcyA8IG1heGltdW0uCgkgIE9uZSBtaWdodCB0YWtlIHRoaXMgZnVydGhlciBhbmQgc3RpbGwgcGVyZm9ybSBNb2RlIEIvQyBwYXlsb2FkaW5nLAoJICBidXQgYXQgbGVhc3QgdGhpcyBzaG91bGQgY2F0ZXIgZm9yIGRlY2VudCBmcmFnbWVudHMgaW4gdHlwaWNhbCBjYXNlcy4KCSAgRml4ZXMgIzU5OTU4NS4KCjIwMTAtMDQtMTQgMTE6NTM6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXBsZW1lbnQgcHVzaCBtb2RlIHNlZWtpbmcKCjIwMTAtMDQtMjkgMjA6MDg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgZG9jczogdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBwbHVnaW4gbWVyZ2UgYW5kIGFkZCBndGstZG9jIGJsdXJiIGZvciBuZXcgcHJvcGVydHkKCjIwMTAtMDQtMjYgMTg6MTI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcgYSBiaXQKCjIwMTAtMDQtMjYgMTg6MDU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBPcmRlciBjYXBzIGJ5IGFtb3VudCBvZiBjb250YWluZWQgaW5mb3JtYXRpb24KCjIwMTAtMDQtMjYgMTc6MjU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBQcm9wZXJseSBzZXQgaW50ZXJsYWNlZCBmaWVsZCBpbiBnZXRjYXBzCgoyMDEwLTA0LTI0IDE2OjI4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBwbGFuYXIgWVVWIHN1cHBvcnQgdG8gYWxsIG90aGVyIHNpbXBsZSBtZXRob2RzCgoyMDEwLTA0LTI0IDE2OjEwOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQWRkIHBsYW5hciBZVVYgc3VwcG9ydCB0byBncmVlZHloIG1ldGhvZAoKMjAxMC0wNC0yNCAxNTo0MjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIHBsYW5hciBZVVYgZm9ybWF0cyBpbiBncmVlZHlsIG1ldGhvZAoKMjAxMC0wNC0yNCAxMzo1ODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCLCBJNDIwLCBZVjEyIGFuZCBZNDFCCgkgIFRoZSB2ZmlyIG1ldGhvZCBzdXBwb3J0cyB0aGVtIGFuZCB3aWxsIGJlIHVzZWQgdW50aWwgc29tZXRoaW5nIGVsc2UKCSAgc3VwcG9ydHMgaXQuCgoyMDEwLTA0LTI0IDA5OjE2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogRGVmaW5lIGRlaW50ZXJsYWNlIG1ldGhvZCBiYXNlIGNsYXNzZXMgYXMgYWJzdHJhY3QgdHlwZXMKCjIwMTAtMDQtMjMgMTc6NDA6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogTW92ZSBkZWludGVybGFjaW5nIG1ldGhvZHMgdG8gdGhlaXIgb3duIGZpbGUKCjIwMTAtMDQtMjMgMTc6MjU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogU2ltcGxpZnkgcGFzc3Rocm91Z2ggbW9kZSBkZXRlY3Rpb24KCjIwMTAtMDQtMjMgMTQ6MzU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB1bml0IHRlc3QgdGhhdCBjaGVja3MgY2FwcyBoYW5kbGluZwoJICBkZWludGVybGFjZSBub3cgYWx3YXlzIGFkZHMgdGhlIGludGVybGFjZWQgZmllbGQgdG8gdGhlIG91dHB1dCBjYXBzLAoJICBpZiBpdCB3YXNuJ3QgcHJlc2VudCBpbiB0aGUgaW5wdXQgY2FwcyB0aGUgb3V0cHV0IGNhcHMgd2lsbCBzdGlsbAoJICBjb250YWluIGludGVybGFjZWQ9ZmFsc2UuCgoyMDEwLTA0LTIxIDE3OjAwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IFJlZmFjdG9yIGRlaW50ZXJsYWNpbmcgYXMgcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTA0LTIyIDE5OjA1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIgYW5kIFk0MUIKCjIwMTAtMDQtMjIgMTU6NTQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBhbmQgcmVvcmRlciB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA0LTE4IDIxOjExOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogVHJhbnNsYXRlIG5hdmlnYXRpb24gZXZlbnRzIHRvIG1ha2Ugc2Vuc2UgYWdhaW4gdXBzdHJlYW0KCjIwMTAtMDQtMTggMjA6NTg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBQcm9wZXJseSBoYW5kbGUgcmFuZ2VzL2xpc3RzIG9mIHdpZHRoIG9yIGhlaWdodCB3aGVuIHRyYW5zZm9ybWluZyBjYXBzCgkgIENvZGUgcGFydGx5IHRha2VuIGZyb20gdGhlIHZpZGVvY3JvcCBlbGVtZW50LgoKMjAxMC0wNC0yMiAxNTo0NToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEZpeCBwbGFuYXIgWVVWLT5SR0IgcHJvY2Vzc2luZwoKMjAxMC0wNC0yMiAxNTo0MjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IENvcnJlY3RseSBjbGFtcCBhZnRlciBZVVYtPlJHQiBjb252ZXJzaW9uCgoyMDEwLTA0LTIyIDE1OjIwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFlWWVUgYW5kIFVZVlkKCjIwMTAtMDQtMTggMTU6MDI6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xNiAxNzowMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZVVkyIGFuZCBVWVVWCgoyMDEwLTA0LTIxIDE3OjQxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgcHJvY2Vzc2luZyBhbmQgYWRkIHN1cHBvcnQgZm9yIG90aGVyIHBsYW5hciBZVVYgZm9ybWF0cwoJICBUaGlzIHJlZHVjZXMgdGhlIGdlbmVyYXRlZCBjb2RlIHNpemUgYnkgYSBmYWN0b3Igb2YgMi41LgoKMjAxMC0wNC0yMSAxNzoxNTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVjEyIGlucHV0CgoyMDEwLTA0LTIyIDEzOjU2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFlWWVUsIFVZVlkKCjIwMTAtMDQtMjAgMTI6MTg6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiwgWTQxQiBhbmQgWVYxMgoKMjAxMC0wNC0yMSAxNzowNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBPcmRlciBjb2xvciBmb3JtYXRzIGJ5IHRoZWlyIGNvbnRhaW5lZCBhbW91bnQgb2YgaW5mb3JtYXRpb24KCjIwMTAtMDQtMjAgMTg6MjI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IERyb3AgWTQxQi9ZNDJCIHN1cHBvcnQKCSAgUm90YXRpbmcgOTDCsC8yNzDCsCB3aXRoIHN1YnNhbXBsZWQgWVVWIHdoZXJlIGhvcml6b250YWwKCSAgYW5kIHZlcnRpY2FsIHN1YnNhbXBsaW5nIGFyZSBkaWZmZXJlbnQgZG9lc24ndCByZWFsbHkgd29yay4KCjIwMTAtMDQtMTkgMTQ6Mzc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFsc28gZmxpcCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHdpZHRoL2hlaWdodCBhcmUgZXhjaGFuZ2VkCgoyMDEwLTA0LTE4IDIzOjA4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogRXh0ZW5kIHRoZSB1bml0IHRlc3QgdG8gdGVzdCBkaWZmZXJlbnQgY29sb3IgZm9ybWF0cwoKMjAxMC0wNC0xOCAyMjo1NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogQWRkIHNvbWUgbW9yZSB0ZXN0cwoJICBUaGVzZSBjaGVjayBkaWZmZXJlbnQgcHJvcGVydHkgY29tYmluYXRpb25zCgoyMDEwLTA0LTE4IDIyOjU0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBDaGFuZ2UgdGhlIGRlZmF1bHQgbWV0aG9kIHRvIGlkZW50aXR5CgoyMDEwLTA0LTE4IDIyOjUwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFJlZHVjZSBudW1iZXIgb2YgYWxsb2NhdGlvbnMgcGVyIGluc3RhbmNlCgoyMDEwLTA0LTE4IDIyOjQ1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9maWx0ZXI6IFVwZGF0ZSBsYXN0LXJldmlld2VkIGNvbW1lbnRzCgoyMDEwLTA0LTE4IDIyOjQwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgYWxsIFJHQiBmb3JtYXRzCgoyMDEwLTA0LTE4IDIyOjI4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgVVlWWSwgQVlVViBhbmQgWVZZVQoKMjAxMC0wNC0xOCAyMjoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTA0LTE4IDIyOjE5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBNYWtlIHByb3BlcnR5IGFjY2VzcyB0aHJlYWRzYWZlCgoyMDEwLTA0LTE4IDIyOjE4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgWTQxQiwgWTQyQiBhbmQgWTQ0NAoKMjAxMC0wNC0xOCAyMjoxNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyB0aGluZ3MKCjIwMTAtMDQtMTggMjI6MDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCjIwMTAtMDQtMTggMjI6MDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEVtaXQgInZhbHVlLWNoYW5nZWQiIHNpZ25hbCBvZiBjb2xvciBiYWxhbmNlIGludGVyZmFjZSB3aGVuIHZhbHVlcyBjaGFuZ2UKCjIwMTAtMDQtMTggMjE6NTg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xOCAyMTozNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogU3RvcCB1c2luZyBsaWJvaWwKCSAgVGhlIHVzZWQgbGlib2lsIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIGhhcyBubyBvcHRpbWl6ZWQKCSAgaW1wbGVtZW50YXRpb24gYW55d2F5LgoKMjAxMC0wNC0xOCAyMToxNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogTWFrZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyZWFkc2FmZQoKMjAxMC0wNC0xOCAxNTowMDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE4IDE0OjQ2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgYWxsIFJHQiBmb3JtYXRzIGFuZCBBWVVWCgoyMDEwLTA0LTE4IDE0OjMxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgWTQxQiwgWTQyQiBhbmQgWTQ0NAoKMjAxMC0wNC0xOCAxNDoyOTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBNYWtlIHByb2Nlc3NpbmcgbW9yZSBnZW5lcmFsIGFuZCB1c2UgbGliZ3N0dmlkZW8gZm9yIGFsbCBmb3JtYXQgc3BlY2lmaWMgdGhpbmdzCgoyMDEwLTA0LTE4IDEzOjEyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBNYWtlIG1ldGhvZCBwcm9wZXJ0eSBjb250cm9sbGFibGUgYW5kIGltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEwLTA0LTE4IDEzOjAzOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTggMTA6MTc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkgIHZpZGVvZmlsdGVyOiBNb3ZlIGFsbCBlbGVtZW50cyBpbnRvIGEgc2luZ2xlIHBsdWdpbgoJICBIYXZpbmcgYWxsIHRoZXNlIHNtYWxsIGVsZW1lbnRzIGluIGEgc2VwYXJhdGUgcGx1Z2luCgkgIGlzIG5vdCB2ZXJ5IG1lbW9yeSBlZmZlY3RpdmUuLi4KCjIwMTAtMDQtMTggMTA6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBnYW1tYTogSW1wcm92ZSBkb2NzIGEgYml0CgoyMDEwLTA0LTE4IDA5OjU5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cwoKMjAxMC0wNC0xOCAwOTo0NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBtYW55IHBhY2tlZCBZVVYgZm9ybWF0cwoJICBUaGF0IGlzIFlVWTIsIFVZVlksIEFZVVYgYW5kIFlWWVUuCgoyMDEwLTA0LTE4IDA5OjM4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogQWRkIHN1cHBvcnQgZm9yIGFsbCBvdGhlciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgVGhhdCBpcyBZNDFCLCBZNDJCLCBZNDQ0LCBOVjEyIGFuZCBOVjIxLgoKMjAxMC0wNC0xOCAwOTozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogU3RvcCB1c2luZyBsaWJvaWwKCSAgVGhlIHVzZWQgbGlib2lsIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQsIG9ubHkgaGFzIGEgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uCgkgIGFuZCBpcyBtb3JlIGNvbXBsZXggdGhhbiB3aGF0J3MgbmVlZGVkIGhlcmUuCgoyMDEwLTA0LTE3IDE4OjEzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgZ2FtbWE6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHZhbHVlcyBhbmQgbWFrZSBnYW1tYSBwcm9jZXNzaW5nIG1vcmUgZ2VuZXJpYwoJICBBbGxvd3MgdXMgdG8gZWFzaWx5IGFkZCBzdXBwb3J0IGZvciBuZXcgY29sb3IgZm9ybWF0cyBsYXRlci4KCjIwMTAtMDQtMTcgMTg6MDE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IE1ha2UgZ2FtbWEgcHJvcGVydHkgY29udHJvbGxhYmxlCgkgIC4uLmFuZCBwcm9wZXJseSB1c2UgbGlib2lsLgoKMjAxMC0wNC0xNyAxNzo1NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTkgMTQ6NDU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTcgMTc6NDc6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFlWMTIgKGNvbnZlcnRlZCB0byBBWVVWKQoKMjAxMC0wNC0xNyAxNzo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBBZGQgc3VwcG9ydCBmb3IgYWxsIDQgQVJHQiBmb3JtYXRzCgkgIC4uLndpdGhvdXQgZm9ybWF0IGNvbnZlcnNpb24uCgoyMDEwLTA0LTE2IDE3OjI3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlYWxwaGE6IE1ha2UgY29sb3IgZm9ybWF0IHN1cHBvcnQgbW9yZSBnZW5lcmljCgkgIFRoaXMgYWxsb3dzIGVhc2llciBhZGRpdGlvbiBvZiBuZXcgZm9ybWF0cyBsYXRlci4KCjIwMTAtMDQtMTYgMTc6MTg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGVhbHBoYTogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xNSAyMjoyODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlOiBBZGQgcHJvcGVydHkgZm9yIGludmVydGluZyB0aGUgdHJhbnNpdGlvbiBtYXNrCgkgIFRoaXMgY29udmVydHMgYSBsZWZ0LXRvLXJpZ2h0IHRyYW5zaXRpb24gdG8gcmlnaHQtdG8tbGVmdCBvcgoJICBjbG9jay13aXNlIHRvIGNvdW50ZXItY2xvY2std2lzZS4KCjIwMTAtMDQtMTUgMjI6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQ29ycmVjdGx5IGRldGVjdCBwcm9wZXJ0eSBjaGFuZ2VzIGFuZCB1cGRhdGUgcHJvcGVydGllcwoKMjAxMC0wNC0xNiAxOTozNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSAgcWNlbHBkZXBheTogYWRkIGZpcnN0IHZlcnNpb24gb2YgYSBRQ0VMUCBkZXBheWxvYWRlcgoKMjAxMC0wNC0yOSAxNToxODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4KCj09PSByZWxlYXNlIDAuMTAuMjIgPT09CgoyMDEwLTA0LTI4IDAyOjU4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIyCgoyMDEwLTA0LTI4IDAyOjU3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDQtMjUgMjM6MzY6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNC0yNSAyMToxOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGhpZGUgaXMtbGl2ZSBwcm9wZXJ0eSBmb3IgcmVsZWFzZQoJICBBdCB0aGUgdmVyeSBsZWFzdCBpdCBuZWVkcyBhIGJldHRlci9sZXNzIHdyb25nIG5hbWUuCgkgIFNlZSAjNjEzMDY2LgoKMjAxMC0wNC0yNSAxNToxMjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IGNyYXNoIGlmIGpwZWcgaW1hZ2UgY29udGFpbnMgbW9yZSB0aGFuIHRocmVlIGNvbXBvbmVudHMKCSAgT3VyIGNvZGUgY3VycmVudGx5IG9ubHkgaGFuZGxlcyBhIG1heGltdW0gb2YgMyBjb21wb25lbnRzLCBzbyBlcnJvcgoJICBvdXQgZm9yIG5vdyBpZiB0aGUgaW1hZ2UgaGFzIG1vcmUgY29tcG9uZW50cyB0aGFuIHRoYXQuCgkgIEZpeGVzICM2MDQxMDYuCgoyMDEwLTA0LTIwIDE3OjIxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgZG9hcDogdXBkYXRlIHJlcG9zaXRvcnkgaW5mbyBmcm9tIGN2cy0+Z2l0IGFuZCBtYWludGFpbmVycwoKMjAxMC0wNC0yMyAxNDo0MDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZjODU4NjcgdG8gNGQ2N2JkNgoKMjAxMC0wNC0yMiAxMzozMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBGaXggYnl0ZSBvcmRlciBmb3IgTU1YIEFSR0IvQVlVViBjb2xvciBmaWxsaW5nCgkgIEZpeGVzIGJ1ZyAjNjE2NDA5LgoKMjAxMC0wNC0yMSAxNzo1Mzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBGaXggQVlVViBjaGVja2VyL2NvbG9yIGZpbGxpbmcKCjIwMTAtMDQtMTkgMTY6NDM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBpMzg3IGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBsaXN0CgkgIFRoZXkgYXJlIHRoZSBzYW1lIGFzIHRoZSBtbTAtbW03IE1NWCByZWdpc3RlcnMgYW5kIHdpbGwgYmUgb3ZlcndyaXR0ZW4KCSAgYnkgdGhlIGFzc2VtYmx5IGNvZGUgaWYgZ2NjIGRvZXNuJ3Qga25vdyBhYm91dCB0aGUgTU1YIHJlZ2lzdGVycy4KCSAgTm90ZTogVGhleSdyZSBhbGwgYWRkZWQgdG8gdGhlIGxpc3Qgb2YgY2xvYmJlcmVkIHJlZ2lzdGVycyBpbiBhbGwgY2FzZXMKCSAgYW5kIG5vdCBvbmx5IHdoZW4gX19NTVhfXyBpcyBub3QgZGVmaW5lZCBqdXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG5vIG90aGVyCgkgIGJ1Z3MgaGFwcGVuIHdpdGggdGhpcyBjb2RlIGp1c3QgYmVjYXVzZSBzb21lIGNvbXBpbGVyIHZlcnNpb24gZ2V0cyB0aGluZ3MKCSAgd3JvbmcuCgkgIEZpeGVzIGJ1ZyAjNjE0NDY2LgoKMjAxMC0wNC0xOSAxNDowOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFVzZSBsaWJnc3R2aWRlbyB0byBnZXQgdGhlIG9yZGVyIG9mIFJHQgoKMjAxMC0wNC0xNyAxMDowNjo0MSArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogZ3N0L2dvb20veG1teC5jOgoJICBnb29tOiBhZGQgZWR4IHRvIGNsb2JiZXIgbGlzdCBpbiBpbmxpbmUgYXNzZW1ibHkgY29kZQoJICBtdWxsIG1vZGlmaWVzICVlZHgsIHNvIHNob3VsZCBiZSBtZW50aW9uZWQgaW4gY2xvYmJlciBsaXN0LgoJICBGaXhlcyBjcmFzaCBvbiBTb2xhcmlzICgjNjE1OTk4KS4KCjIwMTAtMDQtMTUgMTM6Mzk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCB1c2UgR1NUX1BMVUdJTl9MREZMQUdTIHdoZW4gYnVpbGRpbmcgdGVzdCBiaW5hcmllcwoKMjAxMC0wNC0xNiAxNToyNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBJNDIwLT5JNDIwIGNvcHlpbmcKCSAgRml4ZXMgYnVnICM2MTUxNDMuCgoyMDEwLTA0LTEzIDE4OjE1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgY29weWluZwoKMjAxMC0wNC0xNiAxMjoxNDoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHByb2ZpbGUtbGV2ZWwtaWQgaXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyCgkgIFNvLCBpZiBuZWVkZWQsIGV4dHJhY3QgdGhlIGNvcnJlc3BvbmRpbmcgaW5mbyBmcm9tCgkgIHNwcm9wLXBhcmFtZXRlci1zZXRzLgoJICBCYXNlZCBvbiBwYXRjaCBwcm92aWRlZCBieSA8ZHhzc3ggYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjEyNjU3LgoKMjAxMC0wNC0xNSAwNzoxMzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRHJvcCAtV2Nhc3QtYWxpZ24KCSAgQ29tbWl0IG1lc3NhZ2UgY29waWVkIGZyb20gY29yZSdzIGNvbW1pdCBmcm9tIEJlbmphbWluIE90dGU6CgkgIDI0NmY1ZGJhOTZhNWI1MGJiNzQ2MjFhZjY3YjMwOTQyY2NhNzJhZjUKCSAgQXBwYXJlbnRseSBnY2Mgd2FybnMgdGhhdCBHc3RNaW5pT2JqZWN0IGlzIG5vdCBjYXN0YWJsZSB0bwoJICBHc3RFdmVudC9NZXNzYWdlL0J1ZmZlciBkdWUgdG8gdGhlbSBjb250YWluaW5nIDY0Yml0IHZhcmlhYmxlcywgZXZlbgoJICB0aG91Z2ggQVJNIGhhY2tlcnMgY2xhaW0gdGhhdCB0aG9zZSBvbmx5IG5lZWQgNGJ5dGUgYWxpZ25tZW50LiBBbmQgYXMKCSAgbG9uZyBhcyBnY2MgYmVoYXZlcyB0aGF0IHdheSwgdGhpcyB3YXJuaW5nIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4KCSAgU28gd2UnbGwgcmVtb3ZlIHRoZSB3YXJuaW5nIHVudGlsIHRoaXMgcHJvYmxlbSBpcyBmaXhlZC4KCSAgRml4ZXMgIzYxNTY5OAoKMjAxMC0wNC0xNCAyMzo0NjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IGZpeCBhZGFwdGVyIGFzc2VydGlvbiB3aGVuIHVzZWQgZGlyZWN0bHkgYWZ0ZXIgZmxhY2VuYwoJICBVbmxpa2UgZmlsZXNyYywgZmxhY2VuYyBvdXRwdXRzIHRoZSBmbGFjIGJsb2NrcyBuZWF0bHkgYWxpZ25lZCBvbmUgaW4KCSAgZWFjaCBidWZmZXIuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHdlIHN3aXRjaCBmcm9tIG1ldGFkYXRhIG1vZGUgdG8KCSAgYXVkaW8gZGF0YSBwYXNzdGhyb3VnaCBtb2RlLCB0aGVyZSdzIG5vIGRhdGEgbGVmdCBpbiB0aGUgYWRhcHRlciB0bwoJICBwdXNoIG91dCBhdCB0aGlzIHBvaW50LCBzbyBjaGVjayBpZiB0aGVyZSdzIGRhdGEgaW4gdGhlIGFkYXB0ZXIKCSAgYmVmb3JlIHJlcXVlc3RpbmcgYnVmZmVycyBmcm9tIGl0IChhbHNvIG5lZWRlZCBpbiBjYXNlIHdlIGdldCBpbnB1dAoJICBidWZmZXJzIG9mIDAgc2l6ZSkuCgkgIEZpeGVzICM2MTU3OTMuCgoyMDEwLTA0LTE0IDIzOjE4OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDQtMTQgMjA6MzE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZQoKMjAxMC0wNC0xNCAyMDowNjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIExEQUREIGZvciBsaWJzIHRvIGxpbmsgdG8gaW5zdGVhZCBvZiBMREZMQUdTCgkgIFVzZSBmb29fTERBREQgaW5zdGVhZCBvZiBmb29fTERGTEFHUyB0byBzcGVjaWZ5IHRoZSBsaWJyYXJpZXMgdG8gbGluayB0by4KCSAgVGhpcyBzaG91bGQgbWFrZSBzdXJlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBsaW5rZXIgaW4gdGhlIHJpZ2h0CgkgIG9yZGVyLCBhbmQgbWFrZXMgTERGTEFHUyB1c2FibGUgYWdhaW4uCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCSAgRml4ZXMgIzYxNTY5Ny4KCjIwMTAtMDQtMTQgMTg6MTM6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHRyYW5zZm9ybV9jYXBzIDogV2UgY2FuIG9ubHkgY29udmVydCBBWVVWIHRvIHhSR0IKCSAgV2Ugd2VyZSBwcmV2aW91c2x5IHN0YXRpbmcgdGhhdCB3ZSBjb3VsZCBjb252ZXJ0IEFZVVYvSTQyMC9ZVjEyIHRvIHhSR0IuCgoyMDEwLTA0LTEzIDAwOjE0OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIHJlbW92ZSAtV2FnZ3JlZ2F0ZS1yZXR1cm4gZnJvbSB3YXJuaW5nIGZsYWdzCgkgIEl0IGNhdXNlcyBwcm9ibGVtcyB3aXRoIE9iamVjdGl2ZS1DIGNvZGUgbGlrZSBpbiBvc3h2aWRlb3NpbmsuCgkgIEZpeGVzICM2MTM2NjMuCgoyMDEwLTA0LTEyIDE4OjIyOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBJZ25vcmUgb3N4IGF1ZGlvL3ZpZGVvIHNyYy9zaW5rcyBpbiBzdGF0ZSBjaGFuZ2UgdGVzdHMKCSAgQW5kIG1ha2UgdGhlIGxpbmUgcmVhZGFibGUgZm9yIHRob3NlIG1lcmUgbW9ydGFscyB0aGF0IGRvbid0IG93biBhIDMwIiBzY3JlZW4KCjIwMTAtMDQtMTIgMTg6MDM6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDQtMTIgMTQ6NTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eCwgcXRkZW11eDogbWlub3IgY29kZSBjbGVhbnVwIGluIGF2Y19sZXZlbF9pZGNfdG9fc3RyaW5nKCkKCSAgRG8gdGhlIHNhbWUgd2l0aCBzbGlnaHRseSBmZXdlciBMT0MuCgoyMDEwLTA0LTEyIDEyOjQwOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSAtV3VuZGVmIGZsYWcKCSAgRml4ZXMgIzYxNTE2MQoKMjAxMC0wNC0xMiAxMTo0Mzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBJNDIwLT5BWVVWIGNvcHlpbmcKCjIwMTAtMDQtMTIgMTE6MjU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBDb3JyZWN0bHkgY2xhbXAgZnJhbWUvYmFja2dyb3VuZCBhbHBoYXMgdG8gWzAsMjU1XSBiZWZvcmUgd3JpdGluZyB0aGVtCgoyMDEwLTA0LTEyIDExOjE2OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2s6IElnbm9yZSBqcGVnZW5jIHRlc3QKCjIwMTAtMDQtMTEgMTM6MTQ6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogT25seSBjaGVjayBpbnRlcmxhY2VkIGZsYWcgaW4gc2luayBjYXBzCgkgIEZpeGVzICM2MTU0NjAuCgoyMDEwLTA0LTA5IDExOjIxOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmEzM2QxZiB0byBmYzg1ODY3CgoyMDEwLTA0LTA4IDE4OjA1OjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IGRvIHByb3BlciBlc2NhcGluZyBmb3IgIiUiCgoyMDEwLTA0LTA4IDE3OjUwOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuaDoKCSAgcnRzcDogcmVtb3ZlIG9ic29sZXRlIGdvb2dsZSBleHRlbnNpb24KCSAgVGhpcyB3YXMgbm90IGJ1aWxkIGZvciBhIHdoaWxlIGFuZCBjYW4gYmUgcmVtb3ZlZC4KCjIwMTAtMDQtMDggMTc6NDI6NTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtb3ZlIHR3byBzeW1ib2xzIHRvIHByaXZhdGUgc2VjdGlvbgoKMjAxMC0wNC0wOCAxNzozNjozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmbHhkZWMgZG9jcwoKMjAxMC0wNC0wOCAxNzoxNzowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBkb2NzOiBlbmFibGUgdGhlIDIgb2YgNjUgcnRwIGVsZW1lbnRzIGluIHRoZSBkb2NzCgoyMDEwLTA0LTA4IDExOjU0OjE5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IERvbid0IHdhaXQgaWYgd2UncmUgbGF0ZQoJICBJbiBmYWN0LCBkdWUgdG8gc2lnbmVkbmVzcyBpc3N1ZXMsIGEgbmVnYXRpdmUgZGVsYXkgd291bGQgYmUgY2hhbmdlZCB0bwoJICBhbiBhbG1vc3QgaW5maW5pdGUgd2FpdCBjYXVzaW5nIHNob3V0MnNlbmQgdG8gImxvY2sgdXAiLgoJICBSZXBvcnRlZCBieSBDaHJpc3RvcGhlciBNb250Z29tZXJ5LgoKMjAxMC0wNC0wOCAxNjo1NjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgZG9jczogdXBkIC0+IHVkcCBhbmQgdm9pbGEgaXQgc2hvd3MgdXAgaW4gdGhlIGRvY3MKCjIwMTAtMDQtMDggMTY6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBkb2NzOiBmaXggZG9jIGJsb2Igc3ludGF4CgoyMDEwLTA0LTA4IDE2OjUxOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIChzcGFyc2UpIGRvY3MgZm9yIGF1cGFyc2UgZWxlbWVudAoKMjAxMC0wNC0wOCAxNDo0MDo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCB2aWRlb2JveCBzeW1ib2xzCgoyMDEwLTA0LTA4IDE0OjQwOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBkeW51ZHBzaW5rIHVudGlsIHNvbWVvbmUgZG9jdW1lbnRzIGl0CgoyMDEwLTA0LTA4IDE0OjM0OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBtYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoKMjAxMC0wNC0wOCAxNDoyOToxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHhkZW11eDogcmVuYW1lIEdzdEZMVkRlbXV4IGZvciBHc3RGbHZEZW11eAoKMjAxMC0wNC0wOCAxNDoyMzoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgZmx2ZGVtdXg6IG1lcmdlIGZsdnBhcnNlIGludG8gdGhlIGRlbXV4ZXIgYW5kIG1ha2UgZnVuY3Rpb24gc3RhdGljCgkgIE5vIG5lZWQgdG8gaGlkZSBjZXJ0YWluIGZ1bmN0aW9uIGluIHRoZSBkb2NzLiBBbGxvd3MgdG8gZG8gbW9yZSBjbGVhbnVwcy4KCjIwMTAtMDQtMDggMTM6MTM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBBZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNC0wOCAxNDowMDowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHY0bDJidWZmZXIgcG9vbCBpcyBub3cgYSBzZXBhcmF0ZSBvYmplY3QsIHJlbW92ZSB0aGVtIGZyb20gdjRsMnNyYyBkb2NzCgoyMDEwLTA0LTA4IDEzOjU4OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogcmVtb3ZlIG5vbiBleGlzdGluZyBmbGFncyBhbmQgYWRkIHR3byBpbnRlcm5hbCBtZXRob2RzCgkgIElmIHNvbWVvbmUgY2FyZXMgZmx2cGFyc2UgY291bGQgYmUgbWVyZ2VkIGludG8gZmx2ZGVtdXguCgoyMDEwLTA0LTA4IDEzOjU3OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBwcm90b3R5cGUgZm9yIG5vbiBleGlzdGluZyBmdW5jdGlvbgoJICBUaGVyZSBpcyBubyBmdW5jdGlvbiBieSB0aGF0IG5hbWUgYW55d2hlcmUuCgoyMDEwLTA0LTA4IDEyOjU2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3RlZCBwbHVnaW4gaW5mb3JtYXRpb24KCjIwMTAtMDQtMDggMTI6NTY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogSW1wcm92ZSBkb2NzIGEgYml0CgoyMDEwLTA0LTA4IDEzOjQ3OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGVmZmVjdHR2IGRlZmluZXMgYW5kIHJlb3JkZXIgbGlzdAoKMjAxMC0wNC0wOCAxMzo0MTo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHJlbW92ZSB0aHJlZSBlbnRyaWVzIHRoYXQgYXJlIG5vdCBleHBvcnRlZCBmcm9tIHRoZSBoZWFkZXJzIGFueW1vcmUKCjIwMTAtMDQtMDggMTM6NDA6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBtb3ZlIG1hY3JvIHRvIGMgc291cmNlCgkgIE9uZSBsZXNzIHNlbWkgcHVibGljIHN5bWJvbCB3aXRob3V0IG5hbWVzcGFjZSBwcmVmaXggaW4gdGhlIGhlYWRlcnMuCgoyMDEwLTA0LTA4IDEzOjQwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IHJlbW92ZSB1bnVzZWQgZGVmaW5lcwoKMjAxMC0wNC0wOCAxMzoyMzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IGZpeCBsYXN0IGNvbW1pdAoJICBVc2UgYSBsb2NhbCBkZWZpbmUgZm9yIFdBVkVGT1JNQVRfRVggYmFzZWQgb24gdGhlIHNpemUgb2YgdGhlIHN0cnVjdCArIDIgYnl0ZXMKCSAgZm9yIHRoZSBleHRlbnNpb24gc2l6ZS4KCjIwMTAtMDQtMDggMTM6MTY6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleDogcmVtb3ZlIHVudXNlZCBkZWZpbmUKCjIwMTAtMDQtMDggMTM6MDM6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvcmlmZi5oOgoJICB3YXZlbmM6IHJlbW92ZSBpbnRlcm5hbCBjb3B5IG9mIHJpZmYuaCBhbmQgdXNlIHJpZmYtbGlicmFyeSBpbnN0ZWFkLgoJICBXZSBkb24ndCB1c2UgYW55IGZ1bmN0aW9uIHlldCwganVzdCB0aGUgc3RydWN0dXJlcyBhbmQgZGVmaW5lcy4KCjIwMTAtMDQtMDggMTI6NTY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogdXNlIHJpZmYgbGliIG1vcmUKCSAgUmVtb3ZlIEJJVE1BUElORk9IRUFERVIgYW5kIHVzZSB0aGUgb25lIGZyb20gcmlmZi1saWIuIEFsc28gcmVtb3ZlIHRoZQoJICBXQVZFRk9STUFURVhfU0laRSBkZWZpbmUgYW5kIHVzZSBhIHNpemVvZiB0b2dldGhlciB3aXRoIHRoZSByZXNwZWN0aXZlIHN0cnVjdC4KCSAgQmVzaWRlcyBiZXR0ZXIgY29kZSByZXVzZSB0aGlzIGxlc3NlbnMgdGhlIHVudW5zZWQgc3ltYm9scyBpbiB0aGUgZG9jcy4KCjIwMTAtMDQtMDggMTI6MTQ6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkb2NzOiB0cmltIHNlY3Rpb25zIGZpbGUgbW9yZQoJICBSZW5hbWUgc29tZSBkZWZpbmVzIGFuZCBtb3ZlIHNvbWUgaXRlc20gdG8gKi5jIGZpbGVzLiBBZGQgbW9yZSBpdGVtcyB0byBpbnRlcm5hbAoJICBzdWJzZWN0aW9uLgoKMjAxMC0wNC0wOCAxMToxOTo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3N3OiB0cmltIHRoZSBzZWN0aW9uIGZpbGUKCjIwMTAtMDQtMDggMTA6MjY6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgdjRsMnNpbmsgdG8gZG9jcwoKMjAxMC0wNC0wOCAxMDoxNTowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBkb2NzOiBmaXggeG1sCgkgIFRoZSB0aXRsZSB0YWcgYmVsb25ncyBpbnRvIHRoZSByZWZzZWN0Mi4KCjIwMTAtMDQtMDcgMTc6NDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVYxMiwgaW5jbHVkaW5nIGNvbnZlcnNpb24gc3VwcG9ydCBmb3IgSTQyMC9BWVVWCgoyMDEwLTA0LTA3IDE3OjI3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSBpbnB1dC9vdXRwdXQKCSAgVGhpcyBkb2Vzbid0IGRvIGFueSBjb252ZXJzaW9uIGFuZCBpcyB0aGUgbmV4dCBzdGVwIHRvCgkgIHJlcGxhY2luZyB2aWRlb2Nyb3AgYnkgc3VwcG9ydGluZyBhbGwgcmVtYWluaW5nIGZvcm1hdHMKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTAtMDQtMDcgMTY6MjQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGZpbGxpbmcgdGhlIGJhY2tncm91bmQgd2l0aCByZWQsIHllbGxvdyBhbmQgd2hpdGUKCjIwMTAtMDQtMDcgMTY6MTE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgZGlyZWN0IFJHQjwtPkFZVVYgY29udmVyc2lvbgoKMjAxMC0wNC0wNyAxNjoxMTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBSR0IyNCBmaWxsaW5nCgoyMDEwLTA0LTA3IDE2OjA2OjU0ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBoYW5kbGUgcHJvcGVybHkgU1RBUHMKCSAgaW4gcnRwaDI2NGRlcGF5LmMsIGxpbmVzIDU3Ny01NzYsIE5BTFUtdHlwZSAyNCAoU2luZ2xlLVRpbWUgQWdncmVnYXRpb24KCSAgUGFja2V0KSBpcyBoYW5kbGVkIGluIGZhbGwtdGhyb3VnaCBhcyBOQUxVLXR5cGUgMjYgKHVuaGFuZGxlZCkuCgkgIFRoaXMgbGVhZHMgaGlnaCBxdWFsaXR5IGgyNjQgc3RyZWFtcyBzdWNoIGFzOgoJICBydHNwOi8vc3RyZWFtLnlsZS5tb2JpL3lsZS9hcmVlbmEvTUVESUFfRTAzNDI2NTdfcDMubXA0CgkgIHRvIGZhaWwgd2l0aCAiTkFMIHVuaXQgdHlwZSAyNCBub3Qgc3VwcG9ydGVkIHlldCIgKGJ1dCBpdCdzIGFjdHVhbGx5CgkgIHN1cHBvcnRlZCksIGFuZCB0aHVzIHRvIGNsb3NlIGFueSBzdHJlYW0gd2hpY2ggY29udGFpbnMgU1RBUHMuCgkgIFRoZSBwcm9wb3NlZCBvbmUtbGluZXIgcGF0Y2ggZml4ZXMgdGhlIGlzc3VlLgoJICBGaXhlcyAjNjE1MDUxLgoKMjAxMC0wNC0wNyAxMzo0NzowMiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgYnVpbGQ6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBmaXggd2FybmluZ3MgZm9yIGFsbCBwbHVnaW5zIHRoYXQgdXNlOiBzZXRsb2NhbGUgKExDX0FMTC4uLgoKMjAxMC0wNC0wNyAxMzozMToxMyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGF2aTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMzEgMTc6NTQ6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlc3RyaWN0IHJlc3luY2luZyB0byBzdWJ0aXRsZSB0cmFja3MKCSAgVGhpcyBzaG91bGQgcHJldmVudCBza2lwcGluZyBhdWRpbyBvciB2aWRlbyBpbiBub3Qgc28gd2VsbCBpbnRlcmxlYXZlZAoJICBjYXNlcy4KCSAgRml4ZXMgIzYxNDQ2MC4KCjIwMTAtMDQtMDYgMTM6MjE6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBQb3N0IGF2Zy4vbWF4LiBiaXRyYXRlIHRhZ3MgZm9yIEguMjY0CgkgIFRoaXMgcmVhZHMgdGhlIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZXMgZnJvbSB0aGUgJ2J0cnQnIGF0b20gaWYKCSAgYXZhaWxhYmxlLCBhbmQgcHVzaGVzIHRoZXNlIGFzIHRhZ3MsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ5MjcKCjIwMTAtMDQtMDMgMjM6Mzk6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggcmFjeSBzaHV0ZG93bgoJICBLZWVwIGEgcmVmIG9mIHB1bHNlc2luayBmb3IgZGVmZXJyZWQgbWFpbmxvb3AgaW52b2NhdGlvbi4gRml4ZXMgIzYxNDc2NQoKMjAxMC0wNC0wNSAxNTo0ODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICB0ZXN0czoganBlZ2VuYzogQWRkcyBzb21lIGdldGNhcHMgdGVzdAoJICBBZGRzIHRlc3RzIGZvciB0aGUganBlZ2VuYyBnZXRjYXBzIGZ1bmN0aW9uLCB0byBhdm9pZAoJICBoYXZpbmcgaXQgcmV0dXJuaW5nIG5vbi1zdWJzZXQgY2FwcwoKMjAxMC0wNC0wNSAxNDo1MTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEZpeCBnZXRjYXBzIGZ1bmN0aW9uCgkgIFdoZW4gY3JlYXRpbmcgdGhlIGNhcHMgYWxsb3dlZCB0byB1cHN0cmVhbSB1c2luZyBkb3duc3RyZWFtCgkgIHJlc3RyaWN0aW9ucywgdXNlIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcyBhcyB0aGF0IGhhcyB0aGUKCSAgdXNhYmxlIGZvcm1hdHMgYW5kIHB1dHMgaW50byBpdCB0aGUgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlCgkgIGZpZWxkcy4gVGhpcyBhdm9pZHMgZ2V0dGluZyBlcnJvcnMgYWJvdXQgZ2V0Y2FwcyByZXR1cm5pbmcKCSAgbm9uIHN1YnNldCBjYXBzIG9mIGl0cyBwYWQgdGVtcGxhdGUuCgkgIFRoaXMgZXJyb3Igc2hvd2VkIHVwIG9uIHRoZSBtZXRhZGF0YSBwbHVnaW4gdW5pdCB0ZXN0IGluIC1iYWQuCgoyMDEwLTA0LTA1IDE3OjMxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGNvbnZlcnNpb24gZnJvbSAzIGJ5dGUgUkdCIHRvIEFSR0IKCjIwMTAtMDQtMDUgMTc6MDg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgMyBieXRlIFJHQiBmb3JtYXRzIGFuZCByZWZhY3RvciBSR0IgY29kZSBhIGJpdAoKMjAxMC0wNC0wNSAxNTo1MToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgYWxsIDMyIGJpdCBSR0IgZm9ybWF0cwoJICAuLi5pbmNsdWRpbmcgY29udmVyc2lvbiBiZXR3ZWVuIHRoZW0uCgoyMDEwLTA0LTA1IDE1OjI2OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBidWZmZXJpbmcgbWV0aG9kCgkgIEFkZCBhIHByb3BlcnR5IHRvIGNvbnRyb2wgaG93IHRoZSBqaXR0ZXJidWZmZXIgcGVyZm9ybXMgdGltZXN0YW1waW5nIGFuZAoJICBidWZmZXJpbmcuCgoyMDEwLTA0LTA0IDE5OjAyOjQxIC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IFJlbW92aW5nIHVudXNlZCB2YXJpYWJsZQoJICBGaXhlcyBidWcgIzYxNDg0My4KCjIwMTAtMDQtMDQgMjA6MzE6MzggLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzaG91bGQgbm90IHJldHVybiBjYXBzIEFOWSBiYXNlZCBvbiBkb3duc3RyZWFtCgkgIFdoZW4gZG93bnN0cmVhbSBoYXMgYSBzaW5rIHBhZCB3aXRoIEFOWSBjYXBzLCBqcGVnZW5jIHNob3VsZAoJICB0cmVhdCBpdCB0aGUgc2FtZSBhcyBOVUxMIGFuZCByZXR1cm4gaXRzIHRlbXBsYXRlIGNhcHMuCgkgIEZpeGVzICM2MTQ4NDIKCjIwMTAtMDQtMDQgMjI6Mjg6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogYWRkIGZpeG1lIGNvbW1lbnQKCjIwMTAtMDQtMDQgMjI6MjY6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdjb25mL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlICQoYnVpbGRkaXIpIGZvciBpbnN0YWxsaW5nIGdlbmVyYXRlZCBmaWxlcwoKMjAxMC0wNC0wNCAyMjowNzozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZTogZml4IG91dCBvZiBzb3VyY2UgZGlyIGJ1aWxkcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjYTBiZDNhOGNlYTMxZjllYTBkZjc5OGE4M2QzMDA3ZTY5Njk1OGJhLgoKMjAxMC0wNC0wNCAyMTozNjozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBvdXQgb2Ygc291cmNlIGRpciBidWlsZHMKCSAgUmVtb3ZlIG5vbi1leGlzdGluZyBnc3QtbGlicyBmcm9tIGluY2x1ZGUgYW5kIGxpYnJhcnktcGF0aHMnLgoJICBGaXhlcyAjNjE0MzU0IGV2ZW4gbW9yZS4KCjIwMTAtMDQtMDEgMTA6MTk6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBSZWFkIHJlcGxheWdhaW4gcGVhay9nYWluIHRhZ3MKCSAgTWFrZSBxdGRlbXV4IHJlYWQgdGFncyByZXBsYXlnYWluIHRhZ3MgdGhhdCBhcmUgd2l0aGluICctLS0tJyBhdG9tcy4KCSAgRml4ZXMgIzYxNDQ3MQoKMjAxMC0wNC0wMSAxODo0ODo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBtYXRyb3NrYTogRXhwb3J0IGguMjY0IHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgVGhpcyByZXBsaWNhdGVzIHRoZSBjb2RlIGluIHF0ZGVtdXggdG8gZXhwb3J0IHRoZSBoLjI2NCBwcm9maWxlIGFuZAoJICBsZXZlbCBpbiB0aGUgc3RyZWFtIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDIgMTg6NTA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb2ZmLWJ5LW9uZSBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDEwLTA0LTAxIDE4OjM4OjM4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWlub3IgcmVmYWN0b3Igb2YgdGhlIGNvZGUKCSAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIGNsdW1wIHRvZ2V0aGVyIGNvbW1vbiBjb2RlIHdoZW4gY29weWluZyB0bwoJICBtYXN0cm9za2FkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wNC0wMSAxODoxNzowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBoLjI2NCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgaC4yNjQgbGV2ZWwgaW4gdGhlIHN0cmVhbSBjYXBzIChhcyBhIHN0cmluZykgd2hpY2ggY2FuCgkgIGJlIHVzZWQgdG8gbWF0Y2ggYSBkZWNvZGVyLCBvciBhcyBtZXRhZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wNC0wMSAxNjo1ODozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBoLjI2NCBwcm9maWxlIGluIGNhcHMKCSAgVGhpcyBhZGRzIHRoZSBoLjI2NCBwcm9maWxlIGZvciBhIGdpdmVuIHN0cmVhbSBpbnRvIGNhcHMuIFRoaXMgY2FuCgkgIChldmVudHVhbGx5KSBiZSB1c2VkIHRvIHNlbGVjdCBhbiBhcHByb3ByaWF0ZSBkZWNvZGVyIGFuZCBhcyBtZXRhZGF0YQoJICBmb3IgY2VydGFpbiBhcHBsaWNhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDMtMzEgMTQ6NDM6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIHJldmVyc2UgcGxheWJhY2sgY29kZSBwYXRoCgoyMDEwLTAzLTMxIDE0OjQwOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBzdXBwb3J0IChwdWxsIG1vZGUpIG5lZ2F0aXZlIHNlZWsgcmF0ZQoKMjAxMC0wMy0yOSAxNToyNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBhbHNvIGNoZWNrIGZvciBzZWdtZW50IHN0b3AgZm9yIG5vbi1zZWdtZW50LXNlZWsKCjIwMTAtMDMtMzAgMTY6NTA6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHB1c2ggY29ycmVjdGx5IHNpemVkIGZsYWMgaGVhZGVyIGJ1ZmZlcnMKCSAgRml4ZXMgIzYxNDM1My4KCjIwMTAtMDMtMzAgMDc6MzQ6MDcgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gc3JjZGlyICE9IGJ1aWxkZGlyCgkgIEZpeGVzICcuLi8uLi9nc3QtbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScgd2FybmluZy9lcnJvciB3aGVuCgkgIHRoZSBidWlsZCBkaXJlY3RvcnkgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBzb3VyY2UgZGlyZWN0b3J5LgoJICBGaXhlcyAjNjE0MzU0LgoKMjAxMC0wMy0zMCAwMTo1MDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIHVuc3luY2VkIGZyYW1lcyB3aXRoIGRhdGEgbGVuZ3RoIGluZGljYXRvcgoJICBGaXhlcyBidWcgIzYxNDE1OC4KCjIwMTAtMDMtMjkgMTE6MDA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC9NYWtlZmlsZS5hbToKCSogc3lzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGJ1aWxkIHBsdWdpbnMgYW5kIGV4YW1wbGVzIGluIHBhcmFsbGVsIHdoZXJlIHBvc3NpYmxlCgoyMDEwLTAzLTE4IDE4OjQ5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggcmVkdW5kYW50IGZ1bmN0aW9uIHJlZGVjbGFyYXRpb24gY29tcGlsZXIgd2FybmluZ3MKCSAgUmUtYXBwbHkgdGhpcyBhZ2FpbiBhcyB3ZWxsLCBhcyBpdCB3YXMgdW5kb25lIGJ5IHRoZSBwcmV2aW91cyBjb21taXQuLgoKMjAxMC0wMy0xOCAxNDozMTozNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCSAgQXBwbHkgdGhpcyBhZ2FpbiwgYXMgaXQgd2FzIG92ZXJ3cml0dGVuIGJ5IHRoZSBwcmV2aW91cyBjb21taXQuIE1lcmdpbmcKCSAgaXMgaGFyZCwgYXBwYXJlbnRseS4KCjIwMTAtMDMtMjYgMjM6MjA6MTAgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IEltcGxlbWVudCBTUERJRiBzdXBwb3J0IGZvciBBQzMuCgkgIERldGVjdCBpZiB0aGUgc291bmQgY2FyZCBzdXBwb3J0cyBTUERJRiBwYXNzdGhydSBvZiBBQzMgYW5kIGFkZAoJICBuZWNlc3NhcnkgY29kZSB0byBzdXBwb3J0IHRoYXQgbGlrZSBhbHNhc2luay4KCjIwMTAtMDMtMjYgMTc6MDY6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgY3J1ZnQgYWxlcnQgZm9yIGNvbW1vbi9zaGF2ZSoKCjIwMTAtMDMtMjYgMTY6NTA6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5oOgoJICBxdGRlbXV4OiBleHRyYWN0IHN0cmVhbSBsYW5ndWFnZSBpbiBtb3JlIGNhc2VzCgkgIFRoZSAxNi1iaXQgbGFuZ3VhZ2UgY29kZSBjYW4gYmUgZWl0aGVyIGEgcGFja2VkIElTTy02MzktMlQgY29kZQoJICBvciBhICdNYWNpbnRvc2ggbGFuZ3VhZ2UgY29kZScuIEhhbmRsZSB0aGUgbGF0dGVyIHR5cGUgb2YgbGFuZ3VhZ2UKCSAgY29kZXMgYXMgd2VsbCwgYW5kIG1hcCB0byB0aGUgbWF0Y2hpbmcgSVNPIGNvZGUuIExhc3RseSwgZml4CgkgIGxhbmd1YWdlIGNvZGUgcG9zdGluZyBmb3IgbGFuZ3VhZ2UgIzAsIHdoaWNoIGlzIHZhbGlkIGFuZCBzdGFuZHMKCSAgZm9yICdFbmdsaXNoJy4KCSAgRml4ZXMgIzYxNDAwMS4KCjIwMTAtMDMtMjYgMTQ6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgYWRkIHNvbWUgRklYTUVzCgoyMDEwLTAzLTI2IDE0OjQyOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogU2FtcGxlIHJhdGUgbWFya2VycyAweDAxLCAweDAyIGFuZCAweDAzIGFyZSB2YWxpZAoJICBUaGV5IGFyZSBmb3IgODguMmtIeiwgMTc2LjRrSHogYW5kIDE5MmtIei4KCjIwMTAtMDMtMjYgMTQ6MTY6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBUYWtlIHNhbXBsZXJhdGUsIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMgZnJvbSB0aGUgU1RSRUFNSU5GTwoJICAuLi5hbmQgdXBkYXRlIGl0IGZyb20gdGhlIGZyYW1lIGhlYWRlcnMgaWYgaXQgc2hvdWxkIGNoYW5nZSBmb3Igc29tZSByZWFzb24uCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIGZpbGVzIHdpdGggb2RkIHNhbXBsZSByYXRlcy4KCjIwMTAtMDMtMjYgMTM6NDU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggQVlVVi0+STQyMCBmcmFtZSBjb3B5aW5nCgoyMDEwLTAzLTI2IDEzOjM0OjE3ICswMTAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogU2V0IGNvcnJlY3QgZ2V0Y2Fwcy9zZXRjYXBzIGZ1bmN0aW9ucyBvbiBzcmNwYWRzIGFuZCBzaW1wbGlmeSB0aGVtCgkgIFRoaXMgZml4ZXMgZG93bnN0cmVhbSBuZWdvdGlhdGlvbiwgdXBzdHJlYW0gbmVnb3RpYXRpb24gaXNuJ3QgcmVhbGx5CgkgIHN1cHBvcnRlZCBieSBqcGVnZW5jIHlldC4KCSAgRml4ZXMgYnVnICM2MTM3ODkuCgoyMDEwLTAzLTI2IDEwOjMxOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFsd2F5cyBmaWxsIHRoZSBjb21wbGV0ZSBmcmFtZSBpZiBib3JkZXJzIHNob3VsZCBiZSBhZGRlZAoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCBnZXQgYW55IGdhcHMgYmV0d2VlbiByZWN0YW5nbGVzIGJlY2F1c2UKCSAgb2YgY2hyb21hIHN1YnNhbXBsaW5nIGZvciBleGFtcGxlLgoKMjAxMC0wMy0xOCAyMjoxMjo0MCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IERvbid0IGNhbGwgY29uZmlndXJlIHdpdGggLS1lbmFibGUtcGx1Z2luLWRvY3MKCSAgY29uZmlndXJlIGdpdmVzIGEgbmljZSB3YXJuaW5nOgoJICBjb25maWd1cmU6IFdBUk5JTkc6IHVucmVjb2duaXplZCBvcHRpb25zOiAtLWVuYWJsZS1wbHVnaW4tZG9jcwoJICBhbmQgaW5kZWVkLCBJIGNvdWxkIG5vdCBmaW5kIGFueXRoaW5nIGluIHRoZSBjb25maWd1cmUuYWMgb3IgdGhlIG00CgkgIG1hY3JvcyB0aGF0IHdvdWxkIGFsbG93IGVuYWJsaW5nIHRoYXQgb3B0aW9uLiBSZW1vdmUgaXQgdGhlbi4KCjIwMTAtMDMtMjIgMTY6NTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogUmVmYWN0b3IgYm94aW5nIHRvIHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uCgoyMDEwLTAzLTIyIDEzOjEzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogU2ltcGxpZnkgY2FwcyB0cmFuc2Zvcm1hdGlvbgoKMjAxMC0wMy0yMSAyMDoxNDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBjb25zdCBxdWFsaWZpZXIgdG8gdGhlIHNvdXJjZSBmcmFtZSBkYXRhCgoyMDEwLTAzLTIzIDE3OjQ3OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHNlZWsgd2hlbiBpbiBwcm9wZXIgc3RhdGUKCSAgLi4uIGFuZCBkYXRhIHN0cnVjdHVyZXMgY2FuIGJlIHRocmVhZC1zYWZlbHkgYWNjZXNzZWQuCgkgIFNlZSAjNjAxNjE3LgoKMjAxMC0wMy0yMyAxNzozNDo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogc3VwcG9ydCAocHVsbCBtb2RlKSBuZWdhdGl2ZSBzZWVrIHJhdGUKCjIwMTAtMDMtMTggMTU6Mjk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB0cmFjayBjbGlwIGR1cmF0aW9uIGluIHNlZ21lbnQKCjIwMTAtMDMtMTggMTM6Mzk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByZWZlciBpbmRleCBvZiB2aWRlbyB0cmFjayB0byBwZXJmb3JtIHNlZWtpbmcKCjIwMTAtMDMtMjUgMjI6NTg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogaWYgd2UgdGVsbCB0aGF0IHdlIGhhbmRsZSBnYXAgZmxhZ3MsIHRoZW4gZG8gc28KCjIwMTAtMDMtMjUgMjI6NTU6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogdXNlIGdsaWIgdHlwZXMKCjIwMTAtMDMtMjUgMjI6NTQ6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDEwLTAzLTI1IDIyOjUzOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHJlZm9ybWF0IG1lc3NhZ2UgZG9jcwoJICBVc2UgYSBsaXN0IGxpa2UgaW4gb3RoZXIgZWxlbWVudCBkb2NzIGFzIGFuIHVudHdlYWtlZCBkb2Nib29rIHRhYmxlIGxvb2sgdWdseS4KCjIwMTAtMDMtMjQgMTY6MTk6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gaGVhZGVyIHZhbGlkYXRpb24gY2hlY2sKCjIwMTAtMDMtMjQgMTg6NTM6MjAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU1Y2Q1MTQgdG8gYzFkMDdkZAoKMjAxMC0wMy0yMyAxOTo0Njo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgaWN5ZGVtdXg6IEhhbmRsZSB1cHN0cmVhbSBDb250ZW50LVR5cGUuCgkgIEFsbG93cyB1cyB0byBoYW5kbGUgU2hvdXRDYXN0IFRWIChOU1YpIHN0cmVhbXMuCgkgIElmIHRoZSB1cHN0cmVhbSBjYXBzIGhhdmUgdGhlICdjb250ZW50LXR5cGUnIGZpZWxkIHNldCB0byB2aWRlby9uc3YsIHRoZW4KCSAgd2Ugc2hvcnRjdXQgdGhlIHR5cGVmaW5kaW5nIGFuZCBzZXQgdmlkZW8veC1uc3YgZGlyZWN0bHkuCgoyMDEwLTAzLTIzIDE5OjMwOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFNldCB0aGUgQ29udGVudC1UeXBlIEhUVFAgaGVhZGVyIG9uIHRoZSBjYXBzLgoJICBGaXJzdCBzdGVwIHRvIGZpeGluZyBTaG91dENhc3QgKE5TVikgc3RyZWFtaW5nLgoKMjAxMC0wMy0yMyAwMjozODo0MyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgQWRkZWQgdm9pZCBwYXJhbWV0ZXIgdG8gYXZvaWQgb2xkLXN0eWxlIGRlZmluaXRpb24gd2FybmluZy4KCSAgQWRkZWQgLVduby1hZ2dyZWdhdGUtcmV0dXJuIGZsYWcgdG8gYXZvaWQgZXJyb25lb3VzIGFnZ3JlZ2F0ZSByZXR1cm4gd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzY2MwoKMjAxMC0wMy0yMyAwMDoxNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IHVzZSBsb29wIHRlc3QgZm9yIGxvbmctcnVubmluZyB2aWRlb2Nyb3AgY2hlY2sKCSAgVGhpcyBzaG91bGQgYXZvaWQgdGltZW91dHMgb24gc2xvdyBtYWNoaW5lcy4KCSAgRml4ZXMgIzU5NzczOS4KCjIwMTAtMDMtMjIgMTc6MjY6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBpMThuOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZiBmb3IgRU5BQkxFX05MUwoKMjAxMC0wMy0yMiAxNzoyNTowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBpMThuOiBmaXggdGhlIGJ1aWxkCgkgIERvbid0IGlubGN1ZGUgbG9jYWxlLmggd2hpY2ggd2UgaW5jbHVkZSBpbiBnZXR0ZXh0LmggaWYgbmVlZGVkLiBHdWFyZCB0aGUKCSAgaW5sY3VkZSBsaWtlIHdlIGRvIGluIHRoZSBzaW1pbGxhciBoZWFkZXJzIGluIGNvcmUuCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyBmbGFnCgkgIGFuZCBmaXggd2FybmluZ3MgZnJvbSBpdAoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAxNzo0NjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGlzIG5vdCB2YWxpZCBmb3IgQysrCgoyMDEwLTAzLTIxIDE3OjM2OjI4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEluY2x1ZGUgaGVhZGVycyBpbnN0ZWFkIGZvIGRlZmluaW5nIGZ1bmN0aW9ucwoKMjAxMC0wMy0yMSAxNzoyNDoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBsYXJnZSBzZXQgb2Ygd2FybmluZyBmbGFncy4KCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgd2FybmluZ3MgYW55bW9yZSwgc28gbm90aGluZyBuZWVkZWQgdG8gYmUgZml4ZWQuCgoyMDEwLTAzLTIxIDE3OjIzOjQzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9pZnMuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkgIE1ha2UgZ29vbSBub3QgdXNlIGFnZ3JlZ2F0ZSByZXR1cm5zCgoyMDEwLTAzLTIxIDE1OjE3OjQ2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGZsYWcKCSAgQW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjAgMDA6NTQ6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MgdG8gdGhlIGNvbmZpZ3VyZSBmbGFncwoJICAuLi4gYW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMTE6MTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBBUkdCIGZvcm1hdHMKCSAgQW5kIGhhbmRsZSBBWVVWIGxpa2UgQVJHQiwgd2UgbmVlZCBubyBZVVYgc3BlY2lmaWMgaGFuZGxpbmcuCgoyMDEwLTAzLTIwIDIxOjMwOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFJHQiBhbmQgeFJHQiBpbnB1dAoKMjAxMC0wMy0yMCAyMToxMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBBUkdCIGlucHV0CgoyMDEwLTAzLTIwIDIwOjQ2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgQVJHQiBvdXRwdXQKCjIwMTAtMDMtMjAgMTA6NDc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIEFCR1IgYW5kIFJHQkEKCSAgTm93IGFsbCA0IEFSR0IgdmFyaWFudHMgYXJlIHN1cHBvcnRlZCBieSB2aWRlb21peGVyLgoKMjAxMC0wMy0yMCAxMDoyNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IE1vdmUgY2hyb21hIGtleWluZyBwYXJhbWV0ZXJzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHByZXZlbnQgbXVsdGlwbGUgcG9pbnRlciBkZXJlZmVyZW5jZXMgcGVyIHBpeGVsCgoyMDEwLTAzLTIwIDEwOjIwOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogTW92ZSBjb2xvciBjb252ZXJzaW9uIG1hdHJpeGVzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHNwZWVkIHVwIHByb2Nlc3NpbmcKCjIwMTAtMDMtMjAgMTA6MTg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgY29ycmVjdCBtYXRyaXhlcyB0byBjb252ZXJ0IGNocm9tYSBrZXlpbmcgY29sb3IgdG8gWVVWCgoyMDEwLTAzLTE5IDE4OjUxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBjb2xvciBtYXRyaXhlcwoKMjAxMC0wMy0xOSAxODoyMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlbmFtZSBhbmQgbW92ZSBmdW5jdGlvbnMgYXMgZnVydGhlciBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDMtMTkgMTg6MTg6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHNvbWUgdW5uZWVkZWQgY2FsY3VsYXRpb25zIGFuZCBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzCgkgIEFuZCBkb2N1bWVudCB0aGUgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcyBhIGJpdCBiZXR0ZXIKCjIwMTAtMDMtMTkgMTg6MTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogU29tZSBwcmVwYXJhdGlvbnMgZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTAzLTE5IDE3OjA5OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IGZpeCBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIHRoZSBzYW1lIHVuaXRzIGZvciBjb21wYXJpbmcgdGhlIGVsYXBzZWQgdGltZSBhZ2FpbnN0IHRoZSBpbnRlcnZhbC4KCSAgRml4ZXMgIzYxMzAxMwoKMjAxMC0wMy0xOSAxNjo0NDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBJbXBsZW1lbnQgY29sb3ItbWF0cml4IHN1cHBvcnQgYW5kIHVzZSBpbnRlZ2VyIGFyaXRobWV0aWMgb25seQoJICBBbHBoYWNvbG9yIG5vdyB1c2VzIHRoZSBjb3JyZWN0IG1hdHJpeGVzIGZvciBTRFRWIGFuZCBIRFRWIGFuZCBjYW4KCSAgY29udmVydCBiZXR3ZWVuIHRoZW0uCgoyMDEwLTAzLTE5IDE1OjAzOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHVzZSBHVHlwZSBmcm9tIC1iYXNlIGFuZCBidW1wIHJlcXVpcmVkIHZlcnNpb24KCSAgVXNlIHRoZSB0cmFuc3BvcnQgZmxhZ3MgR1R5cGUgZnJvbSAtYmFzZSBhbmQgYnVtcCB0aGUgcmVxdWlyZWQgdmVyc2lvbiBvZiAtYmFzZQoJICBiZWNhdXNlIG9mIHRoaXMuCgoyMDEwLTAzLTE5IDAwOjA1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgIGFwZXRhZzogbWlub3IgTWFrZWZpbGUuYW0gc3VyZ2VyeQoJICAtSSQodG9wX3NyY2RpcikvZ3N0LWxpYnMvIGlzIGFscmVhZHkgaW4gJChHU1RfQ0ZMQUdTKQoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0wNCAyMjoxMjozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IEZpeCBpbnRlcm5hbCBjbG9jawoJICBGaXhlcyAjNTkzOTEwLgoKMjAxMC0wMy0xOCAyMToxNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlZmlsZS5hbSBjbGVhbnVwcwoJICBNb3N0bHkgYWRkICQoR1NUX0JBU0VfQ0ZMQUdTKSB3aGVyZSBpdCB3YXMgbWlzc2luZywgYnV0IGFsc28gZml4IHVwCgkgIG9yZGVyIG9mIGZsYWdzIGFuZCBsaWJzIGlmIG5lZWRlZCAoc2VlIGRvY3MvcmFuZG9tL21vdmluZy1wbHVnaW5zKS4KCjIwMTAtMDMtMTggMTg6NDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCByZWR1bmRhbnQgZnVuY3Rpb24gcmVkZWNsYXJhdGlvbiBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxOTowMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVtYWluaW5nIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgd2hlbiBwcm9jZXNzaW5nIGEgcGl4ZWwKCjIwMTAtMDMtMTggMTg6NTU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBjaHJvbWEga2V5aW5nIGludG8gYSBzaW5nbGUgZnVuY3Rpb24KCSAgVGhpcyByZWR1Y2VzIGNvZGUgZHVwbGljYXRpb24gb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3IgbW9yZSBjb2xvciBmb3JtYXRzLgoKMjAxMC0wMy0xOCAxNDozMTozNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTggMTQ6MDI6MzAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L29sZGNvcmUvZ3N0ZWxlbWVudHMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuaDoKCSAgUmVtb3ZlIG9sZGNvcmUgZGlyZWN0b3J5CgkgIFRoZSBlbGVtZW50cyBoYXZlIGJlZW4gdW51c2VkIGZvciBhZ2VzIGFuZCBhbGwgaW1wb3J0YW50IG9uZXMgaGF2ZSBiZWVuCgkgIHJlcGxhY2VkIG9yIGNvcGllZCBlbHNld2hlcmUuCgoyMDEwLTAzLTE4IDEzOjQ1OjA4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlY29kZXIuYzoKCSAgYXZpOiBSZW1vdmUgb2xkIGZpbGUKCSAgU2VlbXMgdG8gYmUgbGVmdG92ZXIgZnJvbSB0aGUgMC40IGRheXMgb3Igc28uCgoyMDEwLTAzLTE4IDEyOjQ0OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHVzZSAjaWZkZWYgcmF0aGVyIHRoYW4gI2lmIGNvbmRpdGlvbmFscwoKMjAxMC0wMy0xOCAxMjoyMDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGRvIG5vdCBjYWxsIF9wdXNoX3RzIHdpdGggdW5uZWVkZWQgKGFuZCB3cm9uZykgdGltZSBwYXJhbWV0ZXIKCSAgRml4ZXMgIzYxMzIwNi4KCjIwMTAtMDMtMTggMTE6MzM6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gaGVhZGVyIHZhbGlkYXRpb24gY2hlY2sKCjIwMTAtMDMtMTggMDE6NTE6MTkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHB1dCBtb3JlIGluZm9ybWF0aW9uIGluIHRoZSBtZXRhZGF0YQoJICBBZGRpdGlvbmFsIHRhZ3MgYXJlOiBhdWRpb2NvZGVjaWQsIHZpZGVvY29kZWNpZCBmcmFtZXJhdGUgYW5kIChpbiB0aGUKCSAgbm9uLWxpdmUgY2FzZSkgZmlsZXNpemUuCgkgIFdoaWxlIGF0IGl0LCBmaXggaW5kZXggcmV3cml0aW5nIHRvIHVwZGF0ZSBkdXJhdGlvbiBhbmQgZmlsZXNpemUKCSAgdmFsdWVzIGV2ZW4gaWYgdGhlIGluZGV4IGlzIGVtcHR5LgoJICBGaXhlcyAjNjEzMDk0LgoKMjAxMC0wMy0xNyAyMTozMzoyOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWRkIC1XdW5kZWYgdG8gY29uZmlndXJlIGZsYWdzCgkgIGFuZCBmaXggdGhlIHJlc3VsdGluZyB3YXJuaW5ncwoKMjAxMC0wMy0xNyAyMDowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV21pc3NpbmctcHJvdG90eXBlcyBpcyBub3QgdmFsaWQgZm9yIEMrKwoKMjAxMC0wMy0xNyAxOTozNToxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIHdhcm5pbmcgZmxhZwoJICBBbHNvIGZpeCBjb21waWxlIGlzc3VlcwoKMjAxMC0wMy0xNyAxODo0OToxMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgRml4IHdhcm5pbmdzIGluIGV4cGVyaW1lbnRhbCBwbHVnaW5zLCB0b28KCjIwMTAtMDMtMTcgMTg6MjM6MDAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5oOgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZm52MWhhc2guYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB3YXJuaW5nIGZsYWdzCgkgIEFuZCBmaXggYWxsIHRoZSB3YXJuaW5ncy4KCjIwMTAtMDMtMTcgMTY6MjM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGltcHJvdmUgY29uc3RhbnREdXJhdGlvbiBndWVzc2luZwoJICBXaGVuIG5vIGNvbnN0YW50RHVyYXRpb24gaGFzIGJlZW4gZ2l2ZW4gaW4gdGhlIGNhcHMsIHRyeSB0byBkZXJpdmUgb25lIGZyb20gdGhlCgkgIHRpbWVzdGFtcCBkaWZmZXJlbmNlIGJldHdlZW4gcGFja2V0cy4gQWxzbyBrZWVwIGRvaW5nIHRoaXMgZm9yIGVhY2ggcGFja2V0CgkgIGJlY2F1c2Ugc29tZSBicm9rZW4gc3RyZWFtcyBtaWdodCBzaW1wbHkgcHJvdmlkZSB3cm9uZyB0aW1lc3RhbXBzLgoKMjAxMC0wMy0xNiAyMzo0MzozOSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHV0IHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIG1ldGFkYXRhCgkgIFNvbWUgcGxheWVycyB1c2UgdGhhdCBpbmZvIHRvIHNjYWxlIHRoZWlyIGRpc3BsYXkuCgkgIFNlZSAjNjEzMDk0LgoKMjAxMC0wMy0xNiAyMzozMjo0NSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgcHV0IHRpbWVzdGFtcHMgbGFyZ2VyIHRoYW4gR19NQVhJTlQzMiBpbiB0aGUgRkxWIHRhZ3MKCSAgRm9yIG5vbi1saXZlIGlucHV0IHJlc3BvbmQgYnkgcHVzaGluZyBFT1MsIGZvciBsaXZlIHdyYXAgdGhlCgkgIHRpbWVzdGFtcHMgZXZlcnkgR19NQVhJTlQzMiBtaWxpc2Vjb25kcy4KCSAgRml4ZXMgIzYxMzAwMy4KCjIwMTAtMDMtMTYgMjM6NDA6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGFsc28gdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSBoZXJlIGZvciBzdGF0aWMgc3RyaW5ncwoKMjAxMC0wMy0xNiAyMToyMzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBGaXggUkdCQTwtPkFZVVYgY29udmVyc2lvbgoKMjAxMC0wMy0xNiAyMToxNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVkdW5kYW50IGluc3RhbmNlIGZpZWxkCgoyMDEwLTAzLTE2IDIxOjEwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUHJvdGVjdCBwcm9wZXJ0eSB2YWx1ZXMgZnJvbSBjaGFuZ2VzIGR1cmluZyBmcmFtZSBwcm9jZXNzaW5nCgoyMDEwLTAzLTE1IDIzOjI5OjU1ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2VuYzogVXNlIHBuZ19nZXRfaW9fcHRyKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgaW9fcHRyIGRpcmVjdGx5CgkgIEZpeGVzICM2MTI3MDAgKGZvciB0aGUgbGFzdCB0aW1lISkKCjIwMTAtMDMtMTUgMjM6Mjk6MDYgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBwbmc6IENoZWNrIGZvciBsaWJwbmcgPj0gMS4yIGluc3RlYWQgb2YgbGlicG5nMTIKCjIwMTAtMDMtMTYgMDE6Mjk6MzYgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFsd2F5cyBwdXQgYSBkdXJhdGlvbiB0YWcgaW4gdGhlIG1ldGFkYXRhCgkgIFNvbWUgRmxhc2ggcGxheWVycyAoZm9yIGluc3RhbmNlIEpXIFBsYXllcikgYWx3YXlzIGV4cGVjdCBhIGR1cmF0aW9uCgkgIHRhZywgb3RoZXJ3aXNlIHRoZXkgZG9uJ3Qgc3RhcnQgcGxheWJhY2suCgkgIElmIGR1cmF0aW9uIGNhbiBiZSBxdWVyaWVkIGZyb20gdGhlIHNpbmsgcGFkcyBvciBpcyBwcm92aWRlZCBhcyBhIHRhZywKCSAgdXNlIGl0LiBPdGhlcndpc2UgdHJ5IHRvIGRldGVybWluZSBpdCBmcm9tIHRoZSBsYXN0IHNlZW4gdGltZXN0YW1wIG9mCgkgIHRoZSBzaW5rIHBhZHMgYWZ0ZXIgRU9TIGFuZCByZXdyaXRlIGl0IGluIHRoZSBoZWFkZXIgYmVmb3JlIHdyaXRpbmcKCSAgdGhlIGluZGV4LgoKMjAxMC0wMy0xNiAwMDozNTo0NiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVtb3ZlIHRoZSBzZW5kX2NvZGVjX2RhdGEgZmllbGQgZnJvbSBHc3RGbHZQYWQKCSAgVGhhdCBmaWVsZCBpcyBub3QgdXNlZCBhbnltb3JlIGFmdGVyIHRoZSBjaGFuZ2VzIGluCgkgIDlmZGVjYmMxYzExZjRlNWFmNjU3OGJiYTMyYTliMzI3NzEwMjlkMzMuCgoyMDEwLTAzLTE2IDEzOjUzOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBnZXQgZmFtaWx5IG9mIGV4dGVybmFsIHNvY2tldHMgdG9vCgkgIEdldCB0aGUgZmFtaWx5IG9mIGV4dGVybmFsbHkgY29uZmlndXJlZCBzb2NrZXRzIHNvIHRoYXQgd2UgY2FuIGNvbmZpZ3VyZSBpdAoJICBjb3JyZWN0bHkuCgoyMDEwLTAzLTE1IDIwOjM3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIEFSR0IgZm9ybWF0cwoKMjAxMC0wMy0xNSAxOToxNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBTaW1wbGlmeSBBUkdCPC0+QVlVViBjb252ZXJzaW9ucyBieSBjb2RlIGdlbmVyYXRpb24gbWFjcm9zCgoyMDEwLTAzLTE1IDE5OjA3OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBNaW5vciBjbGVhbnVwcyBhbmQgbW92ZSBkZWNsYXJhdGlvbnMgaW50byBhIHNlcGFyYXRlIGhlYWRlciBmaWxlCgoyMDEwLTAzLTE1IDE4OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBmb3IgYXV0b21hdGljIFFvUyBzdXBwb3J0CgoyMDEwLTAzLTE1IDE4OjUwOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IEFkZCBzdXBwb3J0IGZvciBpbnBsYWNlIGNvbnZlcnNpb25zIGZyb20gQVlVViB0byBBUkdCCgoyMDEwLTAzLTE1IDE4OjE0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IFVzZSBsaWJnc3R2aWRlbyBmb3IgY2FwcyBwYXJzaW5nCgoyMDEwLTAzLTE1IDE4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIGJhc2UgY2xhc3MgZm9yIGF1dG9tYXRpYyBRb1Mgc3VwcG9ydAoKMjAxMC0wMy0xNSAxODowNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDMtMTUgMTQ6MTY6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogVXNlIHNwZWV4X3N0ZXJlb19zdGF0ZV9pbml0KCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBpbml0aWFsaXphdGlvbiBtYWNybwoJICBGaXhlcyBidWcgIzYxMjc3Ny4KCjIwMTAtMDMtMTUgMDE6MDk6NDkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IENvcnJlY3RseSBtYXJrIGJ1ZmZlcnMgYXMgZGVsdGEgdW5pdHMKCSAgTWFyayB2aWRlbyBpbnRlcmZyYW1lcywgdmlkZW8gY29kZWMgZGF0YSBidWZmZXJzIGFuZCBhdWRpbyBidWZmZXJzIChpZgoJICBpdCdzIG5vdCBhbiBhdWRpby1vbmx5IHN0cmVhbSkgYXMgZGVsdGEgdW5pdHMuCgoyMDEwLTAzLTE0IDE5OjMyOjIwICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBTdXBwb3J0IHN0cmVhbWhlYWRlcnMKCSAgUHV0IHRoZSBGTFYgaGVhZGVyLCB0aGUgbWV0YWRhdGEgdGFnIGFuZCAoaWYgcHJlc2VudCkgY29kZWMKCSAgaW5mb3JtYXRpb24gaW4gdGhlIHN0cmVhbWhlYWRlciB0byBhbGxvdyB0aGUgbXV4ZXIgdG8gYmUgdXNlZCBmb3IKCSAgc3RyZWFtaW5nLgoKMjAxMC0wMy0xNCAwMTozODoyMSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHJlYWxsb2NhdGUgaW5kZXggc3BhY2UgYW5kIGZpbGwgaXQgYWZ0ZXIgZmluaXNoaW5nIG91dHB1dAoJICBNYWtlIHRoZSBpbmRleCBhcHBlYXIgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSwgd2hpY2ggaXMgd2hhdCBtb3N0CgkgIHBsYXllcnMgYXJlIGV4cGVjdGluZy4KCSAgRml4ZXMgIzYwMTIzNi4KCjIwMTAtMDMtMTUgMTM6NDc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBNaW5vciBjb2Rpbmcgc3R5bGUgZml4ZXMgYW5kIGNsZWFudXAKCjIwMTAtMDMtMTQgMDE6MzQ6MDIgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBhIGlzLWxpdmUgcHJvcGVydHkKCSAgSWYgaXQgaXMgc2V0LCB0aGUgbXV4ZXIgd2lsbCBub3Qgd3JpdGUgdGhlIGluZGV4LiBEZWZhdWx0cyB0byBmYWxzZS4KCjIwMTAtMDMtMTQgMDE6MjU6NDIgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE9ubHkgcHV0IHZhbGlkIHNlZWsgcG9pbnRzIGluIHRoZSBpbmRleAoJICBGb3IgZmlsZXMgY29udGFpbmluZyB2aWRlbyBvbmx5IHZpZGVvIGtleWZyYW1lcyBhcmUgdmFsaWQgcG9pbnRzIHRvCgkgIHdoaWNoIGEgcGxheWVyIGNhbiBzZWVrLiBGb3IgYXVkaW8tb25seSBmaWxlcyBhbnkgdGFnIHN0YXJ0IGlzIGEgdmFsaWQKCSAgc2VlayBwb2ludC4KCSAgU2VlICM2MDEyMzYuCgoyMDEwLTAzLTE0IDAxOjA5OjM3ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggaW5kZXggYnVpbGRpbmcgdG8gbWFrZSBlbnRyaWVzIHBvaW50IHRvIHRhZydzIHN0YXJ0IG9mZnNldAoJICBQcmV2aW91cyBjb2Rpbmcgd2FzIHdyb25nbHkgaW5jcmVtZW50aW5nIHRoZSB0b3RhbCBieXRlIGNvdW50IGJlZm9yZQoJICBhZGRpbmcgYW4gaW5kZXggZW50cnkuCgoyMDEwLTAzLTE1IDEzOjQwOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBjYWlyb3RleHRvdmVybGF5OiBEb24ndCByZW5kZXIgdGV4dCBvdXRzaWRlIHRoZSBmcmFtZSBib3VuZGFyaWVzCgkgIEZpeGVzIGJ1ZyAjNjExOTg2LgoKMjAxMC0wMy0xNSAxMTozODoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgZm9yZ2V0IHRvIHNlbmQga2VlcGFsaXZlIG1lc3NhZ2VzCgkgIFdoZW4gd2Ugb3BlcmF0ZSBpbiBUQ1AgbW9kZSwgc3RpbGwgc2VuZCBrZWVwYWxpdmUgbWVzc2FnZXMgd2hlbiB3ZQoJICBuZWVkIHRvLgoJICBGaXhlcyAjNjEyNjk2CgoyMDEwLTAzLTEzIDIzOjE5OjM1ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogQ2FsbCBwbmdfam1wYnVmKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgcG5nX3N0cnVjdF9wdHIgZGlyZWN0bHkKCSAgRml4ZXMgIzYxMjcwMCAoYWdhaW4pCgoyMDEwLTAzLTEyIDE2OjQ0OjMwICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogQ2FsbCBwbmdfZXJyb3IoKSBpbnN0ZWFkIG9mIHVzaW5nIGxvbmdqbXAoKSBkaXJlY3RseS4KCSAgRml4ZXMgIzYxMjcwMAoKMjAxMC0wMy0xMiAxMzo1NzoyOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTI3MmY3MSB0byA1NWNkNTE0CgoyMDEwLTAzLTA1IDExOjA2OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIFhNUCBwYXJzaW5nIHN1cHBvcnQKCSAgVXNlIHhtcCBoZWxwZXJzIHRvIHBhcnNlIFhNUCBtZXRhZGF0YSBpbiB1ZHRhIGF0b20uCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMTI6MzI6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBvbiBub24td2luZG93cy4KCjIwMTAtMDMtMTAgMjI6MjM6NDMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhdm9pZCBnZXR0aW5nIHRoZSBzb2NrZXQgZmFtaWx5IHVzaW5nIGdldHNvY2tuYW1lKCkKCjIwMTAtMDMtMTEgMTc6Mjg6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwcmludCBzdGF0ZW1lbnRzIGZvciBwb2ludGVyIGRpZmZlcmVuY2VzLgoJICBUaGlzIGZpeGVzIGl0IGZvciBib3RoIDMyIGFuZCA2NCBiaXQKCjIwMTAtMDMtMTEgMTc6Mjg6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTEgMTc6MDM6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggcHJpbnRmIGZvcm1hdHRpbmcgZm9yIG1hY29zeAoKMjAxMC0wMy0xMSAxNzowMzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTEgMTc6MDI6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDEwLTAyLTE5IDEzOjM5OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogTWFrZSBzY3JpcHQgdGFnIHBhcnNpbmcgbW9yZSBmbGV4aWJsZS4KCSAgKiBUaGUgbmJfZWxlbWVudHMgZm9yIGFycmF5cyBpcyBqdXN0IGFuIGluZGljYXRpb24sIHdlIGNhbiB0aGVyZWZvcmUgaWdub3JlCgkgIGl0IGFuZCBjYXJyeSBvbiBwYXJzaW5nIG1ldGFkYXRhIGl0ZW1zIHVudGlsIHdlIHJlYWNoIHRoZSBlbmQgbWFya2VyLgoJICAqIElmIHR5cGUgPT0gMywgdGhlbiB0aGUgc2NyaXB0IHRhZyBjb250YWlucyBhIGxpc3Qgb2Ygb2JqZWN0IGZvbGxvd2VkCgkgIGJ5IHRoZSBlbmQgbWFya2VyLgoJICBSZWZhY3RvciBjb2RlIHNsaWdodGx5IHRvIGhhbmRsZSBib3RoIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA0NDcKCjIwMTAtMDMtMTEgMTU6NTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IGZpeCBtZXRhZGF0YSBub3Qgd3JpdGFibGUgd2FybmluZ3MgaW4gaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlIHRlc3RzCgoyMDEwLTAzLTExIDE1OjM4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIHRlc3RzOiBmaXggbWV0YWRhdGEgbm90IHdyaXRhYmxlIHdhcm5pbmdzIHdpdGggYXBldjJtdXggYW5kIGlkM3YybXV4IHRlc3RzCgoyMDEwLTAzLTExIDE1OjI0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggbWV0YWRhdGEgd3JpdGFibGUgd2FybmluZ3MKCSAgU2V0IG1ldGFkYXRhIG9uIGJ1ZmZlciBmaXJzdCwgd2hlbiB0aGUgcmVmY291bnQgaXMgc3RpbGwgMSwgYW5kIG9ubHkKCSAgcmVmIGFnYWluIGFmdGVyd2FyZHMuCgoyMDEwLTAzLTExIDE1OjAyOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGlnbm9yZSBzdHJlYW0gd2l0aCBpbnZhbGlkIGhlYWRlciB0aW1lIG1ldGFkYXRhCgoyMDEwLTAzLTA4IDE0OjU3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2V0IHN0cmVhbS1mb3JtYXQ9cmF3IG9uIEFBQyBjYXBzCgkgIFNldCBzdHJlYW0tZm9ybWF0PXJhdyBmb3IgQUFDIGNhcHMsIGFzIHRoYXQgaXMgdGhlCgkgIGV4cGVjdGVkIEFBQyBmb3JtYXQgdG8gYmUgaW4gdGhpcyBjb250YWluZXIgZmFtaWx5LgoJICBGaXhlcyAjNTY2MjUwCgoyMDEwLTAzLTExIDEyOjU2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjaGVjayBmb3IgTlVMTCBiZWZvcmUgZG9pbmcgc3RyY21wCgkgIENoZWNrIHRoZSBjb25uZWN0aW9uIGFuZCBhZGRyZXNzIHR5cGUgZm9yIE5VTEwgYmVmb3JlIGRvaW5nIHN0cmNtcCBhbmQKCSAgY3Jhc2hpbmcuCgkgIEZpeGVzICM2MTI1NTMKCjIwMTAtMDMtMTEgMTE6MjA6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGY4YTdjOCB0byBlMjcyZjcxCgoyMDEwLTAzLTExIDExOjA5OjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIGJ1aWxkOiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkKCjIwMTAtMDMtMTEgMTA6MzM6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogbW92ZSBpbnZhcmlhbnQgY2hlY2sgb3V0IG9mIHRoZSBpbm5lciBsb29wCgkgIEltcHJvdmVzIHBlcmZvcm1hbmNlIGZvciBzaW1wbGUgbWV0aG9kLgoKMjAxMC0wMy0xMCAyMjoxNTowNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgQ1hYRkxBR1MsIHRvbywganVzdCBsaWtlIENGTEFHUwoKMjAxMC0wMy0xMCAyMTowMToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgdG8gY29tbW9uIHN1Ym1vZHVsZQoJICBUaGlzIGp1c3QgcmVwbGFjZXMgZXZlcnkgIiRFUlJPUl9DRkxBR1MiIHVzYWdlIHdpdGggYSB1c2FnZSBvZgoJICAiJFdBUk5JTkdfQ0ZMQUdTICRFUlJPUl9DRkxBR1MiIHRvIGdldCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCgkgIHByZXZpb3VzbHkuCgkgIEFjdHVhbGx5IHVzaW5nIHRoYXQgc2VwYXJhdGlvbiB3aWxsIGhhcHBlbiBsYXRlci4KCjIwMTAtMDMtMTAgMjE6NTI6MDkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTcyMGE3ZCB0byBkZjhhN2M4CgoyMDEwLTAzLTEwIDIwOjQzOjU3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDBiNmUwNzIgdG8gOTcyMGE3ZAoKMjAxMC0wMy0xMCAxMDo1MToyOCAtMDgwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBSZXNldCB3aW5kb3dzIGVycm9yIGNvZGUgYWZ0ZXIgZ2V0dGluZyBjb3JyZXNwb25kaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEwLTAzLTA5IDE3OjMyOjI3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogcHV0IHRoZSBjb2RlY19kYXRhIGJsb2IgaW50byB0aGUgYWN0dWFsIGRhdGEgZm9yIE1QRUc0IHZpZGVvLCB0byBtYXRjaCBvdGhlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIHdpbGQuCgoyMDEwLTAzLTEwIDE2OjA5OjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdjYzVlYjQgdG8gMGI2ZTA3MgoKMjAxMC0wMi0yMyAyMTowNjo1NSAtMDMwMCAgVGhhZGV1IExpbWEgZGUgU291emEgQ2FzY2FyZG8gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBzZW5kIG5ld19zZWdtZW50IHdpdGggR1NUX0ZPUk1BVF9USU1FIGZvcm1hdAoJICBJbnN0ZWFkIG9mIHVzaW5nIEJhc2VTcmMgZGVmYXVsdCBmb3JtYXQgR1NUX0ZPUk1BVF9CWVRFUywgc2VuZCBpdCBpbgoJICBHU1RfRk9STUFUX1RJTUUuCgkgIFNpZ25lZC1vZmYtYnk6IFRoYWRldSBMaW1hIGRlIFNvdXphIENhc2NhcmRvIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCSAgRml4ZXMgIzYxMTY1OQoKMjAxMC0wMy0xMCAxMTo0NjowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGFsc28gcmVwb3J0IHNlZWthYmxlIHdpdGhvdXQgYW4gZWxlbWVudCBpbmRleAoJICAuLi4gc2luY2UgcmVjZW50IGNvZGUgYWxzbyBzZWVrcyBhcm91bmQgdG8gb2J0YWluIHJlcXVpcmVkIGRhdGEKCSAgZnJvbSBhdmkgaW5kZXguCgoyMDEwLTAzLTA5IDE4OjA2OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBzb21lIGNoZWNrIGFuZCBzdGFuZGFyZGl6ZWQgc2VlayBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUKCjIwMTAtMDMtMDkgMTg6MDU6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IG9mZnNldCBoYW5kbGluZyBpbiBwdXNoIG1vZGUgc2Vla2luZwoJICBQdXNoIG1vZGUgc2Vla2luZyB1c2VzIHNhbWUgaW5kZXggZGF0YSBhcyBwdWxsIG1vZGUsIGFuZCBzdG9yZXMKCSAgb2Zmc2V0IHRvIGRhdGEgaW4gY2h1bmssIHdoZXJlYXMgcHVzaCBtb2RlIG9wZXJhdGVzIGluIGNodW5rcywKCSAgYW5kIGFzIHN1Y2ggbmVlZHMgb2Zmc2V0IGNvbnNpc3RlbnRseSBjb3JyZXNwb25kaW5nIHRvIGNodW5rIGhlYWRlcnMuCgkgIEFsc28gZml4IGRldGVybWluaW5nIGJlc3QgbWF0Y2hpbmcgc3RyZWFtIGZvciBpbmNvbWluZyBuZXdzZWdtZW50IGV2ZW50LAoJICBhcyB3ZWxsIGFzIHNldHRpbmcgc29tZSBzdHJlYW0gc3RhdGUgYWNjb3JkaW5nbHkuCgoyMDEwLTAyLTI2IDIxOjI5OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogY29uZHVjdCBpbmRleCBzY2FuIGluIHRhc2sgdGhyZWFkCgkgIC4uLiByYXRoZXIgdGhhbiBpbiBzZWVraW5nIHRocmVhZCwgd2hpY2ggbWlnaHQgdGhlbiBvY2N1cHkgbWFpbmxvb3AKCSAgZm9yIHNvbWUgdGltZSB3aXRoIHBvc3NpYmxlIHVucmVzcG9uc2l2ZSBzaWRlLWVmZmVjdHMuCgoyMDEwLTAyLTI2IDIxOjI3OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGF2b2lkIGluZGVmaW5pdGUgaW5kZXggZ3Jvd3RoCgkgIFRoYXQgaXMsIGNoZWNrIGZvciBhbmQgZG8gbm90IGFkZCBhbiBpbmRleCBlbnRyeSB0aGF0IGhhcyBhbHJlYWR5CgkgIGJlZW4gYWRkZWQuCgoyMDEwLTAyLTE4IDE0OjU3OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGFsc28gY29sbGVjdCBpbmRleCBpbmZvIG9uLXRoZS1mbHkgaW4gcHVsbCBtb2RlCgoyMDEwLTAyLTE4IDEyOjQyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgZmx2ZGVtdXg6IGluY3JlbWVudGFsbHkgYnVpbGQgaW5kZXggaW4gcHVsbCBtb2RlCgkgIFNjYW4gZm9yIG5lZWRlZCBwYXJ0IHVwb24gYSBzZWVrIGFzIG9wcG9zZWQgdG8gZG9pbmcgYSBjb21wbGV0ZSBzY2FuCgkgIGF0IHN0YXJ0dXAsIHdoaWNoIG1heSB0YWtlIHNvbWUgdGltZSBkZXBlbmRpbmcgb24gZmlsZSBhbmQvb3IgcGxhdGZvcm0uCgkgIEFsc28gYWNjZXB0IGluZGV4IG1ldGFkYXRhIGluIHB1bGwgbW9kZSBhbmQgcGVlayBmb3Igc29tZSBtZXRhZGF0YQoJICBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIHdoZW4gZGVlbWVkIGFwcHJvcHJpYXRlLgoKMjAxMC0wMi0xOCAxMjoyNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzb21lIG1vcmUgdmFyaWFibGUgY2xlYW51cAoKMjAxMC0wMy0wOSAxODoyNToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiByZWZhY3RvciBhZGRpbmcgaW5kZXggZW50cnkKCjIwMTAtMDItMTcgMTE6MzY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogZml4IHNldHRpbmcgREVMVEFfVU5JVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgLi4uIHdoaWNoIHNob3VsZCBub3QgZGVwZW5kIG9uIGhhdmluZyBpbmRleCBhdmFpbGFibGUgb3Igbm90LgoJICBBbHNvIHJlZmFjdG9yIHJlc3VsdGluZyBjb2xsYXBzZWQgY29kZS4KCjIwMTAtMDItMTEgMTk6NDM6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBlcnJvbmVvdXMgY29kZWMtZGF0YSBvdmVycmlkaW5nIG9mIHN0c2QgaW5mb3JtYXRpb24KCjIwMTAtMDItMDEgMjI6Mzc6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBhZGFwdCB0byBuZXcgb2dnZGVtdXgKCSAgUmVtb3ZlIGFsbCBncmFudWxlcG9zIGhhY2tzIGFuZCBzaW1wbHkgdXNlIHVwc3RyZWFtIHRpbWVzdGFtcHMuCgoyMDEwLTAyLTAxIDIyOjM2OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IHJlZmFjdG9yIGdyYW51bGVwb3MgaGFja3MKCjIwMTAtMDMtMTAgMTE6MTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhcnNlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24KCSAgUGFyc2UgdGhlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgU0RQIGFuZCB1c2UgaXQgdG8gZmlndXJlIG91dCBpZiB3ZSBhcmUKCSAgZGVhbGluZyB3aXRoIGlwdjQgb3IgaXB2NiBjb25uZWN0aW9ucy4KCjIwMTAtMDMtMDkgMTc6NTM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlcXVpcmUgYSBkZXN0aW5hdGlvbiBmb3IgbXVsdGljYXN0CgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgbXVsdGljYXN0IHNvY2tldHMsIHdlIG5lZWQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzIHRvIGxpc3RlbgoJICBvbiBvciBlbHNlIHdlIGVycm9yLgoKMjAxMC0wMy0wOSAxNzo1MjozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBoYW5kbGUgaXB2NiBsaXN0ZW5pbmcgcG9ydHMgd2hlbiBuZWVkZWQKCSAgQWRkIHNvbWUgY29kZSB0byBtYWtlIHVkcHNyYyBsaXN0ZW4gb24gYW4gaXB2NiBhZGRyZXNzIHdoZW4gbmVlZGVkLiBUaGUKCSAgZGV0ZWN0aW9uIG9mIElQVjYgaXMgbm90IHlldCBpbXBsZW1lbnRlZC4KCjIwMTAtMDMtMDkgMTc6MTU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcDogdXNlIHVyaSBwYXJzaW5nIGNvZGUKCSAgVXNlIHRoZSB1cmkgcGFyc2luZyBoZWxwZXIgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgaG9zdCBhbmQgcG9ydCBwYWlycy4gVGhpcwoJICBhZGRzIHN1cHBvcnQgZm9yIElQVjYuCgoyMDEwLTAzLTA5IDE3OjEzOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcG5ldHV0aWxzOiBhZGQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgdWRwIHVyaSBoYW5kbGluZwoJICBBZGQgc29tZSBoZWxwZXJzIHRvIHBhcnNlIHVkcCB1cmlzLiBNYWtlIHN1cmUgSVBWNiBpcyBzdXBwb3J0ZWQgdG9vLgoKMjAxMC0wMy0wNSAxNjowODo0NSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogTWFrZSBpdCBwb3NzaWJsZSB0byBmYXZvciBuZXcgc291cmNlcyBpbiBjYXNlIG9mIFNTUkMgY29uZmxpY3QKCSAgQWRkIGEgImZhdm9yLW5ldyIgcHJvcGVydHkgdGhhdCB0ZWxscyB0aGUgc2Vzc2lvbiB0byBmYXZvciBuZXcgc291cmNlcyB3aGVuCgkgIHRoZXJlIGlzIGEgU1NSQyBjb25mbGljdC4gVGhpcyBpcyB1c2VmdWwgZm9yIFNJUCBjYWxscyBhbmQgb3RoZXIgc3VjaCBjYXNlcwoJICB3aGVyZSBhIHJlbW90ZSBsb29wIGlzIGV4dHJlbWVseSB1bmxpa2VseS4KCSAgRml4ZXMgIzYwNzYxNQoKMjAxMC0wMy0wNSAxNTo0Njo0OCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogTW92ZSBTU1JDIGNvbmZsaWN0cyBsaXN0cyBpbnRvIFJUUFNvdXJjZQoJICBXZSB3aWxsIGFsc28gbmVlZCB0byB0cmFjayBTU1JDIGNvbmZsaWN0cyBpbiByZW1vdGUgc291cmNlcy4KCSAgU2VlICM2MDc2MTUKCjIwMTAtMDItMjYgMTc6MTM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNlbmQga2VlcCBhbGl2ZSB3aGVuIHBhdXNlZAoJICBXaGVuIHdlIGFyZSBwYXVzZWQsIHNlbmQga2VlcCBhbGl2ZSBtZXNzYWdlcyB0byB0aGUgc2VydmVyIHNvIHRoYXQgb3VyIHNlc3Npb24KCSAgZG9lc24ndCB0aW1lIG91dCB3aGVuIHdlIGdvIGJhY2sgdG8gcGxheWluZyBsYXRlci4KCjIwMTAtMDMtMTAgMDE6MTA6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YWE2NWI1IHRvIDdjYzVlYjQKCjIwMTAtMDItMjMgMTk6NDg6MTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBBZGQga2V5LWZyYW1lIG9wdGlvbiB0byBuZXh0LWZpbGUKCSAgVGhpcyBhbGxvd3Mgc2VnbWVudGluZyBvZiBNUEVHLVRTIGZpbGVzIGF0IGtleSBmcmFtZXMsIHdoaWNoIGlzCgkgIGV4YWN0bHkgd2hhdCBpcyBuZWVkZWQgZm9yIEFwcGxlJ3MgSFRUUCBzdHJlYW1pbmcuCgoyMDEwLTAzLTA5IDIxOjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDRlY2NlNyB0byA3YWE2NWI1CgoyMDEwLTAzLTA4IDIwOjE3OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGF1dG9jcm9wcGluZyBmb3Igb2RkIHdpZHRoL2hlaWdodCBkaWZmZXJlbmNlcwoKMjAxMC0wMy0wOCAyMDowMjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHN0dWZmCgoyMDEwLTAzLTA4IDE5OjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvZng6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgc3RyZWFtIHRpbWUKCjIwMTAtMDMtMDggMTk6MjA6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCjIwMTAtMDMtMDggMTk6MDk6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBTb21lIGNsZWFudXAKCjIwMTAtMDItMjggMTU6NDc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogVXNlIGNvbnRyb2xsZXIgd2hlcmUgcG9zc2libGUsIG9wdGltaXplIGEgYml0IGFuZCBtYWtlIHByb3BlcnRpZXMgdGhyZWFkc2FmZQoKMjAxMC0wMi0yNiAxNjozNToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlIHNvbWUgbW9yZSBydWxlcyBzaWxlbnQgaWYgcmVxdWVzdGVkCgoyMDEwLTAyLTI2IDE1OjQxOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgYXV0b21ha2UgMS4xMSBzaWxlbnQgcnVsZXMgaW5zdGVhZCBvZiBzaGF2ZSBpZiBhdmFpbGFibGUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXNlIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsIG1haW50YWluZWQgYW5kCgkgIGFsc28gYnJpbmdzIGJhY2sgbGlidG9vbCAxLjUgc3VwcG9ydC4KCjIwMTAtMDMtMDggMjI6NTc6MzQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogZnJhY3Rpb25zIGRvbid0IGFsbG93IGRvdWJsZXMKCjIwMTAtMDMtMDEgMTI6MDM6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseDogZml4IGRlc2NyaXB0aW9uCgkgIEl0J3MgdmlkZW8sIG5vdCBhdWRpbwoKMjAxMC0wMy0wOSAxNzo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDEwLTAzLTA5IDAwOjI4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMQoKMjAxMC0wMy0wOSAwMDoyNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTA5IDAwOjA5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFJldmVydCAiQWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYzN2MyNmY2MWEyYmQ4ZDdiMDFmOGI2ZDA4MWQ5NGRhNjVmNzQ1NTcuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAxMC0wMy0wOCAyMzo0Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjAKCjIwMTAtMDMtMDggMjM6NDI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wOCAxNjo0NzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGRvbid0IHNlbmQgc2Vjb25kIG5ld3NlZ21lbnQgZXZlbnQgaW4gZnJhbWVkIG1vZGUsIGZpeGVzIGxvbmcgcGxheWJhY2sgZGVsYXkKCSAgRG9uJ3Qgc2VuZCBhbm90aGVyIG5ld3NlZ21lbnQgZXZlbnQgaWYgdGhlIHVwc3RyZWFtIG11eGVyL3BhcnNlciBoYXMgYWxyZWFkeQoJICBzZW50IG9uZSAob3RoZXJ3aXNlIHRoZSBzaW5rIHdpbGwgd2FpdCBmb3IgJGR1cmF0aW9uIGJlZm9yZSBzdGFydGluZyBwbGF5YmFjaykuCgkgIEZpeGVzIGxvbmcgZGVsYXkgdW50aWwgcGxheWJhY2sgc3RhcnRzIHdpdGggZmxhYy1pbi1vZ2cgZmlsZXMuCgkgIEZpeGVzICM2MTA5NTkuCgoyMDEwLTAzLTA1IDEzOjQ5OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb25maWd1cmUgbXVsdGljYXN0IGNvcnJlY3RseQoJICBUYWtlIHRoZSB0cmFuc3BvcnQgZGVzdGluYXRpb24gZm9yIG11bHRpY2FzdC4KCSAgRGlzYWJsZSBsb29wIGFuZCBhdXRvam9pbiBmb3IgbXVsdGljYXN0IG9uIHRoZSB1ZHBzaW5rcy4KCjIwMTAtMDMtMDUgMTM6NDc6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aWNhc3Q6IGFsd2F5cyBjb25maWd1cmUgbG9vcCBhbmQgdHRsCgkgIEFsc28gY29uZmlndXJlIFRUTCBhbmQgbG9vcCBwYXJhbWV0ZXJzIHdoZW4gd2UgYWRkIGEgY2xpZW50IGFmdGVyIGluaXRpYWxpemluZwoJICB0aGUgc2VuZGVyLgoKMjAxMC0wMy0wOCAxMjoxMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIFJldmVydCAicnRwaDI2M2RlcGF5OiBiYXNlY2xhc3MgaGFuZGxlcyB0aW1lc3RhbXBzIGZvciB1cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NjQ1ODFlMWI4OGVjZDVlYzVkYTgyYzNjYWZiMGU3YTJkNThiMzAyLgoJICBJZiB3ZSBkb24ndCBjYWxsIHB1c2hfdHMsIHRoZXJlIHdpbGwgYmUgbm8gdGltZXN0YW1wIGF0IGFsbCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVyLgoJICBGaXhlcyAjNjEyMTU0CgoyMDEwLTAyLTIzIDIyOjE2OjM5IC0wNTAwICBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBBZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQKCjIwMTAtMDMtMDIgMTM6MjE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgcGF5bG9hZCBzaXplIHRvIGVzdGltYXRlIGJpdHJhdGUKCSAgVXNlIHRoZSBsZW5ndGggb2YgdGhlIHBheWxvYWQgZm9yIGVzdGltYXRpbmcgdGhlIHJlY2VpdmVyIGJpdHJhdGUgc28gdGhhdCBpdAoJICBtYXRjaGVzIHRoZSBjYWxjdWxhdGlvbnMgZG9uZSBvbiB0aGUgc2VuZGVyIHNpZGUuIFRvZ2V0aGVyIHdpdGggdGhlIG51bWJlciBvZgoJICBwYWNrZXRzIG9uZSBjYW4gc2NhbGUgdGhlIGJpdHJhdGUgd2l0aCB0aGUgaGVhZGVyIG92ZXJoZWFkIG9mIHRoZSBsb3dlcgoJICB0cmFuc3BvcnQuCgoyMDEwLTAzLTAyIDEyOjM5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IHJlZmFjdG9yIGJpdHJhdGUgZXN0aW1hdGlvbgoJICBEb24ndCByZXVzZSB0aGUgc2FtZSB2YXJpYWJsZSB3ZSBuZWVkIGZvciBzdGF0cyBmb3IgdGhlIGJpdHJhdGUgZXN0aW1hdGlvbgoJICBiZWNhdXNlIHdlJ3JlIHVwZGF0aW5nIGl0LgoJICBSZWZhY3RvciB0aGUgYml0cmF0ZSBlc3RpbWF0aW9uIGNvZGUgc28gdGhhdCBib3RoIHNlbmRlciBhbmQgcmVjZWl2ZXJzIHVzZSB0aGUKCSAgc2FtZSBjb2RlIHBhdGguCgoyMDEwLTAzLTAxIDE2OjQwOjI3IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBhZGRlZCBiaXRyYXRlIGVzdGltYXRpb24gdG8gcmVjZWl2ZXItc2lkZSBzdGF0cywgZml4ZXMgIzYxMTIxMwoKMjAxMC0wMy0wMSAxNjowMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiBmaXggdHlwbyBpbiBkZWJ1ZwoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMTAtMDMtMDYgMDA6NDM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE5CgoyMDEwLTAzLTA2IDAwOjQyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDMgMjA6Mjk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTguNCBwcmUtcmVsZWFzZQoKMjAxMC0wMy0wMiAxODoyOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3Qgc2VuZCBpbnZhbGlkIG5ld3NlZ21lbnRzCgkgIEZpeGVzICM2MTE1MDEKCjIwMTAtMDMtMDIgMTQ6MDk6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBNYXJrIHN0cmVhbXMgYXMgYmVpbmcgRU9TIGF0IHRoZSByaWdodCB0aW1lLgoJICBUaGlzIGFsbG93cyB1cyB0byBzdG9wIHN0cmVhbWluZyBvbmx5IHdoZW4gYWxsIHN0cmVhbXMgaGF2ZSBnb25lIHBhc3QgdGhlCgkgIHNlZ21lbnQuc3RvcCBhbmQgbm90IGJlZm9yZS4KCSAgRml4ZXMgIzYxMTUwMQoKMjAxMC0wMi0yNiAxODoxMDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWR2YW5jZSBzcGFyc2Ugc3RyZWFtcyBvbmx5IGFzIG11Y2ggYXMgcmVxdWlyZWQgdG8ga2VlcCB0aGUgZ2FwIHNtYWxsZXIgdGhhbiA1MDBtcwoJICBDaGFuZ2luZyBpdCB0byB0aGUgbmV3ZXN0IHRpbWVzdGFtcCB0aGF0IHdhcyBldmVyIHB1c2hlZCB3aWxsCgkgIGluY3JlYXNlIHRoZSBzZWdtZW50IHN0YXJ0IGluIDUwMG1zIGp1bXBzLCB3aGljaCBjb3VsZCBiZSBqdXN0CgkgIGFmdGVyIHRoZSBuZXh0IHNwYXJzZSBzdHJlYW0gYnVmZmVyLiBFLmcuCgkgIFZpZGVvIGF0IDEuMHMsIHNwYXJzZSBzdHJlYW0gYXQgMC41cyB3b3VsZCBqdW1wIHRoZQoJICBzcGFyc2Ugc3RyZWFtIHRvIDEuMHMuIE5vdyBhIG5ldyBzcGFyc2Ugc3RyZWFtIGJ1ZmZlciBjb3VsZAoJICBhcHBlYXIgdGhhdCBoYXMgYSB0aW1lc3RhbXAgb2YgMC45cyBhbmQgdGhpcyB3b3VsZCBiZQoJICBkcm9wcGVkIGZvciBubyBnb29kIHJlYXNvbiBiZWNhdXNlIG9mIGJhZCBsdWNrLgoKMjAxMC0wMi0yNCAwMTozNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2VzLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yNCAwMjowNTo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBNYWtlIHN1cmUgRkxVU0hfU1RPUCBpcyBzZW50IHNvIG5vdCB0byBsZWF2ZSBkb3duc3RyZWFtIGZsdXNoaW5nLgoKMjAxMC0wMi0yMyAxNzoyNTo1NCArMDEwMCAgVm9sa2VyIEdyYWJzY2ggPGJ1Z3ppbGxhLmdub21lLm9yZ0B2Lm5vdGp1c3Rob3N0aW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgJFBLR19DT05GSUcgaW5zdGVhZCBvZiBwa2ctY29uZmlnIHRvIGZpeCBjcm9zcyBjb21waWxhdGlvbgoJICBGaXhlcyBidWcgIzYxMDgzOS4KCjIwMTAtMDItMjMgMTc6MjQ6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmVzZXQgc2tldyBkZXRlY3Rpb24gYWZ0ZXIgaW5zdGFudGlhdGluZyB0aGUgaml0dGVyYnVmZmVyCgkgIC4uLm5vdCBvbmx5IHdoZW4gZ29pbmcgdG8gUkVBRFkuIFRoaXMgc2V0cyBoaWdoX2xldmVsIGFuZCBmcmllbmRzIHRvCgkgIGEgbW9yZSB1c2VmdWwgdmFsdWUuCgoyMDEwLTAyLTIzIDE3OjE5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJldHVybiAxMDAgaWYgaGlnaC1sZXZlbCBpcyAwIGluc3RlYWQgb2YgZGl2aWRpbmcgYnkgemVybwoKMjAxMC0wMi0yMiAxMjoyNDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogYXZvaWQgZGl2aXNpb24gYnkgMAoJICBBdm9pZCBhIGRpdmlzaW9uIGJ5IDAgd2hlbiBubyBjb25zdGFudER1cmF0aW9uIHdhcyBzcGVjaWZpZWQgYW5kIHdoZW4gb3V0IHR3bwoJICB0aW1lc3RhbXBzIGFyZSBlcXVhbC4KCSAgRml4ZXMgIzYxMDI2NQoKMjAxMC0wMi0yMiAxODoyMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgZHZkZXBheTogZG9uJ3Qgb3V0cHV0IGZyYW1lcyB1bnRpbCB3ZSBoYXZlIGEgaGVhZGVyCgkgIFdhaXQgZm9yIHRoZSBjb21wbGV0ZSBmaXJzdCA2IGhlYWRlciBESUYgcGFja2V0cyBiZWZvcmUgb3V0cHV0dGluZyBhIGZyYW1lLgoJICBEZWNvZGVycyBuZWVkIHRoaXMgaW5mbyB0byBjb3JyZWN0bHkgZGVjb2RlIHRoZSBkYXRhLgoJICBGaXhlcyAjNjEwNTU2CgoyMDEwLTAyLTIyIDIwOjU1OjI5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBieSBmaXJzdCBjaGVja2luZyBhbmQgdGhlbiByZWFkaW5nCgkgIEZpeGVzIGJ1ZyAjNjEwNDgzLgoKMjAxMC0wMi0xOCAwOTowNTo1MCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZ3N0X3B1bHNlc2lua19nZXRfbXV0ZTogc2V0IHJlc3VsdCBlYXJsaWVyLgoJICBJbiB0aGUgY2FzZXMgd2hlcmUgbm8gYnVmZmVyIHdhcyBwcm9jZXNzIHlldCBvciB0aGUgaW5kZXggaXMgbm90CgkgIGF2YWlsYWJsZSwgZ2V0X3B1bHNlc2lua19nZXRfbXV0ZSgpIHdvdWxkIHVuY29uZGl0aW9uYWxseSByZXR1cm4KCSAgRkFMU0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzMzcKCjIwMTAtMDItMTkgMTI6MzU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogZml4IGdzdHJlYW1lci1wbHVnaW5zLWdvb2QgdW5pbnN0YWxsZWQgLnBjIGZpbGUKCSAgRml4IGdzdC1wbHVnaW5zLWJhc2UgcmVmZXJlbmNlL3JlcXVpcmVtZW50LiBUaGlzIGNhdXNlZCBzcHVyaW91cwoJICBwcm9ibGVtcyB3aXRoIHVuaW5zdGFsbGVkIC11Z2x5Ly1iYWQgbm90IGZpbmRpbmcgLWdvb2QgcGx1Z2lucyBpbgoJICB0aGVpciB1bml0IHRlc3RzICh3aGVuIGRpc3RjaGVja2luZykuCgoyMDEwLTAyLTE5IDAxOjAzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vbHYucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4yIHByZS1yZWxlYXNlCgoyMDEwLTAyLTE5IDAwOjU0OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS8uZ2l0aWdub3JlOgoJICBNYWtlIGdpdCBpZ25vcmUgc2hhcGV3aXBlIGV4YW1wbGVzIGFuZCB0ZXN0cwoKMjAxMC0wMi0xOSAwMDo0Njo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBtaW5vciBtaWNyby1vcHRpbWlzYXRpb24KCSAgV2Uga25vdyB0aGVzZSB2YWx1ZXMgZG9uJ3QgY2hhbmdlIGR1cmluZyB0aGUgbG9vcCwgYnV0IHRoZSBjb21waWxlcgoJICBkb2Vzbid0IGFuZCBoYXMgdG8gcmUtY2hlY2sgdGhlbSBmb3IgZXZlcnkgaXRlcmF0aW9uLgoKMjAxMC0wMi0xOSAwMDozOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgc3RhdGljIGtleXdvcmQgZnJvbSB2YXJpYWJsZXMgdGhhdCBzaG91bGRuJ3QgYmUgc3RhdGljCgkgIE11bHRpcGxlIGZsdnBhcnNlL2ZsdmRlbXV4IGluc3RhbmNlcyBzaG91bGQgYmUgYWJsZSB0byBvcGVyYXRlIHdpdGhvdXQKCSAgdHJhbXBsaW5nIG92ZXIgZWFjaCBvdGhlciBieSBhY2NpZGVudGFsbHkgcmUtdXNpbmcgdGhlIHNhbWUgKHN0YXRpYykKCSAgdmFyaWFibGVzLiAoU3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzKQoKMjAxMC0wMi0xNiAwMjowNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgZG9jczogYWRkIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnRpZXMKCjIwMTAtMDItMTggMTg6MjA6MjQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZi1ieS1vbmUgbG9naWMgZXJyb3IgaW4gZnJhbWUgcmF0ZSBjYXAgcmVncmVzc2lvbiBjb21taXQKCjIwMTAtMDItMTcgMTY6Mjc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIGNvcnJlY3QgZHVyYXRpb24gd2hlbiBjb21wYXJpbmcgc2VnbWVudHMKCSAgRG8gbm90IGNvbmZ1c2UgUXREZW11eFNlZ21lbnRzIHdpdGggR3N0U2VnbWVudHMgd2hlbgoJICBjb21wYXJpbmcgdGhlIHRvdGFsIGZpbGUgZHVyYXRpb24gd2l0aCB0aGUgc2VnbWVudCBkdXJhdGlvbgoJICBGaXhlcyAjNjEwMjk2CgoyMDEwLTAyLTE3IDE4OjA2OjI5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBkdXJhdGlvbnMgbW9kdWxvIDE8PDMyCgkgIEZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb25zIG9mIGVhY2ggc2FtcGxlLCB3ZSBhcmUgc3VwcG9zZWQgdG8gYWRkIGVhY2gKCSAgZHVyYXRpb24gbW9kdWxvIDE8PDMyIHNvIG1ha2UgdGhlIGVsYXBzZWQgdGltZSBjb3VudGVyIGEgdWludDMyLgoJICBGaXhlcyAjNjEwMjgwCgoyMDEwLTAyLTE2IDIxOjA1OjI0ICswMTAwICBBbmRlcnMgU2thcmdyZW4gPGFuZGVycy5za2FyZ3JlbiBhdCBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGltcHJvdmUgaGVhZGVyIG1pbWUtdHlwZSBwYXJzaW5nCgkgIE1ha2UgdGhlIGhhbmRpbmcgb2YgdGhlIG1pbWUgdHlwZSB3aXRoaW4gdGhlICJib3VuZGFyeSIgYSBiaXQgbGVzcyBuYWl2ZS4KCSAgVGhlIHN0YW5kYXJkIGZvciBNSU1FIGFsbG93cyBwYXJhbWV0ZXJzIHRvIGZvbGxvdyB0aGUgInR5cGUiIC8gInN1YnR5cGUiCgkgIGNsYXVzZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbWltZSB0eXBlIGJ5ICc7Jy4KCSAgTW9kaWZpZXMgdGhlIG11bHRpcGFydGRlbXV4ZXIncyBoZWFkZXIgcGFyc2luZyBzbyBpdCBkb2VzbnQgYXNzdW1lCgkgIHRoZSB3aG9sZSBsaW5lIGFmdGVyICJjb250ZW50LXR5cGU6IiBpcyB0aGUgbWltZSB0eXBlIGFuZCB0aHVzIG1ha2VzIGl0IGEgYml0CgkgIG1vcmUgcmVzaWxpZW50IHRvIGZpbmRpbmcgYWJzdXJkIG1pbWUgdHlwZXMgaW4gdGhlIGNhc2Ugd2hlcmUgcGFyYW1ldGVycyBhcmUKCSAgYWRkZWQuCgkgIEZpeGVzICM2MDQ3MTEKCjIwMTAtMDItMTYgMTk6NTM6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHN0b3BwaW5nIE5VTEwgdGFza3MKCSAgQ2hlY2sgdGhlIHRhc2sgZm9yIE5VTEwsIGl0IGNvdWxkIGJlIHBhdXNlZCBhbmQgc2V0IHRvIE5VTEwgYmVmb3JlLgoKMjAxMC0wMi0xNiAxNjoyMjoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBBTEFDIGNvZGVjLWRhdGEgaGFuZGxpbmcKCSAgQUxBQyBjb2RlYy1kYXRhIGFwcGFyZW50bHkgY29tZXMgaW4gKGF0IGxlYXN0KSB0d28gZmxhdm91cnMgKG1vdiwgbXA0KSwKCSAgc28gdXNlIGF0b20gYmFzZWQgcGFyc2luZyB0byByZXRyaWV2ZSByZXF1aXJlZCBkYXRhLCByYXRoZXIgdGhhbgoJICBhaW1pbmcgZm9yIGEgc3BlY2lmaWMgb2Zmc2V0LgoJICBTZWUgYWxzbyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNTo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAyLTExIDE5OjM5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgc2lnbmVkIHZhbHVlcyBpbiAzR1BQIGxvY2F0aW9uIHRhZwoKMjAxMC0wMi0wOCAyMTozNTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDItMTYgMTU6MDA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzZXQgc29tZSBtb3JlIHN0cmVhbSBzdGF0ZSBhZnRlciBzZWVrCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIG5vbi1mbHVzaGluZyBzZWVrLgoKMjAxMC0wMi0xNiAxNDo0NDoxMSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZnJhbWUgcmF0ZSBjYXAgcmVncmVzc2lvbgoJICBMb29rIGZvciBhIG5vbi16ZXJvIG1pbl9kdXJhdGlvbiBkdXJpbmcgaW5pdGlhbGlzYXRpb24gdG8gYXZvaWQKCSAgaW5jb3JyZWN0IGZyYW1lIHJhdGUgY2Fwcy4KCjIwMTAtMDItMTYgMTA6MTM6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGxvZyBtb3JlIGRldGFpbHMgaW4gYnVmZmVyIHBvb2wgZmluYWxpemUKCSAgSGVscHMgdG8gYWxpZ24gd2l0aCB0aGUgbG9nZ2luIGZyb20gbGlidjRsLgoKMjAxMC0wMi0xNiAxMDoxMTo0MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbml0IGRhdGFzdHJ1Y3R1cmVzIGFmdGVyIHByZS1jb25kaXRpb25zIGNoZWNrcwoKMjAxMC0wMi0xNiAxMDoxMDo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBhZGQgYSBmaXhtZSBmb3IgaGFuZGxpbmcgb3RoZXIgWVVWIHZhcmlhbnRzCgoyMDEwLTAyLTE2IDAxOjQwOjE5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBGaXhlcyAjNjEwMDUzLgoKMjAxMC0wMi0xNiAwMDo1MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVwIEdTVF9DWFhGTEFHUyBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IEMgc3BlY2lmaWMgZmxhZ3MgaW4gR1NUX0NYWEZMQUdTLCBzbyBiYXNlIGl0IG9uIHRoZQoJICBHU1RfQ0ZMQUdTIHRoYXQgb25seSBjb250YWlucyB0aGUgcGtnLWNvbmZpZyBDRkxBR1MgYnV0IG5vbmUgb2YKCSAgdGhlIEdTVF9PUFRJT05fQ0ZMQUdTLiBBbHNvLCB3ZSBvbmx5IG5lZWQgdGhlIGxvY2FsIGluY2x1ZGVzIG9uY2UuCgkgIEZpeCB0eXBvIGFzIHdlbGwgKEdTVF9GTEFHUyAtPiBHU1RfQ0ZMQUdTKS4KCjIwMTAtMDItMTUgMjM6MTM6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYXNlIEdTVF9DWFhGTEFHUyBvbiAtLWNmbGFncyBmcm9tIHBrZy1jb25maWcKCSAgcGtnLWNvbmZpZyBzZXRzIEdTVF9DRkxBR1MgYW5kIEdTVF9MSUJTLiBXZSBuZWVkIHRvIHVzZSBDRkxBR1MgYXMgYSBzdGFydGluZwoJICBwb2ludCBmb3IgZm9yIGJvdGggQyBhbmQgQ1hYIHNldHRpbmdzLgoKMjAxMC0wMS0yMCAxODo1Mjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHVzZSBvZiBudHBfbnNfYmFzZQoKMjAxMC0wMS0yMCAxODoyMjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogcmVtb3ZlIG1vcmUgbnRwbnN0aW1lIGFuZCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBjb2RlIHdoZXJlIHdlIHBhc3MgbnRwbnN0aW1lIGFyb3VuZCwgd2UgY2FuIGRvIG1vc3QgdGhpbmdzIHdpdGggdGhlCgkgIHJ1bm5pbmdfdGltZSBqdXN0IGZpbmUuCgkgIFJlbmFtZSBhIHZhcmlhYmxlIGluIHRoZSBBcnJpdmFsU3RhdHMgc3RydWN0IHNvIHRoYXQgaXQncyBjbGVhciB0aGF0IHRoaXMgaXMgdGhlCgkgIGN1cnJlbnQgc3lzdGVtIHRpbWUuCgoyMDEwLTAxLTIwIDE4OjE5OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHJ1bm5pbmdfdGltZSBmb3Igaml0dGVyCgkgIFVzZSB0aGUgcnVubmluZ190aW1lIHRvIGNhbGN1bGF0ZSB0aGUgaml0dGVyIGluc3RlYWQgb2YgdGhlIG50cCB0aW1lLiBQYXJ0IG9mCgkgIHRoZSBwbGFuIHRvIGdldCByaWQgb2YgbnRwbnNiYXNlLgoKMjAxMC0wMS0yMCAxNzowNDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBjaGFuZ2UgaG93IE5UUCB0aW1lIGlzIGNhbGN1bGF0ZWQgaW4gUlRDUAoJICBEb24ndCBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGJhc2VkIG9uIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIHBpcGVsaW5lIGJ1dCBmcm9tCgkgIHRoZSBzeXN0ZW1jbG9jay4gVGhpcyBhbGxvd3MgdXMgdG8gZ2VuZXJhdGUgbW9yZSBhY2N1cmF0ZSBOVFAgdGltZXN0YW1wcyBpbiBjYXNlCgkgIHRoZSBzeXN0ZW1jbG9jayBpcyBzeW5jaHJvbml6ZWQgd2l0aCBOVFAgb3Igc2ltaWxhci4KCjIwMTAtMDItMTUgMTI6MTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBwcmludGYgZm9ybWF0IHN0cmluZyBmaXgKCSAgVGhlIGNvbXBpbGVyIHdhbnRzIGEgY2FzdCBoZXJlIGV2ZW4gdGhvdWdoIHRoZSB0eXBlIGlzIGFscmVhZHkKCSAgdHlwZWRlZmVkIGFzIDY0LWJpdCBpbnRlZ2VyIChwcmVzdW1hYmx5IGJlY2F1c2UgZ2xpYiBoYXMgdHlwZWRlZmVkCgkgIGd1aW50NjQgdG8gdW5zaWduZWQgbG9uZyBoZXJlKS4KCjIwMTAtMDItMTUgMTA6MzM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCBzdHJpbmcKCjIwMTAtMDItMTUgMDA6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICByYXcxMzk0LCBtYXRyb3NrYSwgcnRwbWFuYWdlcjogcmVtb3ZlIHBhZGRpbmcgZnJvbSBzdHJ1Y3R1cmVzCgkgIE5vbmUgb2YgdGhlc2UgZWxlbWVudCBhbmQgY2xhc3Mgc3RydWN0dXJlcyBhcmUgaW4gcHVibGljIGhlYWRlcnMsCgkgIHNvIGRvbid0IG5lZWQgcGFkZGluZy4KCjIwMTAtMDItMTUgMDA6NDc6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSBmb3IgbmV3IHRyYW5zbGF0b3IgY29tbWVudAoKMjAxMC0wMi0xNSAwMDo0NTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzIGZvciAneCBieSB5JyBtZXNzYWdlCgkgIEZpeGVzICM2MDk3MjQuCgoyMDEwLTAyLTE1IDAxOjI4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogRml4IGxlYWtpbmcgb2YgcGFkIHRlbXBsYXRlcwoKMjAxMC0wMi0xNSAwMDo1MDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggdW5pdCB0ZXN0IGZvciBsYXRlc3QgY2hhbmdlcwoJICBOb3cgdGhlIGFscGhhIGlzIG11bHRpcGxpZWQgd2l0aCB0aGUgYWxyZWFkeSBleGlzdGluZyBhbHBoYQoJICB2YWx1ZSBpbnN0ZWFkIG9mIHNpbXBseSBpZ25vcmluZyBpdCBhbmQgdGhlIGx1bWEvY2hyb21hIHZhbHVlcwoJICBhcmUga2VwdCwgZXZlbiBpZiB0aGUgb3V0cHV0IGlzIDEwMCUgdHJhbnNwYXJlbnQuCgoyMDEwLTAyLTE1IDAwOjQ3OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUgdW5pdCB0ZXN0IG91dHB1dCBvbiBlcnJvcnMKCjIwMTAtMDItMTQgMjM6MTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NmRjNzkzIHRvIDQ0ZWNjZTcKCjIwMTAtMDItMTMgMjM6Mjg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gZ2l0CgkgIEZvciBHU1RfUklGRl9UQUdfSlVOUS4KCjIwMTAtMDItMTIgMTY6MTE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyc2luazogY2hhbmdlIHJhbmsgdG8gTk9ORSBzbyBpdCBpcyBuZXZlciBhdXRvcGx1Z2dlZAoKMjAxMC0wMi0xMyAxODoxODo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEF1ZGlvIHRhZ3Mgd2l0aG91dCBhbnkgY29udGVudCBhcmUgdmFsaWQuCgkgIFdlIHNpbGVudGx5IGlnbm9yZSB0aGVtIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoKMjAxMC0wMi0xMyAxODowNzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEZpeCBHU1RfQ0xPQ0tfRElGRiB1c2FnZS4KCSAgSXQgd2FzIHByZXZpb3VzbHkgY2hlY2tpbmcgZm9yIERJRkYoYSwgYiA+IDYgKiBHU1RfU0VDT05EKSBpbnN0ZWFkIG9mCgkgIHRoZSBwcm9wZXIgRElGRihhLGIpID4gNiAqIEdTVF9TRUNPTkQKCjIwMTAtMDItMTMgMTY6Mjc6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3JnZXQgdG8gcmVzZXQgdGhlIGluZGV4ZWQgdmFyaWFibGUgd2hlbiBjbGVhbmluZyB1cAoKMjAxMC0wMi0xMyAxMTowMTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IFNwZWVkdXAgR3N0SW5kZXggdXNhZ2UKCSAgVXNlZCB0aGUgX2FkZF9hc3NvY2lhdGlvbnYgdmFyaWFudCBvZiBHc3RJbmRleCBzaW5jZSB3ZSBrbm93IGhvdyBtYW55CgkgIGFzc29jaWF0aW9ucyB3ZSdyZSBhZGRpbmcuIFRyaW1zIHVwIHRvIDUwJSBmcm9tIGluZGV4IGdlbmVyYXRpb24gdGltZS4KCSAgTm90ZSA6IEl0IHdvdWxkIGJlIGdyZWF0IGlmIHRoZSBpbmRleCBjb3VsZCBiZSBnZW5lcmF0ZWQgb24gdGhlIGZseSBvcgoJICBvbiByZXF1ZXN0IGFzIG9wcG9zZWQgdG8gYmVpbmcgZnVsbHkgY3JlYXRlZCBhdCBzdGFydHVwLgoKMjAxMC0wMi0xMiAxOTozMjoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRvbid0IHJlc3luYyB0byBpbnZhbGlkIHRpbWVzdGFtcHMKCSAgSWYgd2UgZGV0ZWN0IGJhY2t3YXJkIHRpbWVzdGFtcHMgb24gdGhlIHNlcnZlciwgZG9uJ3QgdHJ5IHRvIHJlc3luYyB3aGVuIHdlCgkgIGRvbid0IGhhdmUgYW4gaW5wdXQgdGltZXN0YW1wIChzdWNoIGFzIHdoZW4gdXNpbmcgUlRTUCBvdmVyIFRDUCkgaW5zdGVhZCwgZG8KCSAgbm90aGluZyBidXQgYXNzdW1lIHRoZSB0aW1lc3RhbXAgd2FzIG9rLCBpdCB3aWxsIGNvcnJlY3QgaXRzZWxmIHdoZW4gdGltZSBnb2VzCgkgIGZvcndhcmRzLgoKMjAxMC0wMi0xMiAxNzoyMTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvCgoyMDEwLTAyLTEyIDE2OjQ3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc3RhcnQgb3V0IGFjdGl2ZSBhbmQgbm90IGJ1ZmZlcmluZwoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHNldCB0aGUgbGF0ZW5jeSBpbiB0aGUgaml0dGVidWZmZXIgaW4gX2luaXQsIHdlIHdpbGwgc2V0CgkgIHRoYXQgbGF0ZXIgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIFNldCB0aGUgaml0dGVyYnVmZmVyIGFjdGl2ZSBhbmQgbm90IGJ1ZmZlcmluZyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0wMS0yNyAxNzo1Nzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IG1vcmUgYnVmZmVyaW5nIHdvcmsKCSAgV2hlbiBkZWFjdGl2YXRpbmcgaml0dGVyYnVmZmVycyB3aGVuIHRoZSBidWZmZXJpbmcgc3RhcnRzLCBrZWVwIHRoZSBjdXJyZW50CgkgIHBlcmNlbnQgb2YgdGhlIGppdHRlcmJ1ZmZlciBhbmQgYWxzbyBzZXQgdGhlIGppdHRlcmJ1ZmZlciBpbiB0aGUgYnVmZmVyaW5nIHN0YXRlCgkgIHNvIHRoYXQgd2Uga25vdyB3aGVuIGl0J3MgZmlsbGVkIGFnYWluLgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHRoZSBidWZmZXJpbmcgcGVyY2VudGFnZSBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAwOS0xMC0xNCAxNjoyOTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkanVzdCBsYXRlbmN5IGluIGJ1ZmZlciBtb2RlCgkgIFdoZW4gd2UgYXJlIGluIGJ1ZmZlciBtb2RlLCBhZGp1c3QgdGhlIGJ1ZmZlcmluZyBsb3cvaGlnaCB0aHJlc2hvbGRzIGJhc2VkIG9uCgkgIHRoZSB0b3RhbCBjb25maWd1cmVkIGxhdGVuY3kuIElmIHdlIGRvbid0IGFuZCB0aGVyZSBpcyBhIGh1Z2UgcXVldWUgb3IgZWxlbWVudAoJICB3aXRoIGEgYmlnIGxhdGVuY3kgZG93bnN0cmVhbSB3ZSBtaWdodCBkcmFpbiB0aGUgY29tcGxldGUgcXVldWUgaW1tZWRpYXRlbHkgYW5kCgkgIHN0YXJ0IGJ1ZmZlcmluZyBhZ2Fpbi4KCjIwMDktMTAtMTIgMTE6NTQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgdHMtb2Zmc2V0IHRvIHRpbWVzdGFtcAoJICBBZGQgdGhlIHRzLW9mZnNldCB0byB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBnZXQgdGhlIGZpbmFsIG91dHB1dCB0aW1lc3RhbXAgb2YKCSAgdGhlIGJ1ZmZlci4KCjIwMDktMTAtMDggMTk6MjM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBkbyBtb3JlIGFjY3VyYXRlIGJ1ZmZlciBvZmZzZXRzCgkgIFJldHVybiB0aGUgbmV4dCB0aW1lc3RhbXAgaW4gdGhlIGppdHRlcmJ1ZmZlci4KCSAgVXNlIHRoZSBtaW4tdGltZXN0YW1wIG9mIHRoZSBqaXR0ZXJidWZmZXJzIHRvIGNhbGN1bGF0ZSBhbiBvZmZzZXQgc28gdGhhdCB0aGUKCSAgbmV4dCB0aW1lc3RhbXAgaXMgcHVzaGVkIHdpdGggYSB0aW1lc3RhbXAgZXF1YWwgdG8gcnVubmluZ190aW1lLgoJICBTdGFydCBwcm9kdWNpbmcgdGltZXN0YW1wcyBmcm9tIDAgaW4gdGhlIGJ1ZmZlcmluZyBjYXNlIHRvby4KCjIwMDktMTAtMDggMTg6NDI6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBvbmx5IHN0YXJ0IGJ1ZmZlcmluZyB3aGVuIDwgMTAwJQoJICBPbmx5IHN0YXJ0IGJ1ZmZlcmluZyB3aGVuIHRoZSBwZXJjZW50YWdlIG1lc3NhZ2UgaXMgPCAxMDAgJS4KCjIwMDktMTAtMDYgMTM6MzQ6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjoga2VlcCB0cmFjayBvZiBlbGFwc2VkIHBhdXNlIHRpbWUKCSAgS2VlcCB0cmFjayBvZiB0aGUgdGltZSB3ZSBzcGVuZCBwYXVzaW5nIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSB3ZXJlCgkgIGJ1ZmZlcmluZyBhbmQgZGlzdHJpYnV0ZSB0aGlzIGVsYXBzZWQgdGltZSB0byB0aGUgaml0dGVyYnVmZmVycy4KCSAgQWxzbyBrZWVwIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmQgcHJlY2lzaW9uLgoKMjAwOS0xMC0wNiAxMzozMzoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIG9mZnNldAoJICBLZWVwIHRyYWNrIG9mIGFuIG91dGdvaW5nIG9mZnNldCB0aGF0IHdlIGFkZCB0byBlYWNoIG91dGdvaW5nIGJ1ZmZlciB0bwoJICBjb21wZW5zYXRlIGZvciBQQVVTRSB3aGVuIGJ1ZmZlcmluZy4KCSAgQWRqdXN0IHRoZSBvZmZzZXQgd2hlbiBhY3RpdmF0aW5nLgoKMjAwOS0xMC0wNiAxMzozMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlcG9ydCBsZXZlbCB1c2luZyBoaWdoIHdhdGVybWFyawoKMjAwOS0xMC0wNSAyMTozMTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRwYmluOiBwYXNzIHJ1bm5pbmdfdGltZSB0byBqaXR0ZXJidWZmZXIgcGF1c2UKCSAgUGFzcyB0aGUgY3VycmVudCBydW5uaW5nIHRpbWUgdG8gdGhlIGppdHRlcmJ1ZmZlciB3aGVuIHBhdXNpbmcgb3IgcmVzdW1pbmcgc28KCSAgdGhhdCBpdCBjYWxjdWxhdGUgdGhlIHJpZ2h0IG9mZnNldHMuCgkgIFNtYWxsIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgU2V0IHRoZSBkZWZhdWx0IHJ0c3BzcmMgbGF0ZW5jeSB0byAyIHNlY29uZHMuCgoyMDA5LTEwLTA1IDIwOjA5OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IGFkZCBzb21lIGNvbW1lbnRzCgoyMDA5LTEwLTA1IDE5OjQ1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBtb3JlIGJ1ZmZlcmluZyB1cGRhdGVzCgkgIEFkZCBzaWduYWwgdG8gcGF1c2UgdGhlIGppdHRlcmJ1ZmZlci4gVGhpcyB3aWxsIGJlIGVtaXR0ZWQgZnJvbSBnc3RydHBiaW4gd2hlbgoJICBvbmUgb2YgdGhlIGppdHRlcmJ1ZmZlcnMgaXMgYnVmZmVyaW5nLgoJICBNYWtlIHJ0cGJpbiBjb2xsZWN0IHRoZSBidWZmZXJpbmcgbWVzc2FnZXMgYW5kIHBvc3QgYSBuZXcgYnVmZmVyaW5nIG1lc3NhZ2Ugd2l0aAoJICB0aGUgbWluIHZhbHVlLgoJICBSZW1vdmUgdGhlIHN0YXRzIGNhbGxiYWNrIGZyb20gaml0dGVyYnVmZmVyIGJ1dCBwYXNzIGEgcGVyY2VudCBpbnRlZ2VyIHRvCgkgIGZ1bmN0aW9ucyB0aGF0IGFmZmVjdCB0aGUgYnVmZmVyaW5nIHN0YXRlIG9mIHRoZSBqaXR0ZXJidWZmZXIuIFRoaXMgYWxsb3dzIHVzCgkgIHRoZW4gdG8gcG9zdCBidWZmZXJpbmcgbWVzc2FnZXMgZnJvbSBvdXRzaWRlIG9mIHRoZSBqaXR0ZXJidWZmZXIgbG9jay4KCjIwMDktMTAtMDUgMTM6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogcHJvcGFnYXRlIGJ1ZmZlci1tb2RlIHByb3BlcnR5CgkgIFByb3BhZ2F0ZSBidWZmZXItbW9kZSBwcm9wZXJ0eSB0byB0aGUgaml0dGVyYnVmZmVycy4KCSAgSW50ZXJjZXB0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBydHBiaW4KCjIwMDktMTAtMDEgMTc6MTQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGRvIG1vcmUgYnVmZmVyaW5nIGltcGxlbWVudGF0aW9uCgkgIEFkZCBjYWxsYmFjayBmb3IgYnVmZmVyaW5nIHN0YXRzLgoJICBDb25maWd1cmUgdGhlIGxhdGVuY3kgaW4gdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIHBhc3NpbmcgaXQgd2l0aCBfaW5zZXJ0LgoJICBDYWxjdWxhdGUgYnVmZmVyaW5nIGxldmVscyB3aGVuIHB1c2hpbmcgYW5kIHBvcHBpbmcKCSAgUG9zdCBidWZmZXJpbmcgbWVzc2FnZXMuCgoyMDA5LTEwLTAxIDEyOjQ2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBmbGVzaCBvdXQgYnVmZmVyaW5nIG1vZGUgc29tZSBtb3JlCgkgIEFkZCBhIGJ1ZmZlcmluZyBzdGF0ZSB0byB0aGUgaml0dGVyYnVmZmVyIGFuZCB3YWl0IHVudGlsIGJ1ZmZlcmluZyBlbmRzIGJlZm9yZQoJICBwdXNoaW5nIG91dCBwYWNrZXRzLgoKMjAwOS0xMC0wMSAxMjowOTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBob29rIHVwIHRoZSBtb2RlIHByb3BlcnR5CgkgIEV4cG9zZSBhIG1vZGUgcHJvcGVydHkgb24gdGhlIGppdHRlcmJ1ZmZlci4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRpbWVzdGFtcHMgYXJlIC0xIGluIHRoZSBjaGVjayBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCjIwMDktMTAtMDEgMTE6MjA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIGJ1ZmZlcmluZyBtb2RlIG9wdGlvbnMKCSAgQWRkIGdldHRlcnMgYW5kIHNldHRlcnMgZm9yIGRpZmZlcmVudCBidWZmZXJpbmcgbW9kZXMgdGhhdCB0aGUgaml0dGVyYnVmZmVyIHdpbGwKCSAgc3VwcG9ydC4gRGVmYXVsdCB0byB0aGUgY3VycmVudCBzbGF2ZSBtb2RlLgoKMjAxMC0wMi0xMiAxNTo1NDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bHNpbms6IGxvd2VyIHJhbmsgdG8gTUFSR0lOQUwKCjIwMTAtMDItMTIgMTY6MDY6NDUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBPYnRhaW4gdGhlIGluZGV4IGZyb20gdGhlIGVuZCBvZiBhbiBmbHYgZmlsZSBpbiBwdXNoIG1vZGUKCSAgQWxsb3dzIGZvciBiZXR0ZXIgc3VwcG9ydCBvZiBzZWVraW5nIGluIGZsdiBmaWxlcyB3aGVuIGluIHB1c2ggbW9kZQoKMjAxMC0wMS0yMSAxMTo1NToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBEcm9wIHZpZGVvIGZyYW1lcyB1cCB0byB0aGUgZGVzaXJlZCBrZXlmcmFtZSBhZnRlciBhIHNlZWsKCSAgVGhlIGF1ZGlvIHBhY2tldHMgaW4gQVZJIGFyZSBnZW5lcmFsbHkgbXV4ZWQgfjAuNXMgYmVmb3JlIHRoZQoJICBjb3JyZXNwb25kaW5nIHZpZGVvIHBhY2tldC4gVGhpcyBjaGFuZ2VzIGNhdXNlcyBkb3duc3RyZWFtIHRvIG9ubHkKCSAgcmVjZWl2ZSBwYWNrZXRzIHdpdGggcm91Z2hseSBjb3JyZXNwb25kaW5nIHRpbWVzdGFtcHMuCgoyMDEwLTAxLTE5IDE4OjM1OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbW9yZSBESVNDT05UIGhhbmRsaW5nCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBESVNDT05UIGhhbmRsaW5nIGNvZGUuCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIERJU0NPTlQgaW4gcHVzaCBtb2RlLCBtYXJrIGFsbCBzdHJlYW1zIGFzIERJU0NPTlQuCgoyMDEwLTAxLTE5IDEwOjUxOjA4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggX2hhbmRsZV9zZWVrX3B1c2ggKCkgYW5kIG5ldyBzZWdlbWVudCBiZWhhdmlvdXIKCjIwMTAtMDEtMTggMTc6MTM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgcmVzZXQgdGhlIGRlbXV4ZXIgY29ycmVjdGx5IHdydCBwYXJzaW5nIHRoZSBpbmRleC4KCSAgRG9uJ3QgbGVhayBwZW5kaW5nIHNlZWsgZXZlbnRzLgoJICBSZW5hbWUgc29tZSBtZXRob2RzIHRvIHJlZmxlY3Qgd2hhdCB0aGV5IGRvIGFuZCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCBzaW1pbGFyCgkgIG1ldGhvZCBuYW1lcy4KCSAgVHJ5IHRvIG1ha2UgdGhlIHNlZWtpbmcgdGhyZWFkc2FmZSBieSBwcm90ZWN0aW5nIHRoZSBzZXR1cCBjb2RlIHdpdGggYSBsb2NrLgoJICBNYWtlIHN1cmUgd2UgcG9zdCBlcnJvcnMgd2hlbiBhIHNlZWsgZmFpbHMuCgoyMDEwLTAxLTE4IDExOjQ1OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW5hbWUgc29tZSB2YXJpYWJsZXMKCSAgc2Vla19ldmVudCAtPiBzZWdfZXZlbnQKCSAgZXZlbnRfc2VlayAtPiBzZWVrX2V2ZW50CgoyMDEwLTAxLTE1IDE4OjAwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdGFrZSBmYWxsYmFjayBkdXJhdGlvbiBmcm9tIGF2aWgKCSAgV2hlbiB3ZSBoYXZlIG5vdCBwYXJzZWQgYW55IGluZGV4ZXMgeWV0LCB3ZSBkb24ndCBrbm93IHRoZSBsZW5ndGggb2YgdGhlIHN0cmVhbXMKCSAgYW5kIHdlIG11c3QgdGFrZSB0aGUgbGVuZ3RoIGdpdmVuIGluIHRoZSBhdmloIGFzIGEgZmFsbGJhY2suCgkgIEF2b2lkIHNvbWUgdHlwZWNoZWNraW5nLgoKMjAwOS0xMi0wNCAxNToxMzoxMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBQdXNoIG1vZGUgc2Vla2luZyBzdXBwb3J0CgoyMDEwLTAyLTAxIDE2OjA0OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhbnVwIHByb3BlcnRpZXMKCSAgVXNlIG1vcmUgZGVmYXVsdCBjb25zdGFudHMuCgkgIFVzZSBzdGF0aWMgc3RyaW5ncyBwYXJhbSBmbGFnLgoJICBJbml0IHByb3BlcnRpZXMgZXhwbGljaXRseSBpbnN0ZWFkIG9mIGxldHRpbmcgZ29iamVjdCBkbyB0aGlzLgoKMjAxMC0wMi0xMiAxNTozNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4OiBhZGQgbWlzc2luZyBpbmNsdWRlCgoyMDEwLTAyLTA1IDEzOjI4OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBmaXggbXVsdGktdmFsdWUgdGFnIGV4YW1wbGUKCSAgV2UgbmVlZCB0byB1c2Uge30gdG8gc3BlY2lmeSBhIGxpc3QuCgoyMDEwLTAyLTAxIDE0OjQzOjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmksd2F2OiBhbHNvIGhhbmRsZSBKVU5RIGNodW5rIGluIGFkZGl0aW9uIHRvIEpVTksKCjIwMTAtMDItMDQgMTU6NTk6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cHBheTogZG9uJ3QgaWdub3JlIHJlc3VsdCBmcm9tIHNldF9vdXRjYXBzCgkgIHNldF9vdXRjYXBzIGNhbiBmYWlsIGFuZCB3ZSBuZWVkIHRvIHByb3BhZ2F0ZSB0aGUgcmVzdWx0IHVwc3RyZWFtLgoKMjAxMC0wMi0wNCAxNTozNjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IGZpeCBjb25mdXNpbmcgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDEtMjcgMTM6Mjg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8KCjIwMTAtMDEtMjcgMTM6MjY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYXZvaWQgc2VnZmF1bHQgd2hlbiBzaHV0dGluZyBkb3duCgkgIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24sIHdlIG1pZ2h0IHN0aWxsIHJlY2VpdmUgc3RhdGUgdXBkYXRlcyBmcm9tIHB1bHNlYXVkaW8KCSAgYnV0IHNpbmNlIHdlIGFyZSB1bnBhcmVudGVkIHdlIHNob3VsZCBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgTlVMTCBwYXJlbnQKCSAgYW55bW9yZS4KCjIwMTAtMDEtMjYgMTg6MzM6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogZml4IHRpbWVzdGFtcCBwcm9ibGVtcwoJICBXaGVuIHRoZSBwYWQgd2l0aCB0aGUgaGlnaGVzdCBmcmFtZXJhdGUgZ29lcyBFT1MsIGluc3RlYWQgb2Ygbm90IHRpbWVzdGFtcGluZwoJICBvdXRwdXQgYnVmZmVycywgaW50ZXBvbGxhdGUgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGZyb20gdGhlIGxhc3Qgc2VlbiBvbmVzLgoJICBGaXhlcyAjNjA4MDI2CgoyMDEwLTAyLTEyIDExOjMyOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTIgMTE6MTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZWQgJ3NoYXBld2lwZScgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEZpeGVzIGJ1ZyAjNTg0NTM2LgoKMjAxMC0wMi0xMCAxMDo1Mjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvMjldIHNoYXBld2lwZTogUHJlc2VydmUgdGhlIGlucHV0IGNvbG9yIHZhbHVlcyBpbiBhbGwgY2FzZXMKCjIwMTAtMDItMTAgMTA6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI4LzI5XSBzaGFwZXdpcGU6IFNjYWxlIG1hc2sgYWxwaGEgdmFsdWVzIGJ5IHRoZSBzb3VyY2UgYWxwaGEgdmFsdWVzCgoyMDEwLTAyLTEwIDEwOjQyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy8yOV0gc2hhcGV3aXBlOiBGaXggQVJHQiBwcm9jZXNzaW5nCgoyMDEwLTAyLTEwIDEwOjM0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvMjldIHNoYXBld2lwZTogUHJpbnQgc29tZSBtb3JlIGRldGFpbHMgb24gZXJyb3Ivd2FybmluZyBtZXNzYWdlcwoKMjAxMC0wMi0wOCAwODoyNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvMjldIHNoYXBld2lwZTogSW1wcm92ZS9hZGQgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjIwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC8yOV0gc2hhcGV3aXBlOiBBbHdheXMgaG9sZCB0aGUgbWFzayBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgR0NvbmQKCjIwMTAtMDItMDggMDg6MTk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDIzLzI5XSBzaGFwZXdpcGU6IE1vdmUgY2hhaW4gZnVuY3Rpb24gZXJyb3IgY2FzZXMgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gYW5kIGFkZCB1c2VmdWwgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjEyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi8yOV0gc2hhcGV3aXBlOiBGaXggcmFjZSBjb25kaXRpb24gZHVyaW5nIHNodXRkb3duIHRoYXQgY2FuIGxlYWQgdG8gYSBkZWFkbG9jawoKMjAxMC0wMi0wOCAwODoxMTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvMjldIHNoYXBld2lwZTogRHJvcCBtYXNrIGJ1ZmZlciBvbiBGTFVTSCBldmVudHMKCjIwMTAtMDItMDggMDg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDIwLzI5XSBzaGFwZXdpcGU6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhcgoKMjAxMC0wMi0wOCAwODowODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvMjldIHNoYXBld2lwZTogRG9uJ3QgcmVzZXQgcHJvcGVydGllcyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgQWxzbyB1c2UgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMC0wMS0xNiAxNjo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvMjldIHNoYXBld2lwZTogUmVwbGFjZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3BzIGJ5IGludGVnZXIgYXJpdGhtZXRpYwoKMjAwOS0xMi0xMCAxMDo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvMjldIHNoYXBld2lwZTogRG9uJ3QgZG8gcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gdGhlIHByb2Nlc3NpbmcgbG9vcAoJICBMb3dlcnMgdGhlIHRpbWUgdGFrZW4gdGhlcmUgaW4gbXkgdGVzdGNhc2UgZnJvbSA2LjkxJSB0byA2LjIwJQoJICBhcyBtZWFzdXJlZCBieSBjYWxsZ3JpbmQuCgoyMDA5LTA3LTA4IDE3OjU5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi8yOV0gc2hhcGV3aXBlOiBBZGQgQkdSQSBzdXBwb3J0IGZvciB2aWRlbyBpbi9vdXRwdXQKCjIwMDktMDctMDIgMTE6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDE1LzI5XSBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVvIGlucHV0L291dHB1dAoKMjAwOS0wNi0yMyAxODoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvMjldIHNoYXBld2lwZTogQ29ycmVjdGx5IGhhbmRsZSAwLzEgZnBzCgoyMDA5LTA2LTA5IDE5OjE0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy8yOV0gc2hhcGV3aXBlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTg6NDU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyLzI5XSBzaGFwZXdpcGU6IFByb3h5IHF1ZXJpZXMgb24gdGhlIHZpZGVvIHBhZHMgdG8gdGhlIGNvcnJlY3QgcGVlcnMKCjIwMDktMDYtMDkgMTg6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDExLzI5XSBzaGFwZXdpcGU6IFByb3h5IGJ1ZmZlcmFsbG9jIG9uIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTA2LTA5IDE4OjI1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC8yOV0gc2hhcGV3aXBlOiBUcnkgdG8gd29yayBpbnBsYWNlIGlmIHBvc3NpYmxlCgkgIFRoaXMgc2F2ZXMgb25lIG5ldywgbGFyZ2UgYWxsb2NhdGlvbiBwZXIgZnJhbWUgZm9yIHRoZQoJICBtb3N0IGNhc2VzLgoKMjAwOS0wNi0wNCAwODo1NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5LzI5XSBzaGFwZXdpcGU6IEluY3JlYXNlIHRpbWVvdXQgb2YgdGhlIHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvMjldIHNoYXBld2lwZTogRml4IHNvbWUgaXNzdWVzIHRoYXQgd2VyZSBleHBvc2VkIGJ5IHRoZSBuZXcgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvMjldIHNoYXBld2lwZTogQWRkIHVuaXQgdGVzdCBmb3Igc2hhcGV3aXBlCgoyMDA5LTA1LTMxIDIxOjMzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi8yOV0gc2hhcGV3aXBlOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNS0yOSAyMTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvMjldIHNoYXBld2lwZTogQWRqdXN0IGJvcmRlciB0byBzdGlsbCBoYXZlIGV2ZXJ5dGhpbmcgdHJhbnNwYXJlbnQgYXQgMS4wIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAwOS0wNS0yOSAxNjo1NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0LzI5XSBzaGFwZXdpcGU6IERpdmlkZSB0aGUgYm9yZGVyIHZhbHVlIGJ5IHR3bywgb3RoZXJ3aXNlIHdlIHVzZSBhIHR3aWNlIGEgd2lkZSBib3JkZXIKCjIwMDktMDUtMjkgMTY6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy8yOV0gc2hhcGV3aXBlOiBBZGQgYm9yZGVyIHByb3BlcnR5IHRvIGFsbG93IHNtb290aCBib3JkZXJzCgkgIC4uLmFuZCB1c2UgYSBib3JkZXIgb2YgMC4wMSBpbiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCjIwMDktMDUtMjkgMTY6MDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvMjldIHNoYXBld2lwZTogRml4IE1ha2VmaWxlIG9mIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI5IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS8yOV0gc2hhcGV3aXBlOiBBZGQgYSBzaW1wbGUgc2hhcGV3aXBlIHRyYW5zaXRpb24gZmlsdGVyICYgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAxMC0wMi0wNiAxODoxOToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IE9ubHkgZmx1c2ggdGhlIEZMQUMgZGVjb2RlciBpZiBpdCB3YXNuJ3QgY3JlYXRlZCByaWdodCBiZWZvcmUKCSAgSWYgdGhlIEZMQUMgZGVjb2RlciBpcyBmbHVzaGVkLCBpdHMgc3RhdGUgd2lsbCBiZSBzZXQgdG8gZnJhbWUtc3luYyBtb2RlLAoJICB3aGljaCB3aWxsIHN5bmMgdG8gdGhlIG5leHQgKmF1ZGlvKiBmcmFtZSBhbmQgbWFrZXMgaXQgaWdub3JlIGFsbCBoZWFkZXJzLgoJICBUaGlzIHByZXZlbnRlZCB0YWdzIGFuZCBldmVyeXRoaW5nIGVsc2UgdG8gc2hvdyB1cCB3aGVuIHVzaW5nIGZsYWNkZWMKCSAgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBidWcgIzYwODg0My4KCjIwMTAtMDItMTEgMDE6MTI6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIFVwZGF0ZSBNQUlOVEFJTkVSUwoKMjAxMC0wMi0xMiAwMDowMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFjayB0byBkZXZlbG9wbWVudAoJICBTbHVzaHkgZnJlZXplIHJlbWFpbnMgaW4gZWZmZWN0LgoKPT09IHJlbGVhc2UgMC4xMC4xOCA9PT0KCjIwMTAtMDItMTAgMjM6MTg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOAoKMjAxMC0wMi0xMCAyMzoxNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAyLTEwIDIwOjM2OjU2ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRlbXBvcmFyeSBzYWZldHkgY2hlY2sgdG8gYXZvaWQgY3Jhc2hlcyB3aXRoIGEgY2VydGFpbiBmaWxlCgkgIEFkZCB0ZW1wb3JhcnkgY2hlY2sgdG8gYXZvaWQgY3Jhc2hlcyB3aXRoIGEgY2VydGFpbiBmaWxlIHdoZW4gc2Vla2luZwoJICB1bnRpbCB0aGUgcmVhbCBjYXVzZSBvZiB0aGlzIGlzIGZpZ3VyZWQgb3V0LiBTZWUgIzYwOTQwNS4KCjIwMTAtMDItMDUgMTg6MDU6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBza2lwIHVua25vd24gYXRvbXMgd2hlbiBsb29raW5nIGZvciBtb292CgkgIEZpeGVzIGJ1ZyAjNjA5MTA3CgoyMDEwLTAyLTA1IDAyOjEzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMDQgMTk6MTA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2h1LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wMi0wNCAxNDo0Njo1NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFNldCB0aGUgc2VnbWVudCBzdGFydCB0aW1lIHRvIHRoZSByZXF1ZXN0ZWQgc2VlayB0aW1lIGZvciBub24ta2V5ZnJhbWUgc2Vla3MKCjIwMTAtMDItMDQgMTI6MDA6MDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRpbWUgcmV0dXJuZWQgZm9yIGluZGV4IGF0IGEgYnl0ZSBvZmZzZXQKCSAgVGhlIGxvZ2ljIGZvciBzZWFyY2hpbmcgZm9yd2FyZHMvYmFja3dhcmRzIHdhcyBzd2FwcGVkCgoyMDEwLTAyLTAxIDE5OjIyOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogaW5pdGlhbGl6ZSBzdGVyZW8gZGVjb2Rpbmcgc3RhdGUKCjIwMTAtMDEtMjggMTg6NTg6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc3RyZWFtIHN5bmNocm9uaXphdGlvbgoJICBJbiBwYXJ0aWN1bGFyLCBkbyBub3QgbWFrZSBpdCBzZW5kIG5ld3NlZ21lbnQgdXBkYXRlcyB0aGF0CgkgIHNvcnQtb2YgY29udHJhZGljdCB0aGUgaW5kZW50ZWQgcGxheWJhY2sgc2VnbWVudCAoZS5nLiBzdGFydCB0aW1lKS4KCjIwMTAtMDEtMjggMTg6NTM6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBicmlkZ2luZyAodGltZSkgZ2FwcyBpbiBzdHJlYW1zCgkgIEFzIGEgc2lkZSBlZmZlY3QsIGF2b2lkIHNlbmRpbmcgbmV3c2VnbWVudCB1cGRhdGVzIHdpdGggc3RhcnQgdGltZXMKCSAgdGhhdCBnbyBiYWNrIGFuZCBmb3J0aCwgd2hpY2ggbGVhZHMgdG8gYm9ndXMgZG93bnN0cmVhbSBydW5uaW5nX3RpbWUuCgkgIEFsc28gZml4ZXMgc2Vla2luZyBpbiBidWcgIzYwNjc0NC4KCjIwMTAtMDEtMjggMTg6NDk6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHJlYW0gc3luY2hyb25pemF0aW9uCgkgIC4uIGJ5IGluaXRpYWxpemluZyBzdHJlYW1zIHN0YXJ0aW5nIGF0IDAsIGFzIHRoYXQgaXMgYmFzaWNhbGx5CgkgIHdoZXJlIHdlICdzZWVrIHRvJyBhdCB0aGUgc3RhcnQgYW5kIGFzc3VtZSBzdHJlYW1zIHRvIHN0YXJ0IGVsc2V3aGVyZS4KCSAgQWxzbyBlbmFibGVzIG5ld3NlZ21lbnQgdXBkYXRlIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcy4KCjIwMTAtMDItMDIgMTM6NDE6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogZG9uJ3QgZGlyZWN0bHkgYWNjZXNzIG1lc3NhZ2UsIHNvbWUgbWVzc2FnZSBoYXZlIGFyZ3MKCSAgVGhpcyBjYXVzZWQgYm9ndXMgbWVzc2FnZXMsIHN1Y2ggYXMgcmVwb3J0ZWQgaW4gYnVnICM2MDc0NzEuCgoyMDEwLTAyLTAyIDAwOjAyOjM0ICswMDAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZzogZml4IGNvbXBpbGF0aW9uIHdpdGggbGlicG5nIDEuNAoJICBwbmdfc2V0X2dyYXlfMV8yXzRfdG9fOCgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgYW5kIHdhcwoJICBmaW5hbGx5IHJlbW92ZWQgaW4gbGlicG5nIDEuNC54LiBVc2UgcG5nX3NldF9leHBhbmRfZ3JheV8xXzJfNF90b184KCkKCSAgaW5zdGVhZC4KCSAgRml4ZXMgIzYwODYyOS4KCjIwMTAtMDItMDEgMTY6NDY6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgdHJhbnNwb3J0cyBvbiBlcnJvcnMKCSAgU2VlICM2MDg1NjQKCjIwMTAtMDItMDEgMDk6MTg6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggdW5wb3J0YWJsZSBwcmludGYgZm9ybWF0CgoyMDEwLTAxLTMwIDE1OjE4OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTVkNDdhNiB0byA5NmRjNzkzCgoyMDEwLTAxLTI3IDE3OjUzOjA3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGluZGV4IHRpbWVzdGFtcHMgc2hvdWxkIGJlIGluIHNlY29uZHMsIG5vdCBtaWxsaXNlY29uZHMKCjIwMTAtMDEtMjcgMTU6MjQ6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBmcmVlIHNvbWUgbW9yZSB3aGVuIHJlc2V0dGluZwoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNToyNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHJ0cHNwZWV4cGF5OiBmaXggb2NjYXNpb25hbCBidWZmZXIgbGVhawoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNToyMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHByZXZlbnQgaW52YWxpZCBhcml0aG1ldGljIGlmIG5vdCBzZXR1cCB5ZXQKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTY6MzQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhc3NlbWJseSByZWdpc3RlciBjb25zdHJhaW50cwoJICBGaXhlcyBidWcgIzYwODIwOS4KCjIwMTAtMDEtMjcgMDE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMiBwcmUtcmVsZWFzZQoKMjAxMC0wMS0yNyAwMTo1Mjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wMS0yNyAwMTo0OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVja3M6IGlnbm9yZSBkZWludGVybGFjZSBjaGVjayBiaW5hcnkKCjIwMTAtMDEtMjcgMDE6MTg6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHB1cmdlIGFsbCBtZW50aW9uIG9mIENWUwoKMjAxMC0wMS0yNiAxMToxODoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGlnbm9yZSBzdHJlYW1zIHRoYXQgZmluaXNoZWQKCSAgV2hlbiB3ZSByZWNlaXZlIGFuIFVORVhQRUNURUQgZnJvbSBhIHN0cmVhbSwgbW92ZSB0byB0aGUgbmV4dCBzdHJlYW0gYW5kIG9ubHkgZ28KCSAgRU9TIHdoZW4gYWxsIHN0cmVhbXMgYXJlIEVPUy4gV2hlbiBzZWxlY3RpbmcgYSBzdHJlYW0gdG8gcHVzaCwgaWdub3JlIHN0cmVhbXMKCSAgdGhhdCB3ZW50IEVPUy4KCSAgRml4ZXMgIzYwNzk0OQoKMjAxMC0wMS0yNSAxNzoyMzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMCgkgIEVycm9yIG91dCB3aGVuIHRoZSBwb29sIGdldHMgc2h1dGRvd24uCgoyMDEwLTAxLTI1IDE3OjIxOjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJldmVydCAidjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzZDlkMzRiZDYwZmFlYjk0MGIzNmQ5OTJhNDcxNjhmYzg5NTAzNmJhLgoKMjAxMC0wMS0yNSAxNDoxNjoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMCgkgIEVycm9yIG91dCB3aGVuIHRoZSBwb29sIGdldHMgc2h1dGRvd24uCgoyMDEwLTAxLTIzIDE1OjMyOjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHdoZW4gY3JlYXRpbmcgYW4gb3ZlcmZsb3cgYnVmZmVyLCBjb3B5IHRpbWVzdGFtcHMuCgoyMDEwLTAxLTIzIDE0OjQ3OjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbWIxIGlzIGEgdmFsaWQgZm91cmNjIGZvciBNb3Rpb24tSlBFRwoKMjAxMC0wMS0yMyAxNDoyMDowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZXV4OiBJVjMyIGlzIGFsc28gdXNlZCBmb3IgSW5kZW8gMyB2aWRlbyBzdHJlYW1zCgoyMDEwLTAxLTIyIDE2OjQ4OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBidWlsZDogbm8gdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRpc2FibGluZyBhc3NlcnRzCgoyMDEwLTAxLTIxIDIzOjE3OjQwIC0wMzAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBvbiBrZXlmcmFtZSBzZWFyY2gKCSAgRG8gbm90IG92ZXJmbG93IG5lZ2F0aXZlbHkgd2hlbiBzZWFyY2hpbmcgYSBwcmV2aW91cwoJICAia2V5ZnJhbWUiIG9uIGF1ZGlvIHN0cmVhbXMuIENvdWxkIGNhdXNlIGluZmluaXRlIGxvb3BzCgkgIG9uIGJhY2t3YXJkcyBwbGF5YmFjawoJICBGaXhlcyAjNjA3NzE4CgoyMDEwLTAxLTIxIDE3OjIyOjM4IC0wODAwICBQZXRlciB2YW4gSGFyZGVuYmVyZyA8cHZoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogZW5sYXJnZSBidWZmZXIgaWYgbGlianBlZyB0ZWxscyB1cyBpdCdzIG91dCBvZiBzcGFjZS4gRml4ZXMgYnVmZmVyIG92ZXJmbG93IG9uIHNvbWUgaGlnaC1xdWFsaXR5LCBsb3ctcmVzb2x1dGlvbiBqcGVnIGVuY29kZXMuCgoyMDEwLTAxLTIxIDE5OjI0OjIyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHVuZGVyIE9TIFguCgoyMDEwLTAxLTIxIDE3OjU3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcGFyc2UgTlVMTCBpbmRleGVzCgkgIGZvciBzb21lIHN0cmVhbXMgd2UgbWlnaHQgZmFpbCB0byBmZXRjaCB0aGUgaW5kZXggb2Zmc2V0cy4gRG9uJ3QgdHJ5IHRvIHBhcnNlCgkgIE5VTEwgaW5kZXhlcyBpbiB0aG9zZSBjYXNlcy4KCjIwMTAtMDEtMTggMjE6MTU6NTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBwdGltZSBzaG91bGQgaXMgaW4gbmFub3NlY29uZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzQwMwoKMjAxMC0wMS0yMCAxNToxMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IFBvc3Qgd2FybmluZyBpZiBmaWxlIGlzbnQgZmluaXNoZWQgcHJvcGVybHkKCSAgV2hlbiB0aGUgcGlwZWxpbmUgaXMgc2h1dCBkb3duIGFuZCB0aGUgZmlsZSBpc24ndAoJICBmaW5pc2hlZCBwcm9wZXJseSwgd2F2ZW5jIHNob3VsZCBwb3N0IGEgd2FybmluZy4KCSAgRml4ZXMgIzYwNzQ0MAoKMjAwOS0wNS0yNyAxMzo1MTo0NCArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGluZGV4IHNpemUgY29uZmlndXJhYmxlLgoJICBBZGRlZCB0aGUgJ21pbi1pbmRleC1pbnRlcnZhbCcgcHJvcGVydHkgdG8gbWF0cm9za2FtdXgsCgkgIHdoaWNoIGRldGVybWluZXMgaG93IG11Y2ggdGltZSAobmFub3NlY29uZHMpIGlzIGxlZnQKCSAgYmV0d2VlbiBrZXlmcmFtZXMgc3RvcmVkIGluIHRoZSBpbmRleC4KCSAgRml4ZXMgIzU4Mzk4NS4KCjIwMTAtMDEtMjAgMTY6Mjg6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogc2NhbGUgc3BzcHBzX2ludGVydmFsIHRvIG1pbGxpc2Vjb25kcwoJICBUaGUgc3BzcHBzX2ludGVydmFsIGlzIGtlcHQgaW4gc2Vjb25kcy4gQ29udmVydCBpdCB0byBtaWxsaXNlY29uZHMgYmVmb3JlCgkgIGNvbXBhcmluZyBpdCB0byBhbm90aGVyIHZhbHVlIGluIG1pbGxpc2Vjb25kcy4KCjIwMTAtMDEtMjAgMTU6MTg6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHdheXMga2VlcCBtZWRpYSBzZWdtZW50cyB3aXRoaW4gdG90YWwgZHVyYXRpb24KCSAgLi4uIGFzIG9wcG9zZWQgdG8gb25seSBkb2luZyBzbyBmb2xsb3dpbmcgYSBzZWVrLgoKMjAxMC0wMS0yMCAxNTo0NDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW5hbWUgc3BzcHBzLWludGVydmFsIHByb3BlcnR5CgkgIFJlbmFtZSB0aGUgc3BzcHBzLWludGVydmFsIHByb3BlcnR5IHRvIGNvbmZpZy1pbnRlcnZhbCBiZWNhdXNlIGl0IGlzIG5pY2VyLgoKMjAxMC0wMS0xOSAxODozNzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNraXAgUklGRiBhbmQgaW5kZXggaW4gcHVzaCBtb2RlCgkgIFdoZW4gd2UgYXJlIGluIHB1c2ggbW9kZSwgd2UgY2FuIGVuY291bnRlciBSSUZGIGFuZCBpZHggdGFncyBpbiB0aGUgZGF0YSBjaHVuawoJICB3aGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggT0RNTCBmaWxlcy4gSW4gdGhlc2UgY2FzZXMsIHNpbXBseSBza2lwIHRoZSBjaHVua3MgYW5kCgkgIGNvbnRpbnVlIHN0cmVhbWluZyBpbnN0ZWFkIG9mIGdvaW5nIEVPUy4KCjIwMTAtMDEtMjAgMTE6Mjc6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtb3JlIERJU0NPTlQgaGFuZGxpbmcKCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIERJU0NPTlQgaGFuZGxpbmcgY29kZS4KCSAgV2hlbiB3ZSByZWNlaXZlIGEgRElTQ09OVCBpbiBwdXNoIG1vZGUsIG1hcmsgYWxsIHN0cmVhbXMgYXMgRElTQ09OVC4KCjIwMTAtMDEtMjAgMTE6MjY6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXNldCBvbiBmbHVzaCBldmVudHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgZmx1c2ggZXZlbnQgb24gdGhlIHNpbmtwYWQsIHJlc2V0IHRoZSBFT1Mgc3RhdGUgYW5kIHRoZQoJICBmbG93cmV0dXJuIG9mIGFsbCBzdHJlYW1zLiBBbHNvIG1hcmsgdGhlIHN0cmVhbXMgd2l0aCBhIERJU0NPTlQuCgoyMDEwLTAxLTIwIDExOjIyOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW5hbWUgc29tZSB2YXJpYWJsZQoJICBSZW5hbWUgdGhlIHNlZWtfZXZlbnQgdmFyaWFibGUgdG8gc2VnX2V2ZW50IGJlY2F1c2UgaXQgcmVhbGx5IGNvbnRhaW5zIHRoZQoJICBuZXdzZWdtZW50IGV2ZW50IHRoYXQgbmVlZHMgdG8gYmUgcHVzaGVkLgoKMjAxMC0wMS0yMCAwMDo1NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE0Y2VjODkgdG8gMTVkNDdhNgoKMjAxMC0wMS0xOCAxNDo0OToyNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBEb24ndCBzZXQgcHJvZmlsZS1sZXZlbC1pZCBpbiBvdXQgY2FwcwoJICBUaGUgcHJvZmlsZS1sZXZlbC1pZCByZXByZXNlbnRzIHJlc3RyaWN0aW9ucyBvbiB3aGF0IGNhbiBiZSBzZW50LCBpdCBkb2VzIG5vdAoJICBkZXNjcmliZSB0aGUgc3RyZWFtLiBTbyBpdCBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBzaW5rIGNhcHMgb2YgdGhlCgkgIHBheWxvYWRlciwgbm90IHRoZSBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzM1MwoKMjAxMC0wMS0xOCAxNDo0MToxMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIGZyb20gc2V0X291dGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzM1MwoKMjAxMC0wMS0xOCAxNzo0Mzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaGVhZGVycwoKMjAxMC0wMS0xOCAxNDo1Nzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogbW92ZSBHX0VORF9ERUNMUyB0byB0aGUgZW5kCgoyMDEwLTAxLTE4IDE0OjU1OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBmaXggYnVmZmVycG9vbCBmaWxlIG5hbWVzIGluIGhlYWRlciBjb21tZW50CgoyMDEwLTAxLTE1IDE4OjE1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgc29tZSB0eXBlY2FzdGluZwoKMjAxMC0wMS0xNSAxODoxMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIHNvbWUgdHlwZSBjaGVja3MKCjIwMTAtMDEtMTUgMTg6MDk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGZhbGxiYWNrIHRvIGF2aWggZHVyYXRpb24KCSAgd2hlbiB3ZSBoYXZlIG5vdCB5ZXQgcGFyc2VkIHRoZSBpbmRleGVzIChpbiBwdXNoIG1vZGUsIGZvciBleGFtcGxlKSB1c2UKCSAgdGhlIGR1cmF0aW9uIGFzIGdpdmVuIGluIHRoZSBhdmloIGhlYWRlciBpbnN0ZWFkIG9mIC0xLgoKMjAxMC0wMS0xNSAxMzozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMTUgMTM6Mjc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgREVNVVggZXJyb3JzLCBpbnN0ZWFkIG9mIERFQ09ERQoJICBxdGRlbXV4IHNob3VsZCB1c2UgREVNVVggZXJyb3JzLCBhbmQgbm90IERFQ09ERQoJICBDb25mbGljdHM6CgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYwoKMjAxMC0wMS0xNCAxOToxNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIHJlZmFjdG9yCgkgIFJlcGxhY2UgcmVwZWF0ZWQgY29kZSB3aXRoIGEgZnVuY3Rpb24gY2FsbAoKMjAxMC0wMS0xNCAxNzoxMToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEhhbmRsZSBhbm90aGVyIGtpbmQgb2YgcmVkaXJlY3QgdHJhawoJICBTb21lIHRyYWtzIG1pZ2h0IGNvbnRhaW4gYSByZWRpcmVjdCBydHNwIHVyaSBpbnNpZGUKCSAgaG5kbCBhdG9tICh3aGljaCBpcyBhIGRyZWYgYXRvbSBlbnRyeSkuIFRoaXMgY29tbWl0IG1ha2VzIHF0ZGVtdXgKCSAgcG9zdCBhIG1lc3NhZ2Ugd2hlbiBpdCBmaW5kcyBvbmUgb2YgdGhlc2UgdHJha3MgYW5kIHRoZXJlIGFyZQoJICBubyBvdGhlciB0cmFrcy4KCSAgRml4ZXMgIzU5NzQ5NwoKMjAxMC0wMS0xNCAxNjoxMzowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogUG9zdCBlcnJvciB3aGVuIHJlYWNoaW5nIEVPUyB3aXRob3V0IHBhZHMKCSAgUG9zdCBhbiBlcnJvciB3aGVuIEVPUyBpcyByZWFjaGVkIGFuZCB0aGVyZSBhcmUgbm8gc3JjIHBhZHMKCjIwMTAtMDEtMTQgMTQ6MTM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgcG9zdCBlbXB0eSByZWRpcmVjdCBtZXNzYWdlcwoJICBTb21lIG1pc2ludGVycHJldGVkIGRhdGEgY291bGQgcmVzdWx0IGluIHBvc3RpbmcgcmVkaXJlY3QgbWVzc2FnZXMKCSAgd2l0aCBlbXB0eSByZWRpcmVjdCBzdHJpbmdzLiBJdCBpcyBiZXR0ZXIgbm90IHRvIHBvc3QgdGhlbS4KCSAgQW4gZXhhbXBsZSBpcyB0aGUgZmlsZSBvbiBidWcgIzU5NzQ5NwoKMjAxMC0wMS0xNCAxODoxOToyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcG9saXNoIGxhc3QgYnVmZmVyIGVuZCB0aW1lIHVzYWdlCgkgIFRoYXQgaXMsIHJlc2V0IGl0IHVwb24gc2VlaywgYW5kIG5vdGUgdGhhdCAocmFyZWx5KSBsYXN0IHB1c2hlZCBidWZmZXIKCSAgdGltZSBtaWdodCBwcmVjZWRlIHNlZ21lbnQgc3RhcnQuCgoyMDEwLTAxLTEzIDE2OjQ4OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogdXNlICdxJyBjb25zdHJhaW50IGluc3RlYWQgb2YgJ3InCgkgIFRoaXMgYXZvaWRzIHRoZSAiYmFkIHJlZ2lzdGVyIG5hbWUgYCVkaWwnIiBjb21waWxhdGlvbiBlcnJvcnMgb24gMzJiaXQgd2hlcmUKCSAgYmVjYXVzZSBvZiAncicgZ2NjIHB1dHMgdGhlIHZhbHVlIGluIGEgZ2VuZXJhbCBwdXJwb3NlIHJlZ2lzdGVyIGFuZCB0aGVuIHRyaWVzCgkgIHRvIGFjY2VzcyB0aGUgbG93ZXIgcGFydCBhcyAlZGlsLyVzaWwgd2hpY2ggaXMgbm90IGV4aXN0aW5nIG9uIDMyYml0LiAncScgcmVxdWVzdHMKCSAgYS1kIHJlZ2lzdGVycwoKMjAxMC0wMS0xMyAxNjo0NDo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBtaXNzaW5nIGluY2x1ZGUgZm9yIHNzY2FuZgoKMjAxMC0wMS0xMyAwOTozNjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBGaXggcHJvcGVydHkgZGVzY3JpcHRpb24gZm9yIHRoZSAzcmQgYmFuZCBvZiB0aGUgMTBiYW5kIGVxdWFsaXplcgoJICBUaGUgZnJlcXVlbmN5IGlzIGFjdHVhbGx5IDIzNyBIeiwgbm90IDIyNyBIei4KCSAgRml4ZXMgYnVnICM2MDY2OTIuCgoyMDEwLTAxLTEzIDA5OjIyOjIwICswMTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogQWxsb3cgbmVnYXRpdmUgYW1wbGlmaWNhdGlvbnMKCSAgRml4ZXMgYnVnICM2MDY4MDcuCgoyMDEwLTAxLTEzIDA5OjE3OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIGFwZXYybXV4OiBEb24ndCBjYWxsIGNvbnN0cnVjdG9ycyBkaXJlY3RseSwgdGhpcyBsZWFkcyB0byBjb21waWxlciBlcnJvcnMgd2l0aCBnY2MgNC41CgoyMDEwLTAxLTEyIDE3OjM5OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR19HU0laRV9GT1JNQVQgZm9yIHBsYXRmb3JtIGluZGVwZW5kZW50IGdzaXplIHF1YWxpZmllcgoJICBGaXhlcyBidWlsZCBvbiBtYWNvc3gKCjIwMTAtMDEtMTEgMTk6MDI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlZmFjdG9yIGVvcyBzZW5kaW5nIHdoZW4gcGF1c2luZyBsb29wCgkgIEFsc28sIHByZXZlbnQgaGFuZ2luZyBpZiBubyBwYWRzIHlldCBvbiB3aGljaCB0byBzZW5kIGVvcyBieQoJICBwb3N0aW5nIGEgbWVzc2FnZSBpbnN0ZWFkLgoKMjAxMC0wMS0xMSAxNzo1MDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc3RhbmRhcmRpemUgc2VlayBoYW5kbGluZwoJICAuLi4gd2hpY2ggaW1wbGllcyBmaXhpbmcgc29tZSBjb3JuZXIgY2FzZXMuCgoyMDEwLTAxLTExIDE1OjE0OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBtb3JlIGdlbmVyaWMgeGlwaE5fc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSBoZWxwZXIKCjIwMTAtMDEtMTEgMTc6NTA6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVmbG93IGF1ZGlvIGFuZCB2aWRlbyBzZXRjYXBzIGFuZCBpbXByb3ZlIGxvZ2dpbmcKCSAgQWxzbyBlbnN1cmUgd2lkdGggYW5kIGhlaWdodCBhcmUgYXZhaWxhYmxlIGFzIHRoZXkgYXJlIG1hbmRhdG9yeQoJICBpbiBtYXRyb3NrYSBzcGVjcy4KCjIwMTAtMDEtMTEgMTE6NDI6NDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggb2Zmc2V0IGZvciB0eXBlIDIgbXA0YSBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBBbGxvd3MgdXMgdG8gY29ycmVjdGx5IGZpbmQgdGhlIGVzZHMgKGFuZCB0aHVzIHRoZSBjb2RlYyBkYXRhKSBmb3Igc3VjaAoJICBtcDRhIGZpbGVzLgoKMjAxMC0wMS0xMSAxNTo0NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgcnRwbXA0ZyhkZSlwYXk6IE9ubHkgaGFuZGxlIHJhdyBhYWMKCSAgcnRwbXA0ZyhkZSlwYXkgc2hvdWxkIG9ubHkgaGFuZGxlIHJhdyBBQUMgc3RyZWFtcwoKMjAxMC0wMS0xMSAxODo1OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGRyb3BzIGZyYW1lcyBpZiB0aGV5J3JlIHRvbyBsYXRlIGFueXdheSBiZWZvcmUgYmxlbmRpbmcgYW5kIGFsbAoJICB0aGF0IHN0YXJ0cyBidXQgUW9TIGV2ZW50cyBhcmUgbm90IGZvcndhcmRlZCB1cHN0cmVhbS4gSW4gdGhlIGZ1dHVyZQoJICB0aGUgUW9TIGV2ZW50cyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgc29tZWhvdyBhbmQgZm9yd2FyZGVkIHVwc3RyZWFtLgoKMjAxMC0wMS0xMSAxNDo0ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YShkZSlwYXk6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgcnRwbXA0YShkZSlwYXkgc2hvdWxkIG9ubHkgaGFuZGxlIHJhdyBhYWMgdG8gY29uZm9ybSB0byB0aGUgUkZDCgoyMDEwLTAxLTExIDE4OjM1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBBZGQgTU1YIGltcGxlbWVudGF0aW9ucyBmb3IgSTQyMCBhbmQgYWxsIG5vbi1hbHBoYSBSR0IgZm9ybWF0cwoKMjAxMC0wMS0wNCAxMDoyNDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogUmVmYWN0b3IgcHJvY2Vzc2luZyBmdW5jdGlvbnMKCSAgVGhpcyBhbGxvd3MgZWFzaWVyIHBsdWdnaW5nIG9mIG9wdGltaXplZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucwoJICBpbiB0aGUgZnV0dXJlLCBsaWtlIGZvciBTU0Ugb3IgQWx0aVZlYy4KCjIwMTAtMDEtMTEgMTM6MjY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXg6IG1hdHJvc2thbXV4OiByZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCB0byByYXcKCSAgQUFDJ3Mgbm9uZSBzdHJlYW0tZm9ybWF0IGhhcyBiZWVuIHJlbmFtZWQgdG8gcmF3LCByZW5hbWUKCSAgb24gYXZpbXV4IGFuZCBtYXRyb3NrYW11eCBhcyB3ZWxsCgoyMDEwLTAxLTExIDEyOjA3OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgbWFrZXMgbWF0cm9za2FtdXggcmVqZWN0IGFhYyBzdHJlYW1zIHRoYXQgYXJlIG5vdAoJICBpbiByYXcgZm9ybWF0IChzdHJlYW0tZm9ybWF0PW5vbmUpCgkgIEZpeGVzICM1OTgzNTAKCjIwMTAtMDEtMTEgMTI6MDg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIG1ha2VzIGF2aW11eCByZWplY3QgYWFjIHN0cmVhbXMgdGhhdCBhcmUgbm90CgkgIGluIHJhdyBmb3JtYXQgKHN0cmVhbS1mb3JtYXQ9bm9uZSkKCSAgRml4ZXMgIzU5ODM1MAoKMjAxMC0wMS0xMSAxMDozODoxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBPb3BzLiBUaGUgZ3BvaW50ZXIgY2FzdCBpcyBuZWVkZWQgYmVjYXVzZSBvZiB0aGUgY29uc3QgcXVhbGlmaWVycyBvbiB0aGUgZGF0YSBlbGVtZW50cwoKMjAxMC0wMS0xMSAxMDoxNzo1NCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEZWJ1ZyAtPiBpbmZvIGxldmVsIGZvciBhIG1lc3NhZ2UgZm9yIGJlbmNobWFya2luZyBpbmRleCBwYXJzaW5nCgkgIFRoZSBleHRyYSBtZXNzYWdlIG91dHB1dCBhdCBoaWdoZXIgbGV2ZWxzIGFmZmVjdHMgdGhlIGFjY3VyYWN5IG9mIHRoZQoJICBiZW5jaG1hcmsuCgoyMDEwLTAxLTExIDEwOjA1OjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGNoZWNrIGZvciBOVUxMIHBvaW50ZXJzIG9yIGNhc3QgdG8gZ3BvaW50ZXIgYXMgdGhpcyBpcyBub3QgbmVlZGVkCgoyMDEwLTAxLTA4IDEzOjU1OjA1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlZmFjdG9yIHN0Ymwgc3ViLWF0b20gZnJlZWluZy4gRnJlZSB3aGVuIGluZGV4IGhhcyBiZWVuIGNvbXBsZXRlbHkgcGFyc2VkLgoKMjAxMC0wMS0wOCAxNDozMjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBdm9pZCB3aGl0ZXNwYWNlIGNvbW1pdHMgZHVlIHRvIGluY29uc2lzdGVudCBHTlUgaW5kZW50IGJlaGF2aW91cgoKMjAxMC0wMS0xMSAwMDoxMDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBuZXdsaW5lIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDEtMDggMTk6MjY6MjEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQ29tcGlsZXIgd2FybmluZyBmaXhlcyBmb3IgV2luZG93cwoJICBKdXN0IHNpbXBsZSBtaXNzaW5nIGNhc3RzCgkgIEZpeGVzIGJ1ZyAjNjA2NDM4LgoKMjAxMC0wMS0wOCAxODowNDoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBzZWVrcG9pbnRzIHByb3BlcnR5IGNvcHktYW5kLXBhc3RlIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDYgMTc6MDY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IG9wdGlvbmFsbHkgYWRkIGEgc2VlayB0YWJsZQoJICBBUEk6IEdzdEZsYWNFbmM6c2Vla3BvaW50cwoJICBGaXhlcyAjMzUxNTk1LgoKMjAxMC0wMS0wOCAxMTozMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgbW9yZSBnbGliIGFuZCBiZSBzYWZlcgoJICBCZSBzYWZlciBvbiBzc2NhbmYgYnkgbGltaXRpbmcgc3RyaW5nIGZvcm1hdCBzaXplcy4KCSAgUmVtb3ZlIHVzZWxlc3MgcGFyYW1ldGVyIGFuZCB1c2UgZ19zdHJuZHVwLgoKMjAxMC0wMS0wOCAxMDo0NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTaW1wbGlmeWluZyBjb2RlCgkgIEdyZWF0bHkgc2ltcGxpZnkgdGhlIElESVQgY2h1bmsgaGFuZGxpbmcgYnkgdXNpbmcgc3NjYW5mCgkgIGluc3RlYWQgb2YgJ21hbnVhbGx5JyBwYXJzaW5nLiBBbHNvIHJlcGxhY2VzIHN0cm5jYXNlY21wIGFuZAoJICBpc19hbHBoYS9pc19kaWdpdCB3aXRoIGdsaWIgdmVyc2lvbnMuCgoyMDEwLTAxLTA4IDEwOjE4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGl0J3MgZmViIGZvciBmZWJydWFyeQoJICBGaXggdHlwbyBpbiBsYXN0IGNvbW1pdC4KCjIwMTAtMDEtMDggMDk6MTc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUGFyc2UgYW5kIHBvc3QgSURJVCBkYXRlcwoJICBQYXJzZXMgYW5kIHBvc3QgZGF0ZSB0YWdzIGNvbnRhaW5lZCBpbiBJRElUIGNodW5rcy4KCSAgRml4ZXMgIzUwMzU4MgoKMjAxMC0wMS0wNyAxNzoyNTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIHByb3BlcnR5IGZvciBub3QgZHJhaW5pbmcgdGhlIGhpc3Rvcnkgb24ga2VybmVsIGNoYW5nZXMKCSAgQ3VycmVudGx5IHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2VybmVsIHNpemUgZG9lc24ndCBjaGFuZ2UsIGluIHRoZSBmdXR1cmUKCSAgaXQgd2lsbCBiZSBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIGtlcm5lbCBzaXplIHRvbyB3aXRob3V0IGRyYWluaW5nCgkgIHRoZSBjb21wbGV0ZSBoaXN0b3J5IGFuZCB3aXRob3V0IGxvb3NpbmcgYW55dGhpbmcuCgkgIFBhcnRpYWxseSBiYXNlZCBvbiBhIHBhdGNoIGJ5CgkgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKMjAxMC0wMS0wNyAxNjo1ODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW1vdmUgd2VpcmQgbWVtY21wIGNvZGUKCSAgVXNlIHBsYWluIG1lbWNtcCBmb3IgY29tcGFyaW5nIG1lbW9yeSBpbnN0ZWFkIG9mIHRoZSBjdXN0b20gYnVnZ3kgb25lLgoJICBGaXhlcyAjNjA2MTk4CgoyMDEwLTAxLTA3IDE1OjM4OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggdHlwbyBpbiAnbWVzc2FnZScgcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMDEtMDYgMTQ6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZWFsbHkgdXNlIHVwc3RyZWFtIHRpbWVzdGFtcCBpZiB0aGVyZSBpcyBvbmUKCSAgU2VlL2ZpeGVzICM2MDM0NzEuCgoyMDEwLTAxLTA2IDEzOjQ1OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjhwYXk6IHJlbW92ZSB1bnVzZWQgYWRhcHRlciBwZWVrCgoyMDEwLTAxLTA1IDE5OjAwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHBhc3N0aHJvdWdoIHRlc3RzCgkgIEltcHJvdmUgcGFzc3Rocm91Z2ggdGVzdHMgYnkgZm9yY2luZyBtb3JlIHNwZWNpZmljCgkgIGludGVybGFjZWQvZGVpbnRlcmxhY2VkIGNhcHMgdG8gYmUgdGVzdGVkCgoyMDEwLTAxLTA1IDE4OjIyOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHNvbWUgZG9jcyB0byB0aGUgbmV3IHRlc3RzCgkgIEFkZHMgc29tZSBkb2NzIGV4cGxhaW5pbmcgdGhlIHV0aWxpdHkgZnVuY3Rpb25zIG9mIHRoZSBjaGVjawoJICB0ZXN0cyBvZiBkZWludGVybGFjZQoKMjAxMC0wMS0wNSAxODoxNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyB0ZXN0cyBmb3IgcGFzc3Rocm91Z2gKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgcmVhbGx5IGRvZXMKCSAgcGFzc3Rocm91Z2ggaW4gZGlzYWJsZWQgbW9kZSBhbmQgaW4gYXV0byAoaWYgdGhlIGlucHV0IGlzCgkgIG5vdCBpbnRlcmxhY2VkKQoKMjAxMC0wMS0wNSAwNzo1MDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgdGVzdHMgZm9yIGNhcHMgYWNjZXB0YW5jZQoJICBBZGRzIGNoZWNrIHVuaXQgdGVzdHMgZm9yIGRlaW50ZXJsYWNlIGZvciB2YWxpZGF0aW5nCgkgIGNhcHMgYWNjZXB0aW5nIGFuZCB0aGUgZXhwZWN0ZWQgY2FwcyBvdXRwdXQgb24gdGhlCgkgIG90aGVyIHBhZAoKMjAxMC0wMS0wNCAxMzo0MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgYmFzaWMgY2hlY2sgdGVzdAoJICBBZGRzIGEgYmFzaWMgY2hlY2sgdGVzdCBmb3IgZGVpbnRlcmxhY2UgZWxlbWVudAoKMjAxMC0wMS0wNCAxNTo0NDoyOCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igd2F2ZS1zdHlsZSBhdWRpbyBpbiBxdC4KCSAgVXNlcyBnc3RyaWZmIHRvIHBhcnNlIHRoZSB3YXZlIGhlYWRlcnMgYXBwcm9wcmlhdGVseS4gVGVzdGVkIHdpdGggTVMtQURQQ00KCSAgY29udGVudC4KCjIwMDktMTItMzEgMTc6MDk6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBBZGQgRy43MjkgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMzEgMTY6NTI6MzAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBTaW1wbGlmeSBhZGFwdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMzEgMTY6Mjc6MzAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBTdXBwb3J0IHB0aW1lIGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTAyIDE5OjM1OjIxICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwOiBBZGQgbWF4cHRpbWUgdG8gdGhlIFJFQURNRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDEwLTAxLTA1IDE5OjAzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSAgcnRwZzcyM2RlcGF5OiBhZGQgRzcyMyBkZXBheWxvYWRlcgoKMjAxMC0wMS0wNSAxOTowMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgIHJ0cGc3MjlkZXBheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wMS0wNSAxODozMzoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSAgcnRwZzcyM3BheTogcmV3cml0ZSBwYXlsb2FkZXIKCSAgSGFuZGxlIGFsbCAzIHBhY2tldCBzaXplcyBhY2NvcmRpbmcgdG8gUkZDIDM1NTEuCgkgIFRvdGFsbHkgdW50ZXN0ZWQsIHdlIGRvbid0IGhhdmUgYSBHNzIzIGVuY29kZXIuCgkgIEZpeGVzICM2MDU4ODIKCjIwMTAtMDEtMDUgMTE6NDc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjaHVuayBjb3VudGVyCgoyMDEwLTAxLTA0IDE5OjQ0OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3JlIHdvcmsgYXQgcmVkdWNpbmcgbG9vcCBvdmVyaGVhZAoJICBUcnkgdG8gYXZvaWQgZGVyZWZzIHdoZW4gcGFyc2luZyB0aGUgaW5kZXguIFNhdmUgdGhlIHN0YXRlIGludG8gdGhlIHN0cnVjdHVyZXMKCSAgd2hlbiB3ZSBleGl0IHRoZSBsb29wIGluc3RlYWQgb2YgZm9yIGVhY2ggaXRlcmF0aW9uLgoKMjAxMC0wMS0wNCAxNjozMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2xlYW51cHMgYW5kIG1ha2UgZHVyYXRpb24gbW9yZSBhY2N1cmF0ZQoJICBNYWtlIHRoZSBRdERlbXV4U2FtcGxlIHN0cnVjdCBzbWFsbGVyIGJ5IGtlZXBpbmcgdGhlIGR1cmF0aW9uIGFuZCB0aGUgcHRzX29mZnNldAoJICBhcyB0aGVpciAzMiBiaXQgdmFsdWVzLgoJICBNYWtlIHNvbWUgbWFjcm9zIHRvIGNhbGN1bGF0ZSBQVFMsIERUUyBhbmQgZHVyYXRpb24gb2YgYSBzYW1wbGUuCgkgIERlcmVmIHRoZSBzYW1wbGUgaW5kZXggbGVzcyBvZnRlbiBieSBrZWVwaW5nIGEgcmVmIHRvIHRoZSBzYW1wbGUgd2UncmUgZGVhbGluZwoJICB3aXRoLgoKMjAxMC0wMS0wNCAxMzo0MToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2ltcGxpZnkgbG9naWMgdG8gY2FsY3VsYXRlIGR1cmF0aW9uCgkgIFNpbmNlIHdlIG5vIGxvbmdlciBzdG9yZSB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiBpbiBuYW5vc2Vjb25kcywgd2UgY2FuIG5vdwoJICBzaW1wbHkgc3RvcmUgdGhlIGR1cmF0aW9uIGFzLWlzLgoKMjAxMC0wMS0wMSAxNjo0Mjo1NyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdG9yZSB0aW1lc3RhbXBzIGluIG1vdiBmb3JtYXQgaW4gdGhlIGluZGV4CgkgIFRoaXMgYWxsb3dzIGZhc3RlciBidWlsZGluZyBvZiB0aGUgaW5kZXggdXBvbiBzZWVrcyBzbyB0aGF0IHNjYWxpbmcgb2YKCSAgdGltZXN0YW1wcyBvbmx5IG9jY3VycyB3aGVuIGFjdHVhbGx5IG5lZWRlZC4KCjIwMDktMTItMTggMTM6NTQ6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc2Vla2luZyBpbiBwdXNoIG1vZGUgd29yawoJICBNb3ZlIHNhbXBsZSBwb3NpdGlvbiBjaGVja3MgaW50byBxdGRlbXV4X3BhcnNlX3NhbXBsZXMgd2hlcmUgd2UgY2FuIHByb3RlY3QgaXQKCSAgd2l0aCBhIGxvY2suCgkgIFJlZmFjdG9yIGFuZCBtYWtlIGFuIHF0ZGVtdXhfZW5zdXJlX2luZGV4IGZ1bmN0aW9uLgoJICBSZW5hbWUgcXRkZW11eF9kb19wdXNoX3NlZWsgdG8gcXRkZW11eF9zZWVrX29mZnNldCBpbiBvcmRlciB0byBhdm9pZCBjb25mdXNpb24KCSAgd2l0aCBnc3RfcXRkZW11eF9kb19wdXNoX3NlZWsuCgoyMDA5LTEyLTE4IDEyOjQ0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIGVycm9yIGNvZGUgb3V0IG9mIG5vcm1hbCBmbG93CgoyMDA5LTExLTI0IDE2OjI3OjI2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkIHB1c2ggbW9kZSBzZWVrIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gb2J0YWluIHRoZSBtb292IGF0b20KCjIwMTAtMDEtMDUgMTI6MjI6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBvbi1ucHQtc3RvcCBzaWduYWwgd2FybmluZ3MgZm9yIFJEVAoJICBUaGUgUkRUIG1hbmFnZXIgZG9lcyBub3QgaW1wbGVtZW50IHRoaXMgc2lnbmFsIHNvIHdlIG5lZWQgdG8gY2hlY2sgZm9yIGl0IGJlZm9yZQoJICB0cnlpbmcgdG8gY29ubmVjdCB0byBpdC4KCjIwMTAtMDEtMDUgMDk6NDc6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gbmV3IHVyaSBoYW5kbGVyIGNvZGUKCSAgRG9uJ3QgbGVhayBhIHN0cmluZyBldmVyeXRpbWUgZ2V0X3VyaSgpIGlzIGNhbGxlZCBhbmQgYSBkZXZpY2UKCSAgaGFzIGJlZW4gc2V0LiBUaGVyZSdzIGEgbGltaXRlZCBudW1iZXIgb2YgZGV2aWNlcywgc28ganVzdAoJICBpbnRlcm4gdGhlIHN0cmluZyBpbnN0ZWFkIG9mIGRvaW5nIG1vcmUgZWxhYm9yYXRlIGhvdXNla2VlcGluZwoJICBhbmQgc3RvcmluZyBpdCBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IG9yIHNvLgoKMjAxMC0wMS0wMSAxNDoxMDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggdHlwbyBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTAtMDEtMDQgMDk6Mjg6MzYgLTAzMDAgIFJvYmVydCBXZWlkbGljaCA8Z25vbWVidWd6aWxsYUByb2JlcnQud2VpZGxpY2guY2M+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBBZGQgJ3B1YmxpYycgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldCAncHVibGljJyBmbGFnIG9uIGxpYnNob3V0LCBtYWtpbmcKCSAgdGhlIHN0cmVhbSBsaXN0ZWQgb24gdGhlIHNlcnZlcidzIHN0cmVhbSBkaXJlY3RvcnkuCgkgIEZpeGVzICM2MDUyNjkKCjIwMDktMTItMzAgMTQ6MTQ6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgdGFncyBmb3IgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlCgkgIEZpeGVzICM1OTkzMDAuCgoyMDA5LTEyLTI2IDE2OjU5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBkbyBub3QgdHJ5IHRvIGFsbG9jIHJlYWxseSBsYXJnZSBidWZmZXJzCgkgIFdoZW4gbnNhbXBsZXNfb3V0IGlzIGxhcmdlciB0aGFuIG5zYW1wbGVzX2luLCB1c2luZyB1bnNpZ25lZAoJICBpbnRzIGxlYWQgdG8gYSBvdmVyZmxvdyBhbmQgdGhlIHJlc3VsdGluZyB2YWx1ZSBpcyB3cm9uZyBhbmQKCSAgd2F5IHRvbyBsYXJnZSBmb3IgYWxsb2NhdGluZyBhIGJ1ZmZlci4gVXNlIHNpZ25lZCBpbnRlZ2VycwoJICBhbmQgcmV0dXJuaW5nIGltbWVkaWF0ZWxseSB3aGVuIHRoYXQgaGFwcGVucy4KCjIwMDktMTItMjUgMTI6Mzg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IG9wdGltaXplIGJsZW5kIGNvZGUgc29tZSBtb3JlCgkgIFVzZSBtb3JlIGVmZmljaWVudCBmb3JtdWxhIHRoYXQgdXNlcyBsZXNzIG11bHRpcGxpZXMuCgkgIFJlZHVjZSB0aGUgYW1vdW50IG9mIHNjYWxhciBjb2RlLCB1c2UgTU1YIHRvIGNhbGN1bGF0ZSB0aGUgZGVzaXJlZAoJICBhbHBoYSB2YWx1ZS4KCSAgVW5yb2xsIGFuZCBoYW5kbGUgMiBwaXhlbHMgaW4gb25lIGl0ZXJhdGlvbiBmb3IgaW1wcm92ZWQgcGFpcmluZy4KCjIwMDktMTItMjQgMjI6NTk6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSAgdmlkZW9taXhlcjogc2NhbGUgYW5kIGNsYW1wCgkgIFNjYWxlIGFuZCBjbGFtcCB0byB0aGUgbWF4IGFscGhhIHZhbHVlcy4KCjIwMDktMTItMjQgMjI6NTA6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IHNjYWxlIGFuZCBjbGFtcCBhbHBoYSB0byBpdHMgZnVsbCBleHRlbmQKCSAgQ29udmVydCB0aGUgYWxwaGEgdmFsdWUgdG8gMC0+MjU1IHdoZW4gc2V0dGluZyBhbmQgdG8gMC0+MjU2IHdoZW4gdXNpbmcgYXMKCSAgYSBzY2FsaW5nIGZhY3Rvci4gVGhpcyBtYWtlcyBzdXJlIHdlIGNhbiByZWFjaCB0aGUgZnVsbCBvcGFjaXR5IHZhbHVlIG9mIDB4ZmYgaW4KCSAgYWxsIGNhc2VzLgoKMjAwOS0xMi0yNCAyMjoyMzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNvbWUgY29tbWVudHMsIHJlbW92ZSBwcm9wZXJ0eSBjaGVjawoJICBGaXggc29tZSBjb21tZW50cywgY2xhcmlmeSBzb21lIEZJWE1FcwoJICBSZW1vdmUgdGhlIG9uLW50cC1zdG9wIHNpZ25hbCBjaGVjayBub3cgdGhhdCB0aGUgaml0dGVyYnVmZmVyIGlzIGluCgkgIC1nb29kIGFuZCB3ZSBrbm93IHRoYXQgaXQgc3VwcG9ydHMgdGhpcyBzaWduYWwuCgoyMDA5LTEyLTI0IDIwOjI3OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBzb21lIHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMTItMjQgMTc6MDQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQYXJzZSBhbGwgcnRwaW5mbyBlbnRyaWVzCgkgIERvIG5vdCBmb3JnZXQgdG8gcGFyc2UgYWxsIHJ0cC1pbmZvIGVudHJpZXMsIGluc3RlYWQgb2YKCSAgcGFyc2luZyB0aGUgZmlyc3Qgb25lIG9ubHkuCgkgIEZpeGVzICM2MDUyMjIKCjIwMDktMTItMjIgMTI6NDQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwZXJmIHRhZyBzaG91bGQgbWFwIHRvIEdTVF9UQUdfQVJUSVNUCgoyMDA5LTEyLTI0IDE3OjAzOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggd2VpcmQgaW5kZW50YXRpb24KCjIwMDktMTItMjQgMTc6MDE6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiB1c2UgZmFzdGVyIF9hZGFwdGVyX2NvcHkoKSB3aGVtIHBvc3NpYmxlCgoyMDA5LTEyLTI0IDE3OjAxOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJICB0ZXN0czogdXNlIHJpZ2h0IHR5cGUgd2hlbiBwYXNzaW5nIHZhcmFyZyB2YWx1ZQoKMjAwOS0xMi0yMyAxNzo1MDozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogdXNlIGEgc2luZ2xlIGRlY29kZXIgZmllbGQgZm9yIGJvdGggcHVzaCBhbmQgcHVsbCBtb2RlCgoyMDA5LTEyLTIzIDE3OjAzOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHBvc3NpYmxlIGhhbmdpbmcgaW4gcHVsbCBtb2RlIHNlZWtpbmcKCSAgQSBzZWVrIGluIG11bHRpLXNpbmsgcGlwZWxpbmUgdHlwaWNhbGx5IGxlYWRzIHRvIHNldmVyYWwgc2VlayBldmVudHMgaW4gYSByb3csCgkgIHdoaWNoIGNvdWxkIGxlYWQgdG8gc2VuZGluZyBzZXZlcmFsIG5ld3NlZ21lbnRzIGluIGEgcm93IHdpdGhvdXQgaW50ZXJtZWRpYXRlCgkgIGZsdXNoaW5nLiAgVGhlc2Ugd291bGQgdGhlbiBhY2N1bXVsYXRlLCBkaXN0b3J0IHJlbmRlcmluZyB0aW1lcyBhbmQgYXMgc3VjaAoJICBsZWFkIHRvICdoYW5naW5nJy4KCjIwMDktMTItMjMgMTk6Mzk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDA5LTEyLTIzIDEzOjA5OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiB1c2UgYm9pbGVycGxhdGUKCjIwMDktMTItMjMgMDA6Mzg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBydHBMMTZwYXk6IGNvbnZlcnQgdG8gYmFzZWF1ZGlvcGF5bG9hZAoJICBVc2UgR3N0UlRQQmFzZUF1ZGlvUGF5bG9hZCBhcyB0aGUgYmFzZSBjbGFzcy4gVGhpcyBzYXZlcyBhIGxvdCBvZiBjb2RlIGFuZCBmaXhlcwoJICBhIGJ1bmNoIG9mIHByb2JsZW1zIHRoYXQgd2VyZSBhbHJlYWR5IHNvbHZlZCBpbiB0aGUgYmFzZSBjbGFzcy4KCSAgRml4ZXMgIzg1MzM2NwoKMjAwOS0xMi0yMyAwMDozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICBydHBwY21hcGF5OiB0aGUgYm9pbGVycGxhdGUgbWFjcm8gc2V0cyBwYXJlbnRfY2xhc3MKCjIwMDktMTItMjIgMjI6Mjc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhdm9pZCBzb21lIHN0cnVjdHVyZSBjb3BpZXMKCSAgRG9uJ3QgbWFrZSBjb3BpZWQgaW4gdGhlIGdldHRlciBhbmQgc2V0dGVyIGZvciBTREVTIGluIHRoZSBSVFBTb3VyY2UuIFRoaXMKCSAgYXZvaWRzIGEgY291cGxlIG9mIGNvcGllcyBvZiB0aGUgU0RFUyBzdHJ1Y3R1cmUgd2hlbiBnZW5lcmF0aW5nIFJUQ1AKCSAgcGFja2V0cy4KCjIwMDktMDgtMzEgMTg6NDI6MjUgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cG1hbmFnZXI6IGltcHJvdmUgU0RFUyBoYW5kbGluZwoJICBTdG9yZSBTREVTIGludGVybmFsbHkgYXMgYSBzdHJ1Y3QgdG8gc3VwcG9ydCBtdWx0aXBsZSBQUklWIHZhbHVlcy4KCSAgSW5jbHVkZSBhbGwgdmFsdWVzIHNldCBpbiBTREVTIHN0cnVjdCB3aGVuIHNlbmRpbmcgUlRDUCBTREVTLgoKMjAwOS0xMi0yMiAxNDo0MTozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYWRkIHNvbWUgZml4bWVzCgoyMDA5LTEyLTIyIDE0OjM1OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBiYXNlY2xhc3MgaGFuZGxlcyB0aW1lc3RhbXBzIGZvciB1cwoKMjAwOS0xMi0yMiAxNDoyNzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogcmVzZXQgc3RhcnQgdmFyaWFibGUgcHJvcGVybHkKCjIwMDktMDUtMjkgMTU6NDk6MjcgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBEcm9wIHRoZSB3aG9sZSBmcmFtZSBpZiBhIHBhY2tldCBpcyBsb3N0LgoJICBGaXhlcyAjNTgyNTc1CgoyMDA5LTEyLTIxIDIwOjM5OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBhZGQgb3B0aW9uIHRvIGluc2VydCBQUFMvU1BTIGluIHN0cmVhbXMKCSAgQWRkIGEgbmV3IHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBTUFMgYW5kIFBQUyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbS4KCSAgUmV3b3JrIHRoZSBTUFMvUFBTIGhhbmRsaW5nIHNvIHRoYXQgYnl0ZXN0cmVhbSBhbmQgQVZDIHNhbXBsZSBjb2RlIGJvdGggdXNlIHRoZQoJICBzYW1lIGNvZGUgcGF0aHMgdG8gaGFuZGxlIHNwcm9wLXBhcmFtZXRlci1zZXRzLiBUaGlzIGFsc28gYWxsb3dzIHRvIGhhdmUgdGhlIEFWQwoJICBjb2RlIHRvIGluc2VydCBTUFMvUFBTIGxpa2UgdGhlIGJ5dGVzdHJlYW0gY29kZS4KCSAgRml4ZXMgIzYwNDkxMwoKMjAwOS0xMi0yMSAxOToxMjoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3Y2IyM2EgdG8gMTRjZWM4OQoKMjAwOS0xMi0yMSAxMjowMTo1MyAtMDMwMCAgSm9uYXRoYW4gQ29uZGVyIDxqQHNrdXJ2eS5uby1pcC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkcyBuZXcgdGFncwoJICBBZGRzIHNvbWUgbmV3IHRhZ3MgbWFwcGluZyB0byBxdGRlbXV4LgoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTIxIDE1OjA1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHByb3BlcnR5IHRvIHJlbW92ZSBwYWRzIGF1dG9tYXRpY2FsbHkKCSAgQWRkIGEgcHJvcGVydHkgY2FsbGVkIGF1dG9yZW1vdmUgdG8gYXV0b21hdGljYWxseSByZW1vdmUgdGhlIHBhZHMgb2Ygc291cmNlcwoJICB0aGF0IHRpbWVkIG91dC4KCSAgRml4ZXMgIzU1NDgzOQoKMjAwOS0xMi0yMSAxNDo1NToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IGZpeCBjb21wYXJpc29uCgkgIEEgTlVMTCBtZWFucyBubyBwYWQgd2FzIGZvdW5kLgoKMjAwOS0xMS0wOCAxMTo0OToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQWRkIEdzdFVSSUhhbmRsZXIgaW50ZXJmYWNlLiBGaXhlcyAjNjAxMTQzCgkgIFRoaXMgYWxsb3dzIHVzaW5nIHY0bDI6Ly9bPGRldmljZT5dCgoyMDA5LTEyLTIwIDE3OjI0OjQ3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHBhc3MgbGVuZ3RoIHBhcmFtZXRlciB0byBnX2NvbnZlcnQKCjIwMDktMTItMTggMTI6NDQ6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCSAgWWVzLCBpdCdzIHN0dXBpZCwgYnV0IG1hY29zeCBjb21waWxlcnMgYXJlIGV2ZW4gbW9yZSBzdHVwaWQuCgoyMDA5LTEyLTE3IDE2OjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogRml4IGFzc2VtYmx5IGNvbXBpbGF0aW9uIG9uIHg4NgoJICBGaXhlcyBidWcgIzYwNDgxNC4KCjIwMDktMTItMTcgMTc6Mzc6MDMgKzAxMDAgIEJyYW5rbyDEjGliZWogPGJyYW5lIGF0IHhiYy5udT4KCgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogZml4IHRpbWVzdGFtcCByb3VuZGluZwoJICBVc2Ugc2NhbGluZyBmdW5jdGlvbiB0byByb3VuZCBhbmQgYXZvaWQgb3ZlcmZsb3dzLgoJICBGaXhlcyAjNjA0MzUyCgoyMDA5LTEyLTE3IDE3OjI3OjQyICswMTAwICBUaWFnbyBLYXRjaXBpcyA8dGlhZ28ua2F0Y2lwaXNAZGlnaXRyby5jb20uYnI+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkgIHJ0cDogYWRkIEc3MjMgcGF5bG9hZGVyCgkgIEZpeGVzICM1OTc4MjMKCjIwMDktMTItMTcgMTY6MjI6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogRml4IEFMQUMgY29kZWNfZGF0YSBwYXJzaW5nCgkgIEZpeGVzICM2MDQ2MTEKCjIwMDktMTItMTYgMTc6Mjg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgY3BwIHN0eWxlIGNvbWVudHMKCSAgUmVtb3ZlcyAvLyBjb21tZW50cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggLyogKi8gY29tbWVudHMKCjIwMDktMTItMTYgMTI6NDg6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBhbHNvIGNvbnNpZGVyIEJsb2NrTnVtYmVyIGluZGljYXRlZCBpbiBpbmRleCB3aGVuIHNlZWtpbmcKCjIwMDktMTItMTYgMTI6NDM6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogc3VwcG9ydCBwdXNoIGJhc2VkIG1vZGUKCSAgRml4ZXMgIzU5ODYxMC4KCjIwMDktMTItMTYgMTI6NDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggZWJtbCByZWFkIGNhY2hlIHVzYWdlCgoyMDA5LTEyLTE2IDEwOjUwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogVXNlIG1vdnpibCBpbnN0ZWFkIG9mIG1vdnp4YiBmb3IgbW92aW5nIG9uZSBieXRlIHRvIGEgbCByZWdpc3RlcgoJICBGb3Igc29tZSByZWFzb24gbGF0ZXN0IGdjYy9iaW51dGlscyBhY2NlcHQgbW92enhiIGhlcmUgd2hpbGUKCSAgbW92emJsIHdvdWxkIGJlIGNvcnJlY3QgYW5kIGlzIHRoZSBvbmx5IHRoaW5nIGFjY2VwdGVkIGJ5IG9sZGVyCgkgIGdjYy9iaW51dGlscy4KCSAgRml4ZXMgYnVnICM2MDQ2NzkuCgoyMDA5LTEyLTE2IDA2OjU5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogc3JjL2Rlc3QgYXJlIGlucHV0IGFuZCBvdXRwdXQgb2YgdGhlIEFZVVYgYmxlbmRpbmcgTU1YIGFzc2VtYmxlcgoKMjAwOS0xMi0xNSAxODoxODo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogVXNlIHRoZSBzYW1lIHVwcGVyIGxlbmd0aCBsaW1pdCBhcyBhdWRpb3dzaW5jbGltaXQKCjIwMDktMTItMTIgMTc6MDA6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmN7bGltaXQsYmFuZH06IEFsbG93IG11Y2ggbGFyZ2VyIGZpbHRlciBsZW5ndGhzIG5vdwoKMjAwOS0xMi0xMSAxMjoyNzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRml4IGZyZXF1ZW5jeSByZXNwb25zZSBjYWxjdWxhdGlvbgoKMjAwOS0xMi0wOCAxNDo1NzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMDktMTItMDYgMTY6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBzcGVjaWFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGZvciBNb25vL1N0ZXJlbwoJICBUaGlzIHByb3ZpZGVzIGFub3RoZXIgNyUgc3BlZWR1cCBmb3IgdGhlIHRpbWUgZG9tYWluIGNvbnZvbHV0aW9uIGFuZCAxLjUlCgkgIHNwZWVkdXAgZm9yIHRoZSBGRlQgY29udm9sdXRpb24gb24gTW9ubyBpbnB1dC4KCSAgVGhpcyBvcHRpbWl6YXRpb24gYXNzdW1lcyB0aGF0IHRoZSBjb21waWxlciBzaW1wbGlmaWVzIGNhbGN1bGF0aW9ucwoJICBhbmQgY29uZGl0aW9ucyBvbiBjb25zdGFudCBudW1iZXJzIGFuZCB1bnJvbGxzIGxvb3BzIHdpdGggYSBjb25zdGFudAoJICBudW1iZXIgb2YgcmVwZWF0cy4KCjIwMDktMTItMDQgMDk6MjU6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBhICJsb3ctbGF0ZW5jeSIgbW9kZQoJICBUaGlzIHdpbGwgYWx3YXlzIHVzZSB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiwgd2hpY2ggbG93ZXJzIHRoZSBsYXRlbmN5LgoJICBXaXRoIEZGVCBjb252b2x1dGlvbiBpdCdzIGFsd2F5cyBhIG11bHRpcGxlIG9mIHRoZSBrZXJuZWwgbGVuZ3RoLAoJICB3aXRoIHRpbWUgZG9tYWluIGNvbnZvbHV0aW9uIGl0J3Mgb25seSB0aGUgcHJlLWxhdGVuY3kgb2YgdGhlIGZpbHRlciBrZXJuZWwuCgoyMDA5LTEyLTA0IDA5OjAwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW1vdmUgb2Jzb2xldGUgVE9ETyBjb21tZW50cwoKMjAwOS0xMi0wMyAyMDoxMjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogVXNlIHNhbXBsZXMgZXZlcnl3aGVyZSBpbnN0ZWFkIG9mIHNhbXBsZXMqY2hhbm5lbHMgc29tZXRpbWVzCgoyMDA5LTEyLTAzIDE3OjI3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRkZUIGNvbnZvbHV0aW9uIGltcGxlbWVudGF0aW9uCgkgIFRoaXMgcHJvdmlkZXMgYSBncmVhdCBzcGVlZHVwLCBlc3BlY2lhbGx5IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBrZXJuZWwKCSAgbGVuZ3RoIGFuZCBwcm9jZXNzaW5nIHNpemUgaXMgbm93IGxvZ2FyaXRobWljIGluc3RlYWQgb2YgbGluZWFyLiBCZWxvdyBhCgkgIGtlcm5lbCBzaXplIG9mIDMyIGl0J3MgYSBiaXQgc2xvd2VyLCBhZnRlcndhcmRzIGl0J3MgbXVjaCBmYXN0ZXI6CgkgIDE3ICAgICAwLjc4ODAwMCAtPiAwLjk1MDAwMAoJICAzMyAgICAgMS4yMDgwMDAgLT4gMS4xNDYwMDAKCSAgNjUgICAgIDIuMTY2MDAwIC0+IDEuMTQ2MDAwCgkgIC4uLgoJICA0MDk3IDEwNy40NDQwMDAgLT4gMS41MDgwMDAKCSAgRm9yIHNpemVzIHNtYWxsZXIgMzIgdGhlIG5vcm1hbCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiBpcyBjaG9zZW4sCgkgIGZvciBsYXJnZXIgc2l6ZXMgdGhlIEZGVCBjb252b2x1dGlvbiBpcyBhdXRvbWF0aWNhbGx5IHVzZWQuCgkgIEZpeGVzIGJ1ZyAjNTk0MzgxLgoKMjAwOS0xMS0yNyAyMDozMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogTWFrZSBtb3N0IGNvZGUgcGFydHMgaW5kZXBlbmRlbnQgb2YgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFuZCB1c2VkIGNvbnZvbHV0aW9uIGFsZ29yaXRobQoJICBPbmx5IHJlbWFpbmluZyBwYXJ0IGlzIHRoZSByZXNpZHVlIHB1c2hpbmcsIHdoaWNoIHdpbGwgYmUgZml4ZWQgbGF0ZXIuCgoyMDA5LTExLTI2IDE1OjE3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBPcHRpbWl6ZSB0aW1lLWRvbWFpbiBjb252b2x1dGlvbgoJICBSZW1vdmUgc29tZSByZWR1bmRhbnQgY2FsY3VsYXRpb25zLCBtb3ZlIGNvbXBhcmlzaW9ucyBvdXQgb2YKCSAgaW5uZXIgbG9vcHMsIGV0Yy4KCSAgVGhpcyBtYWtlcyB0aGUgY29udm9sdXRpb24gYWJvdXQgMyAoISkgdGltZXMgZmFzdGVyIGJ1dAoJICBwcm9jZXNzaW5nIHRpbWUgaXMgb2YgY291cnNlIHN0aWxsIHByb3BvcnRpb25hbCB0byB0aGUKCSAgZmlsdGVyIHNpemUuCgoyMDA5LTExLTI2IDEwOjQ1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBVc2UgX0NBU1QgbWFjcm9zIGluIHNvbWUgcGxhY2VzIGFuZCBkbyBzb21lIGNhbGN1bGF0aW9ucyBvbmx5IG9uY2UKCjIwMDktMTEtMjUgMTg6MTI6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nCgkgIEl0J3MgbXVjaCBzaW1wbGVyIG5vdyBhbmQgZG9lc24ndCBpbnRyb2R1Y2UgYWNjdW11bGF0aW5nIHJvdW5kaW5nCgkgIGVycm9ycy4KCjIwMDktMTEtMjUgMTc6Mzk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBhbmQgY2hhbmdlIGNvbW1lbnRzCgoyMDA5LTExLTI0IDIwOjA2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHRoZSBzb3VyY2UgZGF0YSBhcnJheQoKMjAwOS0xMi0xNCAyMDowODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBNTVggaW1wbGVtZW50YXRpb25zIG9mIHRoZSBBWVVWIGJsZW5kaW5nIGFuZCBjb2xvciBmaWxsaW5nIGZ1bmN0aW9ucwoJICBUaGlzIHByb3ZpZGVzIGEgMjAlIHNwZWVkdXAgZm9yIGJsZW5kaW5nIGFuZCAxMDAlIGZvciBjb2xvciBmaWxsaW5nLgoJICBUaGUgYmxlbmRpbmcgY2FuIHByb2JhYmx5IGJlIG9wdGltaXplZCBldmVuIG1vcmUuCgoyMDA5LTEyLTEzIDEzOjE5OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogcHJlZmVyIHR3byBsZXR0ZXIgSVNPIDYzOS0xIGNvZGUgZm9yIGV4dGVuZGVkIGNvbW1lbnQKCjIwMDktMTItMTMgMTM6MTA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdXAgbGFuZ3VhZ2UgY29kZSBleHRyYWN0aW9uIHNvbWUgbW9yZQoJICBRdWlja3RpbWUgdXNlcyBJU08gNjM5LTIgZm9yIGxhbmd1YWdlIGNvZGVzLCBidXQgR1NUX1RBR19MQU5HVUFHRQoJICBpcyBzdXBwb3NlZCB0byBob2xkIGEgSVNPIDYzOS0xIGNvZGUsIHNvIGNvbnZlcnQgYXMgbmVlZGVkIHVzaW5nCgkgIHRoZSBuZXcgQVBJIGZyb20gLWJhc2UuCgkgIFNlZSAjNjAyMTI2LgoKMjAwOS0xMi0xMyAxMjo0NToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogZml4IGxhbmd1YWdlIGNvZGUgd3JpdGluZyBhbmQgZXh0cmFjdGlvbgoJICBNYXRyb3NrYSB1c2VzIHRocmVlLWxldHRlciBJU08gNjM5LTJCIGNvZGVzLCBidXQgR1NUX1RBR19MQU5HVUFHRSBpcwoJICBzdXBwb3NlZCB0byBjb250YWluIHR3by1sZXR0ZXIgSVNPIDYzOS0xIGNvZGVzLCBzbyB1c2UgbmV3IGxhbmd1YWdlCgkgIGNvZGUgbWFwcGluZyBmdW5jdGlvbnMgaW4gLWJhc2UgdG8gY29udmVydCBiZXR3ZWVuIHRob3NlIHR3byBhcwoJICBuZWVkZWQuCgkgIEZpeGVzICM1MDU4MjMuCgoyMDA5LTEyLTA3IDIwOjU0OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1pbm9yIGRlYnVnIG1lc3NhZ2UgY2hhbmdlcwoJICBGaXggdXAgYSBmZXcgZGVidWcgbWVzc2FnZXMgc28gdGhhdCBpdCdzIGNsZWFyZXIgd2hhdCB0aGV5IG1lYW4uCgoyMDA5LTEyLTEyIDE3OjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgY2xhc3NpZmljYXRpb24gdGFncyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjZDg4M2FhNjBjMTEzMzE5NmE2YWUwNTI4ODRkMTVjMjk1YzM3ZGRlLgoJICBQcmV2aW91cyBjb2RlIHdhcyBjb3JyZWN0LCA0IGlzIGR1ZSB0byB0YWJsZSBhbmQgbGFuZ3VhZ2UgY29kZSwKCSAgbm90IG9ubHkgbGFuZ3VhZ2UgY29kZQoKMjAwOS0xMi0xMiAxNjoyODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBjbGFzc2lmaWNhdGlvbiB0YWdzCgkgIEluIGNsc2YgYXRvbXMsIHRoZSBsYW5ndWFnZSBjb2RlIGlzIDIgYnl0ZXMgbG9uZywgbm90IDQuCgoyMDA5LTEyLTEyIDE2OjU1OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRGVxdWV1ZSBjdXJyZW50IGJ1ZmZlciBvbiBGTFVTSF9TVE9QIGFuZCBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcnMKCSAgLi4uIE5VTEwgYnVmZmVycyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiBhbnltb3JlIHdoZW4gcG9wcGluZyB0aGUKCSAgYnVmZmVyIGZyb20gR3N0Q29sbGVjdFBhZHMgYnV0IGJldHRlciBjaGVjayBmb3IgdGhpcyBhbmQgcHJpbnQgYSB3YXJuaW5nLgoKMjAwOS0xMi0xMSAxMzoxMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzdHVwaWQgbWlzdGFrZSBpbiBsYXN0IGNvbW1pdAoKMjAwOS0xMi0xMSAxMjozNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGRvIGZsb2F0aW5nIHBvaW50IG1hdGggaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcCBmb3IgSTQyMCBibGVuZGluZwoKMjAwOS0xMi0xMCAxODo0Mzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgYW5kIGVtcHR5IHRyYW5zcG9ydCBzdHJpbmdzCgkgIFdoZW4gYW4gUlRTUCBleHRlbnNpb24gcmV0dXJucyBOVUxMIG9yIGFuIGVtcHR5IHRyYW5zcG9ydCBzdHJpbmcsIGp1c3QgaWdub3JlIGl0CgkgIGFuZCB0cnkgdG8gZ2V0IHRoZSBuZXh0IHBvc3NpYmxlIHRyYW5zcG9ydC4gRml4ZXMgcGxheWJhY2sgb2YgUmVhbE1lZGlhIHN0cmVhbXMuCgoyMDA5LTEyLTEwIDE4OjQyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbnN0YWxsIGV2ZW50IGZ1bmN0aW9uIG9uIGludGVybmFsIFJUQ1AgcGFkCgkgIEluc3RhbGwgYSBjdXN0b20gZXZlbnQgZnVuY3Rpb24gb24gdGhlIGludGVybmFsIFJUQ1AgcGFkIHNvIHRoYXQgd2UgY2FuIHJlcGx5CgkgIFRSVUUgdG8gYSBsYXRlbmN5IGV2ZW50LgoKMjAwOS0xMi0xMCAxMDo0ODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB3cm9uZyBjb21tZW50cywgY29waWVkIGZyb20gdGhlIEk0MjAgYmxlbmQgZnVuY3Rpb24KCjIwMDktMTItMDkgMjE6MTU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBUaGUgcXVldWVkIGR1cmF0aW9uIGlzIGEgc2lnbmVkIGludGVnZXIKCSAgLi4uYW5kIGl0IHdpbGwgcmVhbGx5IGJlIG5lZ2F0aXZlIHNvbWV0aW1lcy4KCjIwMDktMTItMDkgMjE6MDM6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPbmx5IHBvcCBidWZmZXJzIGZyb20gY29sbGVjdHBhZHMgYWZ0ZXIgdGhleSdyZSBmdWxseSBjb25zdW1lZAoJICBUaGlzIGRlY3JlYXNlcyBsYXRlbmN5IGFuZCBtZW1vcnkgdXNhZ2UgYmVjYXVzZSBuZXcgYnVmZmVycyBhcmUgb25seQoJICBhY2NlcHRlZCBieSBjb2xsZWN0cGFkcyBpZiB0aGVyZSdzIG5vIHF1ZXVlZCBidWZmZXIuCgoyMDA5LTEyLTA5IDIwOjQyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogQ2xlYW4gdXAgcG9zaXRpb24vZHVyYXRpb24gaGFuZGxpbmcKCSAgQWxzbyB1c2UgdGhlIGxhc3QgZW5kIHRpbWUgZm9yIGNsb3NpbmcgdGhlIHNlZ21lbnQsIG5vdCB0aGUKCSAgc3RhcnQgdGltZSBvZiB0aGUgbGFzdCBidWZmZXIuCgoyMDA5LTEyLTA5IDE2OjUwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbG9zZSB0aGUgc2VnbWVudCBvbiBFT1MgaWYgdGhlIHJlYWwgZHVyYXRpb24gaXMga25vd24KCjIwMDktMTItMDkgMTY6NDY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVwZGF0ZSBkdXJhdGlvbiBpZiBjdXJyZW50IGJ1ZmZlciBpcyBhbHJlYWR5IGFmdGVyIHRoZSBvbGQgZHVyYXRpb24KCjIwMDktMTItMDkgMTY6NDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERyb3AgYnVmZmVycyB0aGF0IGFyZSBhZnRlciBzZWdtZW50IHN0b3AKCSAgLi4uYW5kIGlmIHRoaXMgaGFwcGVuZWQgZm9yIGFsbCBzdHJlYW1zIGdvIEVPUy4KCjIwMDktMTItMDkgMTY6NDE6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NpdGlvbiB0cmFja2luZyBhbmQgc2VuZGluZyBvZiBmaWxsZXIgc2VnbWVudHMKCjIwMDktMTItMDkgMTY6MTU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCgpIGZvciBmcHMgdG8gc2Vjb25kcyBwZXIgZnJhbWUgY2FsY3VsYXRpb25zCgoyMDA5LTEyLTA4IDE3OjM0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBLZWVwIHRoZSBzZWdtZW50IHN0b3AgcG9zaXRpb24gZm9yIHVwZGF0ZSBuZXdzZWdtZW50IGV2ZW50cwoKMjAwOS0xMi0wNCAxNDo0Mjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9sb2FkLmM6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgbGFkc3BhOiBSZW1vdmUgdGhlIHNvdXJjZXMgZnJvbSBnc3QtcGx1Z2lucy1nb29kCgkgIEl0J3MgZGlzYWJsZWQgYW55d2F5IGFuZCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgaXQgaXMgaW4KCSAgZ3N0LXBsdWdpbnMtYmFkLiBGaXhlcyBidWcgIzYwMzc3OS4KCjIwMDktMTItMDQgMTM6NTA6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0IGN1cnJlbnRfZW50cnkgaW4gcHVzaCBtb2RlCgkgIFNldCB0aGUgY3VycmVudF9lbnRyeSB0byAwIChpbnN0ZWFkIG9mIC0xKSBpbiBwdXNoIG1vZGUgc28gdGhhdCB3ZSBjb3JyZWN0bHkKCSAgY2FsY3VsYXRlIHRoZSBjdXJyZW50IGZyYW1lIG51bWJlciBhbmQgdGltZXN0YW1wLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGZpYyB0aGUgZHVyYXRpb24gZGVidWcuCgoyMDA5LTEyLTA0IDExOjE0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1ham9yIG1lbW9yeSBsZWFrIHdoZW4gcGxheWluZyBiYWNrIHJ0c3AgdmlkZW8gc3RyZWFtcwoJICBEb24ndCBmb3JnZXQgdG8gdW5yZWYgUW9TLCBuYXZpZ2F0aW9uIGFuZCBsYXRlbmN5IGV2ZW50cyB3aGVuCgkgIGRyb3BwaW5nIHRoZW0uCgoyMDA5LTEyLTAzIDA4OjU4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHNlbmQgcGVuZGluZyB0YWdzIHdpdGggbmV3c2VnbWVudCBldmVudHMKCSAgU2VuZCBwZW5kaW5nIHRhZ3Mgb25seSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBqdXN0IGFmdGVyIHdlJ3ZlIHNlbnQKCSAgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIG5vdCB3aXRoIGUuZy4gZmx1c2gtc3RhcnQuIFRoaXMgbm90IG9ubHkgZG9lcyB0aGUKCSAgcmlnaHQgdGhpbmcsIGJ1dCBhbHNvIG1ha2VzIHN1cmUgd2UncmUgbm90IHRyYW1wbGluZyBvdmVyIHZhcmlhYmxlcyBzZXQKCSAgdXAgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQgZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQgaW4gY2FzZSBzb21lb25lIHRyaWVzCgkgIHRvIGlzc3VlIGEgc2VlayBqdXN0IGFzIHRoZSBkZW11eGVyIGlzIHBhcnNpbmcgdGhlIGhlYWRlcnMuCgkgIEZpeGVzICM2MDE2MTcuIFNwb3R0ZWQgYnkgT2dueWFuIFRvbmNoZXYuCgoyMDA5LTEyLTAzIDE3OjQ5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYnVnIG1lc3NhZ2UgcHJpbnRmIGFyZ3MKCSAgRml4ZXMgZGVidWcgbWVzc2FnZSBwcmludGYgZm9ybWF0IHRvIG1ha2UgaXQgYnVpbGQgaW4gbWFjJ3MgZ2NjCgoyMDA5LTEyLTAyIDEzOjMzOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogQ29udmVydCBkZWxheSBjb3JyZWN0bHkKCSAgVXNlIEdTVF9NU0VDT05EIHRvIGNvbnZlcnQgZGVsYXkgaW4gbXNlY3MgdG8gbmFub3NlY3MKCSAgRml4ZXMgIzYwMzU0NwoKMjAwOS0xMi0wMSAxOToyNDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVzZXQgc2VnbWVudCBpbmZvIGFmdGVyIGZsdXNoCgkgIFJlc2V0IHRoZSBzZWdtZW50IGluZm8gYWZ0ZXIgYSBmbHVzaC4gV2UgdXNlIHRoZSBzZWdtZW50IGZvciBoYW5kbGluZyBRb1MgYW5kIGlmCgkgIHdlIGRvbid0IHJlc2V0IHRoZSBzZWdtZW50LCBRb1MgaXMgYmFzaWNhbGx5IGRpc2FibGVkIGFmdGVyIGEgZmx1c2hpbmcgc2Vlay4KCjIwMDktMTItMDEgMTU6MDc6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4N2JmNDI4IHRvIDQ3Y2IyM2EKCjIwMDktMTItMDEgMTQ6MTU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYTRjNzVjIHRvIDg3YmY0MjgKCjIwMDktMTEtMzAgMTU6NTk6NTAgKzAxMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBidWZmZXIgcmVmL3VucmVmIHBhaXJzIGZvciBDU1JDcwoJICBXZSByZWYgdGhlIGJ1ZmZlciBiZWZvcmUgcHVzaGluZyBpdCBkb3duc3RyZWFtIGluIG9yZGVyIHRvIGdldCB0aGUgQ1NSQ3Mgb2YgaXQKCSAgYWZ0ZXIgcHVzaGluZy4gVGhpcyBjYXVzZXMgcGVyZm9ybWFuY2UgcHJvYmxlbXMgd2hlbiBkb3duc3RyZWFtIGVsZW1lbnRzIHdhbnQgdG8KCSAgY2hhbmdlIHRoZSBtZXRhZGF0YSBiZWNhdXNlIHRoZSBidWZmZXIgbmVlZHMgdG8gYmUgc3ViYnVmZmVyZWQuCgkgIEluc3RlYWQsIHJlYWQgYW5kIHN0b3JlIHRoZSBDU1JDcyBvZiB0aGUgYnVmZmVyIGluIGFuIGFycmF5IGJlZm9yZSBwdXNoaW5nIGl0CgkgIGFuZCBwcm9jZXNzIHRoZSBhcnJheSBhZnRlciBwdXNoaW5nIHRoZSBidWZmZXIuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUKCSAgcmVmL3VucmVmIHBhaXIuCgkgIEZpeGVzICM2MDMzNzYKCjIwMDktMTEtMjggMTk6MjM6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDI6IHVzZSBnc3Rwb2xsIGZvciB0aW1lb3V0cwoJICBVc2Ugb3VyIG93biBHc3RQb2xsIGJhc2VkIHRpbWVvdXQgaW5zdGVhZCBvZiB0aGUgc2hvdXQgc2xlZXAgc28gdGhhdCB3ZSBjYW4KCSAgaW50ZXJydXB0IHdoZW4gZG9pbmcgYSBzdGF0ZSBjaGFuZ2UgYW5kIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM2MDI4ODcKCjIwMDktMTEtMjggMTI6MjU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGZpeCBqaXR0ZXJidWZmZXIgY2hlY2sKCSAgTWFrZSBzdXJlIHdlIHNldCBhIGJhc2VfdGltZSBvbiB0aGUgZWxlbWVudC4KCSAgRml4IHRoZSB0aW1lb3V0IHRvIGF0IGxlYXN0IHR3aWNlIHRoZSBqaXR0ZXJidWZmZXIgbGF0ZW5jeS4KCSAgRW5hYmxlIHByZXZpb3VzbHkgZmFpbGluZyB0ZXN0cy4KCSAgUmVtb3ZlIGltcG9zc2libGUgY2hlY2tzLgoKMjAwOS0xMS0yNyAxODo1NToyMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTNhMjQ4NSB0byBkYTRjNzVjCgoyMDA5LTExLTI2IDE2OjE0OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogb3B0aW9uYWxseSBtZXJnZSBOQUxVcyBpbnRvIEFjY2VzcyBVbml0cwoJICAuLi4gd2hpY2ggbWF5IGJlIGV4cGVjdGVkL2Rlc2lyZWQgYnkgc29tZSBkb3duc3RyZWFtIGRlY29kZXJzCgkgIChhbmQgc3BlYy13aXNlIGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgYXQgbGVhc3Qgbm9uLWJ5dGVzdHJlYW0gbW9kZSkuCgoyMDA5LTExLTI2IDE3OjI5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHRpbWVzdGFtcCBkYXRhdHlwZQoKMjAwOS0xMS0yNSAxMDozODoyMyAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHVzaW5nIHdyb25nIGNsb2NrLXJhdGUKCSAgQ2hlY2sgZm9yIGEgdmFsaWQgY2xvY2stcmF0ZSBiZWZvcmUgYXR0ZW1wdGluZyB0byBlc3RpbWF0ZSB0aGUgbnB0CgkgIHN0b3AgdGltZS4KCjIwMDktMTEtMjUgMTA6Mzc6MzAgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbyBpbiBjb21tZW50cwoKMjAwOS0xMS0yNSAxNjowNToxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcnRlc3Q6IGFkZCBvbmUgbW9yZSB0ZXN0IGFuZCBmaWxlIGEgYnVnIG5vdwoJICBDSGFuZ2UgdGhlIGJhY2t3YXJkcyB0ZXN0IHRvIGFsd2F5cyBzZW5kIGZpcnN0IGJ1ZmZlciBmaXJzdCB0byBoYXZlIGEgZGVmaW5lCgkgIGJhc2V0aW1lLiBBZGQgYW5vdGhlciB0ZXN0IHRoYXQgc2VuZHMgYnVmZmVycyBiYWNrd2FyZHMgdG8gYXNzZXJ0IHRoYXQgb25seQoJICBmaXJzdCBzZW50IGJ1ZmZlciBpcyBrZWVwIGFuZCB1c2VkIGFzIGJhc2V0aW1lLiBEaXNhYmxlZCB0aG9zZSB0ZXN0cyBzdGlsbCwKCSAgYXMgaXRzIG5vdCBwYXNzaW5nL2ZhaWxpbmcgY29uc2l0ZW50bHkgYW5kIGZpbGUgYSBidWcgZm9yIGppdHRlcmJ1ZmZlci4KCjIwMDktMTEtMjUgMTA6MTc6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXJ0ZXN0OiBpbXByb3ZlIHRoZSB0ZXN0CgkgIHRoZSB0ZXN0cyBhcmUgYSBiaXQgbW9yZSBzb2xpZCBub3cgYnV0IHN0aWxsIG5vdCBwcm9kdWNlIHJlbGlhYmxlIHJlc3VsdHMuCgkgIFdvbmRlciBpZiB0aGV5IGFyZSBzdGlsbCBmbGF3a3kgb3IgaWYgaXRzIGEgYnVnIGluIGppdHRlcmJ1ZmZlci4KCjIwMDktMTEtMjQgMTE6MTM6MDYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiByZXR1cm4gZXJyb3IgbWVzc2FnZSBvbiB3aW5kb3dzIHRvby4KCjIwMDktMTEtMjQgMTA6NTg6NDkgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXJzdCBwaGFzZSBvZiBmaXhpbmcgdXAgZXJyb3IgcmVwb3J0aW5nIGZvciB3aW5kb3dzLgoKMjAwOS0xMC0zMCAwMzoxMzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFsc28gc2V0IHRoZSBzdWdnZXN0ZWQgYnVmIHNpemUgZm9yIGF1ZGlvCgkgIFdlIHdlcmUgb25seSBzZXR0aW5nIHRoZSBzdWdnZXN0ZWQgYnVmIHNpemUgZm9yIHZpZGVvLAoJICB3ZSBjYW4gc2V0IGl0IGZvciBhdWRpbyBhcyB3ZWxsLgoJICBUaGlzIGFuZCAxOTVlMTQ1MjlkODBlZjMxOGNlM2E3NzhjMTk5NWVmYjExZjI2NmNkCgkgIGZpeCBhbiBpc3N1ZSB0aGF0IHByZXZlbnRlZCBzZWVraW5nIG9uIGxhcmdlIGF2aSBmaWxlcwoJICBvbiBXTVAgKG5vbi1yZWNlbnQgdmVyc2lvbnMpLgoKMjAwOS0xMS0wNCAxNjoxMDoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IGZpeCBpbmR4IGR1cmF0aW9uIGZvciBQQ00gYXVkaW8KCSAgR3N0QnVmZmVycyBmb3IgUENNIGF1ZGlvIHVzdWFsbHkgY29udGFpbnMgbW9yZSB0aGFuCgkgIDEgc2FtcGxlLCB3ZSBuZWVkIHRvIGdldCB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdG8gc2V0CgkgIHRoZSBpbmR4IGR1cmF0aW9uLgoKMjAwOS0xMS0wNCAxNjowNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEF1ZGlvIGJ1ZmZlcnMgc2hvdWxkIGJlIHBpY2tlZCBlYXJsaWVyCgkgIEFkZHMgYSAwLjVzIGFkdmFudGFnZSBmb3IgYXVkaW8gYnVmZmVycyB0byBiZWluZwoJICBwaWNrZWQgZWFybGllciBmb3IgbXV4aW5nLgoKMjAwOS0xMS0yNCAxNjo0MDoxOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcHVzaCBtb2RlIGJ5IG1ha2luZyBzdXJlIHN0YmwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGluIG5leHRfZW50cnlfc2l6ZSAoKQoKMjAwOS0xMS0yNCAxNjozNToyMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb3JkZXIgb2YgYXJndW1lbnRzIGluIGxvZyBtZXNzYWdlCgoyMDA5LTExLTI0IDE1OjUxOjIxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZpeCBzcGVsbGluZyBpbiBjb21tZW50CgoyMDA5LTExLTIzIDE3OjU4OjE3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGJ1aWxkIHN5c3RlbTogRml4IHdyb25nbHkgY29tbWl0dGVkIGNoYW5nZSB0byBjb21tb24vCgoyMDA5LTExLTEwIDEwOjI2OjA3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEVhc2UgZGVidWdnaW5nIGJ5IHJlbW92aW5nIGEgZ290byBmb3IgYW4gZXJyb3IgbWVzc2FnZQoKMjAwOS0xMS0xNCAxNTo1MjowOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIHBlciBzYW1wbGUgcmF0aGVyIHRoYW4gYWxsIGF0IG9uY2UgYnV0IGJ1aWxkIGNvbXBsZXRlIGluZGV4IHdoZW4gc2Vla2luZwoKMjAwOS0xMS0wNCAxNzozMToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTYXZlIGF0b20gZGF0YSBmb3IgbGF0ZXIgdXNlIHNvIGl0IGRvZXNuJ3QgZ2V0IGZyZWVkIGFmdGVyIGluaXRpYWwgcGFyc2luZwoKMjAwOS0xMS0wNiAxMTowMDowNCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBmcm9tIHRoZSBwcmV2aW91c2x5IHBhcnNlZCBzYW1wbGUgdXAgdG8gc2FtcGxlIG4KCjIwMDktMTEtMDQgMTc6MDQ6MjIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWFrZSBxdGRlbXV4X3BhcnNlX3NhbXBsZXMgKCkgcGFyc2UgdXAgdG8gbiBzYW1wbGVzCgoyMDA5LTEwLTI4IDE3OjQ5OjAyICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNlcGFyYXRlIG9mZiBzdGJsIHN1Yi1hdG9tIGluaXRpYWxpc2F0aW9uCgoyMDA5LTEwLTI2IDIyOjQyOjM2ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vdmUgdmFyaWFibGVzIGludG8gY29udGV4dCBpbiBwcmVwYXJhdGlvbiBmb3IgcmVmYWN0b3Jpc2F0aW9uCgoyMDA5LTEwLTI2IDIwOjM2OjA4ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBidWcgd2hlcmUgc3RwcyBpcyBuZXZlciBwYXJzZWQgZHVlIHRvIGxvZ2ljIGVycm9yCgoyMDA5LTExLTA0IDE3OjMxOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBvcnQgY3R0cyBmcm9tIEdub2RlICogdG8gR3N0Qnl0ZVJlYWRlcgoKMjAwOS0xMC0yMyAxMzowNjo0NCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IFN3aXRjaCBmcm9tIFF0QXRvbVBhcnNlciB0byBHc3RCeXRlUmVhZGVyCgoyMDA5LTExLTIzIDEyOjUzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdHlwbyBhbmQgZ3JhbW1hcgoKMjAwOS0xMS0yMiAxOTozMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgQ2xlYW4gdXAgTERGTEFHUywgTElCUywgQ0ZMQUdTCgkgIEZpeCBvcmRlciwgZml4IHZhcmlhYmxlcyB0aGF0IGRvbid0IGV4aXN0LCBsaWtlIEdTVF9MSUJTX0xJQlMsCgkgIHVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtLCBhbmQgbW92ZSBfTElCUyBmcm9tIExERkxBR1MgdG8gTElCQURELgoJICBTcG90dGVkIGJ5IEhhdmFyZCBHcmFmZi4KCjIwMDktMTEtMjAgMTA6MzE6NDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXNlIF9zdGRpbnQuaCBmcm9tIGNvbmZpZ3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTIwIDEwOjMwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHR5cG8gaW4gbW9kZSBlbnVtIGRlc2NyaXB0aW9uCgoyMDA5LTExLTIwIDExOjI1OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogbW9yZSBsaW5rcyBhbmQgYmV0dGVyIHNob3J0IGRlc2NyaXB0aW9uCgkgIEZpeCBzcGVsbGluZyBvZiBHc3RSdHBTc3JjRGVtdXggdG8gZ2V0IGl0IGxpbmtlZC4gQWRkIG1vcmUgbGlua3MuIENoYW5nZQoJICB0aGUgc2hvcnQgZGVzY3JpcHRpb24gdG8gYmUgbW9yZSBtZWFuaW5nZnVsLgoKMjAwOS0xMS0yMCAwOTo1ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBGaXggdW5pdCB0ZXN0IGZvciByZWNlbnQgcG9zaXRpb24gcmVwb3J0aW5nIGNoYW5nZXMKCjIwMDktMTEtMTkgMjA6MzM6MDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVwZGF0ZSBkdG1mZGV0ZWN0IHRvIG1ha2UgaXQgTVNWQyBmcmllbmRseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTE5IDE2OjA5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEFmdGVyIHB1c2hpbmcgYSBmcmFtZSwgdXBkYXRlIGxhc3Rfc3RvcCB0byB0aGUgZW5kIG9mIHRoZSBmcmFtZQoJICBUaGlzIGltcHJvdmVzIHBvc2l0aW9uIHJlcG9ydGluZywgZXNwZWNpYWxseSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQKCSAgV2F2UGFjayBmcmFtZXMgYXJlIHVzdWFsbHkgMC41LTEuMCBzZWNvbmRzIGxvbmcuCgoyMDA5LTExLTE5IDE2OjA4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEFsbG93IHB1bGxpbmcgdGhlIGxhc3QgV2F2UGFjayBmcmFtZSBvZiBhIGZpbGUKCSAgQmVjYXVzZSBvZiBhID49IGluc3RlYWQgb2YgYSA+LCB0aGF0IGxhc3QgZnJhbWUgb2YgYSBXYXZQYWNrIGZpbGUKCSAgd291bGQgbmV2ZXIgYmUgcGFyc2VkIGluIHB1bGwgbW9kZS4KCjIwMDktMTEtMTkgMTA6MzA6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNzAyZmUxIHRvIDUzYTI0ODUKCjIwMDktMTAtMjkgMDg6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBZGQgbW9yZSBmaWVsZHMgdG8gU1ZRMyBjYXBzCgkgIHF0ZGVtdXggb25seSBhZGRlZCB0aGUgd2hvbGUgc3RzZCBhdG9tIGFzICdjb2RlY19kYXRhJwoJICBpbiBpdHMgb3V0cHV0IGNhcHMgZm9yIFNWUTMuIFRoaXMgcGF0Y2ggbWFrZXMgaXQgYWRkCgkgIHRoZSBTRVFIIChpbnNpZGUgYSBTTUkgYXRvbSkgYW5kIGEgZ2FtbWEgZmllbGQgKHRha2VuCgkgIGZyb20gdGhlIGdhbWEgYXRvbSkgaWYgYXZhaWxhYmxlLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE4IDE3OjU1OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTQ6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU0OjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBSYWlzZSByYW5rIG9mIGVuY29kZXJzIHRvIFBSSU1BUlkKCjIwMDktMTEtMTIgMTk6MTE6MTggKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgdXNlci1pZCBhbmQgdXNlci1wdyBwcm9wZXJ0aWVzCgkgIFNvIHRoYXQgb25lIGRvZXNuJ3QgbmVlZCB0byBtb2RpZnkgdGhlIFVSTCB0byBoYXZlIGFjY2VzcwoJICB0byBhdXRoZW50aWNhdGVkIFJUU1Agc3RyZWFtcy4KCSAgZml4ZXMgIzYwMTcyOAoKMjAwOS0xMS0xOCAxMjoyMjoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgYWNxdWlyZWQgZmxhZyB3aGVuIGNoZWNraW5nIHZhbGlkIHN0YXRlCgkgIFVzZSB0aGUgYWNxdWlyZWQgZmllbGQgb2YgdGhlIHJpbmdidWZmZXIgaW4gZ2V0X3RpbWUgdG8ga25vdyB3aGVuIHdlIGFyZSBpbiBhbgoJICBpbnZhbGlkIHN0YXRlLiBXZSBkb24ndCBjbGVhciB0aGUgcmF0ZSBmbGFnIHdoZW4gcmVsZWFzaW5nIHRoZSByaW5nYnVmZmVyIHNvCgkgIHRoaXMgdmFsdWVzIGlzIG5vdCB1c2FibGUuCgkgIEF2b2lkcyBzb21lIGVycm9yIG1lc3NhZ2VzIGJlaW5nIHBvc3RlZCBiZWNhdXNlIHRoZSBwdWxzZWF1ZGlvIGNvbm5lY3Rpb24gaXMKCSAgZG93bi4KCjIwMDktMTEtMTggMTA6MTc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEgYXMgd2VsbAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOS0xMS0xOCAxMjo1Mzo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBib2d1cyBtZW1vcnkgY2h1bmsgc2l6ZSBjaGVjawoKMjAwOS0xMS0xOCAxMjowMTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbXBsZW1lbnQgc29tZSBtb3JlIGNhbGxiYWNrcwoJICBJbXBsZW1lbnQgc29tZSBtb3JlIGNhbGxiYWNrcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgoKMjAwOS0xMS0xMSAxNTo1MDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdGluZyBzaWduYWxzCgkgIFJlbGVhc2UgdGhlIGpidWYgbG9jayBiZWZvcmUgZW1pdGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsIHRvIGF2b2lkCgkgIGRlYWRsb2Nrcy4gV2UgYWxzbyBuZWVkIHRvIGNhdGNoIHRoZSBzaHV0ZG93biBjYXNlIHdoZW4gbG9ja2luZyBhZ2Fpbi4KCSAgRml4ZXMgIzU5MzM1NAoKMjAwOS0xMS0xMSAxMTo1OToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSAgcnRwOiBhZGQgQnJvYWRjb21Wb2ljZSBkZXBheWxvYWRlcgoKMjAwOS0xMS0xMSAxMTozODozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSAgcnRwYnZwYXk6IGFkZCByZmMgcmVmZXJlbmNlCgoyMDA5LTExLTExIDExOjM3OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkgIHJ0cDogYWRkIEJyb2FkY29tVm9pY2UgcGF5bG9hZGVyCgoyMDA5LTExLTA5IDEyOjE3OjM0ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwcm9wZXJseSBmaW5pc2ggdGhlIEVDTUEgYXJyYXkKCSAgVGhlIEVDTUEgYXJyYXkgd2l0aCB0aGUgZmlsZSBpbmRleCB3YXMgbWlzc2luZyBhIG1hbmRhdG9yeSBlbmQgbWFya2VyLgoJICBGaXhlcyBidWcgIzYwMTI0Mi4KCjIwMDktMTEtMTggMDI6MTU6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBVc2UgbmV3IHN0aWxsLWZyYW1lIEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCjIwMDktMTEtMTggMDI6MTQ6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBnc3QtcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMQoKMjAwOS0xMS0xNyAxNzo1OToxMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGlkZW50aWZ5IElNQSBhZHBjbSBpbiBxdCBwcm9wZXJseS4KCjIwMDktMTEtMTggMDE6Mjc6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTcuMQoKMjAwOS0xMS0xNyAwMTo1MzowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgcmVsZWFzZSAwLjEwLjE3IHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA5LTExLTE3IDAxOjI1OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlbGVhc2UgMC4xMC4xNwoKMjAwOS0xMS0xNyAwMDoxODoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTExLTEzIDAyOjA3OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjMgcHJlLXJlbGVhc2UKCjIwMDktMTEtMTAgMTE6NTI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBNYWtlIHN1cmUgdG8gaW5pdGlhbGl6ZSB2YXJpYWJsZXMgYmVmb3JlIHVzaW5nIHRoZW0KCjIwMDktMTEtMDkgMjA6MDY6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4yIHByZS1yZWxlYXNlCgoyMDA5LTExLTA5IDE1OjIwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZnJlZSB0ZW1wb3JhcnkgYnVmZmVyIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gTlVMTAoJICBGcmVlIHRlbXBvcmFyeSBhbGxvY2F0aW9ucyBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCBub3QKCSAgb25seSB3aGVuIHRoZSBvYmplY3QgaXMgZmluYWxpc2VkLgoKMjAwOS0xMS0wOSAxMTo0MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb25seSBhbGxvY2F0ZSBhcyBtdWNoIHRlbXBvcmFyeSBtZW1vcnkgYXMgbmVlZGVkIGZvciBpbmRpcmVjdCBkZWNvZGluZwoJICBXaGVuIHdlIGNhbid0IGRlY29kZSBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyLCBtYWtlIG91ciB0ZW1wIGJ1ZmZlcnMKCSAgb25seSBhcyBiaWcgYXMgbmVlZGVkIGluc3RlYWQgb2YgYWxsb2NhdGluZyBmb3IgdGhlIHdvcnN0IGNhc2Ugc2NlbmFyaW8gKHdlbGwsCgkgIHdlIHN0aWxsIGFsbG9jIG1vcmUgdGhhbiBzdHJpY3RseSBuZWVkZWQgZm9yIHNvbWUgY2FzZXMsIGJ1dCBzaWduaWZpY2FudGx5CgkgIGxlc3MgdGhhbiBiZWZvcmUpLgoKMjAwOS0xMS0wNSAyMzo0Njo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcHJpbnRmIGZvcm1hdCBmaXgKCjIwMDktMTEtMDUgMjM6NDQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMzo0MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHByaW50ZiBmb3JtYXQgZml4CgoyMDA5LTExLTA0IDIyOjE5OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogQWRkIERUTUYgdG9uZSBkZXRlY3RvcgoJICBJdCBsb29rcyBhdCByYXcgYXVkaW8gZGF0YSBhbmQgZW1pdHMgbWVzc2FnZXMgd2hlbiBEVE1GIGlzIGRldGVjdGVkLgoJICBUaGUgZHRtZiBkZXRlY3RvciBpcyB0aGUgc2FtZSBHb2VydHplbCBpbXBsZW1lbnRhdGlvbiB1c2VkIGluIEZyZWVTd2l0Y2gKCSAgYW5kIEFzdGVyaXNrLiBJdCBpcyBpbiB0aGUgcHVibGljIGRvbWFpbi4KCjIwMDktMTEtMDUgMTI6MTM6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBkbyBub3Qgd3JpdGUgZW1wdHkgSU5GTyBsaXN0CgkgIGF2b2lkIHdyaXRpbmcgYW4gZW1wdHkgSU5GTyBsaXN0IGNodW5rLCBib3RoIGJlY2F1c2UKCSAgaXQgaXMgdXNlbGVzcyBhbmQgYmVjYXVzZSB2bGMgcmVmdXNlcyB0byBwbGF5IHRoZQoJICByZXN1bHRpbmcgZmlsZS4KCjIwMDktMTEtMDUgMTA6NTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBOb3RpZnkgYWJvdXQgYmFuZCBwcm9wZXJ0eSBjaGFuZ2VzIGNhdXNlZCBieSBjaGFuZ2luZyBudW1iZXIgb2YgYmFuZHMKCjIwMDktMTEtMDUgMTA6NDU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBNYWtlIGNoYW5nZXMgdG8gYmFuZCBwcm9wZXJ0aWVzIGFuZCB0aGUgbnVtYmVyIG9mIGJhbmRzIHRocmVhZHNhZmUKCjIwMDktMTEtMDUgMTA6MzA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBGaXggc3R1cGlkIG9mZiBieSB0d28gYnVnCgoyMDA5LTExLTA1IDA4OjE4OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogQWRkIGJhbmQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBiYW5kIGZpbHRlciB0eXBlCgkgIFRoaXMgYWxsb3dzIHBlciBiYW5kIGNvbmZpZ3VyYXRpb24gb2YgYSBwZWFrLCBsb3cgc2hlbGYgb3IKCSAgaGlnaCBzaGVsZiBmaWx0ZXIsIHdoaWNoIGNhbiBiZSB2ZXJ5IHVzZWZ1bCBpZiB0aGUgYmFuZCBmcmVxdWVuY2llcwoJICBhbmQgd2lkdGhzIGFyZSBtYW51YWxseSBjb25maWd1cmVkLgoKMjAwOS0xMS0wNSAwODoxNzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEZpeCBjb2RlIHN0eWxlCgoyMDA5LTExLTA1IDA4OjAzOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IFNvbWUgY2xlYW51cAoKMjAwOS0xMS0wNCAyMjoyMTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZWplY3QgZW1wdHkgY2FwcwoKMjAwOS0xMS0wNCAyMjoyMToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBVc2UgbG9nIGxldmVsIGZvciByZXBlYXRlZCBkZWJ1ZyBtZXNzYWdlcwoKMjAwOS0xMS0wNCAyMDowNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBBbGxvdyBmb3IgYW55IHNhbXBsZXJhdGUKCjIwMDktMTAtMDcgMDk6MzE6MTkgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXkvZGVwYXkgOiBjaGFuZ2UgR1NUX0RFQlVHX09CSkVDVCB0byBHU1RfTE9HX09CSkVDVCBpbiBwYXlfaGFuZGxlX2J1ZmZlciBhbmQgZGVwYXlfcHJvY2VzcwoKMjAwOS0xMC0wMiAxNzowNDo0MyAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheS9kZXBheTogTmVnb3RpYXRlIHBhcmFtZXRlcnMgdGhyb3VnaCBjYXBzCgkgIGNlbHRkZXBheSA6IGFkZGVkIGRlZmF1bHQgZnJhbWVzaXplKDQ4MCkgY2hhbm5lbHMoMSkgYW5kIGNsb2NrcmF0ZSgzMjAwMCkKCSAgZGVwYXlfc2V0Y2FwcyA6IG5vdyBnZXRzIGNoYW5uZWxzIGFuZCBmcmFtZXNpemUgZnJvbSBzdHJpbmcgd2l0aCBkZWZhdWx0IHZhbHVlCgkgIGRlcGF5X3Byb2Nlc3MgOiBub3cgYWRkcyB0aW1lc3RhbXAgdG8gb3V0YnVmCgkgIEFkZGVkIGZyYW1lX3NpemUgdG8gR3N0UnRwQ2VsdERlcGF5CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcgdG8gR1NUX0RFQlVHX09CSkVDVCBvciBHU1RfTE9HX09CSkVDVAoJICBjZWx0cGF5IDogZ2V0Y2FwcyA6IGdldHMgY2hhbm5lbCBhbmQgZnJhbWVzaXplIGFuZCBzZXRzIGNhcHMKCSAgQWRkZWQgZnJhbWUtc2l6ZSB0byBzdGF0aWMgY2FwcyBmb3IgYXVkaW8veC1jZWx0CgoyMDA5LTExLTA0IDE1OjU4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgIGRlaW50ZXJsYWNlOiBQdWxsIGluIENGTEFHUyBhbmQgTElCUyBmbGFncyBmcm9tIC1iYXNlIGJlZm9yZSBjb3JlIGJlZm9yZSBzeXN0ZW0uCgoyMDA5LTEwLTE1IDE2OjMzOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IERvbid0IGNyZWF0ZSBiYWNrdXAgLnBvIGZpbGVzCgkgIEFzIHdlbGwgYXMgcHJldmVudGluZyBjcmVhdGlvbiBvZiB1c2VsZXNzIGJhY2t1cCBmaWxlcywgaXQgd29ya3MKCSAgYXJvdW5kIGEgYnVnIGluIGdldHRleHQgMC4xNyBvbiBPUy9YCgoyMDA5LTExLTA0IDE2OjQ3OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGloYXRlc3RldmUubG9jYWw+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogaW5pdCB2YXJpYWJsZXMgdG8gbWFrZSBjb21waWxlciBvbiBvc3ggYnVpbGQgYm90IGhhcHB5CgoyMDA5LTExLTAzIDE2OjA0OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBpbml0IHZhcmlhYmxlcyB0byBtYWtlIGNvbXBpbGVyIG9uIG9zeCBidWlsZCBib3QgaGFwcHkKCjIwMDktMTEtMDMgMTc6MzU6MTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBkb24ndCBhbGxvY2F0ZSBiaWcgYXJyYXlzIG9uIHRoZSBzdGFjawoJICBBZGQgdGhlIGFycmF5cyB0byB0aGUgaW5zdGFuY2UgZGF0YSBhbmQgYWxsb2NhdGUgb24gZmlyc3QgdXNlLgoKMjAwOS0xMS0wMSAxNTo1Nzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBwb2ludGxlc3MgY2FsbCB0byBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKQoKMjAwOS0xMS0wMSAwMDoyOTo1NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggZGVjYXkgdG8gYmUgc21vb3RoCgkgIFRoZSBsZW5ndGggbm90IGhhdmluZyBhbnkgZnJhY3Rpb25hbCBwYXJ0IGFzIGl0IHdhcyBwcm9tb3RlZCB0byBnZG91YmxlIGFmdGVyCgkgIGRpdmlkaW5nIHR3byBndWludDY0LgoKMjAwOS0xMS0wMSAwMDoyOToyNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBsZXZlbDogY2FsY3VsYXRlIHRoZSBtZXNzYWdlLWludGVydmFsbCB3aGVuIGl0IGNoYW5nZXMKCjIwMDktMTEtMDEgMDA6MTQ6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogY2xvY2t0aW1lIGlzIGEgZ3VpbnQ2NCwgdXNlIHJpZ2h0IG1hY3JvIHRvIGluaXQgZmllbGRzCgoyMDA5LTExLTAxIDAwOjEwOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHVzZSBtb3JlIGctc3R5bGUgdHlwZXMKCjIwMDktMTAtMzAgMDk6Mjc6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogT25seSBzZXQgdGhlIHZvbHVtZSBvbiBzdHJlYW0gY29ubmVjdGlvbiBpZiBwdWxzZSA+PSAwLjkuMjAgaXMgYXZhaWxhYmxlCgkgIEluIG9sZGVyIHZlcnNpb25zIHRoZSB2b2x1bWUgc2V0IGR1cmluZyBzdHJlYW0gY29ubmVjdGlvbiBoYWQKCSAgbm8gZGVmaW5lZCBzZW1hdGljIGFuZCB1c3VhbGx5IGl0IHdhcyBhIHJlbGF0aXZlIHZvbHVtZS4gV2hhdAoJICB3YXMgbmVlZGVkIGZvciBvdXIgdXNlIGNhc2UgaXMgYW4gYWJzb2x1dGUgdm9sdW1lIHRob3VnaCwgb3RoZXJ3aXNlCgkgIHRoZSB2b2x1bWUgd2lsbCBiZSBhbHdheXMgZGVjcmVhc2VkIG9uIHN0cmVhbSBjb25uZWN0aW9uIGlmIGl0J3MKCSAgbGVzcyB0aGFuIDEwMCUuCgkgIFNpbmNlIHB1bHNlIDAuOS4yMCB0aGF0IHZvbHVtZSBpcyBhbHdheXMgYW4gYWJzb2x1dGUgdm9sdW1lIGlmCgkgIGZsYXQgdm9sdW1lcyBhcmUgdXNlZCBhbmQgcmVsYXRpdmUgb3RoZXJ3aXNlLCB3aGljaCBpcyB0aGUgc2FtZQoJICBhcyBmb3IgcGFfY29udGV4dF9zZXRfc2lua19pbnB1dF92b2x1bWUoKS4KCSAgUmVsZXZhbnQgcHVsc2UgY2hhbmdlc2V0czoKCSAgaHR0cDovL2dpdC4wcG9pbnRlci5kZS8/cD1wdWxzZWF1ZGlvLmdpdDthPWNvbW1pdDtoPWYyN2E1MDY5MWM4ZmU0NWJhYzdkZDZiMjFmYWM5MWEzNTlkZWYzYTEKCSAgaHR0cDovL2dpdC4wcG9pbnRlci5kZS8/cD1wdWxzZWF1ZGlvLmdpdDthPWNvbW1pdDtoPTI1MDE2ODc1NzllMzU5ZDUwMzJhNGQxNjViMmZmYzhmNWIxYjhiYTYKCjIwMDktMTAtMjcgMTg6MDc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2Ugc2VnbWVudF9mdWxsIHdoZW4gd2UgY2FuCgkgIFVzZSBzZWdtZW50X2Z1bGwgc28gdGhhdCB3ZSBjYW4gcGFzcyB0aGUgYXBwbGllZCByYXRlIHRvIHRoZSBzZWdtZW50IHZhbHVlcy4gV2UKCSAgd2lsbCBjaGFuZ2UgdGhlIGFwcGxpZWQgcmF0ZSB3aGVuIHdlIGltcGxlbWVudCBza2lwIG1vZGUuCgoyMDA5LTEwLTE4IDAwOjE2OjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCBidWZmZXIgb2Zmc2V0IGJ5IG1vdmluZyBsZW5ndGggaW5jcmVtZW50YXRpb24KCjIwMDktMTAtMjMgMTg6MzE6MTQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IENyZWF0ZSB0aGUgdmlkZW8gTlNWaWV3IGluIFJFQURZLT5QQVVTRUQgcmF0aGVyIHRoYW4gTlVMTC0+UkVBRFkKCjIwMDktMTAtMjMgMTg6Mjg6MjIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlbzogZXhwbGljaXRseSBsaW5rIHRvIEdTVF9MSUJTCgoyMDA5LTEwLTIzIDE4OjA5OjQzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgZGVwZW5kZW5jaWVzIG9mIGdzdHJpZmYgdG8gdGhpbmdzIHRoYXQgbGluayB0byBnc3RyaWZmLCBuZWVkZWQgb24gV2luMzIuCgoyMDA5LTEwLTIzIDE3OjI1OjE3IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBydHAgZXhhbXBsZXM6IHJlbW92ZSBleGVjdXRhYmxlIGJpdHMgZnJvbSBDIGZpbGVzLgoKMjAwOS0xMC0yMyAxMToyMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGRpc2FibGUgYWxsIGppdHRlcmJ1ZmZlciB0ZXN0cyBmb3Igbm93CgkgIFNpbmNlIGV2ZW4gdGhlIG9uZSBlbmFibGVkIHNlZW1zIHRvIGZhaWwuCgoyMDA5LTEwLTIyIDEzOjM5OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFsc28gaW5jbHVkZSB0aGUgbmV3IHRlc3QgZm9yIHByZXYgY29tbWl0CgoyMDA5LTEwLTIyIDEzOjE5OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgYSBqaXR0ZXJidWZmZXIgdGVzdAoJICBUZXN0cyBwdXNoaW5nIGEgZmV3IGJ1ZmZlcnMgaW4gdmFyaW91cyBvcmRlciBhbmQgYXNzZXJ0aW5nIHRoZSBvcmRlciBzZW50IGJ5IHRoZQoJICBqaXR0ZXJidWZmZXIuIENvbnRhaW5zIHR3byBkaXNhYmxlZCB0ZXN0cyB0aGF0IG5lZWQgbW9yZSB3b3JrLgoKMjAwOS0xMC0yMiAxMjozMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBEaXJhYyAibXV4aW5nIiB1bml0cyBlbmQgb24gRU9TIHRvbwoJICBBIERpcmFjIG11eGluZyB1bml0IGFyZSBhbGwgbm9uLXBpY3R1cmUsIG5vbi1lbmQtb2Ytc2VxdWVuY2UKCSAgcGFja2V0cyB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSBmaXJzdCBwaWN0dXJlIG9yIGVvcyBwYWNrZXQuCgkgIFNlZSBodHRwOi8vd3d3LmRpcmFjdmlkZW8ub3JnL3dpa2kvaW5kZXgucGhwL0NvbnRhaW5lckZvcm1hdE1hcHBpbmdHdWlkZWxpbmVzCgoyMDA5LTEwLTIyIDAyOjA5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoJICB0b3RhbF9pZHggaXMgYWx3YXlzIGV2YWx1YXRlZC4KCjIwMDktMTAtMTkgMjE6NTk6NDYgKzAzMDAgIFByaWl0IExhZXMgPHBsYWVzQHBsYWVzLm9yZz4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIGNhY2FzaW5rOiBtaW5vciBjbGVhbnVwcyBmb3IgaGVhZGVyLgoJICBVc2UgR19CRUdJTl9ERUNMUyBtYWNyb3MsIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBmaXggdHlwby4KCSAgU2VlICM1OTkwMTguCgoyMDA5LTEwLTE5IDIxOjU5OjIzICswMzAwICBQcmlpdCBMYWVzIDxwbGFlc0BwbGFlcy5vcmc+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogZXhpdCBwcm9wZXJseSB3aGVuIGludmFsaWQgZHJpdmVyIGhhcyBiZWVuIHNlbGVjdGVkLgoJICBTZWUgIzU5OTAxOC4KCjIwMDktMTAtMjAgMTg6MjM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHNjYW5uaW5nIGF0IHRoZSBsYXN0IGVudHJ5Li4uIGFuZCBub3QgdGhlIG9uZSBiZWZvcmUgOikKCSAgVGhpcyBlbnN1cmVzIHdlIGFjdHVhbGx5IHB1c2ggb3V0IGV2ZXJ5dGhpbmcKCjIwMDktMTAtMjAgMTc6MjA6NTUgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBxdGRlbXV4OiB1bnBhY2sgbW9yZSBpbmZvcm1hdGlvbiBpbnRvIGltYWdlL3gtajJjIGNhcHMKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOiBBZGQgbmV3IGZvdXJjY3MgZm9yIHVzZSBieSB0aGUgbWoyCgkgIHVucGFja2VyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAocXRkZW11eF9wYXJzZV90cmFrKTogVW5wYWNrIEpQRUcyMDAwIGNvbXBvbmVudAoJICBtYXBwaW5nIGFuZCBjaGFubmVsIGRlZmluaXRpb25zIGZyb20gdGhlIGpwMmggaGVhZGVyLiBXaWxsIGFkZAoJICBjb21wb25lbnQtbWFwIGFuZCBjaGFubmVsLWRlZmluaXRpb25zIGVsZW1lbnRzIHRvIHRoZSBjYXBzIGlmIHRoZQoJICBjb21wb25lbnQgbWFwcyBvciBjaGFubmVsIGRlZmluaXRpb25zIGFyZSBub25zdGFuZGFyZCwgd2hlcmUgc3RhbmRhcmQKCSAgb3JkZXIgbWVhbnMgUkdCLCA0NDQgcGFja2VkIFlVViwgb3IgZ3JleXNjYWxlLCB3aXRoIG5vIGFscGhhIGNoYW5uZWwuCgkgIEZpeGVzICM1OTg5MTUuCgoyMDA5LTEwLTIwIDE3OjMzOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDA5LTEwLTE5IDE1OjIxOjU3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCB0aGUgU3RyZWFtVm9sdW1lIGludGVyZmFjZSBub3QgYmVpbmcgYWR2ZXJ0aXNlZAoJICBnc3RfcHVsc2VzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQoKSB3YXMgbWlzc2luZyBhIGNoZWNrIGZvciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODkzMwoKMjAwOS0xMC0xNiAyMToxNDoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBjb2RlIGNsZWFudXAKCSAgVXNlIGdkb3VibGUgaW5zdGVhZCBvZiBkb3VibGUuIENhbGN1bGF0ZSBmYWxsb2ZmX3RpbWUgb25jZSBpbnN0ZWFkIG9mIHR3aWNlLgoKMjAwOS0xMC0xOCAxNTo1MjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE1FTURVTVAgdGhlIGp1bmsgYmxvYnMKCSAgSXQgd2lsbCBvbmx5IGFjdHVhbGx5IHB1bGwgdGhlIGp1bmsgYmxvYnMgZnJvbSB1cHN0cmVhbSBpZiB0aGUgbWVtZHVtcAoJICBsZXZlbCBpcyBhY3RpdmF0ZWQKCjIwMDktMTAtMTggMTU6NTE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTb21lIGF2aSBmaWxlcyBoYXZlIElORk8gbGlzdHMgaW4gdGhlIGhlYWRlcnMuCgoyMDA5LTEwLTE4IDE2OjAyOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3Qgc2VlayBvbiBlbXB0eSBzdHJlYW1zCgoyMDA5LTEwLTE4IDE1OjUwOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRW5zdXJlIF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXggb25seSB1c2VzIHZhbGlkIHN0cmVhbXMKCjIwMDktMTAtMTggMTU6NDk6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBPbmx5IGNhbGwgY29udmVydCBmdW5jdGlvbiBpZiB3ZSBoYXZlIHN0cmYuYXVkcwoKMjAwOS0xMC0xOCAxNTo0ODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogVXNlIGZpcnN0IGluZGV4ZWQgc3RyZWFtIGZvciBzZWVraW5nLgoJICBJbiB0aGUgZnV0dXJlLCBtYWluX3N0cmVhbSBjYW4gYmUgYWRqdXN0ZWQgdG8gY29udGFpbiB0aGUgb3B0aW1hbCBzdHJlYW0KCSAgYXMgbWVudGlvbm5lZCBpbiB0aGUgRklYTUUgbGluZSAzNDQwCgoyMDA5LTEwLTE4IDE1OjQ2OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBPbmx5IGV4cG9zZSBzdHJlYW1zIHRoYXQgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgaW4gaXQuCgkgIFRoaXMgZ3VhcmFudGVlcyB0aGF0IGluIHB1bGwtbW9kZSwgYWxsIHN0cmVhbXMgaGF2ZSBhIHZhbGlkIGluZGV4IHRvCgkgIHdvcmsgd2l0aC4KCjIwMDktMTAtMTggMTU6NDA6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQcm9wZXJseSBtYXJrIHByZXNlbmNlIG9mIGluZGV4LgoJICBJbnN0ZWFkIG9mIGJsaW5kbHkgc2F5aW5nIHdlIGhhdmUgYW4gaW5kZXgsIG9ubHkgZG8gc28gaWYgd2UgaGF2ZSBhCgkgIG5vbi1lbXB0eSBpbmRleC4KCjIwMDktMTAtMTcgMDI6MTg6NTMgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IG5ldmVyIGFwcGx5IHZvbHVtZSBtb3JlIHRoYW4gb25jZQoJICBHZW5lcmFsbHkgZGVjaXNpb25zIG9uIHRoZSB2b2x1bWUgb2YgdGhlIHN0cmVhbSBzaG91bGQgYmUgZG9uZSBpbnNpZGUgb2YKCSAgUEEsIG5vdCBpbnNpZGUgb2YgR3N0LiBPbmx5IFBBIGtub3dzIGhvdyB2b2x1bWVzIHRyYW5zbGF0ZSBiZXR3ZWVuCgkgIGRldmljZXMgYW5kIHMgb24uCgkgIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IGFsbCB2b2x1bWVzIHNldCB2aWEgdGhlIHZvbHVtZSBwcm9wZXJ0eSBhcmUKCSAgb25seSBhcHBsaWVkICpvbmNlKiB0byB0aGUgdW5kZXJseWluZyBzdHJlYW0uIEFmdGVyIGFwcGx5aW5nIHRoZW0gdGhlCgkgIGNsaWVudCBzaWRlIHdpbGwgbm90IHN0b3JlIHRoZW0gYW55bW9yZS4gVGhpcyBzaG91bGQgbWFrZSBzdXJlIHRoYXQKCSAgcmVhbGx5IG9ubHkgdXNlci10cmlnZ2VyZWQgdm9sdW1lIGNoYW5nZXMgYXJlIGZvcndhcmRlZCB0byBzZXJ2ZXIsIGJ1dAoJICB0aGUgY2xpZW50IG5ldmVyIHRyaWVzIHRvIHNhdmUvcmVzdG9yZSB0aGUgdm9sdW1lIGludGVybmFsbHkuCgkgIEZpeGVzIGJ1ZyAjNTk1MjMxLgoKMjAwOS0xMC0xNyAwODo1NToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlc2luazogSW5pdGlhbGl6ZSBnZXR0ZXh0IGZvciB0aGUgdHJhbnNsYXRlZCBzdHJpbmdzIGluIHBsdWdpbl9pbml0KCkKCjIwMDktMTAtMTcgMDA6MTA6MzAgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IHVzZSAncGVyZm9ybWVyJyBhcyBhIGZhbGxiYWNrIGZvciAnYXJ0aXN0JyB0YWcKCjIwMDktMTAtMTcgMDA6MDk6MzYgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHB1bHNlOiB3aGVuIGNvbnN0cnVjdGluZyBhIHN0cmVhbSB0aXRsZSBmcm9tIHRhZyBkYXRhIG1ha2Ugc3VyZSBpdCBpcyB0cmFuc2xhdGFibGUKCjIwMDktMTAtMTcgMDA6MDY6MTUgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZTogbG9vcCB3aGlsZSBjb25uZWN0aW5nIHRvIHNlcnZlcgoJICBwdGhyZWFkIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIGFyZSBubyBzcHVyaW91cyBjb25kaXRpb24gdmFyaWFibGUKCSAgd2FrZXVwcywgbmVpdGhlciBkb2VzIHBhX3RocmVhZGVkX21haW5sb29wX3h4eCgpIHdoaWNoIGlzIGEgd3JhcHBlcgoJICBhcm91bmQgaXQuIFNvIHdlIG5lZWQgdG8gbG9vcCBhcm91bmQgdGhlIF93YWl0KCkgZnVuY3Rpb24gdG8gbWFrZSBzdXJlCgkgIHdlIGdldCB0aGUgcmlnaHQgd2FrZXVwLgoJICBBbHNvLCB1bmlmeSB0aGUgb3JkZXIgb2YgdGhlIHdhaXQgbG9vcHMgYWNyb3NzIHRoZSBmaWxlLgoKMjAwOS0xMC0xNyAwMDowNToxMCArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkgIHB1bHNlOiBtYWlubG9vcCBjcmVhdGlvbiBjYW4gZmFpbCB0b28sIHNvIGhhbmRsZSB0aGF0CgoyMDA5LTEwLTE3IDAwOjAzOjA2ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2U6IGFkanVzdCBDSEVDS19ERUFEX0dPVE8gbWFjcm8gdG8gZ2xpYiBzdHlsZQoKMjAwOS0xMC0xNiAxNzoyODo0MiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlOiBtYWtlIGEgZmV3IHRoaW5ncyBzbWFsbGVyIGJ5IG1ha2luZyB0aGVtIGJpdGZpZWxkcwoKMjAwOS0xMC0xNiAxNzoyNjo0MSArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBwdWxzZTogYnVtcCBtaW5pbXVtIGxpYnB1bHNlIHZlcnNpb24gdG8gMC45LjEwCgkgIE9sZGVyIHZlcnNpb25zIHRoYW4gMC45LjEwIGFyZSByZWFsbHkgcmVhbGx5IG9sZCBhbmQgYnVnZ3kuIERyb3AKCSAgY29tcGF0aWJpbGl0eSB3aXRoIHRoZW0uIE5vYm9keSBzaG91bGQgcnVuIGFueXRoaW5nIHRoYXQgb2xkLgoJICBBbHNvIHNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTAyOQoKMjAwOS0xMC0xNiAxODoxODozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBkZWJ1Z3V0aWxzOiByZWdpc3RlciBwdXNoZmlsZXNyYyBlbGVtZW50CgoyMDA5LTEwLTE2IDE3OjI4OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogc3VwcG9ydCAoc29tZSkgVkJSIGF1ZGlvIG11eGluZwoJICBBVkkgZm9ybWF0IGNhbiBoYW5kbGUgVkJSIGF1ZGlvIHByb3ZpZGVkIGF1ZGlvIGNodW5rcyBhcmUgb2YgZml4ZWQgZHVyYXRpb24KCSAgKGNmciBmaXhlZCBkdXJhdGlvbiB2aWRlbyBmcmFtZXMpLiAgQXBwbHkgdGhpcyBhcHByb2FjaCB0byAoYWx3YXlzKSBwYXJzZWQKCSAgcmF3IEFBQyBhbmQgKGlmIHBhcnNlZCkgdG8gTVBFRy0xLzIgYXVkaW8uCgkgIFNlZSAjMzY4NjgxLgoKMjAwOS0xMC0xNiAxMzo0MTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBicmFuY2ggaGludHMKCSAgUmVtb3ZlIGluYXBwcm9wcmlhdGUgYnJhbmNoaW5nIGhpbnRzIGFuZCBhZGQgc29tZSBuZXcgb25lcy4KCjIwMDktMTAtMTYgMTI6MzM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcmVncmVzc2lvbiBpbiBpbmRpcmVjdCBkZWNvZGUgcGF0aAoJICBSZXZlcnQgdmFyaWFibGUgbmFtZSBiYWNrIHRvIHdoYXQgaXQgd2FzIGJlZm9yZSB0aGUgR19MSUtFTFkgd2FzCgkgIGFkZGVkIChpbiBjb21taXQgNjljMjRmYjkpLiBUaGUgY29kZSB3b3JrcyBiZXR0ZXIgdGhhdCB3YXkuCgoyMDA5LTEwLTE2IDAyOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHJlZ3Jlc3Npb24gd2l0aCBjZXJ0YWluIGZvcm1hdHMKCSAgRml4IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBwcmV2aW91cyBjb21taXQgKCM1OTg1MTcpLgoKMjAwOS0xMC0xNSAxOTo0OTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IHVzZSBkZWNvbXByZXNzIHN0cnVjdHVyZSBtZW1iZXJzIHdlIHNob3VsZG4ndCBiZSB1c2luZwoKMjAwOS0xMC0xNCAxNzo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHJlbW92ZSBzb21lIHVudXNlZCBtZW1iZXJzIGZyb20ganBlZ2RlYyBpbnN0YW5jZSBzdHJ1Y3R1cmUKCjIwMDktMTAtMTYgMTE6NTM6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlIGdzdC1nbGliLWdlbi5tYWsgdG8gZml4IHRoZSBnbGliIGJ1aWxkIHJ1bGVzLgoJICBUaGUgYnVpbGQgcnVsZXMgaW4gZ2xpYi1nZW4ubWFrIHdlcmUgdXNpbmcgcGF0dGVybiBydWxlcyBpbiBhIG5vbiBzYXZlIHdheS4KCjIwMDktMTAtMTYgMTA6MTU6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODVkMTUzMCB0byAwNzAyZmUxCgoyMDA5LTEwLTE1IDIxOjA0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkanVzdCBmbG93IHJldHVybiBhZ2dyZWdhdGlvbiB0byB1cGRhdGVkIGxvb3BfZGF0YQoJICBJbiBwYXJ0aWN1bGFyLCBlYWNoIHN0cmVhbSBpcyBub3cgdHJlYXRlZCBzZXBhcmF0ZWx5LCBhbmQgb25lIHN0cmVhbSdzCgkgIEVPUyBzaG91bGQgbm90IGxlYWQgdG8gb3ZlcmFsbCBFT1MuCgoyMDA5LTEwLTE1IDExOjUyOjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgc29tZSBtb3JlIGF0b20gc2l6ZXMgcHJpb3IgdG8gcGFyc2luZwoKMjAwOS0xMC0xNSAxMzoxOToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogaGFuZGxlIGV2ZW50cyBpbiBUQ1AgbW9kZQoJICBXZSBuZWVkIHRvIGhhbmRsZSBldmVudHMgaW4gVENQIG1vZGUgc28gdGhhdCB3ZSBjYW4gcmVwbHkgdG8gdGhlIExBVEVOQ1kgZXZlbnQKCSAgd2l0aCBUUlVFLgoKMjAwOS0xMC0xNSAxMToyNDo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgbWlzc2luZyBhcmd1bWVudCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDA5LTEwLTE0IDE4OjU4OjA2ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydkBleGhlcmJvLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IFVzZSBsb29wIHRlc3QgdG8gcHJldmVudCB0aW1lb3V0IG9uIHNsb3cgbWFjaGluZXMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTk3NzM5LgoKMjAwOS0xMC0xNCAxNjoxNTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZm9yd2FyZCBldmVudHMgaW50byB0aGUgcnRwYmluCgkgIE9ubHkgY2F0Y2ggdGhlIFNFRUsgZXZlbnQgb24gdGhlIHNyY3BhZCBhbmQgbGV0IG90aGVyIGV2ZW50cyBlbnRlciB0aGUgcnRwYmluLgoKMjAwOS0xMC0xNCAxMTozMzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGxhdGUgdGFncyBmaW5kaW5nCgkgIFVzZSB0aGUgY29ycmVjdCB0YWdsaXN0IHZhcmlhYmxlIHdoZW4gbm90aWZ5aW5nIG9mIGxhdGUgdGFncy4KCjIwMDktMTAtMTQgMTM6MDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1c2UgR3N0SW5kZXggZm9yIChsaW1pdGVkKSBzZWVraW5nIGluIHB1c2ggbW9kZQoJICAuLi4gYnV0IGRpc2FibGUgdGhpcyBmb3Igbm93LiAgQWx0aG91Z2ggaXQgYmFzaWNhbGx5IHdvcmtzIGZpbmUsCgkgIHVzZXIgZXhwZXJpZW5jZSBtaWdodCBiZSBzaGFreSAoZGVwZW5kaW5nIG9uIHRhc3RlKSwgc2luY2UgdGhlcmUKCSAgaXMgbm8ga2V5ZnJhbWUgaW5mbyBpbiBwdXNoIG1vZGUuCgoyMDA5LTEwLTE0IDEzOjA4OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogYWRkIEdzdEluZGV4IHN1cHBvcnQKCjIwMDktMTAtMTQgMTE6NTU6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWxzbyBkZXRlcm1pbmUgZHVyYXRpb24gaW4gcHVzaCBtb2RlCgoyMDA5LTEwLTE0IDExOjU0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhZGQgR3N0SW5kZXggc3VwcG9ydAoKMjAwOS0xMC0xNCAwNzozODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFNldCBkdXJhdGlvbiBvbiBidWZmZXJzCgkgIFVzZSBmcmFtZXJhdGUgdG8gZXN0aW1hdGUgZHVyYXRpb24gb2YgYnVmZmVycy4KCSAgRml4ZXMgIzU5MDM2MgoKMjAwOS0xMC0xNCAxMjoyODo1NSArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmIGF0IHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogb25seSBmb3J3YXJkIHRoZSBsb3N0LWV2ZW50IHRvIHRoZSBsYXN0IHNlZW4gcHQtbnVtYmVyCgkgIGZvcndhcmQgYWxsIGV2ZW50cyBvbiBhbGwgcGFkcyBleGNlcHQgZm9yIHRoZSBQYWNrZXRMb3N0IGV2ZW50LCB3aGljaCB3ZSB3YW50IHRvCgkgIGZvcndhcmQgdG8gdGhlIGxhc3Qgc2VlbiBwdCBwYWQuCgkgIEZpeGVzICM1OTgzNzcKCjIwMDktMTAtMDYgMjI6Mjg6NTAgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2V0IGRlc2lyZWQgbWlucmVxIHZhbHVlIHRvIHNlZ3NpemUvbGF0ZW5jeS10aW1lCgkgIElmIHdlIGxldCB0aGUgZGFlbW9uIGRlY2lkZSBmcmVlbHkgYnkgcGFzc2luZyAtMSwgd2UgZW5kIHVwIGFsd2F5cyBnZXR0aW5nIDIwbXMuCgkgIFdlIHdhbnQgdG8gc2V0IHRoaXMgdmFsdWUgYmVjYXVzZSBpbiBzb21lIGNhc2VzIHdlIHdhbnQgdG8gc2VsZWN0IGEgaGlnaGVyCgkgIGxhdGVuY3ktdGltZSBpbiBvcmRlciB0byBzYXZlIHBvd2VyLgoJICBGaXhlcyAjNTk3NjAxCgoyMDA5LTEwLTE0IDEwOjQxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhM2UzY2U0IHRvIDg1ZDE1MzAKCjIwMDktMTAtMTMgMTg6MzM6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0cy9waXBlbGluZS9mbGFjOiBGaXggYnVpbGQgb24gbWFjb3N4IDEwLjUKCjIwMDktMTAtMTMgMTg6MTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkZW1vdGUgc29tZSB3YXJuaW5ncyB0byBkZWJ1ZwoKMjAwOS0xMC0xMyAxNzo0Nzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJICBhdmk6IGFkZCBuZXcgYXZpIGZsYWcgd2UgbWlnaHQgd2FudCB0byB1c2UKCjIwMDktMTAtMTMgMTc6NDY6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNhbGN1bGF0ZSBzdWdnZXN0ZWQgYnVmZmVyIHNpemUKCSAgQ2FsY3VsYXRlIHRoZSBzdWdnZXN0ZWQgYnVmZmVyIHNpemUgYmFzZWQgb24gdGhlIGxhcmdlc3QgY2h1bmsgaW4gdGhlIGZpbGUuCgkgIFNlZSAjNTk3ODQ3CgoyMDA5LTEwLTEzIDE3OjQ1OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQganBlZzIwMDAgdG8gYWxsb3dlZCBjYXBzCgoyMDA5LTEwLTEzIDE3OjQxOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIGRlYnVnIGZvciB0aGUgc3VwZXJpbmRleCBvZmZzZXRzCgoyMDA5LTEwLTEzIDE2OjAyOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgRml4IGFub3RoZXIgYm9ndXMgbWF5LWJlLXVzZWQtdW5pbml0aWFsaXplZCB3YXJuaW5nIGluIHF0ZGVtdXgKCjIwMDktMTAtMTMgMTM6MDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmk6IGxvd2VyIG1heCBmaWxlIHNpemUKCSAgTWFrZSBhIGNvbnN0YW50IG9mIHRoZSBtYXggZmlsZSBzaXplIGFuZCBsb3dlciB0aGUgdmFsdWUgdG8gd2hhdCBmZm1wZWcgZG9lcywKCSAgaG9wZWZ1bGx5IGltcHJvdmluZyBjb21wYXRpYmlsaXR5IHdpdGggd2luZG93cyBtZWRpYSBwbGF5ZXIuCgkgIFNlZSAjNTk3ODQ3CgoyMDA5LTEwLTEzIDAxOjAyOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGJvZ3VzIHdhcm5pbmcgYWJvdXQgZGlzY29udCBmbGFnIG9uIGZpcnN0IGJ1ZmZlcgoJICBUaGUgdmVyeSBmaXJzdCBidWZmZXIgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0LCBubwoJICBuZWVkIHRvIHdhcm4gYWJvdXQgdGhhdC4gT25seSB3YXJuIGlmIHdlIGdldCBhIERJU0NPTlQgYnVmZmVyIGluCgkgIG5vbi1wYWNrZXRpc2VkIG1vZGUgYW5kIHdlIGFscmVhZHkgaGF2ZSBzb21lIGRhdGEuCgoyMDA5LTEwLTEzIDAwOjQxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGNyYXNoIGZvciB1bnVzdWFsIHZlcnRpY2FsIGNocm9tYSBzdWJzYW1wbGluZyBmYWN0b3JzCgkgIEZpeGVzICM1OTczNTEuCgoyMDA5LTEwLTEzIDAwOjEyOjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmdzCgkgIFRoZSBnY2Mgb24gdGhlIE9TL1ggYnVpbGRib3QgY29tcGxhaW5zIGFib3V0IHRoZXNlIHZhcmlhYmxlcyBub3QgYmVpbmcKCSAgaW5pdGlhbGl6ZWQsIGV2ZW4gdGhvdWdoIHRoZXkgY2FuJ3QgcG9zc2libHkgYWN0dWFsbHkgYmUgdXNlZAoJICB1bmluaXRpYWxpemVkLgoKMjAwOS0xMC0xMSAxMTozNToyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTEwIDAwOjM3OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeGVzIHdhcm5pbmcgYnVpbGRpbmcgaW4gc25vdyBsZW9wYXJkCgoyMDA5LTEwLTA5IDE3OjEyOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBjb25zaWRlciBRdWlja3RpbWUgdGV4dCBzdWJ0aXRsZXMKCjIwMDktMTAtMDkgMTc6MDI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm92aWRlIGxhbmd1YWdlIHRhZyBmb3Igc3RyZWFtCgoyMDA5LTEwLTA5IDE2OjMwOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3IgY29tbW9uIHBhcnRzIGluIHRyYWNrIHBhcnNpbmcKCjIwMDktMTAtMDkgMTY6MjE6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGJ1ZmZlciBwcm9jZXNzaW5nIGFuZCBzZW5kaW5nCgkgIC4uLiBzbyBpdCBjYW4gYmUgdXNlZCBpbiBib3RoIHB1bGwgYW5kIHB1c2ggYmFzZWQgbW9kZS4KCjIwMDktMTAtMDggMTM6Mzk6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcwoJICAuLi4gYW5kIHNlbmQgaXQgZG93bnN0cmVhbSB1c2luZyBjdXN0b20gZHZkIGV2ZW50CgoyMDA5LTEwLTA3IDE0OjAzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IDNHUFAgdGltZWQgdGV4dCBzdWJ0aXRsZXMKCSAgSW4gcGFydGljdWxhciwgYWxzbyBtYWtlIHN1YnRpdGxlIHN1cHBvcnQgbGVzcyBzdWJwKGljdHVyZSktY2VudHJpYy4KCjIwMDktMTAtMDcgMTY6MTU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBOVUxMIGlzIG5vdCBhIHZhbGlkIHRhZ2xpc3QKCjIwMDktMDktMjMgMTc6MjA6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWNvZ25pemUgc29tZSBtb3JlIGVuY3lwdGVkIHRyYWNrIGNhc2VzCgoyMDA5LTEwLTA5IDE1OjU5OjI1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDM6IGZpeGVzIHdhcm5pbmdzIGJ1aWxkaW5nIG9uIG1hY29zeAoJICBBbm90aGVyIHJvdW5kIG9uIHRoZSBmb3JtYXRpbmcgb2YgdGhhdCBkZWJ1ZyBsaW5lLgoKMjAwOS0xMC0wOSAxNDo0NDowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzOiBjYXN0IHBvaW50ZXIgbWF0aCByZXN1bHRzIHRvIGdsb25nCgoyMDA5LTEwLTA5IDE0OjM3OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWM6IGFwcGFyZW50bHkgb24gc29tZSBwbGF0Zm9ybXMgYSBGTEFDX191aW50NjQhPWd1aW50NjQKCjIwMDktMTAtMDkgMTQ6MjE6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgYnVpa2Q6IGV4cGxpY2l0ZWx5IGNhc3QsIHRvIHRlbGwgc29tZSBjb21waWxlcnMgdGhhdCB0aGlzIGlzIG5vdCBsb25nIGludAoKMjAwOS0xMC0wOSAxMzozODoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIGJ1aWxkOiBkb24ndCBjYXN0LCBidXQgdXNlIHRoZSByaWdodCBmb3JtYXQgc3BlY2lmaWVkIGluc3RlYWQKCSAgVGhpcyBjb3JyZWN0IHNvbWUgb2YgdGhlIHByZXZpb3VzIG1hY29zIGZpeGVzLgoKMjAwOS0xMC0wOSAxMjo0MDo0NyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHY6IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MjU6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjE5OjM1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgYW5ub2RleDogZml4IHdhcm5pbmdzIGluIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoxNDoyMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvOiBmaXggYSB3YXJuaW5nIGRvaW5nIGEgY2FzdAoKMjAwOS0xMC0wOSAxMjoxMToxMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MDE6MTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBmaXggd2FybmluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NTc6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggd2FybmluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NTQ6MDMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHdhcm5pbmdzIGJ1aWxkaW5nIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTo0MjozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IGZpeCBwcmludGYgd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjMwOjAwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggd2FybmluZyBpbiBtYWNvc3ggbWFraW5nIHRoZSBmb3JtYXQgcG9ydGFibGUKCjIwMDktMTAtMDkgMTA6NTE6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IHVzZSBHX0dVSU5UNjRfRk9STUFUIHRvIGZpeCB3YXJuaW5ncyBvbiBPU1gKCjIwMDktMTAtMDkgMTA6MTE6MzggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBGaXhlcyBidWlsZCBvbiBtYWNvc3ggc25vdyBsZW9wYXJkLgoKMjAwOS0xMC0wOSAxMTozNDoxNiArMDIwMCAgUGF1IEdhcmNpYSBpIFF1aWxlcyA8cGdxdWlsZXNAZWxwYXVlci5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEluY2x1ZGUgc3lzL2lvY3RsLmggZm9yIHRoZSBWNEwgaW9jdGwgcmVxdWVzdHMKCSAgT2xkIHZpZGVvZGV2aWNlMi5oIGtlcm5lbCBoZWFkZXJzIHVzZWQgaW9jdGwgc3R1ZmYgd2l0aG91dAoJICBpbmNsdWRpbmcgaW9jdGwuaCwgbWFraW5nIGNvbXBpbGF0aW9uIGZhaWwgb24gb2xkZXIgc3lzdGVtcy4KCSAgTm90ZTogSW5jbHVkaW5nIGlvY3RsLmggaGVyZSBpcyBvbmx5IGEgd29ya2Fyb3VuZCBmb3Igb2xkIGtlcm5lbAoJICBoZWFkZXJzLCBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIGV2ZXJ5Ym9keSBoYXMgbmV3IGVub3VnaCBoZWFkZXJzLgoJICBGaXhlcyBidWcgIzU5Nzg2Ny4KCjIwMDktMTAtMDkgMDA6MTQ6MDcgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBjaGVjazogTWFrZSB0aGUgbGV2ZWwgdW5pdCB0ZXN0IHN1Y2NlZWQgb24gU29sYXJpcyAxMAoJICBBZGQgYSBjb25maWd1cmUgY2hlY2sgZm9yIGZ1bmN0aW9uYWwgaXNpbmYoKSBhbmQgZnBjbGFzcygpLCBhbmQKCSAgdXNlIGZwY2xhc3MoKSB3aGVyZSBwb3NzaWJsZSB3aGVuIGlzaW5mKCkgaXMgbm90IGF2YWlsYWJsZS4KCjIwMDktMDUtMTYgMTM6NTI6NTAgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHN0cnN0cigpIHVzYWdlIG9uIHBvc3NpYmx5IHVudGVybWluYXRlZCBzdHJpbmcKCjIwMDktMTAtMDggMTY6MTY6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBjaGVjazogTGluayBhZ2FpbnN0IExJQk0gYW5kIGluY2x1ZGUgbWF0aC5oIGZvciBpc2luZigpCgoyMDA5LTEwLTA3IDIxOjUxOjM4ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSAgb3NzOiBEb3duZ3JhZGUgdGhlIHJhbmsgb2Ygb3Nzc3JjIHRvIFNFQ09OREFSWQoJICB3aGljaCBpcyB0aGUgc2FtZSByYW5rIGFzIG9zc3NpbmsgaGFzLgoJICBGaXhlcyBidWcgIzU5NzczMC4KCjIwMDktMTAtMDggMTA6NTk6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTlmYTRmMyB0byBhM2UzY2U0CgoyMDA5LTEwLTA4IDEwOjIwOjA5ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aS93YXY6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IGluY29tcGF0aWJsZSBwb2ludGVycy4KCjIwMDktMTAtMDUgMTc6MzY6NTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogRml4IHBsdWdpbiBkZXNjcmlwdGlvbgoKMjAwOS0xMC0wNyAxNDowMzoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBidWlsZDogZnByaW50Ziwgc3ByaW50Ziwgc3NjYW5mIG5lZWQgc3RkaW8uaAoKMjAwOS0xMC0wNyAwMDozMzo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiB1c2Ugc2hlbGZpbmcgZmlsdGVycyBmb3IgZmlyc3QgYW5kIGxhc3QgYmFuZAoJICBSZWZhY3RvciB0aGUgZmlsdGVyIHNldHVwLiBBZGQgdHdvIG5ldyBmaWx0ZXJzIHdpdGggc2hlbGYgY2hhcmFjdGVyaXN0aWNzIGZvcgoJICBmaXJzdCBhbmQgbGFzdCBiYW5kLiBDaGFuZ2UgZ2FpbiBjYWxjdWxhdGlvbiBhcyByZWNvbW1lbmRlZCBpbiB0aGUgcXVvdGVkCgkgIGRvY3VtZW50IChubyBxcnQgbmVlZGVkKS4gUmVuYW1lIHZhcmlhYmxlcyB0byBtYXRjaCB0aGUgZm9ybXVsYXMgaW4gdGhlCgkgIGRvY3VtZW50LgoKMjAwOS0xMC0wMiAyMzo1MToyOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZ3VhcmQgZnJhZ21lbnQgc2l6ZSB3aXRoIGEgbG93ZXIgbGltaXQgYmFzZWQgb24gbGF0ZW5jeS10aW1lCgkgIEluIGNhc2UgdGhhdCB0aGUgcHVsc2UgZGFlbW9uIHJ1bnMgdGhlIHNvdXJjZSBkZXZpY2UgYXQgYSByZWxhdGl2ZWx5IGxvdyBmaXhlZAoJICBmcmFnbWVudCBzaXplIGNvbXBhcmVkIHRvIHRoZSByZXF1ZXN0ZWQgbGF0ZW5jeS10aW1lLCBjb25maWd1cmUgdGhlIHJpbmcgYnVmZmVyCgkgIHNlZ3NpemUgdG8gdGhlIGxhcmdlc3QgaW50ZWdlciBtdWx0aXBsZSBvZiB0aGUgZnJhZ21lbnQgc2l6ZSB0aGF0IGlzIHN0aWxsCgkgIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgcmVxdWVzdGVkIGxhdGVuY3ktdGltZS4KCSAgRml4ZXMgYnVnICM1OTc0NjMuCgoyMDA5LTEwLTA2IDE3OjQwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGNvbW1lbnQvbG9nZ2luZyBjbGVhbnVwcyBhbmQgbW9yZSBicmFuY2ggZ3VpZGVzCgoyMDA5LTEwLTA1IDIyOjQzOjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGZpeCBmaWx0ZXIgaGlzdG9yeSB1c2FnZS4gRml4ZXMgIzU5NzM5NwoJICBUaGUgcHJvY2VzcyBmdW5jdGlvbnMgd2hlcmUgb3ZlcndyaXRpbmcgdGhlIGhpc3RvcnkgZm9yIGVhY2ggY2hhbm5lbC4gQWxzbyBwdWxsCgkgIHNvbWUgc3RhdGljIHRoaW5ncyBvdXQgb2YgdGhlIGlubmVyIGxvb3AuCgoyMDA5LTEwLTA1IDE2OjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIGxvY2tpbmcgYXJvdW5kIHRoZSBzZXNzaW9ucwoKMjAwOS0xMC0wNSAxMTo0NjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc3VyZSBjb21wYXRpYmxlIGJyYW5kcyBidWZmZXIgZXhpc3RzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0CgoyMDA5LTEwLTA0IDIxOjU5OjI0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwcmludGYgd2FybmluZ3Mgb24gT1NYCgkgIENhc3QgdmFyaWFibGVzIHBhc3NlZCB0byBwcmludGYgdG8gYXZvaWQgd2FybmluZ3MgYWJvdXQgaW5jb3JyZWN0CgkgIGZvcm1hdHMgKG1vc3QgbGlrZWx5IGNhdXNlZCBieSBzaXplb2YgcmV0dXJuaW5nIGEgc2l6ZV90KS4KCSAgRml4ZXMgIzU5NzM0OC4KCjIwMDktMTAtMDIgMDA6MjM6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgaW50ZXJuYWwgZ2VucmUgdGFibGUKCSAgTm8gbmVlZCB0byBtYWludGFpbiBvdXIgb3duIGdlbnJlIHRhYmxlIGluIHF0ZGVtdXguIFRoZSBnZW5yZXMgYXJlCgkgIGlkZW50aWNhbCB0byB0aGUgSUQzIGdlbnJlcywgc28gd2UgY2FuIGp1c3QgdXNlIGxpYmdzdHRhZydzCgkgIGdzdF90YWdfaWQzX2dlbnJlX2dldCgpIHRvIGxvb2sgdGhlbSB1cC4KCjIwMDktMTAtMDMgMTc6MTg6MjggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHByaW50ZiBmb3JtYXRzIHRvIGF2b2lkIHdhcm5pbmdzIGluIGF2aWRlbXV4LiBGaXhlcyAjNTk3MjE0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTcyMTQKCjIwMDktMTAtMDMgMDk6NTI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoYW5nZSBvbmUgR1NUX1dBUk5JTkcgdG8gYSBHU1RfREVCVUcKCjIwMDktMTAtMDIgMTQ6Mzc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IElmIHRoZXJlJ3Mgbm8gYXVkaW8gc3RyZWFtIGFmdGVyIDYgc2Vjb25kcyBvZiB2aWRlbyBzaWduYWwgbm8tbW9yZS1wYWRzCgkgIC4uLmFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBpZ25vcmUgYW55IGF1ZGlvL3ZpZGVvIHN0cmVhbXMgdGhhdCBhcHBlYXIKCSAgYWZ0ZXIgbm8tbW9yZS1wYWRzLgoJICBGaXhlcyBidWcgIzU5NzA5MS4KCjIwMDktMTAtMDIgMTQ6Mzc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IE1ha2Ugc3VyZSB0byBvbmx5IHNpZ25hbCBuby1tb3JlLXBhZHMgYSBzaW5nbGUgdGltZQoKMjAwOS0xMC0wMiAyMjo1NTo0NSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW5hbWUgcGFfYnVmZmVyX2F0dHIgdmFyaWFibGVzCgkgIE1ha2VzIGl0IG11Y2ggZWFzaWVyIHRvIHNlZSB3aGF0IGlzIGdvaW5nIG9uIGFuZCBpcyBhIGxvdCBsZXNzIGVycm9yIHByb25lLgoKMjAwOS0xMC0wMiAxODoyNToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwOiBhZGQgbWlzc2luZyBpbmNsdWRlIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTAtMDIgMTM6MTU6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvZmlsdGVyOiBhZGQgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIHRvIHByb3BlcnR5IHNldHRlcgoKMjAwOS0xMC0wMiAxMzoxMDo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBkb24ndCBnaXZlIHdyb25nIG51bWJlciBvZiBmaWVsZHMgaW4gdGhlIG1lc3NhZ2UgZG9jcwoKMjAwOS0xMC0wMSAxMjo1Mjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNhY2hlIGxhdGVuY3kgaW4gbmFub3NlY29uZHMKCSAgQ2FjaGUgdGhlIGxhdGVuY3kgaW4gbmFub3NlY29uZHMgdW5pdHMgdG8gYXZvaWQgaGF2aW5nIHRvIGNvbnZlcnQgdGhlCgkgIG1pbGxpc2Vjb25kcyB2YWx1ZSB0byBuYW5vc2Vjb25kcyBhbGwgdGhlIHRpbWUuCgoyMDA5LTEwLTAxIDEyOjEyOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIC0xIGlucHV0IHRpbWVzdGFtcHMKCSAgRG9uJ3QgdHJ5IHRvIGNoZWNrIGEgLTEgdGltZXN0YW1wIGFnYWluc3QgdGhlIG1heCBkZWxheS4KCjIwMDktMTAtMDEgMTA6NTQ6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBkb24ndCBtaXN1ZXMgcGVyZi1jYXRlZ29yeSBhbmQgcmVtb3ZlIHVudXNlZCBleHQgY2F0ZWdvcnkKCSAgVGhlIHBlcmZvcm1hbmNlIGNhdGVnb3J5IGlzIG1lYW50IHRvIGJlIHVzZWQgdG8gYXVkaXQgY29kZXBhdGhzIHRoYXQgbGVhZCB0byBiYWQKCSAgcGVyZm9ybWFuY2UgKGUuZy4gY29waWVzLCBjb252ZXJzaW9uIHRoYXQgY2FuIGJlIGF2b2lkZWQpLgoJICBSZW1vdmUgdGhlIGV2ZW50IGNhdGVnb3J5IHdoaWNoIGlzIG5vdCB1c2VkLgoKMjAwOS0wOS0xNiAxNDoyMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXkvZGVwYXk6IERlbW90ZSBwZXItYnVmZmVyIGRlYnVnIG1lc3NhZ2VzIHRvIGxvZyBsZXZlbAoKMjAwOS0wOS0xNiAxNDoxNjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IERvbid0IGxlYWsgaW5jb21pbmcgYnVmZmVycyBhZnRlciBzdWJidWZmZXJpbmcgdGhlbQoKMjAwOS0wOS0xNiAxMzo1NzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXkvZGVwYXk6IEFkZCBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDA5LTA5LTE2IDEzOjU1OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogUmVtb3ZlIGxvbmcgdW5uZWVkZWQgZGVmaW5lIHJlcGxhY2VtZW50CgoyMDA5LTA5LTMwIDE4OjA2OjA3ICswMTAwICBDaHJpc3RpYW4gRi5LLiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIG1ha2VmaWxlIHdpdGggbWlzc2luZyBoZWFkZXIgZmlsZQoKMjAwOS0wOS0zMCAxODo0NToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cDogVXNlIGF1dG9hdWRpb3tzaW5rLHNyY30gaW5zdGVhZCBvZiBhbHNhIGluIHRoZSBleGFtcGxlcwoKMjAwOS0wOS0yOSAxNzo1MTowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBsZWFrIG91dHB1dCBidWZmZXJzIG9uIGRlY29kaW5nIGVycm9ycwoJICBUaGUgc2V0am1wIGhhbmRsZXMgbGlianBlZyBlcnJvci4gRnJlZSB0aGUgb3V0cHV0YmZmZXIgaWYgd2UgZG9uJ3QgbmVlZCBpdC4KCjIwMDktMDktMjkgMDA6MDE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRwoKMjAwOS0wOS0yMyAxNDoyNTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wOS0yMyAxMzo1NzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggdGltZXN0YW1waW5nIGluIHNvbWUgYXVkaW8gc3RyZWFtcwoJICBGb3IgdmJyIGF1ZGlvIHN0cmVhbXMgd2UgbmVlZCB0byB1c2UgdGhlIG51bWJlciBvZiBibG9ja3MgdG8gY2FsY3VsYXRlIHRoZQoJICB0aW1lc3RhbXBzLgoJICBXaGVuIHRoZSBhbGxvY2F0aW9uIG9mIGFkZGl0aW9uYWwgaW5kZXggbWVtb3J5IGZhaWxzLCBkb24ndCB0aHJvdyBhd2F5IHdoYXQKCSAgd2UgaGFkIGJlZm9yZS4KCSAgVmFyaW91cyBjbGVhbnVwcy4KCjIwMDktMDktMjMgMTI6NTY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogYWRkIHN1cHBvcnQgZm9yIE9ETUwgaW5kZXhlcyBhZ2FpbgoKMjAwOS0wOS0yMiAyMjoxMjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmk6IGltcGxlbWVudCBpbmRleCBzY2FubmluZwoJICBJbXBsZW1lbnQgc2Nhbm5pbmcgb2YgdGhlIGZpbGUgd2hlbiB3ZSBjYW4gcGFyc2UgdGhlIGluZGV4LgoJICBTb21lIHJlZmFjdG9yaW5nIG9mIGNvbW1vbiBjb2RlLgoJICBDbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIFJlbW92ZSBzb21lIHJlaW1wbGVtZW50ZWQgY29kZS4KCSAgUmVtb3ZlIGluZGV4IG1hc3NhZ2UgY29kZSBhbmQgcHV0IGEgRklYTUUgd2hlcmUgd2Ugc2hvdWxkIGRvIHNvbWV0aGluZwoJICBlcXVpdmFsZW50IGxhdGVyLgoKMjAwOS0wOS0yMiAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggcmV2ZXJzZSBwbGF5YmFjawoKMjAwOS0wOS0yMiAxNzo0Mjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggcHJldiBrZXlmcmFtZSBzZWFyY2ggYW5kIGNsZWFudXBzCgoyMDA5LTA5LTIyIDE0OjUxOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHJlbW92ZSBjb2RlIHRoYXQgZ290IGNvbnZlcnRlZAoKMjAwOS0wOS0yMiAxNDo0NDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmk6IG1vcmUgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGNvdW50ZXJzLgoJICBCZSBzbWFydGVyIHdoZW4gdXBkYXRlaW5nIHRoZSBjdXJyZW50IHRoZSB0aW1lc3RhbXAgYW5kIG9mZnNldCBpbiB0aGUgc3RyZWFtCgkgIGJlY2F1c2Ugd2UgY2FuIHJldXNlIHByZXZpb3VzbHkgY2FsY3VsYXRlZCB2YWx1ZXMgd2hlbiBzaW1wbHkgZ28gZm9yd2FyZCBvbmUKCSAgc3RlcC4KCSAgQ29ycmVjdGx5IHNldCBtZXRhZGF0YSBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOS0wOS0yMiAxMjozNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogc21hbGwgY2xlYW51cHMKCjIwMDktMDktMjIgMDE6Mjg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHJlYWQgb2Zmc2V0IGFuZCBjbGVhbnVwcwoKMjAwOS0wOS0yMSAxODowNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmk6IHJld3JpdGUgaW5kZXggcGxheWJhY2sKCSAgZGlzYWJsZSBjb2RlLCBzdGFydCBvbiByZWltcGxlbWVudGluZyBsb29wIGJhc2VkIG9wZXJhdGlvbi4KCSAgUmV3cml0ZSB0aGUgaW5kZXggaGFuZGxpbmcgc28gdGhhdCBhbGwgc3RyZWFtcyB1c2UgdGhlaXIgb3duIGluZGV4IGZvciBkZWNvZGluZwoJICBtZWRpYS4KCjIwMDktMDktMjEgMTU6MzU6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFkZCBuZXcgaW5kZXggcGFyc2luZyBjb2RlCgkgIEFkZCBhIG5ldyBmdW5jdGlvbiBhbmQgZGF0YXN0cnVjdHVyZSB0byBwYXJzZSBhbmQgaG9sZCB0aGUgaW5kZXggZW50cmllcyBvbiBhCgkgIHBlciBzdHJlYW0gYmFzZS4gQWxzbyBhdm9pZCBkb2luZyB0b28gbXVjaCB3b3JrIHRyeWluZyB0byBmaWd1cmUgb3V0IHRoZQoJICB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgYXMgd2UgY2FuIHRyaXZpYWxseSBkbyB0aGF0IGxhdGVyLgoJICBMZXNzIGluZm9ybWF0aW9uIGluIHRoZSBlbnRyaWVzIG1ha2VzIHRoZW0gMiB0aW1lcyBzbWFsbGVyIGFuZCBub3QgZG9pbmcgdG9vCgkgIG11Y2ggd29yayBtYWtlcyB0aGlzIGNvZGUgYWJvdXQgMTIgdGltZXMgZmFzdGVyIHRoYW4gdGhlIHJlZ3VsYXIgY2FzZS4KCSAgSG9vayBpbiB0aGUgbmV3IGZ1bmN0aW9uIGFsb25nc2lkZSB0aGUgZXhpc3RpbmcgZnVuY3Rpb24gZm9yIGNvbXBhcmlzb24gdW50aWwKCSAgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaXMgdXBkYXRlZCB0byBoYW5kbGUgdGhlIG5ldyBpbmRleCBkYXRhc3RydWN0dXJlLgoKMjAwOS0wOS0yOCAxNjoyOTo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBoYW5kbGUgbW9yZSBsaWJqcGVnIHJldHVybiB2YWx1ZXMsIGFkZCBzb21lIG1vcmUgYnJhbmNoIGhpbnRzCgkgIEFsc28gcmVtb3ZlIHVudXNlZCBzaXplIHZhcmlhYmxlIGluIF9jaGFpbigpLgoKMjAwOS0wOS0yNSAxOToyMTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvbWUgb3B0aW9uYWwgUVQgc3BlY2lmaWVkIHN0c2QgTVBFRy00IGF0b21zIGFsc28gYXBwbHkgdG8gSDI2NAoJICBGaXhlcyAjNTk2MzE5LgoKMjAwOS0wOS0yNSAxNjo0MDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgc2VuZCB0YWcgZXZlbnRzIGRvd25zdHJlYW0gYWZ0ZXIgbmV3c2VnbWVudAoKMjAwOS0wOS0yNSAxNDoxNDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGlmIHRyYW5zcG9ydCBwcm90b2NvbCB1bnN1cHBvcnRlZCwgdHJ5IGFub3RoZXIgb25lCgkgIEFsc28gY2hhbmdlIGVycm9yIG1lc3NhZ2UgdG8gbW9yZSBhY2N1cmF0ZWx5IHJlZmxlY3QgY2FzZXMgaW4gd2hpY2gKCSAgaXQgY2FuIG9jY3VyLgoKMjAwOS0wOS0yNSAxMTo1NDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGR1cmF0aW9ucyBtb2R1bG8gMTw8MzIKCSAgRm9yIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbnMgb2YgZWFjaCBzYW1wbGUsIHdlIGFyZSBzdXBwb3NlZCB0byBhZGQgZWFjaAoJICBkdXJhdGlvbiBtb2R1bG8gMTw8MzIgc28gbWFrZSB0aGUgZWxhcHNlZCB0aW1lIGNvdW50ZXIgYSB1aW50MzIuCgkgIEZpeGVzICM1OTU5NDIKCjIwMDktMDktMjQgMjA6Mzg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNtYWxsIGNsZWFudXAKCjIwMDktMDktMjQgMTk6MzM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBjb3JlIEFQSSB0aGF0IGRvZXNuJ3QgZXhpc3QgeWV0CgkgIFRoZXJlJ3Mgbm8gZ3N0X2J5dGVfcmVhZGVyX2hhc19yZW1haW5pbmcoKSB5ZXQuIEZpeGVzIGJ1aWxkLgoKMjAwOS0wOS0yNCAxMzoyMDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSAgcXRkZW11eDogbWFwIHNvbWUgYXRvbXBhcnNlciBmdW5jdGlvbnMgdG8gdGhlaXIgbmV3IGJ5dGVyZWFkZXIgZXF1aXZhbGVudHMKCSAgTm93IHRoYXQgR3N0Qnl0ZVJlYWRlciBoYXMgdW5jaGVja2VkIGFuZCBpbmxpbmVkIHZhcmlhbnRzIGFzIHdlbGwsIG1hcAoJICBhdG9tcGFyc2VyIGZ1bmN0aW9ucyB0byB0aGVpciByZXNwZWN0aXZlIGJ5dGVyZWFkZXIgZXF1aXZhbGVudHMuCgoyMDA5LTA4LTI1IDEyOjExOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBhZGQgcXRfYXRvbV9wYXJzZXJfaGFzX2NodW5rcygpIGFuZCBmaXggaW5kZW50YXRpb24KCjIwMDktMDgtMjAgMTg6MjE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBiYWlsIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBhbGxvYyBzaWxseSBpbmRleCBzaXplcwoJICBJZiBpdCBsb29rcyBsaWtlIHdlIHdvdWxkIGJlIGFsbG9jYXRpbmcgYSBzaWxseSBzaXplIGZvciBvdXIgc2FtcGxlCgkgIGluZGV4LCBqdXN0IGJhaWwgb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGFsbG9jYXRlIGl0LiBIZWxwcyB3aXRoCgkgIGJyb2tlbiBvciBmdXp6ZWQgZmlsZXMgd2hlcmUgd2UgbWlnaHQgZW5kIHVwIHRyeWluZyB0byBtYWxsb2MgYQoJICBjb3VwbGUgb2YgaHVuZHJlZCBNQnMgb3RoZXJ3aXNlLgoKMjAwOS0wOC0yMCAxNjo0NzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVycm9yIG91dCBjb3JyZWN0bHkgaWYgd2UgZG9uJ3QgZXZlbiBoYXZlIGVub3VnaCBieXRlcyBmb3IgYW4gYXRvbSBoZWFkZXIKCjIwMDktMDgtMjAgMTU6Mzk6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0IGZvdXJjYyB0byAwIGFzIHdlbGwgdG8gYXZvaWQgaW52YWxpZCByZWFkcyB3aGVuIHByaW50ZidpbmcgZXJyb3IgbWVzc2FnZQoKMjAwOS0wOC0yMCAwMTozOToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VfaGFzX3JlbWFpbmluZygpIHRvIGF2b2lkIG92ZXJmbG93cyB3aXRoIF9nZXRfcmVtYWluaW5nKCkKCjIwMDktMDgtMjAgMDE6MjE6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR3N0Qnl0ZVJlYWRlciB3aGVuIHBhcnNpbmcgdGtoZCBhdG9tCgoyMDA5LTA4LTE5IDE5OjEzOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIHVuc2lnbmVkIGludHMgZm9yIG5vZGUgbGVuZ3RoIGFuZCBkbyBtb3JlIHNhbml0eSBjaGVja2luZyBvZiB0aGUgYXRvbSBsZW5ndGgKCjIwMDktMDgtMTkgMDE6MzY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiB1c2UgR3N0Qnl0ZVJlYWRlciBmb3IgYXRvbSBkdW1waW5nIGFuZCBmaXggYSBmZXcgYnVncwoKMjAwOS0wOC0yMSAxNDoyMTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vdmUgc3Rjbywgc3R0cywgc3RzcyBhbmQgc3RwcyBhdG9tIHBhcnNpbmcgb3ZlciB0byBHc3RCeXRlUmVhZGVyCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgYXRvbSBib3VuZGFyeS4gTm90ZSB0aGF0IHRoZSBjb2RlCgkgIGJlaGF2ZXMgc2xpZ2h0bHkgZGlmZmVyZW50bHkgaW4gdGhlIGNvcm5lciBjYXNlIHdoZXJlIHRoZXJlIGlzIG5vdAoJICBlbm91Z2ggYXRvbSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBzYW1wbGVzIChuX3NhbXBsZXNfdGltZSkKCSAgaW4gdGhlIGF0b20sIGJ1dCBzdGlsbCBlbm91Z2ggZGF0YSB0byBmaWxsIHRoZSBwcmUtYWxsb2NhdGVkIGluZGV4IG9mCgkgIG5fc2FtcGxlcyBlbnRyaWVzOiBiZWZvcmUgd2Ugd291bGQganVzdCBzdG9wIHBhcnNpbmcgdGhlIHN0dHMgZGF0YQoJICBhbmQgY29udGludWUsIHdoZXJlYXMgbm93IHdlIHdpbGwgbGlrZWx5IGVycm9yIG91dC4gVGhpcyBzaG91bGQgbm90CgkgIGJlIGEgcHJvYmxlbSBpbiBwcmFjdGljZSB0aG91Z2guIFdlIGNvdWxkIG1haW50YWluIHRoZSBvbGQgYmVoYXZpb3VyCgkgIGJ5IGRvaW5nIHJlYWRzIHdpdGggYSBzaXplIGNoZWNrIGluc2lkZSB0aGUgbG9vcCBpZiBuZWVkZWQuCgoyMDA5LTA2LTMwIDE5OjUxOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGJ5dGVyZWFkZXIgdG8gcGFyc2Ugc3RzeiBhbmQgc3RzYyBhdG9tcwoJICBVc2UgR3N0Qnl0ZVJlYWRlciB0byBwYXJzZSBzdHN6IGFuZCBzdHNjIGNodW5rcywgYW5kIGNoZWNrIHNpemUgb2YKCSAgYXZhaWxhYmxlIGRhdGEgYmVmb3JlIHBhcnNpbmcgaXQsIGluc3RlYWQgb2YgYmxpbmRseSBhc3N1bWluZyB0aGVyZQoJICB3aWxsIGJlIGVub3VnaCBkYXRhLiBGaXhlcyBjcmFzaGVzIHdpdGggc29tZSBmdXp6ZWQvYnJva2VuIGZpbGVzLgoKMjAwOS0wOC0xNSAyMDozODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VyX2dldF9vZmZzZXQoKSBhbmQgb3B0aW1pc2UgX3BlZWtfc3ViKCkKCjIwMDktMDctMDEgMTM6NDk6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBRdEF0b21QYXJzZXIsIGFuIGlubGluZWQgR3N0Qnl0ZVJlYWRlciB2YXJpYW50CgoyMDA5LTA5LTIzIDE3OjE5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdXNlIHByb3BlciBvcmRlciBmb3Igbm8tbW9yZS1wYWRzIGFuZCBuZXdzZWdtZW50IGFuZCB0YWcgc2VuZGluZwoKMjAwOS0wOS0yMyAwOTo1MDozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc3ByaW5rbGUgYSBmZXcgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTIyIDE1OjAzOjIwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBGaXggY29tcGlsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjAuMS4KCjIwMDktMDktMjIgMTE6NDg6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IERvbid0IGdldCBzdHVjayBpbiBhbiBpbmZpbml0ZSBsb29wIHdpdGggRGlyYWMKCSAgQXQgdGhlIGVuZCwgRGlyYWMgc3RyZWFtcyBoYXZlIGFuIEVPUyBwYWNrZXQgd2l0aCAwIGxlbmd0aC4KCSAgRG9uJ3QgZXZlciBzaXQgaW4gYW4gaW5maW5pdGUgbG9vcCB3aGVuIHByb2Nlc3Npbmcgb25lLiBBbGxvd3MKCSAgbXV4aW5nIERpcmFjIGludG8gbWt2IHRvIGNvbXBsZXRlIHN1Y2Nlc3NmdWxseS4KCjIwMDktMDktMjIgMTE6MDM6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMDktMDktMjIgMTE6MDI6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IGZpeCB1cCBNYWtlZmlsZSBzb21lIG1vcmUKCSAgUmVtb3ZlIENGTEFHUyBmcm9tIExJQkFERCBhbmQgbWFrZSBvcmRlciBvZiB0aGUgdmFyaW91cyBDRkxBR1MgYW5kCgkgIExJQlMgYXQgbGVhc3QgY29uc2lzdGVudCB3aXRoIGVhY2ggb3RoZXIuCgoyMDA5LTA5LTIyIDA4OjAyOjQ4ICswMjAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBMREZMQUdTIGZvciBsaW5raW5nIGxpYmdzdHZpZGVvCgkgIEZpeGVzIGJ1ZyAjNTk1ODk3LgoKMjAwOS0wOS0yMSAxODowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggdGltZXN0YW1wcyBpbiBwdXNoIG1vZGUKCjIwMDktMDktMTggMTc6MjY6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGEgR19VTkxJS0VMWSBhbmQgcHV0IHBlcmYtY2F0IGxvZyB0byBjb2RlIHBhdGggdGhhdCBjb3BpZXMKCjIwMDktMDktMjEgMTI6MzI6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogYWRkIHNvbWUgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzCgkgIE1lYXN1cmUgdGhlIHBlcmZvcm1hbmNlIG9mIHZhcmlvdXMgaW5kZXggYW5kIGhlYWRlciBwYXJzaW5nIHN0ZXBzIHRvIHRoZQoJICBQRVJGT1JNQU5DRSBkZWJ1ZyBjYXRlZ29yeS4KCjIwMDktMDktMTggMTE6NTM6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBhbGxvdyBmb3IgdW5rbm93biB2YXJ5aW5nIG51bWJlciBvZiBmcmFtZXMgcGVyIGJ1ZmZlcgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGNhdGVycyBmb3IgUlRQIHBheWxvYWRzIHdpdGggbXVsdGlwbGUgZnJhbWVzCgkgIHBlciBwYWNrZXQuCgoyMDA5LTA5LTE4IDExOjQ1OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogdXNlIGNvcnJlY3Qgc2FtcGxlIHNpemUgaW4gY29udmVyc2lvbnMKCjIwMDktMDktMTggMTE6NDM6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBmaXggYnVmZmVyIHRpbWUgYW5kIGR1cmF0aW9uIGZvciBtdWx0aXBsZSBmcmFtZXMgcGVyIHBhY2tldAoKMjAwOS0wOS0xOCAxNDoyMjowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc29tZSBsb2dnaW5nIGNsZWFudXAgdG8gaGVscCB1bmRlcnN0YW5kaW5nIHRoZSBpbmRleCBwYXJzaW5nIG92ZXJoZWFkCgoyMDA5LTA5LTE2IDEzOjI4OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgb3N4YXVkaW86IGxpbmsgYWdhaW5zdCBHU1RfQkFTRV9MSUJTCgoyMDA5LTA5LTE1IDE3OjI0OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogRml4IGFkYXB0ZXIgbGVhawoJICBUaGUgYWRhcHRlciB3b3VsZCBiZSBsZWFrZWQgaWYgaXQgd2FzIGVtcHR5IGFuZCB0aGUgZGF0YSBjb3VsZCBiZSBwdXNoZWQgb3V0IGRpcmVjdGx5LgoKMjAwOS0wOS0xNSAxMDowNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcnMKCSAgcGFfc3RyZWFtX2dldF90aW1pbmdfaW5mbygpIGNhbiByZXR1cm4gTlVMTC4KCSAgRml4ZXMgYnVnICM1OTUyMjAuCgoyMDA5LTA5LTE1IDEwOjAxOjU0ICswMjAwICBEYXZpZCBIZW5uaW5nc3NvbiA8Z25vbWUud2ViQGVwb3N0LmRpd2ljLnNlPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcnMKCSAgcGFfc3RyZWFtX2dldF90aW1pbmdfaW5mbygpIGNhbiByZXR1cm4gTlVMTC4KCSAgRml4ZXMgYnVnICM1OTUyMjAuCgoyMDA5LTA5LTE0IDE2OjA1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBzdHJlYW0gZXZlbnRzCgkgIEhhbmRsZSBzdHJlYW0gZXZlbnRzIGFuZCByZXF1ZXN0IGEgUEFVU0UvUExBWSBzdGF0ZSBjaGFuZ2UgZnJvbSB0aGUgYXBwbGljYXRpb24KCSAgd2hlbiB3ZSByZWNlaXZlIGEgQ09SSy9VTkNPUksgZXZlbnQuCgoyMDA5LTA5LTEzIDEyOjMwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogQWRkIG5leHQtZmlsZSBwcm9wZXJ0eQoJICBBZGQgYSBwcm9wZXJ0eSB0byBhbGxvdyBjb250cm9sIG92ZXIgd2hhdCBldmVudCBjYXVzZXMgYSBmaWxlCgkgIHRvIGZpbmlzaCBiZWluZyB3cml0dGVuIGFuZCBhIG5ldyBmaWxlIHN0YXJ0LiAgVGhlIGRlZmF1bHQgaXMKCSAgdGhlIHNhbWUgYXMgYmVmb3JlIC0tIGVhY2ggYnVmZmVyIGNhdXNlcyBhIG5ldyBmaWxlIHRvIGJlCgkgIHdyaXR0ZW4uICBBZGRlZCBpcyBhIGNhc2Ugd2hlcmUgYnVmZmVycyBhcmUgd3JpdHRlbiB0byB0aGUKCSAgc2FtZSBmaWxlIHVudGlsIGEgZGlzY29udGludWl0eSBpbiB0aGUgc3RyZWFtLgoKMjAwOS0wOS0xMyAxNTo1NTowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBVc2UgdmFsdWVzIGZyb20gZGVjb2RlciBzdHJ1Y3R1cmUgZGlyZWN0bHkKCSAgRG9uJ3Qgc3RvcmUgdGhlIHNhbWUgdmFsdWVzIGluIHRoZSBHc3REdkRlbXV4LiAgVGhpcwoJICBmaXhlcyBhIGJ1ZyB3aGVyZSBkdmRlbXV4IHdvdWxkIGRldGVjdCBhIHN0cmVhbSBhcyBQQUwKCSAgaW5zdGVhZCBvZiBOVFNDLCBhbmQgc2lsZW50bHkgcGFyc2UgaXQgd3JvbmcuCgoyMDA5LTA5LTEzIDEyOjIwOjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSogZXh0L2R2L3NtcHRlX3Rlc3QuYzoKCSAgZHZkZW11eDogQWRkIGNvZGUgdG8gcGFyc2UgU01QVEUgdGltZSBjb2RlcwoJICBDb2RlIHRvIGNvbnZlcnQgdGltZSBjb2RlcyB0by9mcm9tIHRpbWVzdGFtcHMgYW5kIGZyYW1lIG51bWJlcnMuCgoyMDA5LTA5LTEzIDEyOjAxOjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IEZpeCBkZXRlY3Rpb24gb2YgbmV3IG1lZGlhCgkgIFRoZXJlIGFyZSA1IG9yIDYgQUFVWCBzb3VyY2UgY29udHJvbCBwYWNrcyBpbiBhIGZyYW1lLCBhbmQgYW55CgkgIG9mIHRoZW0gY291bGQgaGF2ZSBSRUNfU1QgY2xlYXJlZCwgaW5kaWNhdGluZyBhIHJlY29yZGluZyBzdGFydAoJICBwb2ludC4gIGxpYmR2IG9ubHkgY2hlY2tzIHRoZSBmaXJzdC4KCjIwMDktMDktMTIgMTk6MjU6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBTZXQgRElTQ09OVCBmbGFnIG9uIGJ1ZmZlcnMgd2hlbiBSRUNfU1QgZmxhZyBpcyBzZXQuCgkgIEFsc28gYWRkIGEgZmV3IGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xMiAwMDoxMzowNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIGNoZWNrOiBGaXggYSBjb3VwbGUgb2YgdGVzdHMuCgkgIFRoZSBzb3VwaHR0cHNyYyB0ZXN0IHdhc24ndCBjb21waWxpbmcuIFRoZSBzb3VwLW1pc2MuaCBoZWFkZXIgaXMgbmVlZGVkIGZvcgoJICBzb3VwX3NzbF9zdXBwb3J0ZWQuCgkgIEZpeCB0aGUgeTRtZW5jIHRlc3QgdG8gdXNlIGEgJ3Byb2dyZXNzaXZlJyBoZWFkZXIgZm9yIHRoZSB0ZXN0IGRhdGEgbm93IHRoYXQKCSAgdGhlIGVsZW1lbnQgb3V0cHV0cyBjb3JyZWN0IGludGVybGFjaW5nIGluZm8uCgoyMDA5LTA5LTExIDEzOjMyOjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdHJlYXQgYSB6ZXJvLXNpemVkIGRhdGEgY2h1bmsgYXMgZXh0ZW5kaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcyB0aGF0IGRvbid0IGhhdmUgYSB2YWxpZCBkYXRhIGNodW5rIGxlbmd0aCwKCSAgYXBwYXJlbnRseSBzb21lIHByb2dyYW0gY3JlYXRlcyB0aGVzZS4KCjIwMDktMDktMTEgMjI6MjQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBhZGQgYSBmdW5jdGlvbiBwb2ludGVyIGZvciBnZXRfZnJhbWUgZnVuY3Rpb24gYW5kIG9wdGltaXplIGEgYml0CgkgIFVzZSBhIGZ1bmN0aW9uLXBvaW50ZXIgZm9yIG1tYXAvcmVhZCwgYXMgdGhpcyBjYW4ndCBjaGFuZ2UgZHVyaW5nIGNhcHR1cmUuIEFsc28KCSAgc3ByaW5rbGUgYSBmZXcgR19MSUtFTFkvVU5MSUtFTFkgdG8gaW1wcm92ZSB0aGUgZXJyb3ItbGVzcyBjb2RlIHBhdGguCgoyMDA5LTA5LTExIDIyOjE1OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogbG9nIGJ1ZmZlciBjb3BpZXMgb24gcXVldWUgdW5kZXJydW4gaW4gcGVyZiBjYXRlZ29yeQoJICB2NGwyc3JjIGhhcyBhIHNsb3cgcGF0aCB3aGVyZSBpdCBkb2VzIGJ1ZmZlci1jb3BpZXMgd2hlbiBpdCBydW5zIG91dCBvZiBxdWV1ZWQKCSAgYnVmZmVycy4gTG9nIHRoaXMgdG8gcGVyZm9ybWFuY2UgY2F0ZWdvcnkgdG8gaGVscCBtb25pdG9yaW5nIGl0LgoKMjAwOS0wOS0xMSAxNToxNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogSW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UKCjIwMDktMDktMTEgMTY6MDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogSW1wbGVtZW50IG11dGUgcHJvcGVydHkKCjIwMDktMDktMTEgMTM6MzM6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IGZpeCBkb2NzIHJlZmVyaW5nIHRvIHNlbmQtbWVzc2FnZXMKCjIwMDktMDktMTEgMTM6Mjg6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBhZGQgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eQoJICBBZGQgYSBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgdGhlIGxlc3MgZGVzY3JpcHRpdmUgbWVzc2FnZQoJICBwcm9wZXJ0eS4KCjIwMDktMDktMTEgMTM6MjA6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSAgcGl4YnVmc2luazogYWRkIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkKCSAgQWRkIHBvc3QtbWVzc2FnZXMgYW5kIGRlcHJlY2F0ZSBzZW5kLW1lc3NhZ2VzIGFzIHRoZSBmb3JtZXIgaXMgbW9yZQoJICBkZXNjcmlwdGl2ZSBvZiB3aGF0IGFjdHVhbGx5IGhhcHBlbnMuCgoyMDA5LTA5LTExIDEzOjEyOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiByZW5hbWUgc2lsZW50IHRvIHBvc3QtbWVzc2FnZXMKCSAgVXNlIHRoZSBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5IG5hbWUgaW5zdGVhZCBvZiBzaWxlbnQgYXMgaXQgaXMgbW9yZQoJICBkZXNjcmlwdGl2ZS4KCjIwMDktMDktMTEgMTI6MTY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgbWVzc2FnZXMgZm9yIGVhY2ggYnVmZmVyCgkgIEFkZCBhIHNpbGVudCBwcm9wZXJ0eSB0aGF0IGNhbiBiZSBzZXQgdG8gRkFMU0UgdG8gcG9zdCBtZXNzYWdlcyBvbiB0aGUgYnVzIGZvcgoJICBlYWNoIHdyaXR0ZW4gZmlsZS4KCSAgRG8gc29tZSBtb3JlIGNsZWFudXBzLgoJICBBZGQgc29tZSBkb2NzLgoJICBGaXhlcyAjNTk0NjYzCgoyMDA5LTA5LTA5IDE4OjEzOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogQWxsb2NhdGUgQm91bmRyeSBzdHJ1Y3RzIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHRoZSBoZWFwIHRvIGF2b2lkIGxlYWtzCgkgIEZpeGVzIGJ1ZyAjNTk0NjkxLgoKMjAwOS0wOS0xMCAxMDoyODo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgZG9jczogZml4IGd0ay1kb2Mgd2FybmluZ3MKCjIwMDktMDktMTAgMTA6MjY6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgZG9jczogZml4IGd0ay1kb2Mgd2FybmluZ3MKCjIwMDktMDktMDkgMTc6NTE6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBkdjEzOTRzcmM6IEFkZCBhIGNsb2NrIGJhc2VkIG9uIGlzb2Nocm9ub3VzIGN5Y2xlIGNvdW50ZXIKCSAgUGFydGlhbCBmaXggZm9yICMxNjkzODMuCgoyMDA5LTA5LTA5IDE2OjAyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgY29udmVyc2lvbgoJICBGb3IgdGhpcyBmaXggdGhlIGF2ZXJhZ2luZyBvZiB0aGUgY2hyb21hIHZhbHVlcy4gSXQgc2hvdWxkJ3QgYmUgKGEvMiArIGIpLzIKCSAgYnV0IGp1c3QgKGEgKyBiKS8yLgoJICBGaXhlcyBidWcgIzU5NDU5OS4KCjIwMDktMDktMDkgMTY6MjU6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW1vdmUgcmluZ2J1ZmZlciByZXNldCBjb21wZW5zYXRpb24KCSAgUmVtb3ZlIHRoZSBjb2RlIHRvIGRlYWwgd2l0aCBhIHJpbmdidWZmZXIgcmVzZXQgYXMgdGhpcyBjb2RlIGlzIG5vdyBpbiB0aGUgYmFzZQoJICBjbGFzcy4KCSAgQnVtcCB0aGUgLWJhc2UgcmVxdWlyZW1lbnQgYXMgd2UgbmVlZCB0aGUgbmV3IGJhc2VhdWRpb3NpbmsgY29kZSB0byBmdW5jdGlvbgoJICBwcm9wZXJseS4KCjIwMDktMDktMDkgMTY6MjQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wOSAxMDoyNzo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wOCAxOTozNDowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJICBwdWxzZTogc21hbGwgY2xlYW51cHMKCSAgQWRkIHNvbWUgZGVidWcgaW5mbwoJICBGaXggdGhlIHN0YXRlIGNoYW5nZXMKCjIwMDktMDktMDggMTg6Mjk6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0bXV4OiBtYXJrIGRhdGEgYnVmZmVyIGFzIGRlbHRhLXVuaXQKCSAgU28gdGhhdCBtdWx0aWZkc2luayBhbHdheXMgc3RhcnQgc2VuZGluZyBoZWFkZXIgYnVmZmVyIGZpcnN0CgkgIEZpeGVzICM1OTQ1MjAKCjIwMDktMDktMDggMTc6Mzc6MTUgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIGlnbm9yZS1wdCBwYXJhbWV0ZXIKCSAgQWRkIGEgcGFyYW1ldGVyICdpZ25vcmUtcHQnIHRoYXQgZGlzYWJsZXMgY3JlYXRpbmcgYSBnc3RydHBwdGRlbXV4IG1vZHVsZSBhbmQKCSAgZ2hvc3RzIHRoZSBwYWRzIG9mIGdzdHJ0cGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSBvbmVzIG9mIGdzdHJ0cHB0ZGVtdXguCgkgIEZpeGVzICM1OTQ0OTAKCjIwMDktMDktMDQgMTM6NTE6MzcgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2aW5fc2NobWlkdEBnbXgubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2tzOiBvbmx5IHJ1biBIVFRQUyB0ZXN0IGlmIGxpYnNvdXAgaGFzIFNTTCBzdXBwb3J0CgoyMDA5LTA5LTA4IDEzOjU5OjU2ICswMjAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHByb3BhZ2F0ZSBwYXlsb2FkLXR5cGUtY2hhbmdlIHNpZ25hbCBmcm9tIGRlbXV4ZXIKCSAgZml4ZXMgIzU5NDI1NAoKMjAwOS0wOC0zMSAxODo0NjoyNSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2hhbmdlIHNldmVyaXR5IG9mIGNsb2NrLXJhdGUgY2hhbmdlIGRlYnVnCgkgIE1ha2UgbG9nIEdTVF9ERUJVRyB1bmRlciBub3JtYWwgY2lyY3Vtc3RhbmNlcywgR1NUX1dBUk5JTkcgb3RoZXJ3aXNlLgoJICBGaXhlcyAjNTk0MjUzCgoyMDA5LTA5LTA4IDEzOjM5OjMxICswMjAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdGhyb3dpbmcgcmVvcmRlcmVkIGJ1ZmZlcnMgd2l0aCBzYW1lIHRpbWVzdGFtcHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgcmVvcmRlcmVkIHBhY2tldCB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyB0aGUgcHJldmlvdXMgb25lCgkgICh3aGljaCBjYW4gaGFwcGVuIGZvciBmcmFnbWVudGVkIHBhY2tldHMpIGRvbid0IGNvbnNpZGVyIHRoZSBwYWNrZXQgYXMgbG9zdCBidXQKCSAgaW5zdGVhZCB3YWl0IGZvciB0aGUgcmVvcmRlcmVkIHBhY2tldCB0byBhcnJpdmUuCgkgIFN3aXRjaCB0aGUgd2FybmluZy1sZXZlbCwgc28gdGhhdCBhIHJlb3JkZXJpbmcgZG9lcyBub3QgZ2V0IGEgd2FybmluZywgb25seQoJICBhbiBhY3R1YWwgcHJvZHVjZWQgbG9zdC1wYWNrZXQuCgkgIEZpeGVzICM1OTQyNTEKCjIwMDktMDgtMzEgMjE6MTY6NTQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogYWRkIG1pc3NpbmcgbWF0aC5oIGluY2x1ZGUKCSAgRml4ZXMgIzU5NDI0NwoKMjAwOS0wOS0wOCAxMzozMDoyOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsKCSAgSW4gZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSgpLCBydHNwc3JjIGRvZXMgYSBnX3N0cm5kdXAgb2YgdGhlIGF1dGgKCSAgaGVhZGVyIGl0ZW1zIGFuZCB0aGVuIHBhc3NlcyB0aGVtIHRvIGdzdF9ydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGhfcGFyYW0oKQoJICB3aXRob3V0IGZyZWVpbmcuCgkgIEZpeGVzICM1OTQxMzMKCjIwMDktMDktMDggMTM6MTg6MjkgKzAyMDAgIFN0aWcgU2FuZG5lcyA8c3RpZy5zYW5kbmVzQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IG1ha2UgZnJlZV9zZXNzaW9uKCkgcmVtb3ZlIHN0cmVhbSByZWZlcmVuY2VzCgkgIFdoZW4gcmVjZWl2aW5nIGEgc3luYy1wYWNrZXQsIGFsbCBzZXNzaW9ucyB3aXRoIHRoZSBzYW1lIGNuYW1lIHdpbGwgYmUgY29tcGFyZWQKCSAgYW5kIHN5bmNlZCB0b2dldGhlci4gSW4gdGhpcyBwcm9jZXNzLCB0aGVyZSBjb3VsZCBzdGlsbCBiZSByZWZlcmVuY2VzIHRvIGEKCSAgc2Vzc2lvbiB0aGF0IGhhcyBiZWVuIHNodXQgZG93biBpbiB0aGUgbWVhbndoaWxlLgoJICBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCB0aGVzZSByZWZlcmVuY2VzIGFyZSByZW1vdmVkIHdoZW4gc2h1dHRpbmcgZG93biBhCgkgIHNlc3Npb24sIHNvIHRoYXQgdGhlIHN5bmNpbmcgY2FuIGJlIGRvbmUgc2FmZWx5LgoJICBGaXhlcyAjNTk0MjgzCgoyMDA5LTA4LTMxIDE4OjQ2OjUxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgbG9ja2VkIHN0YXRlIG9uIGludGVybmFsIGJpbnMKCSAgU2V0IHRoZSBsb2NrZWQgc3RhdGUgb24gaW50ZXJuYWwgZWxlbWVudHMgdG8gbWFrZSBzdXJlIHRoYXQgdGhleSBkb24ndCBjaGFuZ2UKCSAgYmFjayB0byBhbm90aGVyIHN0YXRlIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzU5NDI0OAoKMjAwOS0wOS0wNyAxODoyODo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGFkZCBzdXBwb3J0IGZvciBtcGVnIGZvcm1hdHMKCjIwMDktMDktMDUgMjA6NTE6MTQgLTA3MDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG1lbmM6IEFkZCBpbnRlcmxhY2VkIHN1cHBvcnQKCSAgRml4ZXMgIzU5MTcxMwoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDgtMjQgMTM6NDI6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZW1vdmUgUm9uYWxkIEJ1bHRqZSBmcm9tIEF1dGhvcnMgZmllbGQKCSAgUmVwbGFjZWQgd2l0aCAiR1N0cmVhbWVyIG1haW50YWluZXJzCgkgIDxnc3RyZWFtZXItZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIgb3IganVzdCByZW1vdmVkLAoJICBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBvdGhlciBhdXRob3JzLgoKMjAwOS0wOS0wNSAxMDoyMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAwYTg1OWUgdG8gMTlmYTRmMwoKMjAwOS0wOS0wNCAxMzo0Mjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXZlbnQgYSBzcHVyaW91cyBkZWJ1ZyB3YXJuaW5nCgoyMDA5LTA5LTA0IDA5OjMyOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRGVmaW5lIFY0TDJfRk1UX0ZMQUdfRU1VTEFURUQgaWYgaXQncyBub3QgZGVmaW5lZCB5ZXQKCSAgbGlidjRsMiBhbHJlYWR5IHVzZXMgdGhpcyBmbGFnLCBldmVuIG9uIExpbnV4IGtlcm5lbCB2ZXJzaW9ucwoJICBiZWZvcmUgMi42LjMyLgoKMjAwOS0wOS0wNCAwNzoxMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ29ycmVjdGx5IGhhbmRsZSBOVUxMIEdzdEluZGV4CgoyMDA5LTA5LTAzIDIwOjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRml4IHN0dXBpZCB0eXBvIGluIGxhc3QgY29tbWl0CgoyMDA5LTA5LTAzIDIwOjM4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogUHV0IGVtdWxhdGVkIGZvcm1hdHMgYmVoaW5kIG5hdGl2ZSBmb3JtYXRzCgkgIEZpeGVzIGJ1ZyAjNTkzNzY0LgoKMjAwOS0wOS0wMyAxOTozNzoxMCArMDIwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZml4IG1lbWxlYWsKCSAgRG9uJ3QgbGVhayB0aGUgaW5wdXQgYnVmZmVyIHdoZW4gdGhlIHJlY2VpdmVkIGFuZCBleHBlY3RlZCBzZXFudW0gYXJlIGRpZmZlcmVudCB3aGVuCgkgIGluIHByb2JhdGlvbi4KCSAgZml4ZXMgIzU5NDAzOQoKMjAwOS0wOS0wMiAxNToyMTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTG9jayBjbG9ja19yYXRlIHZhcmlhYmxlCgkgIFRoZSBwcml2LT5jbG9ja19yYXRlIHZhcmlhYmxlIGNvdWxkIGJlY29tZSAtMSBiZXR3ZWVuIHdoZW4gaXRzIGNoZWNrZWQgdG8gbm90CgkgIGJlIC0xIGFuZCB3aGVuIGl0cyB1c2VkLCBjYXVzaW5nIGFuIGFzc2VydGlvbi4gRml4ZWQgYnkgdGFraW5nIHRoZSBtdXRleAoJICBlYXJsaWVyIGluIHRoZSBjaGFpbigpIGZ1bmN0aW9uLgoJICBGaXhlcyAjNTkzOTU1CgoyMDA5LTA5LTAzIDE5OjEyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wMyAxOTowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHJ0cG1wYXBheTogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wMyAxOTowODo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wMyAxNzozMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQXZvaWQgdW5uZWNlc3NhcnkgcHJvY2Vzc2luZyB1bnRpbCB3ZSBoYXZlIGEgZnVsbCBwaWN0dXJlLgoJICBUaGlzIGlzIGZvciBub24tcGFja2V0aXplZCBtb2RlLCB3aGVuIHdlIGtub3cgdGhlIHVwc3RyZWFtIHNpemUgaW4gYnl0ZXMuCgoyMDA5LTA5LTAzIDE0OjQwOjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZ1bGx5IHVzZSB0YWdzZXR0ZXIgdG8gbWFuYWdlIHRoZSB0YWdzLiBGaXhlcyAjNTYzMjIxCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gbWFuYWdlIGEgc2VwYXJhdGUgdGFnbGlzdC4KCjIwMDktMDktMDMgMTQ6MTM6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogc21hbGwgdGFnbGlzdCBoYW5kbGluZyBjbGVhbnVwCgkgIERvbid0IGV2ZW50dWFseSBsZWFrIHRoZSBsaXN0IGFuZCBpbnN0ZWFkIGFzc2VydCAobGlrZSBpbiBvdGhlciBlbGVtZW50cykuCgoyMDA5LTA5LTAyIDIzOjEyOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWxzbyBndWFyZCByZXNldGluZyBzdWJzY3JpYmUgY2FsbGJhY2sgd2l0aCBpZmRlZnMKCSAgSXQgaXMgY29uZGl0aW9uYWx5IHNldCwgc28gZG8gdGhlIHNhbWUgd2hlbiB1bnNldHRpbmcuCgoyMDA5LTA5LTAxIDE1OjA2OjQ2ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogRml4ZWQgYSBjb3B5ICYgcGFzdGUgZXJyb3IKCjIwMDktMDktMDEgMTM6MjE6MjMgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBwcml2CgkgIFRoZSB2YXJpYWJsZSBwcml2IHdhcyBpbml0aWFsaXplZCBpbiBhIGxvdCBvZiBmdW5jdGlvbnMgYnV0IHRoZW4gbmV2ZXIKCSAgdXNlZCBmb3IgYW55dGhpbmcuCgoyMDA5LTA5LTAxIDEzOjAzOjU3ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogQSBsaXR0bGUgY2xlYW4gdXAKCSAgTWFrZSB0aGUgY29kZSBmbG93IG9mIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBhbmQKCSAgZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCgpIGlkZW50aWNhbC4KCjIwMDktMDktMDEgMTI6NDc6NTEgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBNYWtlIHN1cmUgdGhhdCB1c2VkIGNhcHMgYXJlIG5vdCBmcmVlZCBhbHJlYWR5ICh0YWtlIDIpCgkgIFRoaXMgcmVpbnRyb2R1Y2VzIHRoZSBmaXggZm9yIGJ1ZyAjNTkzMzkxLiBJdCBhbHNvIGFwcGxpZXMgaXQgaW4KCSAgZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCgpIHdoaWNoIGhhcyB2ZXJ5IHNpbWlsYXIgY29kZSB0bwoJICBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkuCgoyMDA5LTA5LTAxIDEyOjQxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBtYWtlIHN1cmUgdGltZSBkb2VzIG5vdCBnbyBiYWNrd2FyZHMKCSAgV2hlbiB3ZSBjb25zdHJ1Y3QgYSB0aW1lc3RhbXAgdGhhdCB3b3VsZCByZXN1bHQgaW4gYSB0aW1lc3RhbXAgdGhhdCBpcyBlYXJsaWVyCgkgIHRoYW4gd2hlbiB0aGUgcGFja2V0IHdhcyByZWNlaXZlZCwgcmVzZXQgdGhlIHNrZXcgY2FsY3VsYXRpb24gYXMgdGhpcyBpcwoJICBwcm9iYWJseSBhIHNpZ24gdGhhdCB0aGUgc2VuZGVyIHJlc3RhcnRlZCBvciBwYXVzZWQuCgkgIEZpeGVzICM1OTMzNTQKCjIwMDktMDktMDEgMTE6MzI6NDEgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBTZXQgY2FwcyBpbiBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgY29ycmVjdGx5IGFnYWluCgkgIFRoZSB0ZXN0IGZvciB3aGVuIHRvIHNldCBhbiBSVENQIGNhcHMgb24gdGhlIG91dHB1dCBwYWQgaW4KCSAgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGFjY2lkZW50YWxseSBnb3QgaW52ZXJ0ZWQgaW4gdGhlIGxhc3QgY29tbWl0LgoKMjAwOS0wOS0wMSAxMDoyNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBRQ0VMUCBhdWRpbwoJICBGaXhlcyBidWcgIzU5Mzc1Ny4KCjIwMDktMDgtMzEgMTg6MTA6MTEgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgZWZmZWN0djogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDMKCSAgUmVjZW50IGNoYW5nZXMgaW4gZ3N0LXBsdWdpbnMtZ29vZC9nc3QvZWZmZWN0diBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIGNvbXBpbGVkCgkgIHdpdGggZ2NjIDMuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIG5ldyBjb2RlIHVzZXMgcHJlcHJvY2Vzc29yIGNvbmRpdGlvbmFscwoJICB3aXRoaW4gYSBtYWNybyBjYWxsIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBnY2MuCgkgIEZpeGVzIGJ1ZyAjNTkzNjg4LgoKMjAwOS0wOC0zMSAxNjoyMDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogc21hbGwgY2xlYW4tdXBzIGluIC1zZWN0aW9ucy50eHQKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeSBmb3Igd2FycHR2OyB0aGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudC4KCjIwMDktMDgtMjcgMTU6NDY6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBjb25zaWRlciAob3B0aW9uYWwpIGF1eGlsaWFyeSBkYXRhIHdoZW4gcGFyc2luZwoKMjAwOS0wOC0yNyAxNTo0NjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBydHBtcDRnZGVwYXk6IGhhbmRsZSBicm9rZW4gQVUtSW5kZXggaW4gbm9uLWludGVybGVhdmVkIHN0cmVhbXMKCSAgSW4gY2FzZSBvZiBub24taW50ZXJsZWF2ZWQgKD0gc2VxdWVudGlhbGx5IHBheWxvYWRlZCkgc3RyZWFtcywKCSAgdGhlIEFVLUluZGV4IHNlcnZlcyBsaXR0bGUgcHVycG9zZSAodGhhdCBpcyBub3QgYWxyZWFkeSBjb3ZlcmVkIGJ5CgkgIFJUUCBmaWVsZHMpLiAgKEJyb2tlbikgUGF5bG9hZGVycyBtaWdodCBjb25zaWRlciB0aGlzIGZpZWxkIHRoZW4KCSAgdG8gYmUgZGlzcmVnYXJkZWQgYW5kIGhhdmUgbm9uIHNwZWMgY29tcGxpYW50IHZhbHVlcywgZS5nLiBlYWNoCgkgIFJUUCBwYWNrZXQgaGF2aW5nIEFVLUluZGV4IDIgKHJhdGhlciB0aGFuIDApLiAgQXMgc3VjaCwgZW5zdXJlL2ZvcmNlCgkgIHNpbXBsZSBzZXF1ZW50aWFsIHNlbmRpbmcgb2Ygbm9uLWludGVybGVhdmVkIHN0cmVhbXMuCgoyMDA5LTA4LTE4IDE3OjE3OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBleHRyYWN0IGZ0eXAgaW5mbyBpbiBwdXNoIG1vZGUKCjIwMDktMDgtMTMgMTY6MTE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGNvbnNpZGVyIDNncHAgc3R5bGUgdGFnIHBhcnNpbmcgaW4gc29tZSBtb3JlIGNhc2VzCgkgIDNHUFAgc3BlY3MgZGVmaW5lIGEgbnVtYmVyIG9mIHRhZ3MgYWxvbmcgd2l0aCBwcmVjaXNlIGxheW91dC4gV2hpbGUgdGhlc2UKCSAgYXJlIG5vcm1hbGx5IGV4cGVjdGVkIHRvIGJlIGZvdW5kIGluIGEgY29udGFpbmVyIHdob3NlIG1ham9yIGJyYW5kIGlzIGEKCSAgM0dQUCBicmFuZCwgdGhpcyBtYXkgYWxzbyBoYXBwZW4gd2hlbiBhIDNHUFAgYnJhbmQgaXMgb25seSBtZW50aW9uZWQgYXMgYQoJICBjb21wYXRpYmxlIGJyYW5kLiAgQXBwbHkgc29tZSBjaGVja3MsIGhldXJpc3RpYyBhbmQgZmFsbGJhY2tzIHRvIGV4dHJhY3QKCSAgc3VjaCB0YWdzIGFzIHdlbGwuCgoyMDA5LTA4LTExIDEzOjU2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVmbG93IGV4aXQsIGFuZCBmaXggc29tZSBsZWFrcwoKMjAwOS0wOC0xMSAxMzo1NDo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHB1c2ggbW9kZTsgYWRkIHBhZCBpZiBuZWVkZWQgc28gZG93bnN0cmVhbSBnZXRzIEVPUwoKMjAwOS0wOC0xMCAxNjoxOTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBwdXNoIG1vZGU7IGZpeC9pbXByb3ZlIGNodW5rIGhhbmRsaW5nCgkgIEhhbmRsZSBsYXJnZSwgaW52YWxpZCBvciBvdGhlcndpc2UgdW51c3VhbCBjaHVuayBzaXplcy4KCSAgVmVyaWZ5IHNvbWUgY2h1bmsgc2l6ZXMgdG8gYmUgYXQgbGVhc3QgdGhlIHNpemUgdGhleSBhcmUKCSAgZXhwZWN0ZWQgdG8gYmUgYW5kIHJvdW5kIHVwIHNvbWUgc2l6ZXMgdG8gZXZlbiBudW1iZXIgZm9yCgkgIGUuZy4gb2Zmc2V0IGFkbWluaXN0cmF0aW9uLCB3aGljaCBtdXN0IGFsc28gYmUgcHJvcGVybHkKCSAgdHJhY2tlZCBpbiBwdXNoIG1vZGUuCgoyMDA5LTA4LTA4IDIxOjU0OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBjYXRlciBmb3IgdW51c3VhbCBjaHVuayBzaXplcwoKMjAwOS0wOC0zMSAxNjozNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIHByb3BlciBsb2NraW5nIGZvciBwYWRzIGFuZCBjYXBzCgkgIFVzZSB0aGUgc2VzaW9uIGxvY2sgYW5kIHNob3Rkb3duIHZhcmlhYmxlIHRvIHByb3RlY3QgYW5kIHJlZiB0aGUgcGFkcyB3ZSBhcmUKCSAgZ29pbmcgdG8gcHVzaCBvbi4KCSAgZml4ZXMgIzU2MTgyNQoKMjAwOS0wOC0zMSAxNjozMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDgtMzEgMTM6Mzg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGVhbiB1cCBhZGFwdGVyIHByb3Blcmx5CgkgIFJlZmxvdyBjb2RlIHNvIHdlIGRvbid0IHRyeSB0byBjbGVhciBvciByZS11c2UgYW4gYWxyZWFkeS1mcmVlZCBhZGFwdGVyLgoKMjAwOS0wOC0zMSAxMzowNzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBmbGFjdGFnLCB3YXZwYXJzZTogR3N0QWRhcHRlciBpcyBub3QgYSBHc3RPYmplY3QKCjIwMDktMDgtMzEgMTI6Mjg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyB0byBnaXQgdmVyc2lvbgoKMjAwOS0wOC0zMSAxMTozMjozOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHRlc3RzIHdhcm5pbmcgZnJvbSBzZXR0aW5nIGEgTlVMTCBpbmRleAoJICBTZXR0aW5nIGEgbnVsbCBpbmRleCBpbiB0aGUgdGVzdHMgd2FzIGNhdXNpbmcgd2FybmluZ3MgYnkgdW5yZWZmaW5nCgkgIE5VTEwgcG9pbnRlcnMuIFRoaXMgaXMgYSBidWcgZXhwb3NlZCBieSBhIHJlY2VudCBjaGFuZ2UgaW4gY29yZSwgaXQKCSAgc2VlbXMuCgoyMDA5LTA4LTMxIDEzOjAyOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHNsb3BlIGVzdGltYXRpb24gY29kZSBhbmQgZGVidWcKCSAgQWRkIHNvbWUgY29kZSB0byBtZWFzdXJlIHRoZSBzZW5kZXIgc3BlZWQgdnMgdGhlIHJlY2VpdmVyIHNwZWVkLiBUaGlzIGNhbiBiZQoJICB1c2VkIHRvIGRldGVjdCBidXJzdHMuCgoyMDA5LTA4LTMxIDEyOjU3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgc2tldyB3aGVuIHRpbWVzdGFtcHMgY2hhbmdlCgkgIFJlZmFjdG9yIHRoZSBqaXR0ZXJidWZmZXIgcmVzeW5jIGNvZGUuCgkgIFJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gd2hlbiB3ZSBkZXRlY3QgYSBiaWcgdGltZXN0YW1wIGRpc2NvbnQuCgkgIFNlZSAjNTkzMzU0CgoyMDA5LTA4LTMxIDEyOjQ3OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbWFrZSBzdXJlIHRpbWUgbmV2ZXIgZ29lcyBpbnZhbGlkCgkgIFNpbmNlIHRoZSBza2V3IGNhbiBiZSBuZWdhdGl2ZSwgd2UgbWlnaHQgZW5kIHVwIHdpdGggaW52YWxpZCB0aW1lc3RhbXBzLiBDaGVjawoJICBmb3IgbmVnYXRpdmUgcmVzdWx0cyBhbmQgY2xhbXAgdG8gMC4KCSAgU2VlICM1OTMzNTQKCjIwMDktMDgtMzEgMTI6MTY6MDEgKzAyMDAgIEphcmtrbyBQYWx2aWFpbmVuIDxqYXJra28ucGFsdmlhaW5lbiBhdCBzZXNjYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHNpbms6IEFkZCB0dGwgbXVsdGljYXN0IHByb3BlcnR5CgkgIEFkZCBhIG5ldyB0dGwtbWMgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgVFRMIG9uIG11bHRpY2FzdCBhZGRyZXNzZXMuCgkgIEZpeGVzICM1ODgyNDUKCjIwMDktMDgtMzEgMTI6MTM6MDcgKzAyMDAgIEphcmtrbyBQYWx2aWFpbmVuIDxqYXJra28ucGFsdmlhaW5lbiBhdCBzZXNjYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBzcGxpdCBvdXQgVFRMIGFuZCBsb29wIG9wdGlvbnMKCSAgU3BsaXQgc2V0dGluZyB0aGUgVFRMIGFuZCBsb29wIHBhcmFtZXRlcnMgaW4gMiBtZXRob2RzIGFzIHRoZXkgYXJlIG5vdCByZWxhdGVkLgoJICBGaXggc2V0dGluZyB0aGUgVFRMIGNvcnJlY3RseSBmb3IgbXVsdGljYXN0IHN0cmVhbXMuCgkgIFNlZSAjNTg4MjQ1CgoyMDA5LTA4LTI3IDEyOjM2OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHA6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDgtMTQgMTM6NDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIHZpZGVvYm94OiBDb3JyZWN0bHkgYWRkIHRvIHRoZSBkb2NzCgoyMDA5LTA4LTE0IDEzOjQwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogU3BsaXQgZGVjbGFyYXRpb25zIGludG8gYSBoZWFkZXIgZmlsZSBhbmQgYWRkIGF1dG9jcm9wIHN0dWZmIHRvIHRoZSBkb2NzCgoyMDA5LTA4LTE0IDEzOjI2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogUmVjb25maWd1cmUgYmFzZXRyYW5zZm9ybSBpZiBzb21ldGhpbmcgY2hhbmdlcyBhZ2FpbgoJICBGb3IgdGhpcyBpbnZlbnQgYSBuZXcgbG9jayBhbmQgZG9uJ3QgYWJ1c2UgdGhlIGJhc2V0cmFuc2Zvcm0gbG9jaywKCSAgb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCBpbiBkZWFkbG9ja3MuCgoyMDA5LTA4LTE0IDEzOjE1OjU3ICswMjAwICBTdGVwaGVuIEp1bmdlbHMgPHN0ZXBoZW5AanVuZ2Vscy5uZXQ+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBhdXRvY3JvcHBpbmcgYWNjb3JkaW5nIHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNTgyMjM4LgoKMjAwOS0wOC0zMCAyMTo1Nzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE1ha2Ugc3VyZSB0aGF0IHVzZWQgY2FwcyBhcmUgbm90IGZyZWVkIGFscmVhZHkKCSAgRml4ZXMgYnVnICM1OTMzOTEuCgoyMDA5LTA4LTI2IDE3OjAyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cDogVXNlIG5ldyBnc3RfaXRlcmF0b3JfbmV3X3NpbmdsZSgpIGZvciB0aGUgaW50ZXJuYWwgbGlua2VkIHBhZHMgaXRlcmF0aW9uCgoyMDA5LTA4LTE5IDE2OjU3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNjo0ODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE2OjM3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMzAgMjM6Mjc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uCgoyMDA5LTA4LTMwIDIzOjI2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTYuMQoKPT09IHJlbGVhc2UgMC4xMC4xNiA9PT0KCjIwMDktMDgtMjkgMTI6MDU6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBSZWxlYXNlIDAuMTAuMTYKCjIwMDktMDgtMjYgMDA6NTg6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICAwLjEwLjE1LjUgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjUgMTY6NTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdXNlIHJlbGF0aXZlIHNlZWtzCgkgIERvbid0IHVzZSByZWxhdGl2ZSBzZWVrcywgaXQncyB0b28gaGFyZCB0byB0cmFjayB3aGVyZSB3ZSBhcmUgYWZ0ZXIgYSBmbHVzaAoJICBldGMuCgkgIGZpeGVzICM1OTMwMTUKCjIwMDktMDgtMjQgMTc6NTA6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuNCBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNCAxNjoyMjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgZGlzY2FyZCB0aGUgcmVzdWx0IG9mIF9zZXRfY2FwcygpCgkgIFVzZSB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIGFzc3VtaW5nIHN1Y2Nlc3MuCgkgIFNlZSAjNTkwNjc4CgoyMDA5LTA4LTIxIDExOjQ0OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgYWdzbQoJICBGaXhlcyAjNTkyNTMwCgoyMDA5LTA4LTE4IDE3OjE2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHF0IHN0eWxlIHN0cmluZyB0YWcgZXh0cmFjdGlvbgoJICBRVCBzdHlsZSB0YWdzIGFyZSB0ZXN0ZWQgb24gc3RhcnRpbmcgd2l0aCAoQykgc3ltYm9sIHVzaW5nID4+LAoJICBhbmQgKHVuc2lnbmVkKSBpbnQgKG1heSkgaGF2ZSBkaWZmZXJlbnQgPj4gYmVoYXZpb3VyLgoJICBGaXhlcyAjNTkyMjMyLgoKMjAwOS0wOC0xNyAxNTo0ODoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIHNtb2tlZW5jOiBkb24ndCBjcmFzaCB3aGVuIGNvbXBpbGVkIGFnYWluc3QgbGlianBlZzcKCSAgU2V0IHBhcmFtZXRlcnMgc28gdGhhdCB3ZSBkb24ndCBjcmFzaCB3aXRoIGxpYmpwZWc3LiBCYXNlZCBvbgoJICBTdGVmYW4gS29zdCdzIGZpeCBmb3IganBlZ2VuYy4gRml4ZXMgIzU5MTk1MS4KCjIwMDktMDgtMTQgMjA6MTg6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4xNS4zIHByZS1yZWxlYXNlCgoyMDA5LTA4LTE0IDEzOjQ1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBjaGVja3M6IGFkZCB0ZXN0IGZvciBsZWFrIHRvIHJ0cGJpbiB1bml0IHRlc3QKCSAgU2VlICM1OTE0NzYuCgoyMDA5LTA4LTExIDE0OjQ3OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGaXggcmVmZXJlbmNlIGxlYWsKCSAgRml4ZXMgIzU5MTQ3Ni4KCjIwMDktMDgtMTQgMTM6MzQ6NTMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IHNldCBib3R0b20gZmllbGQgZmlyc3Qgb24gUEFMIGludGVybGFjZWQgY29udGVudCwgbm90IHRvcCBmaWVsZCBmaXJzdAoJICBEViBpbnRlcmxhY2VkIGNvbnRlbnQgaXMgYWx3YXlzIGJvdHRvbSBmaWVsZCBmaXJzdC4gRml4ZXMgIzU5MTcxMi4KCjIwMDktMDgtMTQgMTI6NDQ6MDYgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGZpeCAnaGFuZycgd2l0aCBzb21lIGNhbWVyYXMgY2F1c2VkIGJ5IGJhZCB0aW1lc3RhbXBpbmcgaWYgbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZQoJICBGb3IgY2FtZXJhcy9kcml2ZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBlLmcuIFZJRElPQ19HX1BBUk0gd2UnZCBlbmQgdXAgd2l0aG91dAoJICBhIGZyYW1lcmF0ZSBhbmQgd291bGQgdHJ5IHRvIGRpdmlkZSBieSAwLCBjYXVzaW5nIHJ1bi10aW1lIHdhcm5pbmdzIGFuZCBhbGwKCSAgZnJhbWVzIHRvIGJlIHRpbWVzdGFtcGVkIHdpdGggMCwgd2hpY2ggbWFrZXMgc2lua3MgdGhhdCBzeW5jIGFnYWluc3QgdGhlIGNsb2NrCgkgIGRyb3AgdGhlbSwgY2F1c2luZyAnaGFuZ3MnIChvYnNlcnZlZCB3aXRoIHRoZSBwd2MgZHJpdmVyIGFuZCBhIExvZ2l0ZWNoIFF1aWNrQ2FtCgkgIFBybyA0MDAwKS4gU28gaWYgd2UgZG8gbm90IGtub3cgdGhlIGZyYW1lcmF0ZSwgc2ltcGx5IGRvbid0IGFkanVzdCB0aGUKCSAgdGltZXN0YW1wcy4gRml4ZXMgIzU5MTQ1MS4KCjIwMDktMDgtMTQgMTA6MTE6MjUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGNsZWFyIGZvcm1hdCBsaXN0IGluIFJFQURZLT5OVUxMCgkgIENsZWFyIGZvcm1hdCBsaXN0IGFuZCBwcm9iZWQgY2FwcyB3aGVuIGdvaW5nIHRvIE5VTEwgc28gaWYgYSBuZXcgZGV2aWNlCgkgIGlzIHNldCB3ZSdsbCBwcm9iZSB0aGUgZm9ybWF0cyBhZ2FpbiBpbnN0ZWFkIG9mIHVzaW5nIHByZXZpb3VzbHkKCSAgZGV0ZWN0ZWQgb25lcy4gRml4ZXMgYnVnICM1OTE3NDcuCgoyMDA5LTA4LTExIDE2OjQyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEVtcHR5IGV2ZW50IHF1ZXVlIG9uIGZpbmFsaXplCgoyMDA5LTA4LTExIDE2OjM5OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogVXNlIEdTbGljZSBmb3IgaW50ZXJuYWwgZXZlbnQgc3RydWN0dXJlcwoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE3OjMwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuMiBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xMSAxNToyNTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgQWRkIG15c2VsZiB0byBNQUlOVEFJTkVSUyBmaWxlIGFuZCB1cGRhdGUgV2ltJ3MgZS1tYWlsLgoKMjAwOS0wOC0xMSAwMzowODowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZml4IG1ha2UgZGlzdGNoZWNrIGJ5IGRpc3Rpbmcgc29tZSBtb3JlIGhlYWRlcnMKCjIwMDktMDgtMTEgMDI6NDI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMDktMDgtMTEgMDI6MzE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgTW92ZSBydHBtYW5hZ2VyIGZyb20gLWJhZCB0byAtZ29vZC4KCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSAoYXV0b3Rvb2xzLCBkb2NzLCB1bml0IHRlc3QpLgoKMjAwOS0wOC0wNiAxOToyNjoyMSArMDIwMCAgcmljIDxjc3huanUgYXQgc29nb3UuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYXZvaWQgYnVmZmVyIGxlYWsgb24gYmFkIHNlcW51bQoJICBGaXhlcyAjNTkwNzk3CgoyMDA5LTA3LTI4IDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWxsb3cgZm9yIE5VTEwgY2FwcyBvbiBidWZmZXJzCgkgIEFkZCB0aGUgTlVMTCBjYXBzIGNoZWNrIHdoZXJlIGl0IG1hdHRlcnMgYW5kIGFsc28gY292ZXIgYW5vdGhlciBjYXNlIG9mCgkgIHBvdGVudGlhbCBOVUxMIGNhcHMuCgkgIEZpeGVzICM1OTAwMzAKCjIwMDktMDctMjggMTE6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEluY29taW5nIGJ1ZmZlcnMgZG8gbm90IGFsd2F5cyBoYXZlIGNhcHMKCjIwMDktMDctMjcgMTU6NDY6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIGRvaW5nIGxpcC1zeW5jIGluIEJZRQoJICBXaGVuIHdlIGdldCBhIEJZRSBwYWNrZXQsIGRvbid0IGRvIGxpcC1zeW5jIHdpdGggdGhlIFNSIGluc2lkZSBiZWNhdXNlIHNvbWUKCSAgc2VuZGVycyBoYXZlIHRyb3VibGUgY29uc3RydWN0aW5nIHZhbGlkIFNSIHBhY2tldHMgYWZ0ZXIgQllFLgoKMjAwOS0wNy0yNyAxMzoxNzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCBkbyBsaXAtc3luYyBhZnRlciBhIEJZRQoJICBBZnRlciBhIEJZRSBwYWNrZXQgZnJvbSBhIHNvdXJjZSwgc3RvcCBmb3J3YXJkaW5nIHRoZSBTUiBwYWNrZXRzIGZvciBsaXAtc3luYwoJICB0byBydHBiaW4uIFNvbWUgc2VuZGVycyBkb24ndCB1cGRhdGUgdGhlaXIgU1IgcGFja2V0cyBjb3JyZWN0bHkgYWZ0ZXIgc2VuZGluZyBhCgkgIEJZRSBhbmQgdGhlbiB3ZSBicmVhayBsaXAtc3luYy4gV2UgcHJlZmVyIHRvIGxldCB0aGUgaml0dGVyYnVmZmVycyBkcmFpbiB3aXRoCgkgIHRoZSBjdXJyZW50IGxpcC1zeW5jIGluc3RlYWQuCgoyMDA5LTA3LTI3IDEyOjQzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IG9ubHkgcmVjb25zaWRlciBvbmNlIGZvciBCWUUKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIHNvdXJjZXMgb2YgYSBCWUUgcGFja2V0LCBkb24ndCBzaWduYWwgYSByZWNvbnNpZGVyYXRpb24gZm9yCgkgIGVhY2ggb2YgdGhlbSBidXQgc2lnbmFsIGFmdGVyIHdlIGhhbmRsZWQgYWxsIHNvdXJjZXMuCgoyMDA5LTA3LTIxIDE1OjMzOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZyZWUgY29uZmxpY3RpbmcgYWRkcmVzc2VzIG9uIGZpbmFsaXplCgoyMDA5LTA3LTAxIDEyOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cGJpbjogdXNlIG5ldyBtZXRob2QgZm9yIG5ldGFkZHJlc3MgdG8gc3RyaW5nCgoyMDA5LTA2LTI5IDE4OjQ4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGRvIGJldHRlciBjbGVhbnVwIG9mIHRoZSBzcmMgZ2hvc3RwYWRzCgkgIENvbm5lY3QgdG8gdGhlIHBhZC1yZW1vdmVkIHNpZ25hbCBvZiB0aGUgcHRkZW11eCBlbGVtZW50cyBzbyB0aGF0IHdlIHJlbW92ZSB0aGUKCSAgZ2hvc3RwYWRzIGZvciB0aGVtLiBGaXhlcyBjbGVhbnVwIHdoZW4gZ29pbmcgdG8gTlVMTCBhcyB3ZWxsIGFzIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzaW5rcGFkcy4KCSAgRml4ZXMgIzU2MTc1MgoKMjAwOS0wNS0yOCAxOTowODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIGEgY29tbWVudAoKMjAwOS0wNi0yOSAxNjozNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5CgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTI5IDE2OjIxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eSB0aGF0IHRha2VzIEdzdFN0cnVjdHVyZQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0wMiAxNzo0NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgcnRwYmluOiByZW1vdmVkIG9sZCBnc3RydHBjbGllbnQKCjIwMDktMDYtMTkgMTk6MDk6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua28uc3ViYXNpYyBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIEFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGJ1ZmZlci1saXN0cy4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGVzdGluZyB0aGF0IHRoZSBidWZmZXItbGlzdCBwYXNzZWQgdGhyb3VnaCBydHBiaW4uCgkgIGZpeGVzICM1ODU4MzkKCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOS0wNS0yOCAxNzozNzo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVHJhbnNmb3JtIHRoZSByaWdodCBzZXNzaW9uIHNkZXMgbWVzc2FnZQoJICBGaXhlcyAjNTg0MTY1CgoyMDA5LTA1LTI4IDE3OjMzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgQWRkIHNzcmMgdG8gYXBwbGljYXRpb24veC1ydHAtc291cmNlLXNkZXMgc3RydWN0dXJlCgoyMDA5LTA1LTI3IDExOjAzOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiB0aGUgbmV0d29yayBhZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIKCSAgQnJpbmcgdGhlIG5ldHdvcmsgYWRkcmVzcyBpbiBuZXRvd2tyIGJ5dGUgb3JkZXIgdG8gdGhlIGhvc3Qgb3JkZXIuCgoyMDA5LTA1LTI2IDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYnl0ZXN3YXAgdGhlIHBvcnQgZnJvbSBHc3ROZXRBZGRyZXNzCgkgIFNpbmNlIHRoZSBwb3J0IGluIEdzdE5ldEFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlciB3ZSBtaWdodCBuZWVkIHRvIGJ5dGVzd2FwIGl0CgkgIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIHNvdXJjZSBzdGF0aXN0aWNzLgoKMjAwOS0wNS0yNSAxMzo0NjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSBwdGRlbXV4IGdob3N0cGFkcwoKMjAwOS0wNS0yNSAxMzozMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJlY2VpdmUgcnRwYmluIHVuaXQgdGVzdAoKMjAwOS0wNS0yMiAxNjo0MToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCB0byBuZXcgc2lnbmFsIHRvIHJlbW92ZSBTU1JDIHBhZHMKCjIwMDktMDUtMjIgMTY6MzU6MjAgKzAyMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgc3NyY2RlbXV4OiBlbWl0IHNpZ25hbCB3aGVuIHBhZHMgYXJlIHJlbW92ZWQKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gY2xlYXIgYW4gU1NSQyBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiByZW1vdmVkIHNzcmMuCgkgIFNlZSAjNTU0ODM5CgoyMDA5LTA1LTIyIDE1OjQ1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIG91ciBnaG9zdHBhZHMgaW5zdGVhZCBvZiBpdHMgdGFyZ2V0CgkgIFNpbmNlIHdlIGtlZXAgYSByZWZlcmVuY2UgdG8gb3VyIGdob3N0cGFkcywgd2UgY2FuIHVzZSB0aGVtIHRvIHRyYWNrIHNlc3Npb25zLgoJICBUaGlzIGF2b2lkIHVzIGhhdmluZyB0byBtZXNzIHdpdGggdGhlIHRhcmdldCBvZiB0aGUgZ2hvc3RwYWQuCgoyMDA5LTA1LTIyIDE1OjM3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBtb3JlIHJ0cGJpbiBjaGVja3MKCjIwMDktMDUtMjIgMTU6MzY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkb24ndCB3YXJuIHdoZW4gZ2V0dGluZyByZXF1ZXN0IHBhZHMgdHdpY2UKCSAgQWxsb3cgZ2V0dGluZyB0aGUgcmVxdWVzdCBwYWRzIG11bHRpcGxlIHRpbWVzLCBqdXN0IHJldHVybiB0aGUgcHJldmlvdXNseQoJICBjcmVhdGVkIHBhZHMuCgoyMDA5LTA1LTIyIDEzOjQ3OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWRkIFJUUCBhbmQgUlRDUCBzb3VyY2UgYWRkcmVzcwoJICBBZGQgdGhlIFJUUCBhbmQgUlRDUCBzZW5kZXIgYWRkcmVzc2VzIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUuCgoyMDA5LTA1LTIyIDEzOjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZXVzZSBzb3VyY2UgY29kZSBmb3IgU0RFUwoJICBSZXVzZSB0aGUgUlRQU291cmNlIG9iamVjdCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUuCgoyMDA5LTA1LTIyIDEzOjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgbW9yZSBydHBiaW4gdGVzdHMKCjIwMDktMDUtMjIgMTI6MjM6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhbiBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCBzb21lIG1vcmUgc3R1ZmYgdG8gLmdpdGlnbm9yZQoKMjAwOS0wNS0yMiAxMjoyMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB0YXJnZXQgc3RhdGUgb24gbmV3IGVsZW1lbnRzCgkgIFNldCB0aGUgc3RhdGUgb24gbmV3bHkgYWRkZWQgZWxlbWVudHMgdG8gdGhlIHN0YXRlIG9mIHRoZSBwYXJlbnQuCgkgIEFkZCBzb21lIGRlYnVnIGluZm8gYW5kIGRvIHNvbWUgY2xlYW51cHMKCjIwMDktMDUtMjIgMTE6NTk6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1bnJlZiByZXF1ZXN0cyBwYWRzIGFmdGVyIHJlbGVhc2luZwoKMjAwOS0wNS0yMiAwMTo0Mzo1MCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyB0aGUgc3RyZWFtcwoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxNjoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogS2VlcCBqYiBzaWduYWxzIGhhbmRsZXIKCSAgS2VlcCB0aGUgc2lnbmFsIGhhbmRsZXJzIHNvIHRoZXkgY2FuIGJlIGRpc2Nvbm5lY3RlZCBhdCByZWxlYXNlIHRpbWUKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTI6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgdGhlIHJpZ2h0IGxvY2sgZm9yIHRoZSBzZXNzaW9ucwoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgd2hlbiBpdGVyYXRpbmcgdGhlIHNlc3Npb25zLgoKMjAwOS0wNS0yMiAwMTowMzo1NSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRnJlZSBzZXNzaW9uIGlmIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQKCSAgRnJlZSB0aGUgc2Vzc2lvbiB3aGVuIGFsbCB0aGUgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZXNzaW9uIGxpc3QgaW4gZnJlZV9zZXNzaW9uIGFzIGl0IGlzIGNhbGxlZCBmcm9tIGEgZm9yZWFjaAoJICBvbiB0aGF0IGxpc3QuCgkgIFNldCB0aGUgc3RhdGUgb2YgdGhlIHVwc3RyZWFtIGVsZW1lbnQgdG8gTlVMTCBmaXJzdC4KCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6NTE6NTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxhc2luZyBvZiB0aGUgcnRwIHJlY3YgcGFkCgoyMDA5LTA1LTIyIDAwOjQ0OjUxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0cCBzZW5kIHBhZHMKCjIwMDktMDUtMjIgMDA6MzQ6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNlIG9mIHRoZSByZWN2IHJ0Y3AgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjE2OjE5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0Y3Agc3JjIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0wNSAxNjo0ODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRyb3AgdW5leHBlY3RlZCBSVENQIHBhY2tldHMKCSAgV2UgdXN1YWxseSBvbmx5IGdldCBTUiBwYWNrZXRzIGluIG91ciBjaGFpbiBmdW5jdGlvbiBidXQgaWYgYW4gaW52YWxpZCBwYWNrZXQKCSAgY29udGFpbnMgdGhlIFNSIHBhY2tldCBhZnRlciB0aGUgUlIgcGFja2V0LCB3ZSBtdXN0IG5vdCBmYWlsIGJ1dCBzaW1wbHkgaWdub3JlCgkgIHRoZSBtYWxmb3JtZWQgcGFja2V0LgoJICBGaXhlcyAjNTgxMzc1CgoyMDA5LTA0LTI3IDExOjA5OjA4ICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogbWFrZSBXQVJOSU5HIGludG8gTE9HCgkgIFNpbmNlIG5laXRoZXIgcnRwbWFuYWdlciBub3IgYW55IG9mIHRoZSBwYXlsb2FkZXJzIHByb3Blcmx5IGltcGxlbWVudAoJICBwYWQgYWxsb2NhdGlvbiwgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgcnRwbWFuYWdlciB0byBpbmZvcm0gZG93bnN0cmVhbSBlbGVtZW50cwoJICBvZiB0aGUgbmV3IFNTUkMgaWYgdGhlcmUgaXMgYW4gU1NSQyBjb2xsaXNpb24uIFNvIHRoZSB3YXJuaW5nIGlzIGVtaXR0ZWQgYWxsIHRoZQoJICB0aW1lIGFuZCBpdCBpcyBjb25mdXNpbmcuCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTE6MDY6MDEgKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBub3RpZnkgd2hlbiBTU1JDIGNoYW5nZXMKCSAgRW1pdCBhIGdfb2JqZWN0X25vdGlmeSB3aGVuIHRoZSBTU1JjIGNoYW5nZXMgYmVjYXVzZSBvZiBhIGNvbGxpc2lvbi4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0xNyAxNjoxNjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogam9pbiB0aGUgUlRDUCB0aHJlYWQKCSAgQXZvaWQgYSBjYXNlIHdoZXJlIGEgam9pbmFibGUgdGhyZWFkIHdvdWxkIGJlIGxlZnQgdW5qb2luZWQsIHdoaWNoIGxlYWtlZCB0aGUKCSAgdGhyZWFkIHN0cnVjdHVyZS4KCSAgRml4ZXMgIzU3NzMxOC4KCjIwMDktMDQtMTUgMTg6MTQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcmV2ZW50IG92ZXJmbG93IGluIEVPUyBlc3RpbWF0aW9uCgkgIFVzZSBhIGd1aW50NjQgaW5zdGVhZCBvZiBhIGd1aW50IHRvIGhvbGQgYSA2NGJpdCB2YWx1ZSB0byBwcmV2ZW50IGNvbXBsZXRlbHkKCSAgYm9ndWVzIEVPUyBlc3RpbWF0aW9uIHZhbHVlcyBkdWUgdG8gb3ZlcmZsb3dzLgoKMjAwOS0wNC0xNSAxNzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiB3ZSBzaG91bGQgbm90IHByb3ZpZGUgYSBjbG9jawoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHByb3ZpZGUgYSBjbG9jay4KCjIwMDktMDQtMTUgMTc6Mjg6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3JlIGVzdGltYXRlZCBFT1MgZml4ZXMKCSAgRG8gbW9yZSBhY2N1cmF0ZSBFT1MgZXN0aW1hdGUgYW5kIGd1YXJkIGFnYWluc3QgYmFja3dhcmQgdGltZXN0YW1wcy4KCjIwMDktMDQtMTUgMTc6MjU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgYmVmb3JlIHB1c2hpbmcgRU9TCgkgIE1ha2Ugc3VyZSB3ZSByZWxlYXNlIHRoZSBqaXR0ZXJidWZmZXIgbG9jayBiZWZvcmUgd2Ugc3RhcnQgcHVzaGluZyBvdXQgZGF0YQoJICBiZWNhdXNlIGVsc2Ugd2UgbWlnaHQgZGVhZGxvY2suCgoyMDA5LTAzLTI3IDE3OjQ0OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogYWRkIG9uX25wdF9zdG9wIHNpZ25hbAoJICBBZGQgdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBydHBiaW4gYW5kIHJ0cGppdHRlcmJ1ZmZlciB0byBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIHRoYXQgdGhlIE5QVCBzdG9wIHBvc2l0aW9uIGhhcyBiZWVuIHJlYWNoZWQuCgoyMDA5LTAzLTEzIDE1OjU5OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IHJldHVybiBGQUxTRSBvbiBzZWVrIGV2ZW50cwoJICBTaWxlbnRseSBpZ25vcmUgdGhlIHNlZWsgZXZlbnQgaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0UuCgoyMDA5LTAyLTI2IDEzOjEwOjI5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cGJpbjogRG9uJ3QgZm9yd2FyZCByZXZjIGV2ZW50cyB0byBzZW5kZXIKCSAgRG9uJ3Qgc2VuZCBldmVudHMgZnJvbSB0aGUgcmVjZWl2ZXIgdG8gdGhlIHNlbmRlciBzaWRlLgoJICBGaXhlcyAjNTcyOTAwLgoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMS0yMyAxMjoxMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIFNlbmQgQllFIHBhY2tldHMgaW1tZWRpYXRseSBmb3Igc21hbGwgc2Vzc2lvbnMKCSAgV2hlbiB0aGUgbnVtYmVyIG9mIHBhcnRpY2lwYW50cyBpcyBsZXNzIHRoYW4gNTAsIHRoZSBSRkMgYWxsb3dzIGZvciBzZW5kaW5nIHRoZQoJICBCWUUgcGFja2V0IGltbWVkaWF0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVndWxhciBCWUUgdGltZW91dC4KCSAgRml4ZXMgIzU2NzgyOC4KCjIwMDktMDEtMjIgMTM6MzM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgVW5sb2NrIHRoZSBqaXR0ZXJidWZmZXIgYmVmb3JlIHB1c2hpbmcgb3V0IHRoZSBwYWNrZXQtbG9zdCBldmVudHMuIE1vdmUgc29tZSBjb2RlIGJlZm9yZSB3ZSBkbyB0aGUgdW5sb2NrIHRvIG1ha2UgdGhlIGppdHRlcmJ1ZmZlciBzdGF0ZSBjb25zaXN0ZW50IHdoaWxlIHdlIGFyZSB1bmxvY2tlZC4KCjIwMDktMDEtMDIgMTc6NDA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldGNhcHNfc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUKCSAgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCjIwMDktMDEtMDIgMTY6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoKMjAwOC0xMi0yOSAxNTo0OTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmdpdXJlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICBGaXhlcyAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNToyMTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB0aGUgU1NSQyBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4KCSAgdGhlIFNTUkMgYWN0dWFsbHkgY2hhbmdlZC4gU2VlICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE0OjIxOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLio6IFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLCBhc3N1bWUgdGhlIGNsb2NrLXJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwKCSAgYXNzdW1lIHRoZSBjbG9jay1yYXRlIGNvcnJlc3BvbmRzIHRvIHRoZSBmaXJzdCBwYXlsb2FkIHR5cGUgZm91bmQgaW4gdGhlCgkgIFJUUCBwYWNrZXRzLiBGaXhlcyAjNTY1NTA5LgoKMjAwOC0xMi0yMyAxMTozOTo1OSArMDAwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZSB0aW1lLiAgVGltZXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUKCSAgdGltZS4gIFRpbWVzdGFtcHMgY2FuIG9ubHkgZ28gZm9yd2FyZCBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIKCSAgc2lkZSwgY2FuIG9ubHkgZ28gYmFjayBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIgc2lkZSwgYW5kIHJlbWFpbiB0aGUKCSAgc2FtZSBpZiB0aGV5IHJlbWFpbiB0aGUgc2FtZSBhdCB0aGUgc2VuZGVyIHNpZGUuIEZpeGVzICM1NjUzMTkuCgoyMDA4LTExLTI2IDEyOjQwOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYgdG8gaXQgd2hlbiBhIHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKToKCSAgTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmCgkgIHRvIGl0IHdoZW4gYSBzZXNzaW9uIGNsZWFudXAgb2NjdXJzIHdoZW4gd2UgYXJlIGVtaXRpbmcgYSBzaWduYWwuCgkgIEVtaXQgdGhlIG9uX25ld19zc3JjIHNpZ25hbCBmb3IgdGhlIENTUkMsIG5vdCB0aGUgU1NSQy4KCSAgRml4ZXMgIzU2MjMxOS4KCjIwMDgtMTEtMjYgMTI6MDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIEZpeGVzICM1NjIzMTIuCgoyMDA4LTExLTI2IDExOjQ0OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbiB0aGUgbWV0aG9kIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluCgkgIHRoZSBtZXRob2QgY2FsbC4KCSAgQWRkIHNpZ25hbCB0byByZXNldCBzeW5jIHBhcmFtZXRlcnMuCgkgIEF2b2lkIHBhcnNpbmcgdGhlIGNhcHMgdG8gZ2V0IGEgY2xvY2tfYmFzZSwgd2UgZ2V0IHRoaXMgZnJvbSB0aGUgc3luYwoJICBzaWduYWwgbm93LgoKMjAwOC0xMS0yNSAxNToxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGV2ZW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IGV2ZW50IGxlYWsuCgoyMDA4LTExLTIyIDE1OjMxOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCjIwMDgtMTEtMjIgMTU6MjQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNvcHlfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBBZGQgcHJvcGVydHkgdG8gcmV0dXJuIGEgR1ZhbHVlQXJyYXkgb2YgYWxsIGtub3duIFJUUFNvdXJjZXMgaW4gdGhlCgkgIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9jcmVhdGVfc2RlcyksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIFJlbW92ZSBwcm9wZXJ0aWVzIHRvIHNldCB0aGUgdmFyaW91cyBTREVTIGl0ZW1zLCBhbiBhcHBsaWNhdGlvbiBpcyBuZXZlcgoJICBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIFJUUFNvdXJjZSBkYXRhLgoJICBDaGFuZ2UgdGhlIFNERVMgZ2V0dGVyIHByb3BlcnRpZXMgdG8gb25lIFNERVMgcHJvcGVydHkgdGhhdCByZXR1cm5zIGFsbAoJICBTREVTIGl0ZW1zIGluIGEgR3N0U3RydWN0dXJlLgoKMjAwOC0xMS0yMiAxMzoxNzoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgoyMDA4LTExLTIxIDE2OjE3OjIyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCjIwMDgtMTEtMjAgMTg6NDE6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdldF9jdXJyZW50X3RpbWVzKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCk6CgkgIFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIEltcHJvdmUgdGhlIHRpbWUgZnVuY3Rpb24gdG8gcHJvdmlkZSBtb3JlIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFyayB0aGUgaW50ZXJuYWwgc291cmNlIHdpdGggYSBmbGFnLgoJICBVc2UgcnVubmluZ190aW1lIGluc3RlYWQgb2YgdGhlIG1vcmUgdXNlbGVzcyB0aW1lc3RhbXAuCgkgIFZhbGlkYXRlIGEgc291cmNlIHdoZW4gYSB2YWxpZCBTREVTIGhhcyBiZWVuIHJlY2VpdmVkLgoJICBQYXNzIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lIHdoZW4gcHJvY2Vzc2luZyBTUiBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2NyZWF0ZV9zdGF0cyksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgc291cmNlIHN0YXRzLgoJICBNYXJrIHBhcmFtcyBhcyBTVEFUSUNfU1RSSU5HUy4KCSAgQ2FsY3VsYXRlIHRoZSBiaXRyYXRlIGF0IHRoZSBzZW5kZXIgU1NSQy4KCSAgQXZvaWQgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSByb3VuZCB0cmlwIHRpbWUgY2FsY3VsYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVwZGF0ZSBzb21lIGRvY3MgYW5kIGNoYW5nZSBzb21lIHZhcmlhYmxlIG5hbWUgdG8gbW9yZSBjbG9zZWx5IHJlZmxlY3QKCSAgd2hhdCBpdCBjb250YWlucy4KCjIwMDgtMTEtMjAgMDg6MTk6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKToKCSAgSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZAoJICB2YXJpYWJsZS4KCjIwMDgtMTEtMTkgMTY6NDg6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgoyMDA4LTExLTE5IDA5OjA2OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMgbm90aWZpY2F0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksIChmcmVlX3N0cmVhbSksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jCgkgIG5vdGlmaWNhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbnRlcm5hbF9saW5rcyksIChjcmVhdGVfcnRjcF9zaW5rKSwKCSAgKHJlbW92ZV9ydGNwX3NpbmspLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfcnRjcF9ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZW5kIFNSIHBhY2tldHMgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQ2hlY2sgaWYgdGhlIFNSIHRpbWVzdGFtcHMgYXJlIHZhbGlkIGJ5IGNvbXBhcmluZyB0aGVtIHRvIHRoZSBSVFAKCSAgdGltZXN0YW1wcy4KCSAgU2lnbmFsIHRoZSBTUiBwYWNrZXQgYW5kIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gdG8gbGlzdGVuZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZWVuIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gZmlsdGVyIG91dAoJICBpbnZhbGlkIFNSIHBhY2tldHMuCgoyMDA4LTExLTE3IDE5OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZCBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQKCSAgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzIGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMTcgMTU6MTc6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgamkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlCgkgIHZhbHVlIGZyb20gdGhlIGppdHRlcmJ1ZmZlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgUGFzcyB0aGUgY2xvY2stcmF0ZSB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBBbHNvIHBhc3MgdGhlIGNsb2NrLXJhdGUgYWxvbmcgd2l0aCB0aGUgcnRwIHRpbWVzdGFtcCB3aGVuIGdldHRpbmcgdGhlCgkgIHN5bmMgcGFyYW1ldGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiBjbG9jay1yYXRlIGNoYW5nZXMgYW5kIHJldHVybiB0aGUgY2xvY2stcmF0ZSB0b2dldGhlciB3aXRoCgkgIHRoZSBydHAgdGltZXN0YW1wcyB1c2VkIGZvciBzeW5jLgoJICBEb24ndCB0cnkgdG8gY29uc3RydWN0IHRpbWVzdGFtcHMgd2hlbiB3ZSBoYXZlIG5vIGJhc2VfdGltZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgUmVxdWVzdCBhIG5ldyBjbG9jay1yYXRlIHdoZW4gdGhlIHBheWxvYWQgdHlwZSBjaGFuZ2VzLgoJICBSZXNldCB0aGUgaml0dGVyIGNhbGN1bGF0aW9uIHdoZW4gdGhlIGNsb2NrLXJhdGUgY2hhbmdlcy4KCjIwMDgtMTEtMTMgMTU6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTExLTEwIDE1OjI2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZSBvbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZQoJICBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTE2IDEzOjA1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQgc2VxbnVtIGRpc2NvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0CgkgIHNlcW51bSBkaXNjb250aW51aXRpZXMuCgkgIEltcHJvdmUgZ2FwIGRldGVjdGlvbiBhbmQgcmVjb3ZlcnksIHJlc2V0IGFuZCBmbHVzaCB0aGUgaml0dGVyYnVmZmVyIG9uCgkgIHNlcW51bSByZXN0YXJ0LiBGaXhlcyAjNTU2NTIwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgRml4IHdyb25nIEdfTElLRUxZLgoKMjAwOC0xMC0xNiAwOTo1MToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBUUlVFLgoKMjAwOC0xMC0wNyAxODo1NDo0MSArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2ludGVybmFsX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEFkZCBwcm9wZXJ0eSB0byBhY2Nlc3MgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY2hlY2tfY29sbGlzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIGFuIFJUUFNvdXJjZSBvYmplY3QgYnkgU1NSQy4KCSAgU2VlICM1NTUzOTYuCgoyMDA4LTEwLTA3IDExOjMzOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9wYWQpLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLCAocmVtb3ZlX3JlY3ZfcnRwKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3ApLCAocmVtb3ZlX3NlbmRfcnRwKSwgKHJlbW92ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIFN0YXJ0IGltcGxlbWVudGluZyByZWxlYXNpbmcgcGFkcyBvZiBnc3RydHBiaW4uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocmVtb3ZlX3JlY3ZfcnRwX3NpbmspLAoJICAocmVtb3ZlX3JlY3ZfcnRjcF9zaW5rKSwgKHJlbW92ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9zZW5kX3J0Y3Bfc3JjKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEltcGxlbWVudCByZWxlYXNpbmcgcGFkcyBpbiBnc3RydHBzZXNzaW9uLgoKMjAwOC0xMC0wNyAxMDowMjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKToKCSAgT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZQoJICBzdHJlYW1zLgoKMjAwOC0wOS0zMCAxNTowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0IHRoZSBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9zc3JjX2FjdGl2ZSksIChvbl9zc3JjX3NkZXMpLAoJICAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChvbl9zZW5kZXJfdGltZW91dCk6CgkgIFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdAoJICB0aGUgc2lnbmFscy4KCjIwMDgtMDktMjMgMTg6MTM6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBGaXggc29tZSBkb2NzLgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOS0xMyAwMTozNzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldCBzZWVuIGFuIFNSIHBhY2tldC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQKCSAgc2VlbiBhbiBTUiBwYWNrZXQuIEF2b2lkcyBsYXJnZSB0cy1vZmZzZXRzIGluIHNvbWUgY2FzZXMuCgoyMDA4LTA5LTA1IDEzOjUyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgVHdlYWsgbGlwLXN5bmMgY29kZSwgZG9uJ3Qgc3RvcmUgb3VyIG93biBjb3B5IG9mIHRoZSB0cy1vZmZzZXQgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgZG9uJ3QgYWRqdXN0IHN5bmMgaWYgdGhlIGNoYW5nZSBpcyBsZXNzIHRoYW4gNG1zZWMuCgkgIEdldCB0aGUgUlRQIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBkaXJlY3RseSBmcm9tCgkgIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBvdXIgaW5hY2N1cmF0ZSB2ZXJzaW9uIGZyb20gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgR19MSUtFTFkgbWFjcm9zLCB1c2UgZ2xvYmFsIGRlZmluZXMgZm9yIG1heCBwYWNrZXQgcmVvcmRlciBhbmQKCSAgZHJvcG91dHMuCgkgIFJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgY2xvY2sgc2tldyBkZXRlY3Rpb24gd2hlbiBwYWNrZXRzIHNlcW51bXMgYXJlCgkgIGNoYW5nZWQgdW5leHBlY3RlZGx5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIEdfTElLRUxZIG1hY3Jvcy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXh0ZW5kZWQgUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiByZXBvcnQgdGhlIFJUUAoJICB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZm9yIGxpcC1zeW5jLgoJICBSZW1vdmUgc2VydmVyIHRpbWVzdGFtcCBnYXAgZGV0ZWN0aW9uIGNvZGUsIHRoZSBzZXJ2ZXIgY2FuIHNvbWV0aW1lcwoJICBtYWtlIGEgaHVnZSBnYXAgaW4gdGltZXN0YW1wcyAodGFsayBzcHVydHMsLi4uKSBzZWUgIzU0OTc3NC4KCSAgRGV0ZWN0IHRpbWV0YW1wIHdlaXJkbmVzcyBpbnN0ZWFkIGJ5IG9ic2VydmluZyB0aGUgc2VuZGVyL3JlY2VpdmVyCgkgIHRpbWVzdGFtcCByZWxhdGlvbiBhbmQgcmVzeW5jIGlmIGl0IGNoYW5nZXMgbW9yZSB0aGFuIDEgc2Vjb25kLgoJICBBZGQgbWV0aG9kIHRvIHJlcG9ydCBhYm91dCB0aGUgY3VycmVudCBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24KCSAgd2hpY2ggaXMgbmVlZGVkIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NlbmRlcl90aW1lb3V0KSwgKGNoZWNrX2NvbGxpc2lvbiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZSwgdGhlCgkgIGppdHRlcmJ1ZmZlciBjYW4gbm93IGRvIGFuIGFjY3VyYXRlIHJlcG9ydGluZyBhYm91dCB0aGlzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgRGVmaW5lIGdsb2JhbCBtYXgtcmVvcmRlciBhbmQgbWF4LWRyb3BvdXQgY29uc3RhbnRzIGZvciB1c2UgaW4gdmFyaW91cwoJICBzdWJzeXN0ZW1zLgoKMjAwOC0wOC0yOCAxNToyMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSBmb3IgdGhlIHNlc3Npb24gbWFuYWdlciB0byBpbnN0cnVjdCB1cyB0byBzZW5kIEVPUy4gV2UKCSAgY3VycmVudGx5IHdpbGwgRU9TIHdoZW4gdGhlIHNlc3Npb24gaXMgYSBzZW5kZXIgYW5kIHdoZW4gdGhlIHNlbmRlciBwYXJ0CgkgIGdvZXMgRU9TLiBUaGlzIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IGJlaGF2aW91ciBiZWNhdXNlIHRoZSBzZXNzaW9uCgkgIGNvdWxkIHN0aWxsIHBhcnRpY2lwYXRlIGFzIGEgcmVjZWl2ZXIuCgkgIEZpeGVzICM1NDk0MDkuCgoyMDA4LTA4LTEzIDE0OjMxOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUKCSAgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBEb24ndCB0cnkgdG8gYWRqdXN0IHRoZSB0cy1vZmZzZXQgd2hlbiBpdCdzIHRvbyBiaWcgKD4gM3NlY29uZHMpCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NldF9zc3JjKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2QgdG8gc2V0IHNlc3Npb24gU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpLCAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NzcmMpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGRlZCBkZWJ1Z2dpbmcgZm9yIHRoZSBjb2xsaXNpb24gY2hlY2tzLgoJICBBZGQgbWV0aG9kIHRvIGNoYW5nZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBSZXNldCB0aGUgY2xvY2sgYmFzZSB3aGVuIHdlIGRldGVjdCBsYXJnZSBqdW1wcyBpbiB0aGUgc2VxbnVtcy4KCjIwMDgtMDgtMTEgMDc6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgVXNlICItIiBpbnN0ZWFkIG9mICJfIiBpbiBwcm9wZXJ0eSBuYW1lcy4gQ2FuIHdlIGNhbGwgdGhlbSBqdXN0CgkgICJkZXZpY2UiIGxpa2UgZXZlcnl3aGVyZSBlbHNlPwoKMjAwOC0wOC0wNSAwOTo0Mjo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUgaml0dGVyYnVmZmVyIGJlY2F1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlCgkgIGppdHRlcmJ1ZmZlciBiZWNhdXNlIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBtb2RpZnkgdGhlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBtZXRob2QgY29tbWVudCBhYm91dCByZXF1aXJpbmcgd3JpdGFibGUgbWV0YWRhdGEgb24gYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCk6CgkgIE1ha2UgdGhlIFJUQ1AgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlY2F1c2Ugd2Ugd2FudCB0byBtb2RpZnkgdGhlCgkgIG1ldGFkYXRhLgoJICBGaXhlcyAjNTQ2MzEyLgoKMjAwOC0wOC0wNSAwOTowMDo1MCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgoyMDA4LTA4LTA1IDA4OjU4OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApOgoJICBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIEZpeGVzICM1NDM0ODAuCgoyMDA4LTA3LTAzIDE0OjQ0OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCjIwMDgtMDctMDMgMTQ6MzE6MTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocHVzaF9wYWNrZXQpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCjIwMDgtMDctMDMgMTM6NDc6MTkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xNiAwNzowMzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTA2IDEzOjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkgc2h1dGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5CgkgIHNodXRkb3duLgoKMjAwOC0wNS0yNyAxNjo0ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBNYWtlIHN1cmUgbm8gc3RhdGUgY2hhbmdlcyBjYW4gaGFwcGVuIHdoZW4gd2UgcmVjb25maWd1cmUuCgoyMDA4LTA1LTI2IDEwOjA5OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsIHdlIG5lZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywKCSAgd2UgbmVlZCB0byBkbyB0aGlzIHNvIHRoYXQgd2UgY2FuIGJldHRlciBoYW5kbGUgYSByZXN0YXJ0ZWQgc291cmNlLgoJICBGaXggc29tZSBjb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIFR3ZWFrIHRoZSBza2V3IHJlc3luYyBkaWZmLgoJICBVc2Ugb3VyIHdvcmtpbmcgc2VxbnVtIGNvbXBhcmUgZnVuY3Rpb24gaW4gLWJhc2UuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIGluc2VydCBjb2RlIHRvIG1ha2UgaXQgY2xlYXJlciBhbmQgbW9yZQoJICBwZXJmb3JtYW50IGJ5IG9ubHkgcmV0cmlldmluZyB0aGUgc2VxbnVtIG9mIHRoZSBpbnB1dCBidWZmZXIgb25jZSBhbmQgYnkKCSAgYWRkaW5nIHNvbWUgR19MSUtFTFkgY29tcGlsZXIgaGludHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGZvciBkdXBsaWNhdGUgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBGaXggYSBjb21tZW50LCB3ZSBkb24ndCBkbyBza2V3IGNvcnJlY3Rpb24gaGVyZS4uCgoyMDA4LTA1LTI2IDEwOjAwOjI0ICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSBhcmUgY2hhbmdlZCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpOgoJICBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuCgkgIHRoZXkgYXJlIGNoYW5nZWQgb24gcnRwYmluLgoKMjAwOC0wNS0yNiAwOTo1Nzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogKHN3aXRjaF90aW1lcik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoc2VuZF90YWdfZXZlbnQpOgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCjIwMDgtMDUtMTYgMTk6NTY6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgQWRkIGxpYmdzdHZpZGVvIHRvIHRoZSBsaW5rLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBGaXggbGluayBvcmRlciwgYW5kIG1vdmUgTElCUyB0aGluZ3MgdG8gX0xJQlMKCjIwMDgtMDUtMTQgMjE6MDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIGVycm9yIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4KCSAgZXJyb3IgYW5kIHN0b3BwaW5nLiBUaGlzIGlzIGEgcGVyZmVjdGx5IHJlY292ZXJhYmxlIGV2ZW50IGFuZCB3ZSBkb24ndAoJICBmb3JjZSBwZW9wbGUgdG8gdXNlIGFuIHJ0cGJpbiB0byBmaWx0ZXIgb3V0IGJhZCBwYWNrZXRzIGZpcnN0LgoKMjAwOC0wNS0xMyAwOTowNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgoyMDA4LTA1LTEyIDE4OjQzOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhIGxvd2VyIHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYQoJICBsb3dlciB0aW1lc3RhbXAgdGhhbiB0aGUgY3VycmVudCBwYWNrZXQuCgoyMDA4LTA1LTEyIDE0OjI4OjA5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvIHByZXZlbnQgYSBtZW1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0bwoJICBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTEyIDE0OjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDUtMDkgMDc6NDE6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTA4IDA5OjQzOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX2Nsb2NrX3JhdGUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKToKCSAgVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTMyMDExLgoKMjAwOC0wNS0wOCAwNjoyMzozOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoKMjAwOC0wNC0yNSAxMTozMjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCjIwMDgtMDQtMjUgMTE6MjI6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYSBwcm9wZXJ0eSB0byBlbmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhCgkgIHByb3BlcnR5IHRvIGVuYWJlIGl0LiBXZSB3aWxsIGxpa2VseSBlbmFibGUgaXQgYnkgZGVmYXVsdCB3aGVuIHRoZSBiYXNlCgkgIGRlcGF5bG9hZGVycyBoYXZlIGEgZGVmYXVsdCBoYW5kbGVyIGZvciB0aGVtIHNvIHRoYXQgd2UgZG9uJ3Qgc2VuZCB0aGVzZQoJICBldmVudHMgYWxsIHRocm91Z2ggdGhlIHBpcGVsaW5lIGZvciBub3cuCgoyMDA4LTA0LTI1IDA5OjM1OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgQWRkIHNyYyBldmVudCBoYW5kbGVyLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBwdXNoaW5nIGxvb3Agc28gdGhhdCBpdCBjYW4gcXVpY2tseSByZWFjdCB0bwoJICBsb3N0IHBhY2tldHMgYW5kIGluc3RydWN0IHRoZSBkZXBheWxvYWRlciBvZiB0aGVtLiBUaGlzIGNhbiB0aGVuIGJlIHVzZWQKCSAgdG8gaW1wbGVtZW50IGVycm9yIGNvbmNlYWxtZW50IGRhdGEuCgoyMDA4LTA0LTI1IDA4OjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZSB0aGUgZGVmYXVsdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlCgkgIHRoZSBkZWZhdWx0cyBhcmUgcmVhbGx5IG5vdCBjb3JyZWN0LgoJICBJbXBsZW1lbnQgYSBxdWVyeSBoYW5kbGVyIGZvciB0aGUgUlRDUCBzcmMgcGFkLCBtb3N0bHkgdG8gY29ycmVjdGx5CgkgIHJlcG9ydCBhYm91dCB0aGUgbGF0ZW5jeS4KCjIwMDgtMDQtMjUgMDg6MTU6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6ICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBSVFAgdGltZXN0YW1wIGFzIHRoZXkgYm90aCBhcmUgbmVlZGVkIHRvIGNvbnN0cnVjdCB0aGUgdGltaW5nIG9mCgkgIG91dGdvaW5nIHBhY2tldHMgaW4gdGhlIGppdHRlcmJ1ZmZlciBhbmQgYXJlIHRoZXJlZm9yZSBhbHNvIG5lZWRlZCB0bwoJICBtYW5hZ2UgbGlwLXN5bmMuIFRoaXMgZml4ZXMgbGlwLXN5bmMgaWYgdGhlIGZpcnN0IFJUUCBwYWNrZXRzIGFycml2ZQoJICB3aXRoIGEgd2lsZGx5IGRpZmZlcmVudCBnYXAuCgoyMDA4LTA0LTIxIDA4OjI2OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRG9uJ3QgbGVhayBwYWRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEF2b2lkIGEgY2FwcyBsZWFrLgoJICBEb24ndCBsZWFrIHJlZmNvdW50IGluIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEF2b2lkIGNhcHMgbGVha3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChyZXR1cm5fdHJ1ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIEZpeCBzb21lIG1vcmUgY2FwcyBsZWFrcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTcgMDc6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksIChmcmVlX2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fZ2V0X2ZyZWVfcGFkX25hbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIERvbid0IGxlYWsgYSBwYWRuYW1lLgoJICBEb24ndCBsZWFrIGNsaWVudCBzdHJlYW1zIGxpc3QuCgkgIExvY2sgcnRwYmluIHdoZW4gYXNzb2NpYXRpbmcgc3RyZWFtcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMDkgMjI6Mjc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCjIwMDgtMDMtMTEgMTI6NDA6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLio6IEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoZmluZF9hZGRfY29uZmxpY3RpbmdfYWRkcmVzc2VzKSwKCSAgKGNoZWNrX2NvbGxpc2lvbiksIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9uZXdfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgRml4ZXMgIzUyMDYyNi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcmVzZXQpLAoJICAocnRwX3NvdXJjZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1ldGhvZCB0byByZXNldCBzdGF0cy4KCjIwMDgtMDMtMTEgMTE6MzY6MDMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodCBiZSBibG9ja2VkIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGpvaW5fcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSk6CgkgIEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodAoJICBiZSBibG9ja2VkIGRvd25zdHJlYW0uIEFsc28gYXZvaWQgc3Bhd25pbmcgbXVsdGlwbGUgcnRjcCB0aHJlYWRzLgoJICBGaXhlcyAjNTIwODk0LgoKMjAwOC0wMy0xMSAxMDo0MzozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgRml4ZXMgIzUxOTAwNS4KCjIwMDgtMDItMjAgMDk6MzM6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoKMjAwOC0wMi0xNCAxNjoyNTo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZyBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nCgkgIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCjIwMDgtMDEtMjkgMTg6NTc6MjcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBheWxvYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyICA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcKCSAgcGF5bG9hZCB0eXBlIGluc3RlYWQgb2YgYWx3YXlzIGZpcmluZyB0aGUgc2lnbmFsLiBGaXhlcyAjNTEyNzc0LgoKMjAwOC0wMS0yNSAxNjo1ODowMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0IHdpdGggYSBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHBheWxvYWRfdHlwZV9jaGFuZ2UpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dAoJICB3aXRoIGEgc2lnbmFsLgoKMjAwOC0wMS0yNSAxNjowMDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0CgkgIGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQgd2l0aCBlYWNoIGJ1ZmZlciBpbnN0ZWFkLiBGaXhlcyAjNTExNjg2LgoKMjAwOC0wMS0yNSAxNTo0OTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgVHJhY2sgcHQgb24gaW5wdXQgYnVmZmVycyBhbmQgZ2V0IHRoZSBjbG9jay1yYXRlIHdoZW4gaXQgY2hhbmdlcy4KCSAgSWdub3JlIHBhY2tldHMgd2l0aCB1bmtub3duIGNsb2NrLXJhdGUuIFNlZSAjNTExNjg2LgoKMjAwOC0wMS0yNSAwMTo0NDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZSB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZQoJICB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCjIwMDgtMDEtMTEgMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiByZXR1cm5pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQKCSAgb2YgcmV0dXJuaW5nIGFuIGVycm9yLiBGaXhlcyBhIFRPRE8gYXMgZm91bmQgYnkgWW91bmVzcyBBbGFvdWkuCgoyMDA4LTAxLTExIDE2OjQ1OjU3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MgZG90IGFsYW91aSBhdCBjb2xsYWJvcmEgZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvY2Vzc19ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3N5bmNfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfY2xvY2tfcmF0ZV9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfcmVjb25zaWRlcl9jYWxsYmFjayksIChzb3VyY2VfcHVzaF9ydHApLAoJICAoc291cmNlX2Nsb2NrX3JhdGUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTA4NTg3LgoKMjAwOC0wMS0xMCAyMDo1NzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgoyMDA4LTAxLTEwIDE0OjM0OjMwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoKMjAwOC0wMS0wOSAxNDozOTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyIHBhZCBjYW4gcmVuZWdvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlcgoJICBwYWQgY2FuIHJlbmVnb3RpYXRlIHRvLiBGaXhlcyAjNTA3OTQwLgoKMjAwOC0wMS0wNCAxODo0Nzo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgRml4ZXMgIzUwNzAyMC4KCjIwMDctMTItMzEgMTM6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCjIwMDctMTItMTIgMTY6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChnc3RfcnRwX3NzcmNfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwNy0xMi0xMiAxMjoxMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIEZpeCBzb21lIGxlYWtzLgoKMjAwNy0xMi0xMCAxODozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKG9uX3NzcmNfc2Rlcyk6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBVcGRhdGUgc29tZSBjb21tZW50cy4KCjIwMDctMTItMTAgMTU6MzQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfc2RlcyksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX3NkZXMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBGaXggb2JqZWN0IHR5cGUgaW4gdGhlIHNpZ25hbCBjYWxsYmFja3MuCgoyMDA3LTEyLTEwIDE0OjAzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwgKHNkZXNfdHlwZV90b19uYW1lKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoCgkgIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpOgoJICBGaXggU1NSQyBwcm9wZXJ0eS4KCjIwMDctMTItMTAgMTE6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgRGVmaW5lIHNvbWUgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHNldCBTREVTIGFuZCBvdGhlciBjb25maWd1cmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfZnJhY3Rpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfZnJhY3Rpb24pLCAocnRwX3Nlc3Npb25fc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zZGVzX3N0cmluZyksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3NkZXMpLAoJICAoaXNfcnRjcF90aW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzaWduYWwgd2hlbiBuZXcgU0RFUyBpbmZvciBoYXMgYmVlbiBmb3VuZCBmb3IgYSBzb3VyY2UuCgkgIENyZWF0ZSBwcm9wZXJ0aWVzIGZvciBTREVTIGFuZCBvdGhlciBpbmZvLgoJICBTaW1wbGlmeSB0aGUgU0RFUyBBUEkuCgkgIEFkZCBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGludGVybmFsIHNvdXJjZSBvYmplY3Qgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3NvdXJjZV9nZXRfc3NyYyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2VfaXNfYXNfY3NyYyksIChydHBfc291cmNlX2lzX2FjdGl2ZSksCgkgIChydHBfc291cmNlX2lzX3ZhbGlkYXRlZCksIChydHBfc291cmNlX2lzX3NlbmRlciksCgkgIChydHBfc291cmNlX3JlY2VpdmVkX2J5ZSksIChydHBfc291cmNlX2dldF9ieWVfcmVhc29uKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfc2RlcyksIChydHBfc291cmNlX2dldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIEdPYmplY3QgcHJvcGVydGllcyBmb3IgdmFyaW91cyB0aGluZ3MuCgkgIERvbid0IGxlYWsgdGhlIGJ5ZSByZWFzb24uCgoyMDA3LTExLTIyIDA5OjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8gbWF4X2xhdGVuY3kgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubwoJICBtYXhfbGF0ZW5jeSByZXF1aXJlbWVudHMuCgoyMDA3LTExLTAyIDIxOjQ1OjM4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCjIwMDctMTAtMDkgMTA6MDE6MzkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgoyMDA3LTEwLTA4IDE3OjQ2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzogKHJmYl9idWZmZXJfbmV3X2FuZF9hbGxvYyk6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9zb2NrZXRfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOiAobmVzNjUwMl9leGVjdXRlKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoKMjAwNy0xMC0wOCAxMDozOTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBXaGVuIGNsZWFyaW5nIHBheWxvYWQgbWFwcywgYWxzbyBjbGVhciBzZXNzaW9ucyBhbmQgc3RyZWFtcyBwYXlsb2FkCgkgIG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGZpbmRfcGFkX2Zvcl9wdCk6CgkgIEltcGxlbWVudCBjbGVhcmluZyB0aGUgcGF5bG9hZCBtYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBGb3J3YXJkIGZsdXNoIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpOgoJICBDb3JyZWN0bHkgcmVmY291bnQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZW0uCgoyMDA3LTEwLTA1IDE3OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdCByZXBvcnQgdGltZSBpbnN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksCgkgIFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0CgkgIHJlcG9ydCB0aW1lIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgY2xvY2sgdGltZSBzbyB0aGF0IHdlIGRvbid0IGVuZCB1cAoJICByZWNvbnNpZGVyaW5nIGZvcmV2ZXIuCgoyMDA3LTEwLTA1IDEyOjA3OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cyB1cyB0byBncmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzCgkgIHVzIHRvIGdyZWF0bHkgc2ltcGxpZnkgdGhpbmdzIHdoZW4gdGhlIHRhaWwgZWxlbWVudCBjaGFuZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KToKCSAgRm9yd2FyZCBGTFVTSCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgdGFpbC1jaGFuZ2VkIGNhbGxiYWNrIGluIGZhdm91ciBvZiBhIHNpbXBsZSBib29sZWFuIHdoZW4gd2UKCSAgaW5zZXJ0IGEgYnVmZmVyIGluIHRoZSBxdWV1ZS4KCSAgQWRkIG1ldGhvZCB0byBwZWVrIHRoZSB0YWlsIG9mIHRoZSBidWZmZXIuCgoyMDA3LTEwLTAyIDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGFwcGx5X29mZnNldCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBEb24ndCBhZGQgdGhlIGxhdGVuY3kgdG8gdGhlIHNrZXcgY29ycmVjdGVkIHRpbWVzdGFtcCwgbGF0ZW5jeSBpcyBvbmx5CgkgIHVzZWQgdG8gc3luYyBhZ2FpbnN0IHRoZSBjbG9jay4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLCAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSBzZXJ2ZXIgdGltZXN0YW1wIGdvZXMgYmFja3dhcmRzIG9yIHdpbGRseSBqdW1wcyBieQoJICB0ZW1wb3JhcmlseSBwYXVzaW5nIHRoZSBza2V3IGNvcnJlY3Rpb24uCgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0wOS0yOCAxNDo1MTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfY2xpZW50KToKCSAgRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgSGFuZGxlIGNhc2VzIHdoZXJlIGlucHV0IGJ1ZmZlcnMgaGF2ZSBubyB0aW1lc3RhbXBzIHNvIHRoYXQgbm8gY2xvY2sKCSAgc2tldyBjYW4gYmUgY2FsY3VsYXRlZCwgaW4gdGhpcyBjYXNlIGludGVycG9sbGF0ZSB0aW1lc3RhbXBzIGJhc2VkIG9uCgkgIHJ0cCB0aW1lc3RhbXAgYW5kIGFzc3VtZSBhIDAgY2xvY2sgc2tldy4KCjIwMDctMDktMjggMTE6MTc6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoYXBwbHlfbGF0ZW5jeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgVXNlIG5ldyAtY29yZSBtZXRob2QgZm9yIGRvaW5nIGEgcGVlciBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTW92ZSBqaXR0ZXIgY29ycmVjdGlvbiB0byB0aGUgbG93bGV2ZWwgaml0dGVyYnVmZmVyLgoJICBJbmNyZWFzZSB0aGUgbWF4IHdpbmRvdyBzaXplLgoJICBXaGVuIGZpbGxpbmcgdGhlIHdpbmRvdywgYWxyZWFkeSBzdGFydCBlc3RpbWF0aW5nIHRoZSBza2V3IHVzaW5nIGEKCSAgcGFyYWJvbGljIHdlaWdodGluZyBmYWN0b3Igc28gdGhhdCB3ZSBoYXZlIGEgbXVjaCBiZXR0ZXIgc3RhcnR1cAoJICBiZWhhdmlvdXIgdGhhdCBnZXRzIG1vcmUgYWNjdXJhdGUgd2l0aCB0aGUgbW9yZSBzYW1wbGVzIHdlIGhhdmUuCgkgIEluY3JlYXNlIHRoZSBkZWZhdWx0IHdlaWdodGluZyBmYWN0b3IgZm9yIHRoZSBzdGVhZHkgc3RhdGUgdG8gZ2V0CgkgIHNtb290aGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTI2IDIwOjA4OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgIEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRHluYW1pY2FsbHkgYWRqdXN0IHRoZSBza2V3IGNhbGN1bGF0aW9uIHdpbmRvdyBzbyB0aGF0IHdlIGNhbGN1bGF0ZSBpdAoJICBvdmVyIGEgcGVyaW9kIG9mIGFyb3VuZCAyIHNlY29uZHMuCgoyMDA3LTA5LTIwIDE0OjM0OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX2FjdGl2ZSksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX2FjdGl2ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19hY3RpdmUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCjIwMDctMDktMTcgMDI6MDE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlCgkgIHNzcmMgZGVtdXhlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlcik6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgRml4IHJhY2UgaW4gY3JlYXRpbmcgdGhlIFJUUCBhbmQgUlRDUCBwYWRzIHdoZW4gYSBuZXcgU1NSQyBpcyBkZXRlY3RlZC4KCjIwMDctMDktMTYgMTk6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoY29udmVydF9ydHB0aW1lX3RvX2dzdHRpbWUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZWNvbnN0cnVjdCBHU1QgdGltZXN0YW1wIGZyb20gUlRQIHRpbWVzdGFtcHMgYmFzZWQgb24gbWVhc3VyZWQgY2xvY2sKCSAgc2tldyBhbmQgc3luYyBvZmZzZXQuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF90YWlsX2NoYW5nZWQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X2Nsb2NrX3JhdGUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BlZWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNZWFzdXJlIGNsb2NrIHNrZXcuCgkgIEFkZCBjYWxsYmFjayB0byBiZSBub3RmaWVkIHdoZW4gYSBuZXcgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgdGFpbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgY2xvY2sgc2tldyBkZXRlY3Rpb24sIGl0J3MgbW92ZSB0byB0aGUgaml0dGVyYnVmZmVyIG5vdy4KCjIwMDctMDktMTUgMTg6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgdG8gcHJvdGVjdCBvdXIgdmFyaWFibGVzLgoJICBGaXggc29tZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEltcGxlbWVudCBnZXRjYXBzIG9uIHRoZSBzZW5kZXIgc2lua3BhZCBzbyB0aGF0IHBheWxvYWRlcnMgY2FuIG5lZ290aWF0ZQoJICB0aGUgcmlnaHQgU1NSQy4KCjIwMDctMDktMTIgMjE6MjM6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFZhcmlvdXMgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChmcmVlX3Nlc3Npb24pLAoJICAoZ2V0X2NsaWVudCksIChmcmVlX2NsaWVudCksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZnJlZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBWYXJpb3VzIGxlYWsgZml4ZXMuCgoyMDA3LTA5LTEyIDE4OjA0OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNhbGNfbnRwX25zX2Jhc2UpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgIENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBOVFAgdGltZXMgaW4gU1IgcGFja2V0cy4KCSAgU2V0IGNhcHMgb24gbmV3IGdob3N0cGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBDbGVhbiBkZWJ1ZyBzdGF0ZW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbnRlcm5hbF9saW5rcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBudHAtbnMtYmFzZSBwcm9wZXJ0eSB0byBjb252ZXJ0IHJ1bm5pbmdfdGltZSB0byBOVFAgdGltZS4KCSAgSGFuZGxlIE5FV1NFR01FTlQgZXZlbnRzIG9uIHNlbmQgYW5kIHJlY3YgUlRQIHBhZHMgc28gdGhhdCB3ZSBjYW4KCSAgY2FsY3VsYXRlIHRoZSBydW5uaW5nIHRpbWUgYW5kIHRodXMgTlRQIHRpbWUgb2YgdGhlIHBhY2tldHMuCgkgIFNpbXBsaWZ5IGdldHRpbmcgdGhlIGN1cnJlbnQgTlRQIHRpbWUgdXNpbmcgdGhlIHBpcGVsaW5lIGNsb2NrLgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zLgoJICBVc2UgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZSBpbnN0ZWFkIG9mIHRoZSBjbG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9uLgoJICBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiBkaWZmZXJlbnQgc3RyZWFtcywgdGhpcyBtaWdodCBiZSB1c2VkIGxhdGVyCgkgIHRvIGdldCB0aGUgaW50ZXIgc3RyZWFtIGxhdGVuY3kuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTaW1wbGUgY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgTWFrZSB0aGUgY2xvY2sgc2tldyB3aW5kb3cgYSBsaXR0bGUgYmlnZ2VyLgoJICBBcHBseSB0aGUgY2xvY2sgc2tldyB0byBhbGwgYnVmZmVycywgbm90IGp1c3Qgb25lIHdpdGggYSBuZXcgdGltZXN0YW1wLgoJICBDYWxjdWxhdGUgYW5kIGRlYnVnIHNlbmRlciBjbG9jayBkcmlmdC4KCSAgVXNlIGV4dGVuZGVkIGxhc3QgdGltZXN0YW1wIHRvIGludGVycG9sbGF0ZSBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDktMDQgMTU6MjM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IgKCM0NzM1NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IKCSAgKCM0NzM1NjIpLgoKMjAwNy0wOS0wMyAyMToxOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoY2Fwc19jaGFuZ2VkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIEhhbmRsZSBzeW5jX3J0Y3AgYnVmZmVycyBmcm9tIHRoZSBTU1JDIGRlbXV4ZXIgdG8gcGVyZm9ybSBsaXAtc3luYy4KCSAgU2V0IHRoZSBkZWZhdWx0IGxhdGVuY3kgY29ycmVjdGx5LgoJICBBZGQgc29tZSBtb3JlIHBvaW50cyB3aGVyZSB3ZSBjYW4gZ2V0IGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gY29udHJvbCB0aW1lc3RhbXBpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZlZWQgcnRwc2Vzc2lvbiBtYW5hZ2VyIHdpdGggTlRQIHRpbWUgYmFzZWQgb24gcGlwZWxpbmUgY2xvY2sgd2hlbgoJICBoYW5kbGluZyBSVFAgcGFja2V0cyBhbmQgUlRDUCB0aW1lb3V0cy4KCSAgUGVyZm9ybSBhbGwgUlRDUCB3aXRoIHRoZSBzeXN0ZW0gY2xvY2suCgkgIFNldCBjYXBzIG9uIFJUQ1Agb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFsc28gZGVtdXggUlRDUCBtZXNzYWdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbW92ZSB0aGUgZ2V0X3RpbWUgY2FsbGJhY2ssIHRoZSBHU3RyZWFtZXIgcGFydCB3aWxsIGZlZWQgdXMgd2l0aAoJICBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLgoJICBTcGxpdCBzeW5jIHRpbWluZyBhbmQgUlRDUCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIEZhY3RvciBvdXQgY29tbW9uIFJCIGhhbmRsaW5nIGZvciBTUiBhbmQgUlIuCgkgIFNlbmQgb3V0IFNSIFJUQ1AgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgIE1vdmUgU1IgYW5kIFJSIHBhY2tldCBpbmZvIGdlbmVyYXRpb24gdG8gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgY2FwcyBvbiBpbmNvbW1pbmcgYnVmZmVycyB0byBnZXQgdGltaW5nIGluZm9ybWF0aW9uIHdoZW4gdGhleSBhcmUKCSAgdGhlcmUuCgkgIENhbGN1bGF0ZSBjbG9jayBzY2V3IG9mIHRoZSByZWNlaXZlciBjb21wYXJlZCB0byB0aGUgc2VuZGVyIGFuZCBhZGp1c3QKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzLgoJICBDYWxjdWxhdGUgdGhlIHJvdW5kIHRyaXAgaW4gc291cmNlcy4KCSAgRG8gU1IgYW5kIFJSIGNhbGN1bGF0aW9ucyBpbiB0aGUgc291cmNlLgoKMjAwNy0wOC0zMSAxNToyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdCB3ZSBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdAoJICB3ZSBjYW4gaGFuZGxlIHRoZSBydHAgd3JhcGFyb3VuZCBjb3JyZWN0bHkuCgoyMDA3LTA4LTI5IDE2OjU2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEltcHJvdmUgQ29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbXByb3ZlIENvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3Nlc3Npb25fcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgQWxzbyBwYXJzZSB0aGUgc2luayBjYXBzIGZvciBjbG9jay1yYXRlIGluc3RlYWQgb2Ygb25seSByZWx5aW5nIG9uIHRoZQoJICByZXN1bHQgb2YgdGhlIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgZmV0Y2ggdGhlIGNsb2NrIHJhdGUgZm9yIHBheWxvYWRzIHdlIGFyZSBzZW5kaW5nIG91dCBzbwoJICB0aGF0IHdlIGNhbiB1c2UgaXQgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA4LTI5IDAxOjIyOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi4qOiBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdCBjYW4gZ2VuZXJhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdAoJICBjYW4gZ2VuZXJhdGUgY29ycmVjdCBTUiBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfYmFzZV90aW1lKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF90aW1lc3RhbXBfc3luYyksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZHMgZm9yIHNldHRpbmcgc3luYyBwYXJhbWV0ZXJzLgoJICBTZXQgY29ycmVjdCBSVFAgdGltZSBpbiBTUiBwYWNrZXRzIHVzaW5nIHRoZSBzeW5jIHBhcmFtcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZWNvcmQgbGFzdCBSVFAgPC0+IEdTVCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gdG8gY29udmVydCBOVFAKCSAgdG8gUlRQIHRpbWVzdGFtcHMgaW4gU1IgcGFja2V0cy4KCjIwMDctMDgtMjggMjA6MzA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBGSVhNRS4KCSAgUmVsZWFzZSBMT0NLIHdoZW4gcGVyZm9ybWluZyBzZXNzaW9uIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgQWRkIHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgUlRQIHBhY2tldHMgd2l0aCB0aGUgc2Vzc2lvbiBTU1JDLgoKMjAwNy0wOC0yNyAyMToxNzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBvdXIgbGF0ZW5jeSB0byBpbnZhbGlkIHBlZXIgbWF4IGxhdGVuY3kgdmFsdWVzLgoKMjAwNy0wOC0yMyAyMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURQoJICByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEZvbyB0eXBlcyB0aGF0CgkgIGZhcnNpZ2h0IHJlZ2lzdGVycyAobHVja2lseSBHVHlwZSBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUpLiBTaG91bGQKCSAgZmluYWxseSBmaXggIzQzMDY2NC4KCjIwMDctMDgtMjEgMTc6MTg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoIHRoZSBidWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgIFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaAoJICB0aGUgYnVmZmVyIGFzIGZhc3QgYXMgcG9zc2libGUuCgkgIEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA3LTA4LTIxIDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCjIwMDctMDgtMTYgMTE6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggRU9TIGhhbmRsaW5nLgoJICBDb252ZXJ0IHNvbWUgREVCVUcgaW50byBXQVJOSU5Hcy4KCSAgUGF1c2UgdGFzayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayk6CgkgIFVzZSBzeXN0ZW0gY2xvY2sgZm9yIFJUQ1Agc2Vzc2lvbiBtYW5hZ2VtZW50IHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpOgoJICBSZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBlbWl0aW5nIHNpZ25hbHMuCgoyMDA3LTA4LTEzIDA2OjE2OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTAgMTc6MTY6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlciBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAocnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfbmV3KSwgKGNvbXBhcmVfc2VxbnVtKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wb3ApLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZmx1c2gpLCAocnRwX2ppdHRlcl9idWZmZXJfbnVtX3BhY2tldHMpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIKCSAgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lIGJ1Z3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLAoJICAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX2J5ZV9zc3JjKSwgKHNlc3Npb25fY2xlYW51cCk6CgkgIFVzZSBuZXcgaml0dGVyYnVmZmVyIGNvZGUuCgkgIEV4cG9zZSBzb21lIG5ldyBzaWduYWxzIGluIHByZXBhcmF0aW9uIGZvciBoYW5kbGluZyBFT1MuCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDUtMjggMTY6Mzc6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIG5hbWUuIEZpeGVzICM0MzA2NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUKCSAgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCjIwMDctMDUtMjMgMTM6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb2N1bWVudCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBEb2N1bWVudCBzdHVmZi4KCSAgQWRkIGNsZWFyLXB0LW1hcCBhY3Rpb24gc2lnbmFsIHdoZXJlIG5lZWRlZC4KCjIwMDctMDUtMTUgMTM6Mjk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCjIwMDctMDUtMTUgMDM6NDU6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgoyMDA3LTA1LTE0IDE1OjI4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBjbGVhci1wdC1tYXAgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0IGNsb2NrLXJhdGUgdG8gLTEgdG8gbWFyayB1bmtub3cgY2xvY2sgcmF0ZS4KCSAgRml4IGZsdXNoaW5nLgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMTI6Mzg6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3AsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZvcm1hdCBhcmcgZml4IChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pCgoyMDA3LTA1LTA5IDExOjI0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgoyMDA3LTA1LTA0IDEyOjMyOjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU3RvcmUgcmVhbCB1c2VyIG5hbWUgaW4gdGhlIHNlc3Npb24uCgoyMDA3LTA0LTMwIDEzOjQxOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCk6CgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgUmVuYW1lIFJUQ1Agc2VuZCBwYWQsIGxpa2UgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQWxsb3cgZ2V0dGluZyBhbiBSVENQIHBhZCBmb3IgcmVjZWl2aW5nIGV2ZW4gaWYgd2UgZG9uJ3QgcmVjZWl2ZSBSVFAuCgkgIGZpeCBoYW5kbGluZyBvZiBzZW5kX3J0cF9zcmMgcGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXaGVuIG5vIHB0IG1hcCBjb3VsZCBiZSBmb3VuZCwgZmFsbCBiYWNrIHRvIHRoZSBzaW5rcGFkIGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBGaXggcGFkIG5hbWVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFVubG9jayBzZXNzaW9uIHdoZW4gcGVyZm9ybWluZyBhIGNhbGxiYWNrLgoJICBBZGQgY2FsbGJhY2tzIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBvYmplY3QuCgkgIEZpeCBzZW5kaW5nIG9mIFJUUCBwYWNrZXRzLgoJICBmaXJzdCBhdHRlbXB0IGF0IGFkZGluZyBOVFAgdGltZXMgaW4gdGhlIFNSIHBhY2tldHMuCgkgIFNtYWxsIGRlYnVnIGFuZCBkb2MgaW1wcm92ZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIFVwZGF0ZSBzdGF0cyBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDQtMjkgMTQ6NDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFJlbW92ZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIFJlbW92ZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgRml4IGludGVydmFsIGZvciBCWUUvUlRDUCBwYWNrZXRzLgoKMjAwNy0wNC0yNyAxNTowOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3JlY29uc2lkZXIpOgoJICBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgU2ltcGxpZnkgdGltb3V0IGhhbmRsaW5nIGFuZCBhZGQgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwgKHNlc3Npb25fc2RlcyksCgkgIChzZXNzaW9uX2J5ZSksIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBIYW5kbGUgdGltZW91dCBvZiBpbmFjdGl2ZSBzb3VyY2VzIGFuZCBzZW5kZXJzLgoJICBJbXBsZW1lbnQgQllFIHNjaGVkdWxpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWVtYmVycyB0byBjaGVjayBmb3IgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfYnllX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgUkZDIGFsZ29yaXRobSBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcG9ydGluZyBpbnRlcnZhbC4KCjIwMDctMDQtMjUgMTY6Mzg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDE1OjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEZWJ1Z2luZyBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTM6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSk6CgkgIFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgRG9uJ3Qgc2VuZCBSVENQIHJpZ2h0IGJlZm9yZSB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgIEltcHJvdmUgcmVwb3J0IGJsb2Nrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQ2xlYW51cHMsIGFkZCBtZXRob2RzIHRvIGFjY2VzcyBzdGF0cy4KCjIwMDctMDQtMjUgMDg6MzA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIEZpeCBmb3IgcmVuYW1lZCBtZXRob2RzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRwX3Nlc3Npb25fc2V0X2NuYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9jbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfZW1haWwpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2VtYWlsKSwgKHJ0cF9zZXNzaW9uX3NldF9waG9uZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcGhvbmUpLCAocnRwX3Nlc3Npb25fc2V0X2xvY2F0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfdG9vbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfdG9vbCksIChydHBfc2Vzc2lvbl9zZXRfbm90ZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbm90ZSksIChzb3VyY2VfcHVzaF9ydHApLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9nZXRfcmVwb3J0aW5nX2ludGVydmFsKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChzZXNzaW9uX3NkZXMpLCAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUHJlcGFyZSBmb3IgaW1wbGVtZW50aW5nIFNTUkMgc2FtcGxpbmcuCgkgIENyZWF0ZSBTU1JDIGZvciB0aGUgc2Vzc2lvbi4KCSAgQWRkIG1ldGhvZHMgdG8gc2V0IHRoZSBTREVTIGVudHJpZXMuCgkgIGZpeCBhY2NvdW50aW5nIG9mIHNlbmRlcnMvcmVjZWl2ZXJzLgoJICBJbXBsZW1lbnQgU1IvUlIvU0RFUyBSVENQIHJlcG9ydGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEltcGxlbWVudCBleHRlbmRlZCBzZXF1ZW5jZSBudW1iZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgUmVuYW1lIHNvbWUgZmllbGRzLgoKMjAwNy0wNC0yMSAxOToyMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCjIwMDctMDQtMTggMTg6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkZWQgbmV3IGZpbGVzIGZvciBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBTb21lIGNsZWFudXBzLgoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGNhbiBub3cgYWxzbyByZXF1ZXN0IGEgcHQtbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF90aW1lKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBXZSBjYW4gYXNrIGZvciBwdC1tYXAgbm93IHRvbyB3aGVuIHRoZSBzZXNzaW9uIG1hbmFnZXIgbmVlZHMgaXQuCgkgIEhvb2sgdXAgdG8gdGhlIG5ldyBzZXNzaW9uIG1hbmFnZXIsIGltcGxlbWVudCB0aGUgbmVlZGVkIGNhbGxiYWNrcyBmb3IKCSAgcHVzaGluZyBkYXRhLCBnZXR0aW5nIGNsb2NrIHRpbWUgYW5kIHJlcXVlc3RpbmcgY2xvY2stcmF0ZXMuCgkgIFJlbmFtZSBydGNwX3NyYyB0byBzZW5kX3J0Y3Bfc3JjIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB0aGlzIFJUQ1AgaXMgdG8KCSAgYmUgc2VuZCB0byBjbGllbnRzLgoJICBBZGQgY29kZSB0byBzdGFydCBhbmQgc3RvcCB0aGUgdGhyZWFkIHRoYXQgd2lsbCBzY2hlZHVsZSBSVENQIHRocm91Z2gKCSAgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksCgkgIChvbl9ieWVfc3NyYyksIChydHBfc2Vzc2lvbl9uZXcpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCksCgkgIChzb3VyY2VfcHVzaF9ydHApLCAoc291cmNlX2Nsb2NrX3JhdGUpLCAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9jbmFtZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19hcHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2R1Y2VfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBUaGUgYWR2YW5jZWQgYmVnaW5uaW5ncyBvZiB0aGUgbWFpbiBzZXNzaW9uIG1hbmFnZXIgdGhhdCBoYW5kbGVzIHRoZQoJICBwYXJ0aWNpcGFudCBkYXRhYmFzZSBvZiBSVFBTb3VyY2VzLCBTU1JDIHByb2JhdGlvbiwgU1NSQyBjb2xsaXNpb25zLAoJICBwYXJzZSBSVENQIHRvIHVwZGF0ZSBzb3VyY2Ugc3RhdHMuIGV0Yy4uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9uZXcpLAoJICAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9zZXRfcnRwX2Zyb20pLCAocnRwX3NvdXJjZV9zZXRfcnRjcF9mcm9tKSwKCSAgKHB1c2hfcGFja2V0KSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIE9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyBhbiBTU1JDIGFuZCBpdHMgc3RhdGUgaW4gdGhlIGRhdGFiYXNlLgoJICBDYWxjdWxhdGVzIHRoZSBqaXR0ZXIgYW5kIHRyYW5zaXQgdGltZXMgb2YgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVmFyaW91cyBzdGF0cyByZWdhcmRpbmcgdGhlIHNlc3Npb24gYW5kIHNvdXJjZXMuCgkgIFVzZWQgdG8gY2FsY3VsYXRlIHRoZSBSVENQIGludGVydmFsLgoKMjAwNy0wNC0xMyAwOToyMDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIFJldHVybiBGTE9XX09LIGZyb20gUlRDUCBtZXNzYWdlcyBmb3Igbm93LgoKMjAwNy0wNC0xMiAwODoxODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChwdF9tYXBfcmVxdWVzdGVkKToKCSAgRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBFbWl0IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgoyMDA3LTA0LTExIDEzOjQ5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY2xvY2tfcmF0ZV9yZXF1ZXN0KSwgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBjYWNoaW5nIHB0IG1hcHMuCgkgIENvbm5lY3QgdG8gc2lnbmFscyB0byBjb2xsZWN0IHB0IG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgcmVxdWVzdF9jbG9ja19yYXRlIHNpZ25hbC4KCSAgVXNlIHNjYWxlIGluc3RlYXQgb2Ygc2NhbGVfaW50IGJlY2F1c2UgdGhlIGxhdGVyIGRvZXMgbm90IGRlYWwgd2l0aAoJICBuZWdhdGl2ZSBudW1iZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgoyMDA3LTA0LTEwIDA5OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGVtaXRpbmcgcHQgbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRml4IHNpZ25hbHMuCgoyMDA3LTA0LTA2IDEyOjI4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFByb3ZpZGUgYSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fcHJvdmlkZV9jbG9jayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByb3ZpZGUgYSBjbG9jay4KCjIwMDctMDQtMDYgMTI6MDc6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCjIwMDctMDQtMDUgMTY6MTA6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIEZpeCBkb3VibGUgdW5yZWYoKSBpbiBlcnJvciBjYXNlcy4KCjIwMDctMDQtMDUgMTM6NTQ6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIEFkZGVkIFJUUFN0cmVhbSB0byBtYW5hZ2Ugc3RyZWFtIHBlciBTU1JDLCBlYWNoIHdpdGggaXRzIG93bgoJICBqaXR0ZXJidWZmZXIgYW5kIHB0ZGVtdXguCgkgIEFkZGVkIFNTUkNEZW11eC4KCSAgQ29ubmVjdCB0byB2YXJpb3VzIFNTUkMgYW5kIFBUIHNpZ25hbHMgYW5kIGNyZWF0ZSBnaG9zdHBhZHMsIGxpbmsgc3R1ZmYuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBydHBiaW4gdG8gZWxlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBjYXBzIGFuZCBmb3J3YXJkIEdzdEZsb3dSZXR1cm4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIGV2ZW50IGhhbmRsaW5nCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3J0cF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3J0cF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBuZXctcHQtcGFkIHNpZ25hbC4KCjIwMDctMDQtMDQgMTA6MjM6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgoyMDA3LTA0LTAzIDExOjM1OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoKMjAwNy0wNC0wMyAwOTo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOiBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCjIwMDctMDQtMDMgMDk6MTM6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKGFzeW5jX2ppdHRlcl9xdWV1ZV9uZXcpLAoJICAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksIChhc3luY19qaXR0ZXJfcXVldWVfcmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfaGlnaF90aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9tYXhfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9nZXRfZ19xdWV1ZSksIChjYWxjdWxhdGVfdHNfZGlmZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5sb2NrKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWRfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2luc2VydF9hZnRlcl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfcG9wKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfYmxvY2tpbmdfdW5sb2NrZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAobmV3X3BhZCksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoZ3N0X3J0cF9jbGllbnRfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9jbGllbnRfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9maW5hbGl6ZSksIChnc3RfcnRwX2NsaWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9jbGllbnRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfY2xpZW50X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9jbGllbnRfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0Y2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZnJlZV9mdW5jKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChwcml2X2NvbXBhcmVfcnRwX3NlcV9sdCksCgkgIChjb21wYXJlX3J0cF9idWZmZXJzX3NlcV9udW0pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9wdF9kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2dldGNhcHMpLCAoZmluZF9wYWRfZm9yX3B0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoKMjAwOS0wOC0xMCAxMzozMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGNhdGVyIGZvciBjaHVuayBwYWRkaW5nCgoyMDA5LTA4LTA0IDE5OjQ1OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG9ubHkgdXNlIHN0cmVhbSdzIHBhZCBhZnRlciBoYXZpbmcgY2hlY2tlZCBpdCBleGlzdHMKCjIwMDktMDgtMDQgMTM6Mzg6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3ByaW5rbGUgc29tZSBtb3JlIEdTVF9ERUJVR19GVU5DUFRSCgoyMDA5LTA4LTA0IDEzOjM2OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHBvc3QgZXJyb3IgbWVzc2FnZSBpZiBubyBwYWRzIHRvIHB1c2ggRU9TIGV2ZW50IG9uCgoyMDA5LTA4LTA0IDExOjM5OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAwOS0wOC0wNCAxMTozOTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggc29tZSBidWZmZXIgcmVmIGhhbmRsaW5nCgoyMDA5LTA4LTA0IDExOjM3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCBleGNlZWQgbWF4aW11bSBudW1iZXIgb2Ygc3VwcG9ydGVkIHN0cmVhbXMKCjIwMDktMDgtMDQgMTE6MzU6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHJldmVudCBkb3VibGUgdW5yZWY7IGdzdF9hdmlfZGVtdXhfcGFyc2VfYXZpaCBhbHJlYWR5IHVucmVmcwoKMjAwOS0wOC0wNCAxMTozMjoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB2ZXJpZnkgc2l6ZSBvZiBJTkZPIExJU1QgdG8gc2F0aXNmeSBzdWJzZXF1ZW50IGV4cGVjdGF0aW9ucwoKMjAwOS0wNy0yOSAxNToyNTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjaGVjayB2aWRlbyBzdHJlYW0gZnJhbWVyYXRlIGFnYWluc3QgYXZpIGhlYWRlciBmcmFtZSBkdXJhdGlvbgoJICBUaGUgZm9ybWVyIG1pZ2h0IGJlIGJvZ3VzIGluIHNpbGx5IGNhc2VzLCBhbmQgdGhlIGxhdHRlciBzZWVtcyB0bwoJICBjYXJyeSBtb3JlIHdlaWdodC4KCjIwMDktMDgtMDQgMTI6MTY6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtbGluZSBzdHJlYW0gZHVyYXRpb24gY2FsY3VsYXRpb24KCjIwMDktMDctMDMgMTQ6MDQ6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZHYxMzk0c3JjOiBGaXggZWxlbWVudCBmb3IgbGl2ZSB1c2FnZS4uLiB3aGljaCBoYXMgYmVlbiBicm9rZW4gZm9yIDIgeWVhcnMgOigKCSAgVGhpcyBpcyBhIGxpdmUgc291cmNlLCB0aGVyZWZvcmU6CgkgICogVXNlIEdTVF9GT1JNQVRfVElNRSBhcyB0aGUgZGVmYXVsdCBmb3JtYXQKCSAgKiBzZXRfdGltZXN0YW1wIHRvIFRydWUKCSAgKiBwcm9wZXJseSBpbXBsZW1lbnQgcXVlcnkgbGF0ZW5jeS4KCSAgVGhpcyBhbGxvd3MgZXhwZWN0ZWQgbGl2ZSB1c2FnZSBsaWtlIDogcGxheWJpbjIgdXJpPWR2Oi8vCgoyMDA5LTA4LTA5IDA5OjQzOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZQoKMjAwOS0wOC0wOSAwOTo0MzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMDktMDgtMDkgMDk6NDM6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgcmVzdWx0aW5nIHVubmVlZGVkIHZhcmlhYmxlcy4KCjIwMDktMDgtMTAgMDk6NTM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIGV4dC93YXZwYWNrL21kNS5jOgoJKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgd2F2cGFjazogVXNlIEdMaWIgR0NoZWNrc3VtIGluc3RlYWQgb2Ygb3VyIG93biBNRDUgaW1wbGVtZW50YXRpb24KCSAgVGhpcyByZXF1aXJlcyBHTGliIDIuMTYgYnV0IHRoYXQgdmVyc2lvbiBpcyBhbHJlYWR5IHJlcXVpcmVkIGJ5IGNvcmUgYW55d2F5LgoKMjAwOS0wOC0wOCAwMDo0Nzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBBZGRzIHN1cHBvcnQgdG8gbXV4aW5nL2RlbXV4aW5nIFdNQQoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyB3bWEgYXVkaW8gZmFtaWx5IGFuZCBmaXhlcwoJICBkZW11eGluZyBvZiB3bWEgZmFtaWx5IGluIG1hdHJvc2thZGVtdXguIG1hdHJvc2thZGVtdXgKCSAgd2FzIGJyb2tlbiBiZWNhdXNlIGl0IG1pc3NlZCBjb2RlY19kYXRhLgoKMjAwOS0wOC0wNiAyMDoxNToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGRzIHN1cHBvcnQgZm9yIHdtdiBmYW1pbHkKCSAgQWRkcyBzdXBwb3J0IHRvIFdNVjEsIFdNVjIsIFdNVjMgYW5kIG90aGVyIGZhbWlseSBmb3JtYXRzIHRoYXQKCSAgYXJlIHNpZ25hbGVkIGJ5IHRoZSAnZm9ybWF0JyBmaWVsZCBpbiB0aGUgY2FwcyAoaS5lLiBXVkMxKS4KCSAgUGFydGlhbGx5IGZpeGVzICM1NzYzNzgKCjIwMDktMDgtMDkgMTQ6MTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBpZiBtYXggPT0gbWluIHdpZHRoL2hlaWdodCBwdXQgYW4gaW50IGluIHRoZSBwcm9iZWQgY2Fwcywgbm90IGFuIGludCByYW5nZQoJICBGaXhlcyAjNTYwMDMzLgoKMjAwOS0wOC0wOSAxMzo1ODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW9zcmM6IGlmIG1heF9jaGFubmVscyA9PSBtaW5fY2hhbm5lbHMsIHVzZSBhbiBpbnQgaW5zdGVhZCBvZiBhbiBpbnQgcmFuZ2UgaW4gdGhlIGNhcHMKCjIwMDktMDgtMDkgMTI6NTI6MTcgKzAyMDAgIExvbmVTdGFyIDxsb25lQGF1dnRlY2guY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBUcnkgR1NUXypfVEFHX0VOQ09ESU5HIGFuZCBsb2NhbGUgZW5jb2RpbmcgaWYgdGFncyBhcmUgbm90IFVURjgKCSAgRml4ZXMgYnVnICM0OTkyNDIuCgoyMDA5LTA4LTA5IDAxOjI5OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gbGF0ZXN0IHJlbGVhc2UKCSAgVG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwOS0wOC0wOSAwMToyNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgY2hlY2s6IGZpeCBmbHZtdXggdW5pdCB0ZXN0IG9uIGJpZyBlbmRpYW4gbWFjaGluZXMKCSAgZmx2bXV4IG9ubHkgYWNjZXB0cyByYXcgYXVkaW8gaW4gbGl0dGxlIGVuZGlhbiwgYnV0IGF1ZGlvdGVzdHNyYwoJICBwcm9kdWNlcyBhdWRpbyBpbiB0aGUgbmF0aXZlIGVuZGlhbm5lc3MsIHdoaWNoIG1ha2VzIGxpbmtpbmcKCSAgYmV0d2VlbiBhdWRpb3Rlc3RzcmMgYW5kIGZsdm11eCBmYWlsIG9uIGJpZyBlbmRpYW4gbWFjaGluZXMuIEFkZAoJICBhbiBhdWRpb2NvbnZlcnQgZWxlbWVudCBpbiBiZXR3ZWVuIHRoZSB0d28gdG8gZml4IHRoaXMuCgoyMDA5LTAyLTE1IDE4OjQ5OjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogYWRkIGthdGUgc3VidGl0bGUgc3VwcG9ydCB0byBtYXRyb3NrYSBtdXhlciBhbmQgZGVtdXhlcgoJICBTZWUgIzUyNTc0My4KCjIwMDktMDgtMDcgMTY6NTE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjMuMC5odG1sOgoJICBpZDNkZW11eDogYWRkIElEMyB2Mi4zIHNwZWMgYXMgd2VsbAoKMjAwOS0wOC0wNyAxNjo0MjozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHNpemVzIGluIElEMyB2Mi4zIGFyZSB1bmxpa2VseSB0byBiZSBzeW5jLXNhZmUgaW50ZWdlcnMKCSAgSW4gSUQzIHYyLjMgY29tcHJlc3NlZCBmcmFtZXMgd2lsbCBoYXZlIGEgNC1ieXRlIGRhdGEgbGVuZ3RoIGluZGljYXRvcgoJICBhZnRlciB0aGUgZnJhbWUgaGVhZGVyIHRvIGluZGljYXRlIHRoZSBzaXplIG9mIHRoZSBkZWNvbXByZXNzZWQgZGF0YS4KCSAgVGhpcyBpbnRlZ2VyIGlzIHVubGlrZWx5IHRvIGJlIGEgc3luYy1zYWZlIGludGVnZXIgZm9yIHYyLjMgdGFncywKCSAgb25seSBpbiB2Mi40IGl0J3Mgc3luYy1zYWZlLgoKMjAwOS0wOC0wNyAxNjozNjo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAwOS0wOC0wNyAxNjowMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2lkMy01ODgxNDgtdW5zeW5jZWQtdjI0LnRhZzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIHVuc3luYydlZCBJRDMgdjIuNCB0YWdzIGFuZCBmcmFtZXMKCSAgUmV2ZXJzaW5nIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBzZWVtcyB0byB3b3JrIHNsaWdodGx5IGRpZmZlcmVudGx5CgkgIGZvciBJRDMgdjIuMyB0YWdzIGFuZCB2Mi40IHRhZ3M6IHYyLjMgdGFncyBkb24ndCBoYXZlIHN5bmNzYWZlIGZyYW1lCgkgIHNpemVzIGluIHRoZSBmcmFtZSBoZWFkZXIsIHNvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBpcyBhcHBsaWVkIHRvCgkgIHRoZSB3aG9sZSBmcmFtZSBkYXRhIGluY2x1ZGluZyBhbGwgdGhlIGZyYW1lIGhlYWRlcnMuIHYyLjQgZnJhbWVzCgkgIGhhdmUgc3luYy1zYWZlIHNpemVzLCBob3dldmVyLCBzbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gb25seSBuZWVkcwoJICB0byBiZSBhcHBsaWVkIHRvIHRoZSBhY3R1YWwgZnJhbWUgZGF0YSwgYW5kIGl0IHNlZW1zIHRoYXQncyB3aGF0J3MKCSAgYmVpbmcgZG9uZSBhcyB3ZWxsLiBTbyB3ZSBuZWVkIHRvIHVuZG8gdGhlIHVuc3luY2hyb25pc2F0aW9uIG9uIGEKCSAgcGVyLWZyYW1lIGJhc2lzIGZvciB2Mi40IHRhZ3MgZm9yIHRoaW5ncyB0byB3b3JrIHByb3Blcmx5LgoJICBGaXhlcyBleHRyYWN0aW9uIG9mIGNvdmVyYXJ0L2ltYWdlcyBmcm9tIEFQSUMgZnJhbWVzIGluIElEMyB2Mi40CgkgIHRhZ3MgKCM1ODgxNDgpLgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGlzIGFzIHdlbGwuCgoyMDA5LTA4LTA2IDIxOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgU09VUF9NRVRIT0RfR0VUIGluc3RlYWQgb2YgIkdFVCIgc3RyaW5nCgkgIEZpeGVzIGJ1ZyAjNTkwOTcwLgoKMjAwOS0wOC0wNiAxMzowMDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc2V0IHRoZSBkZWZhdWx0IHNsYXZlIG1ldGhvZCB0byBza2V3CgkgIFNldCB0aGUgZGVmYXVsdCBzbGF2ZSBtZXRob2QgdG8gdGhlIG11Y2ggYmV0dGVyIHNrZXcgYWxnb3JpdGhtLiBUaGlzIGlzIHRoZQoJICBkZWZhdWx0IGluIHRoZSBuZXcgYmFzZSBjbGFzcyBidXQgd2Ugb3ZlcnJpZGUgdGhpcyBoZXJlIGFzIHdlbGwgZm9yIHRoZQoJICB1cGNvbW1pbmcgcmVsZWFzZS4KCjIwMDktMDgtMDYgMTA6MjA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBmaXggY29tcGlsYXRpb24gd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnCgoyMDA5LTA4LTAzIDE4OjU5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiB1c2UgYXJyYXkgaW5zdGVhZCBvZiBxdWV1ZQoKMjAwOS0wOC0wMyAxODo1NToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHB1c2ggTkFMcyBvbmx5IGFmdGVyIFNQUy9QUFMKCSAgcGFyc2UgY29tcGxldGUgKGJ5dGVzdHJlYW0pIGJ1ZmZlciBmb3IgU1BTL1BQUyBiZWZvcmUgcHVzaGluZyBOQUxzLgoJICBGaXhlcyAjNTY0NTAxLgoKMjAwOS0wOC0wNCAxNDo0NDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IERpcmVjdGx5IHVzZSBHU1RfUFRSX0ZPUk1BVCBmb3IgcHJpbnRpbmcgY2FwcyB3aXRoIHRoZSBMT0dfQ0FQUyBtYWNybwoKMjAwOS0wOC0wNCAxMToxNzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSAgcnRwcWRtMmRlcGF5OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wOC0wNCAwOTozMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IFJlbW92ZSBzb21lIE9NQVAgc3BlY2lmaWMgaGFja3MKCSAgVGhleSByZXF1aXJlIHNwZWNpYWwgYnVpbGQgZmxhZ3MgYW5kIGFyZSBub3QgdXNlZnVsIGluIGdlbmVyYWwuCgoyMDA5LTA4LTA0IDA5OjIyOjI5ICswMjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzaW5rOiBjaGFuZ2Ugd2hlcmUgYnVmZmVycyBnZXQgZGVxdWV1ZWQKCSAgSXQgc2VlbXMgdG8gY2F1c2Ugc3RyYW5nZSBvY2Nhc2lvbmFsIGhpZ2ggbGF0ZW5jaWVzIChhbG1vc3QgMjAwbXMpIHdoZW4gZGVxdWV1aW5nIGJ1ZmZlcnMgZnJvbSBfYnVmZmVyX2FsbG9jKCkuICBJdCBpcyBzaW1wbGVyIGFuZCBzZWVtcyB0byB3b3JrIG11Y2ggYmV0dGVyIHRvIGRxYnVmIGZyb20gdGhlIHNhbWUgdGhyZWFkIHRoYXQgaXMgcXVldWluZyB0aGUgbmV4dCBidWZmZXIuCgoyMDA5LTA4LTA0IDA5OjE0OjIwICswMjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogQWRkIHY0bDJzaW5rIGVsZW1lbnQKCSAgVGhpcyBhbHNvIGRvZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgoJICAoMSkgcHVsbCB0aGUgYnVmZmVycG9vbCBjb2RlIG91dCBpbnRvIGdzdHY0bDJidWZmZXJwb29sLmMsIGFuZCBtYWtlIGEKCSAgYml0IG1vcmUgZ2VuZXJpYyBzbyBpdCBjYW4gYmUgdXNlZCBib3RoIGZvciB2NGwyc3JjIGFuZCB2NGwyc2luawoJICAoMikgbW92ZSBzb21lIG9mIHRoZSBkZXZpY2UgcHJvYmluZy9jb25maWd1cmF0aW9uL2NhcHMgc3R1ZmYgaW50bwoJICBnc3R2NGwyb2JqZWN0LmMgc28gaXQgZG9lcyBub3QgaGF2ZSB0byBiZSBkdXBsaWNhdGVkIGJldHdlZW4KCSAgdjRsMnNyYyBhbmQgdjRsMnNpbmsKCSAgRml4ZXMgYnVnICM1OTAyODAuCgoyMDA5LTA4LTA0IDA3OjA3OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBmbHZtdXg6IEVuYWJsZSB1bml0IHRlc3Qgbm93IHRoYXQgaXQgcGFzc2VzCgoyMDA5LTA4LTAzIDIxOjIxOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBxZG0yZGVwYXkscnRwc3YzdmRlcGF5OiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoKMjAwOS0wOC0wMyAyMToyMjo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJICBydHBxZG0yZGVwYXk6IEhhbmRsZSBnYXBzIGluIGluY29taW5nIHBhY2tldHMuCgkgIFdoZW5ldmVyIHdlIHNlZSBhIGdhcCwgd2UgZmx1c2ggdGhlIHRlbXBvcmFyeSBwYWNrZXRzIChidXQgbm90IHRoZSBhZGFwdGVyKS4gSWYgd2UKCSAgaGFkIHNvbWUgZGF0YSB0ZW1wb3JhcmlseSBzdG9yZWQgaXQgd2lsbCBiZSBvdXRwdXR0ZWQgKHRoZSBzb3VuZCB3aWxsIHNvdW5kIGEgYml0CgkgIGdhcmJsZWQuLi4gYnV0IHRoYXQncyBob3cgaXQgc291bmRzIG9uIE1hY09TWCA6KQoKMjAwOS0wOC0wMyAxOTowMTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSAgcnRwcWRtZGVwYXk6IEZpeCBDUkMgY2FsY3VsYXRpb24gYW5kIHJlbW92ZSBjb21tZW50ZWQgY29kZS4KCjIwMDktMDgtMDIgMTM6NDI6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSAgcnRwOiBOZXcgUURNMiBydHAgZGVwYXlsb2FkZXIuCgkgIFJldmVyc2UtZW5naW5lZXJlZCBieSBjb21wYXJpbmc6CgkgICogQSBydHAgaGludGVkIGZpbGUgcHJvdmlkZWQgYnkgRGFyd2luU3RyZWFtaW5nU2VydmVyCgkgICogVGhlIG91dHB1dCBwcm9jdWVkIGJ5IERTUyBmb3IgdGhhdCBzYW1lIGZpbGUKCSAgQWxzbyB1c2VkIHZhcmlvdXMgc3RyZWFtaW5nIHNvdXJjZXMgYXZhaWxhYmxlIG9uIHRoZSBpbnRlcm5ldCB0byBmaW5lLXR1bmUKCSAgdGhlIGNvZGUuCgkgIFRoZSBoZWFkZXIvY29kZWNfZGF0YSBleHRyYWN0aW9uIG1ldGhvZHMgYXJlIGZyb20gRkZNcGVnIChMR1BMKS4KCjIwMDktMDgtMDMgMjE6MjQ6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjN2ZGVwYXk6IFByb3Blcmx5IGZpbGwgY29kZWNfZGF0YSBhbmQgY2xlYW51cCBjb2RlIGEgYml0ZSBtb3JlLgoKMjAwOS0wOC0wMyAxOTowMjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgIHJ0cHN2M3ZkZXBheTogT25seSBvdXRwdXQgYnVmZmVycyBvbmNlIHdlJ3JlIGNvbmZpZ3VyZWQuCgoyMDA5LTA4LTAzIDE5OjAyOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzdmRlcGF5OiBBZGQgbW9yZSBlbmNvZGluZy1uYW1lIHZhcmlhbnRzCgoyMDA5LTA4LTAzIDIwOjA4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IEZpeCB1bml0IHRlc3QgdG8gY29ycmVjdGx5IGhhbmRsZSByZXF1ZXN0IHBhZHMKCSAgUmVxdWVzdCBwYWRzIGFyZSByZW1vdmVkIGJ5IHRoZSBlbGVtZW50IGluc3RhbmNlIGluIFBBVVNFRC0+UkVBRFkKCSAgc28gd2UgbmVlZCB0byByZS1yZXF1ZXN0IHBhZHMgZm9yIGV2ZXJ5IHJ1biBhbmQgbGluayB0aGVtIGFnYWluLgoJICBMYXN0IGZpeCBmb3IgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDIwOjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHdyaXRpbmcgb2YgdGhlIGluZGV4IGZvciA8IDEyOCBidWZmZXJzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU5MDQ0Ny4KCjIwMDktMDgtMDMgMjA6MDc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggcmVzZXR0aW5nIG9mIHRoZSBlbGVtZW50CgkgIFJlc2V0IHRoZSBoYXZlX3ZpZGVvL2hhdmVfYXVkaW8gZmxhZ3MgYW5kIG1ha2Ugc3VyZSB0bwoJICBwcm9wZXJseSByZWxlYXNlIHRoZSByZXF1ZXN0IHBhZHMuCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU5MDQ0Ny4KCjIwMDktMDgtMDMgMTg6MTM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGFkZCBub24tdXRmOCBjaGFycyB0byBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTAzIDE4OjAyOjMxICswMjAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXggYXQgZnJlZXN1cmYuY2g+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBqcGVnZGVwYXk6IHVzZSBhdHRyaWJ1dGVzIGZvciBleHRyYSBwcm9wZXJ0aWVzCgkgIFVzZSBzb21lIG9mIHRoZSBTRFAgYXR0cmlidXRlcyB3aGVuIHRoZXkgYXJlIHByZXNlbnQgdG8gc3BlY2lmeSB0aGUgb3V0cHV0CgkgIGRpbWVuc2lvbiBhbmQgZnJhbWVyYXRlLiBUaGlzIGFsbG93cyB1cyB0byByZWNlaXZlIGpwZWcgZnJhbWVzIGxhcmdlciB0aGFuCgkgIDIwNDAgd2lkdGgvaGVpZ2h0LgoJICBGaXhlcyAjNTY0NDM3CgoyMDA5LTA4LTAzIDE4OjAxOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIFJUUCBkb2NzOiB1cGRhdGUgd2l0aCBhdHRyaWJ1dGVzIGluIGNhcHMKCjIwMDktMDgtMDMgMTc6MjE6NDQgKzAyMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eCBhdCBmcmVlc3VyZi5jaD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHV0IGFsbCBTRFAgYXR0cmlidXRlcyBvbiBjYXBzCgkgIFB1dCB0aGUgU0RQIGF0dHJpYnV0ZXMgb24gdGhlIGNhcHMgdG9vIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCBieQoJICBkZXBheWxvYWRlcnMuCgkgIFNlZSAjNTY0NDM3CgoyMDA5LTA4LTAzIDEzOjMyOjEyICswMjAwICBKb25hdGhhbiBUZWxsaWVyIDxqb25hdGhhbi50ZWxsaWVyIGF0IGdtYWlsLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogaW5pdGlhbGl6ZSB0aGUgcHJvYmUgd2l0aCB0aGUgc2VydmVyCgkgIFdoZW4gY3JlYXRpbmcgYSBuZXcgcHJvYmUsIHBhc3MgdGhlIHNlcnZlciBpbnN0ZWFkIG9mIHRoZSBkZXZpY2Ugc3RyaW5nLgoJICBmaXhlcyAjNTkwNDAxCgoyMDA5LTA4LTAyIDExOjQ0OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZG9uJ3QgZG8gdGhpbmdzIHdpdGggc2lkZS1lZmZlY3RzIGluc2lkZSBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIFNvbWVvbmUgbWlnaHQgY29tcGlsZSB0aGlzIGNvZGUgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQgc29tZSBkYXkuCgoyMDA5LTA4LTAxIDIxOjM5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBkbyBsb2dpYyB3aXRoaW4gZ19hc3NlcnQoKSBzdGF0ZW1lbnRzCgkgIE90aGVyd2lzZSB0aGF0IGNvZGUgd2lsbCBqdXN0IGJlIGV4cGFuZGVkIHRvIG5vdGhpbmcgd2hlbiBjb21waWxlZAoJICAtREdfRElTQUJMRV9BU1NFUlQgKFBTOiB3aHkgaXMgbWFpbmxvb3Bfc3RhcnQoKSBjYWxsZWQgaW4gdGhlIGluaXQKCSAgZnVuY3Rpb24gYW5kIG5vdCB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIFJFQURZPykKCjIwMDktMDgtMDEgMTc6MDc6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgd2hlbiBvcGVyYXRpbmcgcHVzaC1iYXNlZCBhbmQgdW5mcmFtZWQKCSAgRm9yIHNvbWUgcmVhc29uIGZsYWMgZG9lc24ndCBjYWxsIG91ciBtZXRhZGF0YSBjYWxsYmFjayB3aGVuIHdlIG9wZXJhdGUKCSAgaW4gcHVzaCBtb2RlIHdpdGggdW5mcmFtZWQgaW5wdXQsIGJ1dCB0aGF0J3Mgd2hlcmUgd2Ugc2V0IHVwIHRoZQoJICBuZXdzZWdtZW50IGV2ZW50IChzaW5jZSB0aGF0J3Mgd2hlcmUgd2UnZCBnZXQgdGhlIGR1cmF0aW9uIGZyb20gdGhlCgkgIHN0cmVhbSBpbmZvIGhlYWRlciksIHNvIHdlIGRpZG4ndCBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBhdCBhbGwgaW4gdGhpcwoJICBjYXNlLiBIYWNrIGFyb3VuZCB0aGlzIGJ5IHN0b3JpbmcgYSBnZW5lcmljIG5ld3NlZ21lbnQgZXZlbnQgZm9yIG5vdwoJICB3aGljaCB3aWxsIGJlIHVzZWQgaWYgd2UgZG9uJ3QgcmVwbGFjZSBpdCB3aXRoIGEgYmV0dGVyIG9uZSB0aGF0CgkgIGluY2x1ZGVzIHRoZSBkdXJhdGlvbi4KCjIwMDktMDgtMDEgMTY6NDg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzbWFsbCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBjYWxsYmFjayBpbmRpcmVjdGlvbnMgd2hpY2ggYXJlIG5vIGxvbmdlciBuZWVkZWQgYmVjYXVzZQoJICB0aGVyZSdzIG9ubHkgb25lIGRlY29kZXIgb2JqZWN0IHR5cGUgbm93LiBBbHNvIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA4LTAxIDE1OjIyOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogdXNlIGdzdF9hZGFwdGVyX2NvcHkoKSB0byBhdm9pZCB1bm5lY2Vzc2FyeSBidWZmZXIgbWVyZ2VzCgkgIGdzdF9hZGFwdGVyX3BlZWsoKSB3aWxsIG1lcmdlIGJ1ZmZlcnMgYXMgbmVlZGVkLCB3aGljaCB3ZSBjYW4gYXZvaWQKCSAgaGVyZSBzaW5jZSB3ZSdyZSBkb2luZyBhIG1lbWNweSBhbnl3YXkgYW5kIHRoZW4gZmx1c2ggdGhlIGNvcGllZAoJICBkYXRhIGZyb20gdGhlIGFkYXB0ZXIgcmlnaHQgYXdheS4KCjIwMDktMDgtMDEgMDA6MDA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZXBhaXIgc29tZSBicm9rZW4gaW5kZW50aW5nCgoyMDA5LTA4LTAxIDEyOjE5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgY2hlY2tzOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBmbHZtdXgsIGJ1dCBkaXNhYmxlIGl0IGZvciBub3cKCSAgQmFzaWMgdW5pdCB0ZXN0IGZvciBmbHZtdXguIEZhaWxzIG1pc2VyYWJseSwgaGVuY2UgZGlzYWJsZWQgZm9yIG5vdy4KCjIwMDktMDctMzEgMjM6Mjg6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9wY20xNnNpbmUuZmx2OgoJICBjaGVjazogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2ZGVtdXgKCSAgSW4gcGFydGljdWxhciwgdGVzdCByZS11c2Ugb2YgZmx2ZGVtdXggaW4gYm90aCBwdWxsIGFuZCBwdXNoIG1vZGUKCSAgKHNlZSAjNTgzMDMwKS4KCjIwMDktMDctMzEgMjA6MjU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggaW52YWxpZCB3cml0ZSBjYXVzZWQgYnkgdXNpbmcgc2l6ZW9mKCJzdHJpbmciKSBhcyBsZW5ndGgKCSAgc2l6ZW9mKCJmb28iKSBpbmNsdWRlcyB0aGUgc3RyaW5nJ3MgTlVMLXRlcm1pbmF0b3IgaW4gdGhlIHNpemUgcmV0dXJuZWQsCgkgIGJ1dCB3ZSdyZSB3cml0aW5nIHN0cmluZ3MgaGVyZSB3aXRoIGFuIGV4cGxpY2l0IHNpemUgYXQgdGhlIGJlZ2lubmluZwoJICBhbmQgbm8gTlVMLXRlcm1pbmF0b3IuIEluIG1vc3QgY2FzZXMgdXNpbmcgc2l6ZW9mKCJmb28iKSBhcyBsZW5ndGggaW4KCSAgbWVtY3B5IGlzIG5vdCBoYXJtZnVsLCBidXQgaXQgaXMgd2hlcmUgdGhlIHN0cmluZyBnb2VzIHJpZ2h0IGF0IHRoZQoJICBlbmQgb2Ygb3VyIGJ1ZmZlciB0byB3cml0ZSwgc2luY2Ugd2UgZG9uJ3QgYWxsb2NhdGUgc3BhY2UgZm9yIHRoYXQKCSAgTlVMIHRlcm1pbmF0b3IuCgoyMDA5LTA3LTI3IDE4OjQ0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogVXNlICJHRVQiIGluc3RlYWQgb2YgU09VUF9NRVRIT0RfR0VULiBGaXhlcyBidWlsZCB3aXRoIGxpYnNvdXAtMi43LioKCSAgVGhpcyBpcyBkdWUgdG8gYSBxdWFsaXR5IEFQSSBjaGFuZ2UgaW4gbGlic291cCAyLjcuIFNPVVBfTUVUSE9EXyogYXJlIG5vdwoJICBpbnRlZ2VycyBhbmQgbm90IHN0cmluZ3MuLi4gdGhleSBjb3VsZCBoYXZlIGNoYW5nZWQgdGhlIG5hbWVzLgoKMjAwOS0wNy0zMCAxNzo1Nzo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IHVzZSBsb25nZXIgbWFjcm8gbmFtZXMgdG8gbm90IGNsYXNoIHdpdGggc29tZSBzdHVwaWQgd2luZG93cyBkZWZpbmVzCgkgIGxpYmpwZWcgaGVhZGVycyBwdWxsIHNvbWUgd2luZG93cyBzeXN0ZW0gaW5sY3VkZXMgKG9uIHdpbmRvd3MpIHRoYXQgY29udGFpbiBhCgkgIGRlZmluZSBmb3IgREVGQVVMVF9RVUFMSVRZLgoKMjAwOS0wNy0yOSAxNDozMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggbGFzdCBjb21taXQgYW5kIGltcHJvdmUgcmVhZGFiaWxpdHkKCjIwMDktMDctMjQgMTk6MDQ6MzEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXhlZCB0aGUgZml4IGZvciBUSU1FLT5ERUZBVUxUIGNvbnZlcnNpb24uCgkgIEZpeGVzIGJ1ZyAjNTc4MDUyIGFnYWluLgoKMjAwOS0wNy0yOSAxMzozODowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M2RlcGF5OiBGaXggd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9uLCBicmluZyB1cCB0byBtYXJnaW5hbCByYW5rLgoJICBCYXNlZCBvbiBkb2N1bWVudGF0aW9uIGZvdW5kIG9uIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvCgoyMDA5LTA3LTI5IDEyOjEzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IGNvbmRpdGlvbmFsbHkgY29tcGlsZSBuZXdlciBzdHVmZgoJICBjb25maWd1cmVkX3Npbmsvc291cmNlX3VzZWMgaW4gdGhlIHRpbWluZ19pbmZvIGlzIG9ubHkgc2luY2UgMC45LjExIHNvCgkgIGNvbmRpdGlvbmFsbHkgY29tcGlsZSB0aGlzIGluZm9ybWF0aW9uLgoJICBmaXhlcyAjNTkwMDM4CgoyMDA5LTA3LTI4IDE4OjI5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogY2xlYW51cHMKCSAgS2VlcCB0cmFjayBvZiB0aGUgcGF1c2VkIHN0YXRlIG9mIHRoZSBzb3VyY2UgYW5kIGxlYXZlIHRoZSByZWFkIGZ1bmN0aW9uIHdoZW4KCSAgcGF1c2VkLgoJICBkb24ndCB3YWl0IGZvciBhIGxhdGVuY3kgdXBkYXRlIHdoZW4gdGhlIGRlbGF5IGlzIG5vdCB5ZXQga25vd24gYnV0IHNpbXBseQoJICByZXR1cm4gMCBpbnN0ZWFkIG9mIGJsb2NraW5nLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjb3JrZWQgc3RhdGUgb2YgdGhlIHN0cmVhbS4KCSAgRml4IHRoZSBzdGF0ZSBjaGFuZ2VzLgoKMjAwOS0wNy0yOCAxNjoxMToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc2V0IG1heGxlbmd0aCBhbHdheXMgdG8gLTEKCjIwMDktMDctMjggMTU6NTM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOyBjbGVhbnVwcywgcmVwb3J0IHJlYWwgbGF0ZW5jeQoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8KCSAgQXZvaWQgc29tZSB0eXBlIGNhc3RzCgkgIFJlcG9ydCB0aGUgcmVhbCBsYXRlbmN5IHRvIHRoZSBhcHBsaWNhdGlvbi4KCjIwMDktMDctMjggMTY6MTE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiB3aGVuIHNjYW5uaW5nIGZvciAweGZmIG1hcmtlciBlbmRzLCBlbnN1cmUgZGVzaXJlZCByZXN1bHQKCSAgT3RoZXJ3aXNlLCBhbnkgbm9uIDB4ZmYgYnl0ZSBhdCBlbmQgb2YgZGF0YSB3b3VsZCBiZSBtaXN0YWtlbiBmb3IKCSAgYSB0YWcgYnl0ZSwgYW5kIGluIGNhc2Ugb2YgYSBmcmFtZV9sZW4gMCB0YWcgc3Vic2VxdWVudGx5IGxlYWQgdG8gYW4KCSAgaW5maW5pdGUgbG9vcC4KCjIwMDktMDctMjggMDA6MzA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGRzIHN1cHBvcnQgdG8gd21hCgoyMDA5LTA3LTI4IDAwOjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkcyBzdXBwb3J0IHRvIHdtdgoKMjAwOS0wNy0yNyAyMTozNDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvd25ncmFkZSB3YXJuaW5nIG1lc3NhZ2UgdG8gZGVidWcKCjIwMDktMDctMjcgMTE6NTE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYXZvaWQgdXNpbmcgaXZhbGlkIHN0cmVhbSBpbmRleGVzCgkgIHdoZW4gd2UgZ2V0IGFuIGludmFsaWQgc3RyZWFtIGluZGV4IGZyb20gcHVsc2UgYmVjYXVzZSB3ZSB3ZXJlIGp1c3Qgc3RhcnRpbmcsCgkgIGF2b2lkIHVzaW5nIGl0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSB2b2x1bWUuCgkgIEZpeGVzICM1ODkzNjUKCjIwMDktMDctMjQgMTk6Mzg6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogRG9uJ3QgYWxsb3cgY2FwcyBjaGFuZ2VzIGZvciBzb21lIGVmZmVjdHYgZmlsdGVycwoJICBUaGVzZSBmaWx0ZXJzIHVzZSBpbmZvcm1hdGlvbiBmcm9tIHByZXZpb3VzIGZyYW1lcyB0bwoJICBnZW5lcmF0ZSB0aGUgY3VycmVudCBmcmFtZSBhbmQgYSBjYXBzIGNoYW5nZSB3aWxsIG1ha2UKCSAgdGhlIGVmZmVjdCBzdGFydCBmcm9tIHRoZSBiZWdpbm5pbmcgYWdhaW4uCgoyMDA5LTA3LTI0IDE5OjM3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwdHY6IE1ha2UgdGhlIHNpbmUgdGFibGUgZ2xvYmFsIGluc3RlYWQgb2YgaGF2aW5nIGl0IGluIGV2ZXJ5IGluc3RhbmNlCgoyMDA5LTA3LTI0IDEwOjQ3OjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IG1ha2UgZW5jb2RlciB3b3JrIHdpdGggbGlianBlZyB2NwoJICBXZSBoYXZlIHRvIHNwZWNpZnkgZG9fZmFuY3lfZG93bnNhbXBsaW5nID0gRkFMU0UgaW4gdGhlIGVuY29kZXIgd2l0aCBkaWQgbm90IGV4aXN0IGJlZm9yZS4KCjIwMDktMDctMjQgMDA6NDI6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmVkYWFlZSB0byA5NGY5NWUzCgoyMDA5LTA3LTIzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgRml4ZXMgYnVnICM1ODk0MjMuCgoyMDA5LTA3LTIyIDExOjE2OjA2ICswMTAwICBDb2xpbiBHdXRocmllIDxjZ3V0aHJpZUBtYW5kcml2YS5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IGEgY291cGxlIGVycm9yIG1lc3NhZ2VzIHRoYXQgbWVudGlvbmVkIGluY29ycmVjdCBmdW5jdGlvbiBuYW1lcy4KCSAgRml4ZXMgIzU4OTQ1OS4KCjIwMDktMDctMjMgMTE6NTA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBBbHNvIGFkZCBzb21lIG1vcmUgcXVlcnkgdHlwZXMgdG8gdGhlIGFuc3dlciBvZiB0aGUgcXVlcnkgdHlwZSBmdW5jdGlvbi4KCSAgRml4ZXMgYnVnICM1ODk0MjQuCgoyMDA5LTA3LTIxIDE5OjQ2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBmaXggaW50ZXJtaXR0ZW50IEZMQUNfX1NUUkVBTV9ERUNPREVSX0FCT1JURUQgZXJyb3JzIHdoZW4gc2Vla2luZwoJICBXaGVuIHNlZWtpbmcgaW4gYSBsb2NhbCBmbGFjIGZpbGUgKGllLiBvcGVyYXRpbmcgcHVsbC1iYXNlZCksIHRoZSBkZWNvZGVyCgkgIHdvdWxkIG9mdGVuIGp1c3QgZXJyb3Igb3V0IGFmdGVyIHRoZSBsb29wIGZ1bmN0aW9uIHNlZXMgYSBERUNPREVSX0FCT1JURUQKCSAgc3RhdHVzLiBUaGlzLCBob3dldmVyLCBpcyB0aGUgcmVhZCBjYWxsYmFjaydzIHdheSBvZiB0ZWxsaW5nIG91ciBsb29wCgkgIGZ1bmN0aW9uIHRoYXQgcHVsbF9yYW5nZSBmYWlsZWQgYW5kIHN0cmVhbWluZyBzaG91bGQgc3RvcCwgaW4gdGhpcyBjYXNlCgkgIGJlY2F1c2Ugb2YgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IHRoYXQgdGhlIHNlZWsgaGFuZGxlciBwdXNoZWQgdXBzdHJlYW0KCSAgZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQuIEhhbmRsZSB0aGlzIHNsaWdodGx5IGJldHRlciBieSBzdG9yaW5nIHRoZSBsYXN0CgkgIGZsb3cgcmV0dXJuIGZyb20gcHVsbF9yYW5nZSwgc28gdGhlIGxvb3AgZnVuY3Rpb24gY2FuIGV2YWx1YXRlIGl0IHByb3Blcmx5CgkgIHdoZW4gaXQgZW5jb3VudGVycyBhIERFQ09ERVJfQUJPUlRFRCBhbmQgdGFrZSB0aGUgcmlnaHQgYWN0aW9uLgoJICBGaXhlcyAjNTc4NjEyLgoKMjAwOS0wNy0yMSAxMDowNzowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggaW5kZW50aW5nIGFuZCB1cGdyYWRlIHR3byBkZWJ1Z3MgdG8gd2FybmluZ3MuCgkgIEZpeCBuZXdsaW5lcyBpbiB2YXJpYWJsZSBkZWNscy4gQ2hhbmdlIHR3byBkZWJ1Z3MgdG8gYmVjb21lIHdhcm5pbmdzIGFzIHRoZXkKCSAgaW5kaWNhdGUgdGhhdCB0aGluZ3Mgd2lsbCBub3Qgd29yay4KCjIwMDktMDctMjEgMTA6MDQ6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogY29kZSBjbGVhbnVwcyBmb3IgZW5jb2RlcgoJICBSZW1vdmUgc29tZSBkaXNhYmxlZCBjb2RlIGluIGVuY29kZXIuIFRyeSAjaWYgMCdlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMgYWJvdXQKCSAgd2h5IGl0IGlzIGRpc2FibGVkLiBNb3ZlIGlkY3QtbWV0aG9kIGVudW0gdG8ganBlZy5jIGFuZCB1c2UgaW4gYm90aCBlbmNvZGVyIGFuZAoJICBkZWNvZGVyLiBBZGQgaWRjdC1tZXRob2QgcHJvcGVydHkgdG8gZW5jb2Rlci4KCjIwMDktMDctMjEgMDc6NTA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFuc3dlciBTRUVLSU5HIHF1ZXJpZXMgaW4gdGhlIG9yaWdpbmFsIGZvcm1hdAoKMjAwOS0wNy0yMSAwMToxMjo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHB1dGlsczogaW5pdGlhbGl6ZSBzdHJ1Y3QgY29udGVudCB3aXRoIDAuCgkgIEZpeGVzIHNvbWUgcmFuZG9tIGNyYXNoZXMuCgoyMDA5LTA3LTIwIDE5OjA5OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNldCBzb21lIHZhbHVlcyB0byB0aGVpciBkZWZhdWx0cwoJICBTZXQgdGhlIG1pbnJlcSBhbmQgbWF4bGVuZ3RoIGJ1ZmZlciBhdHRyaWJ1dGVzIHRvIC0xIHRvIGxldCBwdWxlc2VhdWRpbyBzZWxlY3QgYQoJICBzZW5zaWJsZSB2YWx1ZS4KCjIwMDktMDctMjAgMTk6MDQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3Qgd2FpdCBmb3IgcG9zdGVkIG1lc3NhZ2UKCSAgV2UgY2FuJ3Qgd2FpdCBmb3IgdGhlIEVOVEVSL0xFQVZFIG1lc3NhZ2VzIHRvIGJlIGJlIHBvc3RlZCBiZWNhdXNlIHRoZSBiYXNlCgkgIGNsYXNzIHNvbWV0aW1lcyBjYWxscyB0aGUgc3RhcnQgbWV0aG9kIHdpdGggdGhlIG9iamVjdCBsb2NrLCB3aGljaCB3b3VsZCBibG9jawoJICB0aGUgbWVzc2FnZSBwb3N0aW5nLgoJICBJbnN0ZWFkLCBqdXN0IGFzc3VtZSB0aGF0IHRoZSBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHNvb24gYW5kIGNvbnRpbnVlLiBXZSdsbAoJICBoYXZlIHRvIGZpeCB0aGlzIGluIHRoZSBiYXNlIGNsYXNzLgoKMjAwOS0wNy0yMCAxODoxMTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgcmVsYXRpdmUgc2Vla3MKCSAgVXNlIHJlbGF0aXZlIHNlZWtzIGJlY2F1c2UgSSB3YXMgdG9sZCB0aGF0IGFic29sdXRlIHNlZWtzIGRvbid0IHdvcmsuCgoyMDA5LTA3LTIwIDE2OjUyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yMCAwODowNzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEFkZCBzdXBwb3J0IGZvciBBUkdCL0JHUkEgaW5wdXQKCSAgTm90ZSB0aGF0IHZpZGVvdGVzdHNyYyBvdXRwdXRzIDEwMCUgdHJhbnNwYXJlbnQgdmlkZW8KCSAgd2hpY2ggd2lsbCByZXN1bHQgaW4gd2hpdGUgb3V0cHV0IGZyb20gY2Fpcm9yZW5kZXIuCgoyMDA5LTA3LTE3IDEzOjIyOjU3ICswMTAwICBFbGFpbmUgWGlvbmcgPEVsYWluZS5YaW9uZ0BTdW4uQ09NPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBGaXggdjRsMnNyYyBvbiBPcGVuU29sYXJpcwoJICBUaGUgdjRsMiBkcml2ZXIgZm9yIFVTQiB3ZWJjYW1zIG9uIE9wZW5Tb2xhcmlzIGRvZXMgbm90IHN1cHBvcnQgc2VsZWN0KCkKCSAgY2FsbHMuIERldGVjdCB3aGVuIHNlbGVjdCgpIGZhaWxzLCBhbmQgc2tpcCBwb2xsaW5nIHRoZSBkZXZpY2UgYWZ0ZXJ3YXJkLAoJICB3aGljaCByZXN0b3JlcyB0aGUgcHJlIDAuMTAuMTQgYmVoYXZpb3VyIG9uIE9wZW5Tb2xhcmlzLgoJICBTaWduZWQtb2ZmLWJ5OiBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoyMDA5LTA3LTE3IDExOjIyOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogSWdub3JlIHNvbWUgbmV3IGJpbmFyaWVzCgoyMDA5LTA3LTE3IDEzOjQ5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEFkZCB0byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAwOS0wNy0xNyAxMzo0Mjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFJldHVybiBub3QtbmVnb3RpYXRlZCBpZiB3ZSBoYXZlIG5vIGNhcHMKCjIwMDktMDctMTcgMTM6NDE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogRml4IGNhcHMgYW5kIGNvbG9yc3BhY2UgaGFuZGxpbmcKCjIwMDktMDctMTcgMTM6MzA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBVc2UgY29ycmVjdCBtaW1ldHlwZXMgZm9yIFBERiBhbmQgU1ZHCgoyMDA5LTA3LTE3IDEzOjI0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogUmVtb3ZlIHB1bGwgbW9kZSwgaXQgb25seSBhZGRzIGNvbXBsZXhpdHkgYnV0IG5vdCBhZHZhbnRhZ2VzCgoyMDA5LTA3LTE2IDIxOjU1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogRml4IGNhcHMgbmVnb3RpYXRpb24gYW5kIGNhaXJvIHN1cmZhY2UgY3JlYXRpb24KCjIwMDktMDctMTYgMjE6NDI6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBDb3JyZWN0bHkgc2V0IHNyY2NhcHMKCjIwMDktMDctMTYgMjE6MzE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogTW92ZSBpbnN0YW5jZS9jbGFzcyBzdHJ1Y3QgZGVmaW5pdGlvbnMgdG8gdGhlIGhlYWRlcgoKMjAwOS0wNy0xNiAyMTozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvcmVuZGVyOiBBZGQgTHV0eicgY29weXJpZ2h0IHRvIHRoZSBmaWxlIGhlYWRlcgoKMjAwOS0wNy0xNiAyMToyNzo0NSArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlybzogQWRkIGNhaXJvLWJhc2VkIFBERi9QUy9TVkcgZW5jb2RlciBlbGVtZW50CgkgIEZpeGVzIGJ1ZyAjMzMxNDIwLgoKMjAwOS0wNy0xNiAyMDo0NDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogT3B0aW9uYWxseSB3cml0ZSBhIFBBRERJTkcgYmxvY2sKCSAgVGhlIHNpemUgb2YgdGhlIFBBRERJTkcgYmxvY2sgaXMgc3BlY2lmaWVkIGJ5IGEgbmV3CgkgICJwYWRkaW5nIiBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM1ODg0ODMuCgoyMDA5LTA3LTE2IDE5OjM1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBPbmx5IGFzc3VtZSBzZWVrYWJpbGl0eSBpZiB0aGUgc2VydmVyIHByb3ZpZGVzIENvbnRlbnQtTGVuZ3RoCgkgIFByZXZpb3VzbHkgc2Vla2FiaWxpdHkgd2F5IGFsd2F5cyBhc3N1bWVkIHVudGlsIHRoZSBmaXJzdCBzZWVrIGFjdHVhbGx5CgkgIGZhaWxlZC4gTm93IHdlIGFzc3VtZSB0aGF0IGFsbCBzZXJ2ZXJzIGFyZSBub3Qgc2Vla2FibGUgdW5sZXNzIHRoZXkgcHJvdmlkZQoJICBhIENvbnRlbnQtTGVuZ3RoIGhlYWRlci4gSWYgYSBzZWVrIGZhaWxzIGFmdGVyIHRoYXQgd2UgY29udGludWUgdG8KCSAgYXNzdW1lIG5vIHNlZWthYmlsaXR5LiBGaXhlcyBidWcgIzU4NTU3Ni4KCjIwMDktMDctMTYgMTU6MTQ6NDMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkb24ndCB0cnkgdG8gYXV0aGVudGljYXRlIGlmIG5vIHVzZXJuYW1lL3Bhc3N3b3JkIGlzIHNldC4KCjIwMDktMDctMTYgMTc6MTA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBDaGFpbiB1cCBmaW5hbGl6ZSB0byB0aGUgcGFyZW50IGNsYXNzIGluIHdhcnB0dgoJICBGaXhlcyBhIG1lbW9yeSBsZWFrLgoKMjAwOS0wNy0xNiAxMjo1NTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSAgZWZmZWN0djogQWRkIHVuaXQgdGVzdCBmb3IgYWxsIGVmZmVjdHYgZWxlbWVudHMKCjIwMDktMDctMTYgMTI6MTc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgZWZmZWN0djogQWRkIG5ldyBlZmZlY3R2IGVsZW1lbnRzIHRvIHRoZSBkb2NzCgoyMDA5LTA3LTE1IDE0OjM3OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSAgZWZmZWN0djogQWRkIHJpcHBsZXR2IGVsZW1lbnQKCSAgVGhpcyBwcm9kdWNlcyBhIHdhdGVyIHJpcHBsZSBlZmZlY3Qgb24gdGhlIHZpZGVvIGlucHV0LAoJICBiYXNlZCBvbiBtb3Rpb24gb3IgYSByYWluIGRyb3AgYWxnb3JpdGhtLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODY5NS4KCjIwMDktMDctMTIgMTU6NDI6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJICBlZmZlY3R2OiBBZGQgc3RyZWFrdHYgZWZmZWN0IGZpbHRlciBlbGVtZW50CgkgIFRoaXMgY29tYmluZXMgdGhlIFN0cmVha1RWIGFuZCBCYWx0YW5UViBmaWx0ZXJzIGZyb20gdGhlCgkgIGVmZmVjdHYgcHJvamVjdC4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODgzNjguCgoyMDA5LTA3LTEyIDEyOjMxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIGVmZmVjdHY6IEZpeCBwcm9jZXNzaW5nIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcwoKMjAwOS0wNy0xMiAxMTo1MjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogQWRkIHJhZGlvYWN0diBlZmZlY3QgZmlsdGVyCgkgIFRoaXMgZmlsdGVyIGFkZHMgYSByYWRpYXRpb24tbGlrZSBtb3Rpb24gYmx1ciBlZmZlY3QKCSAgdG8gdGhlIHZpZGVvIHN0cmVhbS4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODgzNTkuCgoyMDA5LTA3LTEyIDExOjI2OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdHY6IE1ha2UgdGhlIG9wdHYgdGhyZXNob2xkIHByb3BlcnR5IGFuIHVpbnQKCjIwMDktMDctMTIgMTA6Mzk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0OiBBZGQgb3B0diBlZmZlY3QgZmlsdGVyIGZyb20gdGhlIGVmZmVjdHYgcHJvamVjdAoJICBUaGlzIGZpbHRlciBiaW5hcml6ZXMgaW5wdXQgZnJhbWVzIGFuZCBjb21iaW5lcyB0aGVtIHdpdGggdmFyaW91cwoJICBvcHRpY2FsIHBhdHRlcm4uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzQ5LgoKMjAwOS0wNy0wMyAwNToxMToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEVtaXQgc3RyZWFtLXN0YXR1cyBsZWF2ZSBtZXNzYWdlCgkgIEZpeGVzICM1ODc2OTUKCjIwMDktMDctMDMgMDU6MDY6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEVtaXQgc3RyZWFtLXN0YXR1cyBlbnRlciBtZXNzYWdlCgkgIEVtaXQgc3RyZWFtLXN0YXR1cyBtZXNzYWdlcyBmb3IgdGhlIHB1bHNlIHRocmVhZC4KCSAgRG9uJ3QgdXNlIG91ciBvd24gR0NvbmQgZm9yIHNpZ25hbGluZyBidXQgc2ltcGx5IHVzZSB0aGUgcHVsc2UgbWFpbmxvb3AKCSAgbWVjaGFuaXNtcyBmb3Igc3luY2hyb25pc2F0aW9uLgoJICBTZWUgIzU4NzY5NQoKMjAwOS0wNy0xNCAxODoxNTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkZWJ1ZyB0aGUgbGF0ZW5jeSB1cGRhdGUgdmFsdWVzCgoyMDA5LTA3LTE0IDE2OjEyOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBhZGQgMjRiaXQgc2FtcGxlIGZvcm1hdHMKCSAgQWRkIGNoZWNrIGZvciBwdWxzZWF1ZGlvIDAuOS4xNSBhbmQgZW5hYmxlIDI0Yml0cyBzYW1wbGVzIGluIHRoYXQgY2FzZS4KCjIwMDktMDctMTMgMTI6MjM6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTg0NWI2MyB0byBmZWRhYWVlCgoyMDA5LTA3LTEzIDE3OjUzOjI1ICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgbXB2cGF5OiBSZXdvcmsgdGhlIHRpbWVzdGFtcGluZwoJICBSZXdvcmsgdGhlIHRpbWVzdGFtcGluZyBpbiB0aGUgbXB2IHBheWxvYWRlciBzbyB0aGF0IHRoZSB0aW1lc3RhbXBzIGFyZSBtb3JlCgkgIGFjY3VyYXRlLgoJICBGaXhlcyAjNTg3NjgwCgoyMDA5LTA3LTAzIDA4OjQ3OjEyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSAgdjRsMnNyYzogYWRkIGEgc2ltcGxlIHRlc3QgY2FzZSBmb3IgZGV2aWNlIHByb2JpbmcKCjIwMDktMDctMDMgMDg6Mzg6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBvcHRpb25hbCBzdXBwb3J0IGZvciBkZXZpY2UgcHJvYmluZyB3aXRoIGd1ZGV2CgkgIEVudW1lcmF0ZSB2NGwyIGRldmljZXMgdXNpbmcgZ3VkZXYgaWYgYXZhaWxhYmxlLgoJICBGaXhlcyBidWcgIzU4MzY0MC4KCjIwMDktMDctMTAgMTk6NTQ6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBSYW5kb20gY2xlYW51cAoKMjAwOS0wNy0xMCAxOTo1NDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgcXVlcmllcyB0byB0aGUgbWFzdGVyIHBhZCBieSBkZWZhdWx0IGluc3RlYWQgb2YgYWxsIHBhZHMKCjIwMDktMDctMTAgMTk6MzQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBSR0IsIEJHUiwgeFJHQiwgUkdCeCwgeEJHUiwgQkdSeCBzdXBwb3J0CgoyMDA5LTA3LTEwIDE3OjQzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQ2xlYW4gdXAgZGVidWdnaW5nIGEgYml0CgoyMDA5LTA3LTEwIDE3OjI1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNoZWNrcyBhbmQgZXJyb3Igb3V0IGltbWVkaWF0ZWx5IGlmIG5vdCBuZWdvdGlhdGVkCgkgIEFsc28gc3RvcCBsZWFraW5nIHRoZSBvdXRwdXQgYnVmZmVyIGluIHNvbWUgZXJyb3IgY2FzZXMuCgoyMDA5LTA3LTEwIDE3OjIzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdGhlIGNhbGN1bGF0ZV9mcmFtZV9zaXplKCkgZnVuY3Rpb24gYW5kIHVzZSBsaWJnc3R2aWRlbyBpbnN0ZWFkCgoyMDA5LTA2LTMwIDE1OjEzOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdW51c2VkIGxpbmsvdW5saW5rIHBhZCBtZXRob2RzCgoyMDA5LTA2LTMwIDEyOjQzOjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBJNDIwIG1vZGU6IEFkZCBmYXN0IHBhdGggZm9yIDAuMCBhbmQgMS4wIGFscGhhCgkgIElmIHRoZSBzb3VyY2UgYWxwaGEgaXMgMC4wLCB3ZSB0YWtlIG5vdGhpbmcuCgkgIElmIHRoZSBzb3VyY2UgYWxwaGEgaXMgMS4wLCB3ZSBvdmVyd3JpdGUgZXZlcnl0aGluZy4KCjIwMDktMDYtMzAgMTI6NDA6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEk0MjAgYmxlbmRpbmcgOiBGaXggbWFpbiBhbGdvcml0aG0uCgkgIFdoZW4gYmxlbmRpbmcgYSBzb3VyY2UgbGF5ZXIgd2l0aCBhbiBhbHBoYSBvZiAnYScgb24gdG9wIG9mIGFub3RoZXIKCSAgZGVzdGluYXRpb24gbGF5ZXIgd2UgdGFrZSB0aGUgc3VtIG9mOgoJICAqICdhJyBwZXJjZW50IG9mIHRoZSBzb3VyY2UgbGF5ZXIKCSAgKiAoMTAwIC0gJ2EnKSBwZXJjZW50IG9mIHRoZSBkZXN0aW5hdGlvbiBsYXllciAodGhlIHJlbWFpbmRlcikKCjIwMDktMDYtMzAgMTI6Mzk6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IE1ha2UgZGVidWdnaW5nIGNhdGVnb3J5IGdsb2JhbCB0byBhbGwgdGhlIGNvZGUuCgoyMDA5LTA2LTI5IDE5OjIzOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGRlYnVnZ2luZyBzdGF0ZW1lbnRzLgoKMjAwOS0wNy0wOCAxMzozODo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvIG5vdCBsZWFrIHRpbWVvdXQgbWVzc2FnZQoKMjAwOS0wNy0wOSAwNzoxNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogRG9uJ3QgZm9yd2FyZCBORVdTRUdNRU5UIGV2ZW50cyBmcm9tIHVwc3RyZWFtCgkgIE5ldyBvbmVzIGFyZSBnZW5lcmF0ZWQgbGF0ZXIgYW5kIHNpbXBseSBmb3J3YXJkaW5nIHRoZW0gY2FuCgkgIHJlc3VsdCBpbiBORVdTRUdNRU5UIGV2ZW50cyBvZiBkaWZmZXJlbnQgZm9ybWF0IGdvaW5nIGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNTg3OTgzLgoKMjAwOS0wNy0wOCAxODoxOTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBjaGVja2VyIHBhdHRlcm4gbG9va3VwIHRhYmxlIGNvbnN0YW50CgoyMDA5LTA3LTA4IDE4OjE3OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIEFSR0IKCSAgQW5kIGNsZWFuIHVwIHRoZSBjYXBzIHBhcnNpbmcuCgoyMDA5LTA3LTA4IDE1OjE3OjQxICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW5AZ2FpZ25hcmQubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEluaXRpYWxpemUgcG9pbnRlciB0byBOVUxMCgkgIE90aGVyd2lzZSB3ZSdyZSBjYWxsaW5nIGZyZWUoKSB3aXRoIHNvbWUgcmFuZG9tCgkgIG1lbW9yeSBhZGRyZXNzIGluIGVycm9yIGNhc2VzLgoJICBGaXhlcyBidWcgIzU4Nzk4Mi4KCjIwMDktMDctMDcgMTY6MzU6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgY29uc3QKCjIwMDktMDctMDcgMTU6NTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwZXJmb3JtIHNvbWUgbW9yZSAoY2FyZWZ1bCkgZGF0YSBidWZmZXJpbmcKCSAgT25jZSBidWZmZXJpbmcgaGFzIHN0YXJ0ZWQgKHdpdGggYW4gbWRhdCBhdG9tKSwgY29udGludWUgYnVmZmVyaW5nCgkgIHVudGlsIG1vb3YgYXRvbSBpcyByZWFjaGVkLCB3aGljaCBoYW5kbGVzIGNhc2VzIHdpdGggbXVsdGlwbGUKCSAgbWRhdCBhdG9tcy4gIEFsc28ga2VlcCBhZGFwdGVyL29mZnNldCBiZXR0ZXIgaW4gc3luYyB3aXRoIHVwc3RyZWFtCgkgIGFuZCBmaXggc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiAgRml4ZXMgIzU4NzQyNi4KCjIwMDktMDctMDYgMTA6NDA6MzEgKzAyMDAgIFBoaWxpcCBK5GdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJlcGxhY2UgZGVwcmVjYXRlZCBHU1RfRElTQUJMRV9ERUJVRyB3aXRoIGNvcnJlY3QgbWFjcm8uIEZpeGVzICM1ODc4MjYKCjIwMDktMDctMDEgMTM6MDc6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlcnJvciBvdXQgaW5zdGVhZCBvZiBkaXZpZGluZyBieSAwCgkgIEVycm9yIG91dCBpZiB0aW1lc2NhbGUgaXMgMC4KCjIwMDktMDctMDEgMDk6MzI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IE1ha2Ugc3VyZSB3ZSBkb24ndCBibGFja2xpc3Qgc3RyZWFtcyBieSB3cm9uZ2x5IGNvbXBhcmluZyB0aGVpciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NTAzYTU5YTU3NzliNjc0NTFkOGEyNzEwMDAxODE3OTBlZTc2YmM3LgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSBpdCBjYXVzZXMgcmVncmVzc2lvbnMgd2l0aCBhIGxvdCBvZiBzYW1wbGUgZmlsZXMKCSAgSSBoYXZlLCBhbGwgb2Ygd2hpY2ggd29ya2VkIGZpbmUgd2l0aCB0aGUgbGFzdCAtZ29vZCByZWxlYXNlICgjNTg2ODkxKS4KCjIwMDktMDYtMzAgMTU6NTQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb21tZW50IG91dCB1bnVzZWQgc3RydWN0dXJlCgoyMDA5LTA2LTMwIDEzOjEyOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW9yZSBzaXplIGNoZWNrcywgYW5kIHVzZSBnX3RyeV9uZXcwKCkgaW5zdGVhZCBvZiBnX25ldzAoKQoJICBXaGVuZXZlciB3ZSBhbGxvYyBzb21ldGhpbmcgYmFzZWQgb24gYSB1c2VyLXN1cHBsaWVkIHNpemUsIHdlIHNob3VsZAoJICByZWFsbHkgdXNlIGdfdHJ5X25ldygpLCBvdGhlcndpc2Ugd2UgY2FuIGVhc2lseSBiZSBtYWRlIHRvIGFib3J0IGJ5CgkgIHBhc3NpbmcgYSByaWRpY3Vsb3VzbHkgbGFyZ2UgbnVtYmVyIHRvIHVzIGZvciBhbGxvY2luZy4gRml4ZXMKCSAgcHJvYmxlbXMgd2l0aCBzb21lIGZ1enplZCBmaWxlcy4KCjIwMDktMDYtMjkgMTg6NTg6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBndWFyZCBhZ2FpbnN0IGJvZ3VzIGF0b20gc2l6ZXMgYW5kIHNob3J0IHJlYWRzCgkgIENoZWNrIHRoZSBwb3NzaWJseSA2NC1iaXQgYXRvbSBzaXplIG1vcmUgY2FyZWZ1bGx5IGJlZm9yZSBjYXN0aW5nIGl0CgkgIHRvIGFuIGludCBhbmQgcGFzc2luZyBpdCB0byBnc3RfcGFkX3B1bGxfcmFuZ2UoKSwgb3RoZXJ3aXNlIHdlIG1pZ2h0CgkgIGVuZCB1cCBwdWxsaW5nIDAgYnl0ZXMsIGdldHRpbmcgYW4gZW1wdHkgYnVmZmVyIGFzIHJlcXVlc3RlZCBhbmQKCSAgZGVyZWZlcmVuY2luZyBub3QgYXZhaWxhYmxlIGRhdGEgd2hpbHN0IHRoaW5raW5nIHdlIGFjdHVhbGx5IGFza2VkCgkgIGZvciBhbmQgZ290IDB4MTAwMDAwMDAwMDAwMCBieXRlcy4gU2ltaWxhciBmaXggZm9yIHB1c2ggbW9kZSBvcGVyYXRpb24KCSAgd2hlcmUgbmVlZGVkYnl0ZXMgZW5kcyB1cCBiZWluZyAwIGJ5dGVzLCB3aGljaCBtYWtlcyB1cyBhc3NlcnQuIEZpeGVzCgkgIGNyYXNoIHdpdGggYnJva2VuIG9yIGZ1enplZCBmaWxlIChOQiAjMTIyMzc4KS4KCjIwMDktMDYtMjkgMTY6NTI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgMHggcHJlZml4IHdoZW4gbG9nZ2luZyBudW1iZXJzIGluIGhleAoKMjAwOS0wNy0wMSAwODo0MDo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogRG9uJ3Qgc2VuZCBlbXB0eSBzdHJpbmcgdGFncwoKMjAwOS0wNi0zMCAyMTozNTozNyArMDQwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIERvbid0IHVzZSBzZW5kbXNnKCktZGVwZW5kZW50IGNvZGUgb24gV2luZG93cwoJICBGaXhlcyAjNTg1ODQyCgoyMDA5LTA2LTMwIDE1OjU5OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogZml4IGNhcHMgYW5kIG5lZ290aWF0aW9uCgkgIEZpeCB0aGUgY2FwcyB0byBpbmNsdWRlIHRoZSBkZXB0aCAoaW5zdGVhZCBvZiB3aWR0aCB0d2ljZSkgaW4gdGhlIGNhcHMgb2YKCSAgYXVkaW8veC1yYXctaW50LgoJICBGaXggbmVnb3RpYXRpb24gdG8gbm90IG9ubHkgY29weSB0aGUgcmF0ZS9jaGFubmVscyBvZiB0aGUgZmlyc3Qgc3RydWN0dXJlLgoKMjAwOS0wNi0zMCAxNDo0ODowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGluY2x1ZGUgIjEuMD0xMDAlIiBpbiB2b2x1bWUgYW5kIGNoYW5nZSB1cHBlciBsaW1pdAoJICBVcHBlciB2b2x1bWUgbGltbWl0IHdhcyAxMDAwLiBUaGF0IGFwcGVhciB1bm5lY2Vhc3JpbHkgaGlnaC4gSXQgd291bGQgYWxzbyBjYXVzZQoJICBzZXZlciBkaXN0b3J0aW9uIGlmIGFjY2lkZW50aWFseSB1c2VkLiBOb3cgaXRzIDEwICh+ICsxNWRiKSB3aGljaCBpcyBhbHNvIGluCgkgIHN5bmMgd2l0aCB2b2x1bWUgYW5kIHBsYXliaW4yLgoKMjAwOS0wNi0yOSAxNTozOTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogc29tZSBtb3JlIHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMDYtMjkgMTU6Mzg6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJICBwdWxzZTogdHJpdmlhbCBjbGVhbnVwcwoKMjAwOS0wNi0yOSAxNToyMDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhciByaW5nYnVmZmVyIHdoZW4gYXNrZWQgdG8KCSAgU2luY2Ugd2UgbWFwIHRoZSByaW5nYnVmZmVyIHRvIHRoZSBwdWxzZWF1ZGlvIGludGVybmFsIHJpbmdidWZmZXIsIGZsdXNoIHRoZQoJICBwdWxzZWF1ZGlvIGJ1ZmZlciB3aGVuIHdlIGFyZSBhc2tlZCB0byBjbGVhciB0aGUgcmluZ2J1ZmZlci4KCSAgVGhpcyBhdm9pZHMgc29tZSBsZWZ0b3ZlciBhdWRpbyBhZnRlciBhIHNlZWsuCgoyMDA5LTA2LTI2IDE1OjAwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBBY3R1YWxseSBkbyB0aGUgJ2VjaG8gLW4nIC0+IHByaW50ZiBjaGFuZ2UuCgoyMDA5LTA2LTI2IDE0OjQwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nLiBDaGVjayBmb3IgYXV0b21ha2UtMS4xWzAxXQoJICBDaGVjayBmb3IgbW9yZSBhdXRvbWFrZSBjb21tYW5kIHZhcmlhbnRzLiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nCgkgIGZvciBwb3J0YWJpbGl0eQoKMjAwOS0wNi0yNiAxMzo0MjowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmODEwMDMwIHRvIDU4NDViNjMKCjIwMDktMDYtMjYgMTM6MTk6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBwcm9jZXNzIHRyYWNrX251bS90cmFja19jb3VudCB0YWdzIHdpdGggYSAwIHZhbHVlCgkgIE51bWJlci9jb3VudCB2YWx1ZXMgb2YgMCBtZWFuIHRoZXkncmUgbm90IHNldC4gRG9uJ3QgcHV0IHRob3NlIGluIHRoZQoJICB0YWdsaXN0LgoKMjAwOS0wNi0yNSAxODo1MToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogdXNlICdndWludDgnIGluc3RlYWQgb2YgJ2J5dGUnIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkM4CgkgIFdlIG5lZWQgYSBjYXN0IGhlcmUgZm9yIHBvaW50ZXIgYXJpdGhtZXRpYyB0byB3b3JrIGNvcnJlY3RseSwgYnV0IHNvbWUKCSAgTVNWQyB2ZXJzaW9ucyBkb24ndCBzZWVtIHRvIGxpa2UgJ2J5dGUnLCBzbyB1c2UgZ3VpbnQ4IGhlcmUuIEhvcGVmdWxseQoJICBmaXhlcyAjNTg1MzYxLgoKMjAwOS0wNi0yNSAxOTozOTozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBzZXQgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB1c2luZyB0aGVtIGluIGlvY3RscwoJICBUaGlzIGZpeGVzIHZhbGdyaW5kIHdhcm5pbmdzLgoKMjAwOS0wNi0yNSAxMzoyMzo0MCArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3QgYmxhY2tsaXN0IHN0cmVhbXMgYnkgd3JvbmdseSBjb21wYXJpbmcgdGhlaXIgZHVyYXRpb24gd2l0aCBlbnRpcmUgY2xpcCBkdXJhdGlvbi4KCjIwMDktMDYtMjUgMTM6MTg6MTQgKzAyMDAgIEtyenlzenRvZiBCxYJhc3prb3dza2kgPGtiIGF0IHN5c21pa3JvLmNvbS5wbD4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IGZpeCBzb21lIGJ1ZmZlciBsZWFrcwoKMjAwOS0wNi0yNSAwODoxMTowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaC9jYXNlLgoKMjAwOS0wNi0yNSAwODoxMDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUsIGhpbnQgYnJhbmNoIGxpa2VsaW5lc3MsIGFkZCBjb21tZW50cy4KCjIwMDktMDYtMjUgMDg6MDk6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZQoKMjAwOS0wNi0yNSAwNzo0MTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHVudXNlZCB2YXJpYWJsZXMuCgkgIEFsc28gYWRkIGJyYW5jaCBsaWtlbGluZXNzIG1hY3Jvcy4KCjIwMDktMDYtMjUgMDc6NDA6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcy4gRml4ZXMgYnVpbGQgb24gbWFjb3N4CgoyMDA5LTA2LTI0IDE3OjQzOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZnJlZSBtZW1vcnkgaW4gZmluYWxpemUKCSAgZmluYWxpemUgaXMgY2FsbGVkIG9ubHkgb25jZS4gbm8gbmVlZCB0byBjbGVhciBwb2ludGVycyB0aGVyZS4gZGlzcG9zZSBpcyBmb3IKCSAgdW5yZWZmaW5nLgoKMjAwOS0wNi0yNCAxNToxNDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYjExZDEgdG8gZjgxMDAzMAoKMjAwOS0wNi0wOCAxNDo0Njo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzaG9ydC1jaXJjdWl0IGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKSB3aGVuIHBhcnNpbmcgdGhlIGluZGV4CgkgIERvbid0IGNhbGwgZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpIGZvciBlYWNoIHNpbmdsZSBpbmRleCBlbnRyeS4gTm90CgkgIG9ubHkgZG8gd2UgYWxyZWFkeSBoYXZlIHRoZSBwb2ludGVyIHRvIHRoZSBzdHJlYW0gY29udGV4dCwgd2UgYWxzbyBrbm93CgkgIHRoZSBmb3JtYXRzIHdlIHdhbnQgdG8gY29udmVydCBmcm9tIGFuZCB0byBhbHJlYWR5LCBzbyB3ZSBtYXkganVzdCBhcwoJICB3ZWxsIHVzZSBvcHRpbWlzZWQgY29udmVyc2lvbiByb3V0aW5lcyB0aGF0IGJ5cGFzcyBzb21lIG9mIHRoZSBjaGVja3MKCSAgYW5kIGxvb2t1cHMgbWFkZSBpbiBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkuCgoyMDA5LTA2LTE3IDE2OjM5OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBbm90aGVyIHJvdW5kIG9mIEdfKkxJS0VMWSBtaWNyby1vcHRpbWlzYXRpb25zLgoKMjAwOS0wNi0xNyAxNjoyMDoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVGFrZSBsYXN0IHNhbXBsZSBkdXJhdGlvbiBmb3IgZHVtbXkgc2VnbWVudCBjYWxjdWxhdGlvbi4KCSAgVGhpcyBmaXhlcyB0aGUgY2FzZXMgd2hlcmUgZmlsZXMgd2l0aG91dCBFREwgd291bGRuJ3Qgb3V0cHV0IHRoZWlyCgkgIGxhc3QgYnVmZmVyLgoKMjAwOS0wNi0yNCAxMjozNjozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFNwcmlua2xlIGJyYW5jaCBsaWtlbGluZXNzIG1hY3JvcyBvdmVyIHRoZSBjb2RlLgoKMjAwOS0wNi0yMyAxNjo1NDozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IHNwcmlua2xlIGJyYW5jaCBsaWtlbGluZXNzIG1hY3JvcyBhY2Nyb3NzIHRoZSBjb2RlLgoKMjAwOS0wNi0xNCAxMDozNjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIEdTVF9NRU1EVU1QIHN0YXRlbWVudHMgZm9yIHVua25vd24gYXRvbXMuCgkgIFRoaXMgaXMgdG8gaGVscCBkZXZlbG9wZXJzIHRyYWNrIGRvd24gYW5kIGltcGxlbWVudCB1bmhhbmRsZWQgYXRvbXMgZmFzdGVyLgoKMjAwOS0wNi0yMyAxNzo1MTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlbW92ZSB0aGUgaW50ZXJsYWNlZCBmaWVsZCBmcm9tIHRoZSBvdXRwdXQgY2FwcyBpZiBkZWludGVybGFjaW5nIGlzIGVuYWJsZWQKCjIwMDktMDYtMjMgMTc6NDg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBDb3B5IHRoZSBjb3JyZWN0IGxpbmUgZnJvbSBjb3JyZWN0IHBsYWNlIGluIHRoZSBoaXN0b3J5CgoyMDA5LTA2LTIzIDE2OjM1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2Ugc2FtZSBwcm90b2NvbHMgYWZ0ZXIgcmVkaXJlY3QKCSAgQWZ0ZXIgYSByZWRpcmVjdCB3ZSB3YW50IHRvIHVzZSB0aGUgc2FtZSBwcm90b2NvbHMgdGhhdCB3ZSB3ZXJlIHVzaW5nIGZvciB0aGUKCSAgY3VycmVudCB1cmwuCgoyMDA5LTA2LTIzIDE1OjM1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgbGVhayBjb3ZlciBhcnQKCjIwMDktMDYtMjMgMTQ6MTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IEVBSV9BRERSRkFNSUxZIGdldHRpbmcgcmVkZWZpbmVkIGluIHNvbWUgY2FzZXMKCSAgSW5jbHVkZSB0aGUgaGVhZGVyIGZyb20gd2hlcmUgd2UgaW5jbHVkZSBhbGwgdGhlIHN5c3RlbSBoZWFkZXJzIHdpdGggdGhlCgkgIHNvY2tldCBzdHVmZiBiZWZvcmUgd2UgdHJ5IHRvIGRlZmluZSBFQUlfQUREUkZBTUlMWSBvdXJzZWx2ZXMsIG90aGVyd2lzZQoJICB3ZSBkZWZpbmUgaXQgb3Vyc2VsdmVzIGFuZCB0aGVuIGdldCBhIGNvbXBpbGVyIHdhcm5pbmcgaWYgYSBzeXN0ZW0gaGVhZGVyCgkgIGRlZmluZXMgaXQgYXMgd2VsbCB3aXRob3V0IGd1YXJkaW5nIGFnYWluc3QgaXQgYmVpbmcgZGVmaW5lZCBhbHJlYWR5LgoKMjAwOS0wNi0yMyAxNDozOTo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2E6IGFuZCB0aGUgbmV3IGhlYWRlcnMgdG9vCgoyMDA5LTA2LTIzIDE0OjMyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2tlOiBmaXggY29tcGlsZXIgZXJyb3IKCSAgY2hhbmdlIGdwb2ludGVyIHRvIGd1aW50OCAqIGZvciBjb2RlY19zdGF0ZSBhbmQgY29kZWNfcHJpdiBhcyBzb21lCgkgIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIHRob3NlIHR5cGVzIGFuZCBpdCBhdm9pZHMgYnJlYWtpbmcgc3RyaWN0LWFsaWFzaW5nCgkgIHJ1bGVzLgoKMjAwOS0wNi0yMyAxMjo0MjozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBsZWFraW5nIGJ1ZmZlcnMKCSAgRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gcmVzeW5jaW5nIHRvIGEga2V5ZnJhbWUuCgkgIEF2b2lkIGxlYWtpbmcgYnVmZmVycyB3aGVuIGV4aXRpbmcgdGhlIGxvb3Agb24gZXJyb3IgY29uZGl0aW9ucy4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBGaXhlcyAjNTg1OTExCgoyMDA5LTA2LTIyIDE1OjU2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IG9wZW4vY2xvc2UgdGhlIGRldmljZSBpbiBSRUFEWQoJICBUaGlzIGFsbG93cyB0byBxdWVyeSB0aGUgZGV2aWNlIGluIFJFQURZLiBCZWZvcmUgb25lIG5lZWQgdG8gc3dpdGNoIGl0IHRvIFBBVVNFRAoJICBhbmQgdGhhdCBhbHNvIHN0YXJ0cyBzdHJlYW1pbmcuCgoyMDA5LTA2LTIwIDE1OjQxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IHVzZSBHU1RfTUVNRFVNUAoKMjAwOS0wNi0xOSAwMDoxNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBhZGQgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgVXNlIHBidXRpbHMgaGVyZSBiZWNhdXNlIHRoZSBzdHJpbmcgaXMgdHJhbnNsYXRlZC4KCjIwMDktMDYtMTkgMDA6MTU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IGFkZCBjb250YWluZXItZm9ybWF0IHRhZwoJICBVc2luZyBwYnV0aWxzIGhlcmUgYmVjYXVzZSB0aGUgc3RyaW5nIGlzIHRyYW5zbGF0ZWQuCgoyMDA5LTA2LTE4IDIzOjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgQWxzbyBtZXJnZSB0aGUgdHdvIGFsbW9zdCBpZGVudGljYWwgX2FkZF8qX3BhZCgpIGZ1bmN0aW9ucyBpbnRvIG9uZS4KCjIwMDktMDYtMTggMjM6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZG9uJ3Qgc2NyZXcgdXAgZmlyc3QgYXVkaW8gYnVmZmVyCgkgIFF1ZXJ5IHRoZSBhdWRpbyBmb3JtYXQsIGVzcC4gZHZkZW11eC0+bnVtX2NoYW5uZWxzLCBiZWZvcmUgd2UgdXNlIHRoYXQKCSAgdmFyaWFibGUgdG8gYWxsb2NhdGUgdGhlIGluaXRpYWwgYnVmZmVyLiBUaGF0IHdheSB3ZSBkb24ndCBhY2NpZGVudGFsbHkKCSAgcHVzaCBhIHplcm8tc2l6ZWQgYnVmZmVyIGFzIGZpcnN0IGF1ZGlvIGJ1ZmZlci4KCjIwMDktMDYtMTggMjM6Mzg6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZwoKMjAwOS0wNi0xOCAyMzozNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWdzCgoyMDA5LTA2LTE4IDIzOjM2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCjIwMDktMDYtMTggMjM6MzU6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFncwoKMjAwOS0wNi0yMSAxNzoxMzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBGaXggaW50ZWdlciBvdmVyZmxvd3Mgb24gMzIgYml0IGFyY2hpdGVjdHVyZXMKCjIwMDktMDYtMjEgMDk6NTA6NTQgKzAyMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBEb24ndCBkZWNsYXJlIGEgbG9vcCBpbmRleCBzdGF0aWMKCSAgVGhlIHByZXZpb3VzIHBhdGNoIHRvIGFkZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIHNhbXBsZSBmb3JtYXRzIHBvc3NpYmx5CgkgIGludHJvZHVjZWQgYSByZWVudHJhbmN5IGJ1ZzogIGEgdmFyaWFibGUgdXNlZCBmb3IgYSBsb29wIGluZGV4IHdhcyBkZWNsYXJlZAoJICBzdGF0aWMuICBUaGlzIHBhdGNoIGZpeGVzIHRoYXQsIGFuZCBhbHNvIGFkZHMgYSAiLyogKklOREVOVC1PTiogKi8iIGFubm90YXRpb24KCSAgZm9sbG93aW5nIHRoZSBtYWNybyBibG9jay4gIChJIGRvbid0IGtub3cgd2hhdCB0aGUgYW5ub3RhdGlvbiBpcyBmb3IsIGJ1dCB0aGUKCSAgYWRkZXIsIHdoZXJlIEkgY29waWVkIHRoaXMgZnJvbSwgaGFzIGl0KS4KCjIwMDktMDYtMTkgMjI6Mzc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRml4IG9mZi1ieS1vbmUgaW4gd3JhcC1wb3NpdGl2ZSBtb2RlCgoyMDA5LTA2LTE5IDIyOjIwOjQ1ICswMjAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICBhdWRpb2FtcGxpZnk6IEFkZCBub2NsaXAgbWV0aG9kIGFuZCBzdXBwb3J0IGZvciBtb3JlIGZvcm1hdHMKCSAgRml4ZXMgYnVnICM1ODU4MjggYW5kICM1ODU4MzEuCgoyMDA5LTA2LTE5IDIxOjQ2OjQxICswMjAwICBLb29wIE1hc3QgPGt3bUBmcmVlYnNkLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBGaXggYnVpbGQgb24gRnJlZUJTRAoJICBGaXhlcyBidWcgIzU4NjM5Ny4KCjIwMDktMDYtMTkgMTg6MTI6MjcgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0cyBmb3IgYnVmZmVyLWxpc3QgcGF5bG9hZGVycwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOSAxODowMDozNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3QKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTc6NTc6MTIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgcnRwanBlZ3BheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0cwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOSAxNzo1MzozMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3RzCgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE4IDExOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHB1dGlsczogZG9uJ3QgZnJlZSBpbnZhbGlkIG1lbW9yeQoJICBBcyBzcG90dGVkIGJ5IGJlbmppRyBpbiBJUkMuCgkgIGRvbid0IGZyZWUgaW52YWxpZCBtZW1vcnkgd2hlbiBnZXRhZGRyaW5mbyBmYWlsZWQuCgoyMDA5LTA2LTE3IDE3OjQ4OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZWluazogZG9uJ3QgbGVhayBkZXZpY2VfZGVzY3JpcHRpb24KCSAgZG9uJ3QgbGVhayB0aGUgZGV2aWNlX2Rlc2NyaXB0aW9uLgoJICBzb21lIGNsZWFudXBzLgoKMjAwOS0wNi0xOSAxNDo0NDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgLnBvIGZpbGVzIGZvciBzdW5hdWRpb21peGVyIHN0cmluZyBjaGFuZ2VzCgoyMDA5LTA2LTE4IDE2OjU4OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWluZzsgYWRqdXN0IHNpemVzIHRvIGNhdGVyIGZvciBwYWRkaW5nIGluIGNodW5rcwoKMjAwOS0wNi0xNyAxMTo1NDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1pbmcgbW9kZTsgaGFuZGxlIGRhdGEgY2h1bmtzIGdyb3VwZWQgaW4gcmVjIGxpc3RzLgoJICBGaXhlcyAjNTY3OTgzLgoKMjAwOS0wNi0xMCAxMjozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hcCBzb21lIHRhZ3MgdG8gQ09NUE9TRVIgcmF0aGVyIHRoYW4gQVJUSVNUCgoyMDA5LTA2LTEwIDEyOjM0OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHNvbWUgM0dQIHRhZyBleHRyYWN0aW9uIChrZXl3b3JkcywgZ2VucmUsIGxvY2F0aW9uKQoKMjAwOS0wNi0wOSAxNTozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgcGl4ZWwtYXNwZWN0LXJhdGlvIGluZm9ybWF0aW9uCgoyMDA5LTA2LTE3IDA3OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbGVha2luZyBvZiB0aGUgTWF0cm9za2EgVElUTEUgZWxlbWVudAoKMjAwOS0wNi0xNiAyMDozODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIGVmZmVjdHY6IEFkZCBiYXNpYyBkb2N1bWVudGF0aW9uIGZvciB0aGUgZWZmZWN0diBlbGVtZW50cwoKMjAwOS0wNi0xNiAyMDoxNjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R2OiBEZWZpbmUgdGhlIGZhc3QgUFJORyBmdW5jdGlvbiBhdCBhIGNlbnRyYWwgcGxhY2UKCjIwMDktMDYtMTYgMjA6MTM6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgZWZmZWN0djogTW92ZSB0eXBlIGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVycwoJICBUaGlzIGlzIG5lZWRlZCBmb3IgdGhlIGRvY3MgbGF0ZXIuCgoyMDA5LTA2LTE2IDE5OjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogUmVtb3ZlIGdldF91bml0X3NpemUgaW1wbGVtZW50YXRpb25zCgkgIFRoZSBkZWZhdWx0IG9uIGZyb20gR3N0VmlkZW9GaWx0ZXIgaGFuZGxlcyB0aGlzIGFscmVhZHkuCgoyMDA5LTA2LTE2IDE0OjU0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gZ2l0CgkgIE5lZWQgZ2l0IGNvcmUgZm9yIGJhc2VzaW5rIGJ1ZmZlcmxpc3QgYWRkaXRpb25zOyAtYmFzZSByZXF1aXJlbWVudAoJICBidW1wZWQgZ3JhdHVpdG91c2x5LgoKMjAwOS0wNi0xNiAxNToyNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IGFkZCBzb21lIGRlYnVnLCBzZW5kIG5ld3NlZ21lbnQKCjIwMDktMDYtMTYgMTU6MDY6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBkZWJ1ZyBsaW5lIGZvciB0aGUgc29ja2V0CgoyMDA5LTA2LTE2IDE1OjA2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IHR1cm4gZ19wcmludCBpbnRvIGRlYnVnCgoyMDA5LTA2LTE2IDE1OjA0OjE1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgkgIEFkZCBzdXBwb3J0IGZvciBCdWZmZXJMaXN0IGFuZCBhZGQgYSB1bml0IHRlc3QuCgkgIEZpeGVzICM1ODU4NDIKCjIwMDktMDYtMTYgMDA6MDI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlc2V0IHNlc3Npb24gc3RhdGUgd2hlbiBzdG9wcGluZwoJICBJbmNyZWFzZXMgdGhlIGNoYW5jZXMgdGhhdCB0aGUgZWxlbWVudCBpcyBhY3R1YWxseSByZXVzYWJsZS4KCjIwMDktMDYtMTUgMjM6NDk6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGxvZyByZXNwb25zZSBhbmQgcmVxdWVzdCBoZWFkZXJzIGFuZCBmaXggc29tZSBicm9rZW4gaW5kZW50aW5nCgoyMDA5LTA2LTE1IDIyOjQwOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiBndWVzcyBjb25zdGFudER1cmF0aW9uIGJldHRlcgoJICBEbyBhIGJldHRlciBqb2IgYXQgZ3Vlc3NpbmcgdGhlIGNvbnN0YW50RHVyYXRpb24gcGFyYW1ldGVyIHdoZW4gaXQgaXMgbm90CgkgIHByZXNlbnQgaW4gdGhlIGNhcHMuCgkgIEZpeGVzICM1ODUyMDUKCjIwMDktMDYtMTUgMjE6MDk6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IENsZWFuIHVwIHdhcnB0diBlbGVtZW50IGFuZCBmaXggc29tZSBtaW5vciBidWdzIGFuZCBsZWFrcwoKMjAwOS0wNi0xNSAyMDo1MzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIHZlcnRpZ290djogQ2xlYW4gdXAgdmVydGlnb3R2IGVsZW1lbnQgYW5kIGZpeCBzb21lIG1pbm9yIGJ1Z3MgYW5kIGxlYWtzCgoyMDA5LTA2LTE1IDIwOjM4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZXR2OiBVc2UgZ3VpbnQ4IGluc3RlYWQgb2YgY2hhciAod2hpY2ggY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCkKCjIwMDktMDYtMTUgMjA6MzY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBzaGFnYWRlbGljdHY6IFVzZSBndWludDgvZ2ludDggaW5zdGVhZCBvZiBjaGFyICh3aGljaCBjYW4gYmUgc2lnbmVkIG9yIHVuc2lnbmVkKQoKMjAwOS0wNi0xNSAyMDozMTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIHNoYWdhZGVsaWN0djogQ2xlYW4gdXAgZWxlbWVudCBhbmQgZnJlZSBhbGwgbWVtb3J5IGluIGZpbmFsaXplCgoyMDA5LTA2LTE1IDIwOjIxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICByZXZ0djogQ2xlYW4gdXAgcmV2dHYgZWxlbWVudAoKMjAwOS0wNi0xNSAyMDowNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBTaW1wbGlmeSBzb21lIGNvZGUKCjIwMDktMDYtMTUgMjA6MDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogVXNlIHRoZSBpbnB1dCBkYXRhIGlmIGEgTlVMTCBidWZmZXIgaXMgY2hvc2VuIGluc3RlYWQgb2YgdGhlIHZhbHVlIDAKCjIwMDktMDYtMTUgMjA6MDA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogRml4IHNldHRpbmcgdGhlIHBsYW5lcyBwcm9wZXJ0eSBvZiBxdWFya3R2CgkgIFNldHRpbmcgaXQgdG8gYSB2YWx1ZTwxNiB3b3VsZCBjYXVzZSBjcmFzaGVzIGJlZm9yZSBiZWNhdXNlCgkgIGN1cnJlbnRfcGxhbmUgd2FzIHNldCB0byB0aGUgb2xkIG51bWJlciBvZiBwbGFuZXMtMS4gQWxzbwoJICBmaXggY2FsY3VsYXRpb25zIGZvciBub24tMl5uIHBsYW5lcyB2YWx1ZXMuCgoyMDA5LTA2LTE1IDE3OjUwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IENsZWFuIHVwIHRoZSBxdWFya3R2IGVsZW1lbnQKCjIwMDktMDYtMTUgMTc6Mzk6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICBlZmZlY3R2OiBNYWtlIGVsZW1lbnRzIGxpc3QgY29uc3RhbnQKCjIwMDktMDYtMTUgMTc6Mzc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IENsZWFuIHVwIGVkZ2V0diBlbGVtZW50IGFuZCBmaXggbWVtb3J5IGxlYWsKCjIwMDktMDYtMTUgMTc6MjE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICBkaWNldHY6IENsZWFuIHVwIGRpY2V0diBlbGVtZW50IGFuZCBmaXggc29tZSBzbWFsbGVyIGlzc3VlcwoJICBUaGlzIGZpeGVzIGEgbWVtb3J5IGxlYWsgKHRoZSBkaWNlIG1hcCkgYW5kIGEgY3Jhc2ggd2hlbgoJICBzZXR0aW5nIHRoZSBzcXVhcmUtYml0cyBwcm9wZXJ0eSBiZWZvcmUgY2FwcyBhcmUgc2V0LgoKMjAwOS0wNi0xNSAxNzoyMDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogQWN0dWFsbHkgdXNlIEdzdENvbnRyb2xsZXIgZm9yIHN5bmNpbmcgdGhlIHByb3BlcnRpZXMgdG8gdGltZXN0YW1wcwoKMjAwOS0wNi0xNSAxNzowMzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBFeHBvcnQgc29tZSBtb3JlIGFnaW5ndHYgcHJvcGVydGllcyB2aWEgR09iamVjdCBwcm9wZXJ0aWVzCgoyMDA5LTA2LTE1IDE1OjA2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEdlbmVyYWwgY2xlYW51cCBhbmQgdXBkYXRpbmcgb2YgY29weXJpZ2h0CgkgIEFsc28gbWFrZSB0aGUgc2NyYXRjaC1saW5lcyBwcm9wZXJ0eSBleHBvcnRlZCB2aWEgYSBHT2JqZWN0CgkgIHByb3BlcnR5IGFuZCBpbml0aWFsaXplL3Jlc2V0IHRoZSBpbnRlcm5hbCBzdGF0ZSBjb3JyZWN0bHkuCgoyMDA5LTA2LTE1IDE1OjA1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IFN0b3JlIGFuZCB1cGRhdGUgc3RhdGUgaW5zaWRlIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgVGhpcyBtYWtlcyB0aGUgY29sb3JhZ2luZyBlZmZlY3QgYW5kIHBpdHMgZWZmZWN0IHZpc2libGUuCgoyMDA5LTA2LTE1IDE1OjUxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZWYgY3VzdG9tIHJpbmcgYnVmZmVyIGNsYXNzIGFuZCB0eXBlIGluIGNsYXNzX2luaXQKCSAgSGFjayBhcm91bmQgdGhyZWFkLXNhZmV0eSBpc3N1ZXMgaW4gR09iamVjdCBhbmQgb3VyIHJhY3kgX2dldF90eXBlKCkKCSAgZnVuY3Rpb25zICh3ZSBjb3VsZCBlYXNpbHkgZml4IHRoZSBfZ2V0X3R5cGUoKSBmdW5jdGlvbnMsIGJ1dCB3ZSBzdGlsbAoJICBuZWVkIHRvIGhhY2sgYXJvdW5kIHRoZSBHT2JqZWN0IGNsYXNzIHJhY2VzIHVudGlsIHdlIHJlcXVpcmUgYSBuZXdlcgoJICBHTGliIHZlcnNpb24sIEkgdGhpbmspLgoKMjAwOS0wNi0xNCAxOToxOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZGVtby1wbGF5LmM6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgUmVtb3ZlIGEgZmV3IG9sZCBleGFtcGxlIGFwcHMgZnJvbSB0aGUgMC44IGRheXMKCSAgU29tZSBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgbmV3ZXIgb25lcywgb3RoZXJzIGFyZSBkZW1vaW5nIGVsZW1lbnRzIHRoYXQKCSAgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciAobm90IGluIC1nb29kIGFueXdheSksIGFuZCBvdGhlcnMgaGF2ZSBub3QgYmVlbgoJICB0b3VjaGVkIGluIG1hbnkgeWVhcnMgYW5kIGl0IHNlZW0gcG9pbnRsZXNzIHRvIGtlZXAgdGhlbSBhcm91bmQuCgkgIFJlbW92aW5nIHRoZXNlIGZpbGVzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgaGF2ZSBhbnkgY29kZSBpbiBvdXIgcmVwb3NpdG9yeQoJICB0aGF0IHVzZXMgR3RrKyBzeW1ib2xzIHdoaWNoIGFyZSB0byBiZSByZW1vdmVkIGZvciBHTk9NRTMsIGFuZCBhcyBzdWNoCgkgIHdpbGwgbWFrZSBzb21lIHNjcmlwdCB0aGF0IGdyZXBzIGZvciB0aGlzIGtpbmQgb2Ygc3R1ZmYgZ2l2ZSB1cyBhIGNsZWFuCgkgIGJpbGwgb2YgY29kZSBoZWFsdGguIEZpeGVzICM1ODU3NTcuCgoyMDA5LTA2LTEzIDIxOjAyOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJICBydHBzaXJlbnBheTogUmVtb3ZlIGRlcHJlY2F0ZWQgc3ltYm9sCgkgIFBhdGNoIGJ5OiBMdWlzIE1lbmluYQoKMjAwOS0wNi0xMyAxMDo0Mzo1NSArMDIwMCAgTWFydmluIFNjaG1pZHQgPG1hcnZpbl9zY2htaWR0QGdteC5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IERvbid0IHJ1biB0aGUgZmxhY2RlYyB0ZXN0IGlmIHRoZSBwbHVnaW4gaXNuJ3QgYnVpbHQuIEZpeGVzICM1ODU2MzAKCjIwMDktMDYtMTIgMTY6MDY6MjggKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgUlRQIGJsb2Nrc2l6ZSBmdW5jdGlvbmFsaXR5CgkgIEFkZCBwcm9wZXJ0eSB0byBtYWtlIHRoZSBjbGllbnQgc3VnZ2VzdCBhIGJsb2Nrc2l6ZSB0byB0aGUgc2VydmVyLgoJICBGaXhlcyAjNTg1NTQ5CgoyMDA5LTA2LTExIDIyOjMwOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIHJ0cDogdXBkYXRlIFJFQURNRSwgZml4IHNvbWUgdHlwb3MsIG1lbnRpb24gZ3N0cnRwYmluCgoyMDA5LTA2LTExIDE5OjEwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBib3JkZXIgY2FzZXMgaW4gcmVzYW1wbGVyCgoyMDA5LTA2LTExIDEzOjMyOjIyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGRvY3MvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy91cGxvYWQubWFrOgoJICBkb2NzOiBCdW1wIGNvbW1vbi4gVXNlIHVwbG9hZC1kb2MubWFrIGluc3RlYWQgb2YgdXBsb2FkLm1hawoJICBSZW1vdmUgdGhlIGxvY2FsIGNvcHkgb2YgdXBsb2FkLm1hayBpbiBmYXZvdXIgb2YgdXNpbmcgdGhlIHNoYXJlZAoJICB1cGxvYWQtZG9jLm1ha2UgaW4gY29tbW9uLwoKMjAwOS0wNi0xMSAxMTozOToyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBkb2NzOiBRdWlldGVuIGEgY291cGxlIG1vcmUgZG9jcyB3YXJuaW5ncwoKMjAwOS0wNi0xMSAxMToyNzoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBkb2NzOiBSZW1vdmUgZ3RrLWRvYyBjb21tZW50IG1hcmtlcgoJICBUaGVzZSBjb21tZW50IGJsb2NrcyBhcmVuJ3QgZ3RrLWRvYyBjb21tZW50cyBhbmQgY2F1c2UgYW5ub3lpbmcgbm9pc2UgaW4KCSAgdGhlIGRvY3MgYnVpbGQuCgoyMDA5LTA2LTExIDEwOjA1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCB1cHN0cmVhbSBuZWdvdGF0aW9uCgoyMDA5LTA2LTEwIDIxOjQ3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGNsZWFuIHVwIHNvbWUgY29kZQoKMjAwOS0wNi0xMCAxNDo1NToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENsaXAgYnVmZmVycyB0byB0aGUgY3VycmVudCBzZWdtZW50IGlmIHBvc3NpYmxlCgoyMDA5LTA2LTEwIDE0OjQ1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IENsZWFuIHVwIGluY2x1ZGVzIGFuZCBjbGVhbiB1cCBvcmRlciBvZiBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzCgoyMDA5LTA2LTEwIDE2OjA5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogRGVmYXVsdCB0byBkb2luZyBBLCBCIGFuZCBDIG1vZGVzLCBub3Qgb25seSBBCgoyMDA5LTA2LTEwIDA5OjU2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IFFvUyBjYWxjdWxhdGlvbnMKCSAgVGhlIGRpZmYgaXMgYSBzaWduZWQgaW50ZWdlciwgbm90IGFuIHVuc2lnbmVkIG9uZSBvZiBjb3Vyc2UuCgkgIEluIG1vZGVzIG90aGVyIHRoYW4gR1NUX0RFSU5URVJMQUNFX0FMTCBldmVyeSBmcmFtZSBoYXMgdHdpY2UgdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSBmaWVsZCBkdXJhdGlvbi4KCjIwMDktMDYtMDkgMTQ6MTM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSAgcnRwc2lyZW5wYXk6IFB1dCB0aGUgYml0cmF0ZSBpbiB0aGUgUlRQIGNhcHMKCSAgVGhlIE1TIGNvZGUgc2VlbXMgdG8gcmVxdWlyZSB0aGUgYml0cmF0ZSB0byBpbnRlcm9wZXJhdGUgYW5kCgkgIGRyYWZ0LWlldGYtYXZ0LXJ0cC1nNzIyMS0wMCBhbHNvIGhhcyBpdC4KCjIwMDktMDYtMDkgMTk6NTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE5OjI5OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRGlyZWN0bHkgcHJveHkgZXZlbnRzL3F1ZXJpZXMgdG8gdGhlIHBlZXIgcGFkcwoJICBUaGlzIHJlbW92ZXMgc29tZSBvdmVyaGVhZCBpbnRyb2R1Y2VkIGJ5IHRoZSBkZWZhdWx0IGhhbmRsZXJzCgkgIHRoYXQgbmVlZCB0byBpdGVyYXRlIG92ZXIgdGhlIG90aGVyIHBhZHMuCgoyMDA5LTA2LTA5IDEwOjM4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZGVidWdfbWVtZHVtcCgpIHVua25vd24gdGFncy4gUmVmYWN0b3IganVuayBwYXJzaW5nIGNvZGUuCgkgIFRoaXMgbWFrZXMgbGlmZSBzbGlnaHRseSBlYXNpZXIgd2hlbiBkZWJ1Z2dpbmcgYXZpIGZpbGVzLgoKMjAwOS0wNi0wOCAwODoyMTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogRG9uJ3QgZm9yZ2V0IHRvIGRpc3QgdGhlIGhlYWRlcnMgZm9yIHRoZSBDRUxUIChkZSlwYXlsb2FkZXJzLgoKMjAwOS0wNi0wNyAyMDo1NDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgInF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmMDIyYzhhODUwM2MyY2UwZmE2MTdmZGI1MGU0MTcwNmRkNDEyZjUuCgkgIFNvcnJ5LCBJIHdhcyB0aGlua2luZyBhYm91dCB0aGUgd3JvbmcgbW9kdWxlLgoKMjAwOS0wNi0wNyAyMDo0OTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc5MGIwNTBmYzUzMDJjYWU4OWNkZGNkMjNiMjU4MDkzOTY3ZDA1YTkuCgkgIEkgZm9yZ290IHdlIHdlcmUgZnJvemVuLgoKMjAwOS0wNi0wNyAyMDo0Njo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseQoJICBXaGVuIHRoZXJlIGFyZSBsZXNzIHRpbWVzdGFtcHMgdGhhdCB0aGVyZSBhcmUgc2FtcGxlcywgZmlsbCB1cCB0aGUgc2FtcGxlIHRhYmxlCgkgIHdpdGggdGhlIGxhc3Qga25vdyB0aW1lc3RhbXAuIFRoaXMgc2l0dWF0aW9uIGNhbiBoYXBwZW4gd2hlbiB0aGUgbGFzdCBzYW1wbGUKCSAgZG9lcyBub3QgZGVjb2RlIGFuZCBkb2Vzbid0IG5lZWQgYSB0aW1lc3RhbXAuIFdlIGhvd2V2ZXIgY2FsY3VsYXRlIHRoZSB0b3RhbAoJICB0cmFjayBsZW5ndGggdXNpbmcgdGhlIGxhc3Qgc2FtcGxlIHRpbWVzdGFtcCBzbyB3ZSBuZWVkIHRvIGhhdmUgc29tZXRoaW5nCgkgIHNlbnNpYmxlIGluIHRoZXJlLgoJICBGaXhlcyAjNTg1MDU2CgoyMDA5LTA2LTA3IDEzOjM3OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBoYW5kbGUgTElTVCBJTkZPIG9mIDAgc2l6ZQoJICBIYW5kbGUgTElTVCBJTkZPIGNodW5rcyBvZiAwIHNpemUgaW5zdGVhZCBvZiBjYXVzaW5nIGVycm9ycy4KCSAgRml4ZXMgIzU4NDk4MQoKMjAwOS0wNi0wNyAxMzoyNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXZlcnQgIndhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgbW92ZSB2YXJpYWJsZSB0byB3aGVyZSBpdCdzIG5lZWRlZC4iCgkgIFJldmVydHMgY29tbWl0IDQ0MjU2YTc4ZjhkZDc5YTkxZjNiYjJhYjdjM2FhNjIzYzA5N2JiOGEgYW5kIHVzZSB0aGUgcmVzdWx0IGluCgkgIGVycm9yIHJlcG9ydGluZyBzbyB0aGF0IHdlIGNhbiBzZWUgd2hhdCdzIGdvaW5nIG9uLgoKMjAwOS0wNi0wNSAxODo1NTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkgIGNlbHRkZXBheTogYWRkIENFTFQgZGVwYXlsb2FkZXIKCjIwMDktMDYtMDUgMTU6MzA6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkgIHJ0cGNlbHRwYXk6IGFkZCBDRUxUIFJUUCBwYXlsb2FkZXIKCjIwMDktMDYtMDUgMTY6NTQ6NDggKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIHN1bmF1ZGlvOiBGaXggc3dpdGNoIHNldHRpbmcgb24gc29tZSBkZXZpY2VzLiBBZGQgZGVidWcuIEZpeCBhIEZJWE1FLgoJICBGaXggdGhlIHNldHRpbmcgb2YgdG9nZ2xlIHN3aXRjaGVzIG9uIHNvbWUgYnJva2VuIGF1ZGlvIGRyaXZlcnMgd2hpY2gKCSAgcmVwb3J0IHRoYXQgbm8gYXVkaW8gcG9ydHMgYXJlIHNldHRhYmxlIGJ5IGlnbm9yaW5nIHRoZSBtb2RfcG9ydCBmaWVsZAoJICB0aGVyZS4KCSAgQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4IGEgRklYTUUgbm93IHRoYXQgR29vZCByZWxpZXMgb24gYSBuZXcgZW5vdWdoIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDA5LTA2LTA0IDEyOjI3OjE5ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICBzdW5hdWRpbzogU3VwcG9ydCBuZXcgZmxhZ3MgZm9yIG9wdGlvbnMgYW5kIGFjdGlvbnMKCSAgVXNlIG5ldyBhdWRpbyBtaXhlciBmbGFncyBhZGRlZCBpbiBCYXNlIDAuMTAuMjMgdG8gZXhwb3NlIGZsYWdzIGFuZCBvcHRpb25zCgkgIG9uIHRoZSBTdW5BdWRpbyBkZXZpY2VzLgoJICBGaXhlczogIzU4MzU5MwoJICBQYXRjaCBCeTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoJICBQYXRjaCBCeTogR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKMjAwOS0wNS0xNSAxMTo1MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBGaXJzdCB0cnkgdG8gaGFuZGxlIERWRCBzdGlsbCBmcmFtZXMgY29ycmVjdGx5CgkgIFRoaXMgaGVscHMgYSBiaXQgd2l0aCBidWcgIzU4Mjc0MCBidXQgc3RpbGwgZG9lc24ndCBtYWtlIGl0IHdvcmsuCgoyMDA5LTA2LTA0IDE3OjM3OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSBub3RpZnkgaWYgYWxsIGNoZWNrcyBwYXNzZWQKCSAgUmVwbGFjZSBnb3RvIGRvbmU6IHdpdGggcmV0dXJuLCBhcyB0aG9zZSBhcmUgY2hlY2tzIHdoZW4gd2UgZG9uJ3Qgd2FudCB0byBmbGFnIGEKCSAgcGVuZGluZyBub3RpZnkuCgoyMDA5LTA2LTA0IDE1OjE5OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgdGhlIHJpZ2h0IHN0YXRlIG9uIHJ0cGJpbgoJICBXZSBuZWVkIHRvIHNldCB0aGUgc3RhdGUgb2YgZ3N0cnRwYmluIHRvIHRoZSBzYW1lIHN0YXRlIGFzIG91ciBzb3VyY2UgZWxlbWVudHMuCgkgIFRoaXMgZml4ZXMgZmFsbGJhY2sgdG8gVENQIGFnYWluLgoKMjAwOS0wNi0wMyAxODoyMzo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIGFjY2Vzc2luZwoJICBNb3ZlIGV4aXN0aW5nIGNoZWNrIGEgZmV3IGxpbmVzIHVwLCBzbyB0aGF0IHdlIGNoZWNrIGJlZm9yZSBhY2Nlc3NpbmcgZmllbGRzLgoKMjAwOS0wNi0wMyAxODoyMToxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbmFtZSBnc3RfcHVsc2Vfc2lua19nZXRfdGltZSB0byBnc3RfcHVsc2VzaW5rX2dldF90aW1lCgkgIFJlbmFtZSBpbnRlcm5hbCBtZXRob2QgZm9yIGNvbnNpc3RlbmN5LgoKMjAwOS0wNi0wMyAxODoxOToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSB2YWx1ZXMgZnJvbSBwYV9zdHJlYW1fZ2V0X2J1ZmZlcl9hdHRyKCkKCSAgV2Ugd2VyZSBwdXR0aW5nIHRoZSByZXF1ZXN0ZWQgdmFsdWVzIGJhY2sgaW50byByaW5nYnVmZmVyIHNwZWMsIGluc3RlYWQgb2YKCSAgdXNpbmcgdGhlIHF1ZXJpZWQgdmFsdWVzLgoKMjAwOS0wNi0wMiAxOTozMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiB0cmltIG91dHB1dCBidWZmZXJzCgkgIFJlbW92ZSB0aGUgbGVmdG92ZXIgdW51c2VkIGJ5dGVzIGluIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBGaXhlcyAjNTg0NjEzCgoyMDA5LTA2LTAyIDE5OjMwOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggcGFyc2luZyBvZiBzYW1wbGluZyBmaWVsZAoJICBjb21taXQgYTEyZDlhODBmMjI1YmU5N2IzNjc0YjFhMDUwNmFjNjY1NDRkYmY0OSBicm9rZSB0aGUgcGFyc2luZyBvZiB0aGUKCSAgc2FtcGxpbmcuCgoyMDA5LTA1LTI3IDE3OjA2OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEF2b2lkIHBvc3NpYmxlIG92ZXJmbG93IGluIGNhbGN1bGF0aW9ucwoJICBBIG1hbGZvcm1lZCAob3Igc2ltcGx5IGh1Z2UpIFBORyBmaWxlIGNhbiBsZWFkIHRvIGludGVnZXIgb3ZlcmZsb3cgaW4KCSAgY2FsY3VsYXRpbmcgdGhlIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXIsIGxlYWRpbmcgdG8gY3Jhc2hlcyBvciBidWZmZXIKCSAgb3ZlcmZsb3dzIGxhdGVyLiBGaXhlcyBTQTM1MjA1IHNlY3VyaXR5IGFkdmlzb3J5LgoKMjAwOS0wNi0wMiAwMDo0ODowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHNvbWUgbW9yZSBsb2dnaW5nIC0gZHVtcCBoZWFkZXIgcGFja2V0cwoJICBBbHNvLCB0aGUgZmluYWwgZml4aW5nIHVwIG9mIHRoZSBoZWFkZXJzIGlzIGV4cGVjdGVkIGFuZCBub3Qgc29tZXRoaW5nCgkgIHdlIHNob3VsZCB3YXJuIGFib3V0LgoKMjAwOS0wNi0wMiAwMDozNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG5ldmVyIGV2ZXIgcGFzcyB2YWx1ZXMgPjM2Yml0cyB0byBfc2V0X3RvdGFsX3NhbXBsZXNfZXN0aW1hdGUoKQoJICBMZXQncyBiZSBwYXJhbm9pZCBhbmQgbWFrZSBzdXJlIHdlIG5ldmVyIHBhc3MgYSBudW1iZXIgdGhhdCB0YWtlcyB1cAoJICBtb3JlIHRoYW4gMzYgYml0cyB0byBfc2V0X3RvdGFsX3NhbXBsZXNfZXN0aW1hdGUoKSwgc2luY2UgbGliRkxBQwoJICBleHBlY3RzIGFsbCB0aGUgb3RoZXIgYml0cyB0byBiZSB6ZXJvLCBhbmQgaWYgdGhpcyBpcyBub3QgdGhlIGNhc2UKCSAgbmVpZ2hib3VyaW5nIGZpZWxkcyBpbiB0aGUgZ2xvYmFsIHN0cmVhbSBpbmZvIGhlYWRlciBtYXkgZ2V0IG1lc3NlZAoJICB1cCBpbmFkdmVydGVudGx5LCBzbyB0aGF0IGZsYWMgLWQgcmVmdXNlcyB0byBkZWNvZGUgdGhlIHN0cmVhbS4KCSAgU2VlICM1ODQ0NTUuCgoyMDA5LTA2LTAxIDIyOjMzOjAyICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBBZGRyZXNzIGJhZCBGTEFDIHNhbXBsZSBsZW5ndGggZW5jb2Rpbmcgb2YgIzU4NDQ0NTUKCSAgQ29tbWl0IGRmNzA3YzY2NjQzM2E3OGQzODc4YWY2ZjA1NTY5OGQ1NzU2MjI2YzQKCSAgaW50cm9kdWNlZCBhbiBvYnZpb3VzIGJ1ZyBpbiB0aGUgc2FtcGxlIGxlbmd0aCBjYWxjdWxhdGlvbiwKCSAgdXNpbmcgdGhlIHdyb25nIG1hY3JvIGZvciBjb252ZXJzaW9uLgoKMjAwOS0wNi0wMSAxMTo1ODoyMSAtMDcwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSAgZGVpbnRlcmxhY2U6IEZpeCBzcHVyaW91cyBjb2xvbnMgaW4gYXNtIGNvZGUKCSAgRml4ZXMgIzU4NDE3NC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTA2LTAxIDAwOjQwOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNraXAgSlVOSyBjaHVua3MgaW4gZGF0YSBzZWN0aW9uIGluIHN0cmVhbWluZyBtb2RlCgkgIFNraXAgSlVOSyB0YWdzIGluIHN0cmVhbWluZyBtb2RlIGFzIHdlbGwgaW5zdGVhZCBvZiBFT1NpbmcKCSAgcHJlbWF0dXJlbHkuIEZpeGVzICM1NjQxMDAuCgoyMDA5LTA1LTI4IDE0OjAxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHVzZSAvLyBjb21tZW50cwoKMjAwOS0wNS0yOCAxMzo1NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBiYWNrZ3JvdW5kIGJsaXR0aW5nIHdoZW4gYSBjb2xvciBtb2RlIGlzIHNlbGVjdGVkIHdpdGggQkdSQQoKMjAwOS0wNS0yOCAxMzo1NDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogU29tZSBjbGVhbnVwIGFuZCBmaXggdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBzaXplIGluIGJ5dGVzCgoyMDA5LTA1LTI4IDEzOjM1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogRml4IEk0MjAgYmxlbmRpbmcgdG8gYWN0dWFsbHkgZG8gc29tZXRoaW5nCgkgIEZvciB0aGlzIHdlIGEpIGltcGxlbWVudCB0aGUgY2hlY2tlcnMgZmlsbGluZyBhbmQgYikKCSAgYWN0dWFsbHkgYmxlbmQgdGhlIHNyYy9kZXN0IGJ5IHVzaW5nIHRoZSBzcmMgYWxwaGEgdmFsdWUKCSAgZnJvbSB0aGUgcGFkLgoKMjAwOS0wNS0yOCAxMzoxNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBBUkdCIGJsZW5kaW5nIHRvIGFjdHVhbGx5IHdvcmsKCjIwMDktMDUtMjggMTM6MDQ6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSAgdmlkZW9taXhlcjogQmxlbmQgQkdSQSBvdXJzZWx2ZXMgaW5zdGVhZCBvZiB1c2luZyBDYWlybwoKMjAwOS0wNS0yOCAxMjo1NToxNiArMDIwMCAgQWxleCBVZ2FydGUgPGFsZXh1Z2FydGVAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgYmxlbmRpbmcgQkdSQSBhbmQgQVlVVgoJICBGaXhlcyBidWcgIzU3NzAxNy4KCjIwMDktMDUtMjggMTI6Mzk6NDYgKzAyMDAgIEdoaXNsYWluICdBdXMnIExhY3JvaXggPGF1c0Bzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBVc2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbnRlcm5hbGx5IGZvciB0aGUgaW50MTYgbW9kZQoJICBCeSB1c2luZyBpbnQzMiBhcml0aG1ldGljIHdlIHdpbGwgaW50cm9kdWNlIGRpc3RvcnRpb25zIGFzIHRoZQoJICBJSVIgZmlsdGVyIGlzIHZlcnkgc2Vuc2l0aXZlIHRvIHJvdW5kaW5nIGVycm9ycy4gRml4ZXMgYnVnICM1ODAyMTQuCgoyMDA5LTA1LTI4IDEwOjU1OjE2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgcGx1Z2lucwoKMjAwOS0wNS0yNiAxNzoxOTowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4ODhlMGEyIHRvIGM1NzI3MjEKCjIwMDktMDUtMjYgMTY6MjA6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBjbGVhbnVwIGFuZCBjb21tZW50aW5nCgkgIFJlbW92ZSBuZXdsaW5lcyBpbnNlcnRlZCBieSBnc3QtaW5kZW50IG9uY2UuIFJlbW92ZSB1bnVzZWQgdmFyIGZyb20gaW5zdGFuY2UKCSAgc3RydWN0LiBBZGQgY29tbWVudHMuIEFkZCBhbm90aGVyICNkZWZpbmUgZm9yIGRlZmF1bHQgcHJvcGVydHkgdmFsdWUuCgoyMDA5LTA1LTA2IDEyOjQzOjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWFrZWZpbGU6IGlkZWEgYWJvdXQgbWFrZWluZyBtb3JlIHNvdXJjZXMvc2lua3MgdGVzdGFibGUgYWdhaW4KCjIwMDktMDUtMjUgMTY6MzM6MzUgKzAyMDAgIEpvaG4gS2VlcGluZyA8am9obi5rZWVwaW5nIGF0IGxpbmVvbmUubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBtYXRjaCBnX21hbGxvYygpIHdpdGggZ19mcmVlKCkKCSAgTWF0Y2hpbmcgZ19tYWxsb2MoKSB3aXRoIGEgZ19mcmVlKCkgaXMgaW1wb3J0YW50IHdoZW4gYSBjdXN0b20gYWxsb2NhdG9yIGlzCgkgIGluc3RhbGxlZC4KCSAgRml4ZXMgIzU4MzgwMwoKMjAwOS0wNS0xMiAxODozOToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogZG9uJ3QgbG9vayBmb3IgaGVhZGVycyBpbiBzb21lIGNhc2VzCgkgIEluIHNvbWUgc3RyZWFtcyAoc3RhcnRpbmcgd2l0aCAwMDAwMDEwMCkgZG9uJ3QgbG9vayBmb3IgdGhlIGhlYWRlcnMgYnV0IHB1c2gKCSAgZGF0YSBhcyBpdCBpcy4KCSAgRml4ZXMgIzU4MjE1MwoKMjAwOS0wNS0xMyAxMTo1MDoyMiArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgb2YgbWVzc2FnZXMKCSAgRnJlZSBtZXNzYWdlcyBjb3JyZWN0bHkuCgkgIEZpeGVzICM1NzczMTgKCjIwMDktMDUtMjQgMTk6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgZmFrZXNyYyBzaWxlbnQKCSAgTWFrZSB0aGUgZmFrZXNyYyB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIGR1bW15IHBhY2tldHMgc2lsZW50LgoKMjAwOS0wNS0yNCAxNjozMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3Qgc2VuZCB0ZWFyZG93biBiZWZvcmUgc2V0dXAKCSAgRG9uJ3Qgc2VuZCBhIFRFQVJET1dOIHJlcXVlc3Qgd2hlbiB3ZSBkaWQgbm90IG1hbmFnZSB0byBzdWNjZXNzZnVsbHkgc2V0dXAgYQoJICBzdHJlYW0uCgoyMDA5LTA1LTE0IDE0OjQ2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBQb3B1bGF0ZSBhIEdzdEluZGV4IHRoYXQgaXMgc2V0IG9uIG1hdHJvc2thZGVtdXgKCjIwMDktMDUtMTQgMTA6MzU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBHZXQgdGhlIG1heCBkdXJhdGlvbiBmcm9tIHVwc3RyZWFtIGlmIHRoZXJlJ3Mgbm8gZHVyYXRpb24gdGFnCgoyMDA5LTA1LTE0IDEwOjI5OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogV3JpdGUgYW4gaW5kZXggdGFibGUgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZQoKMjAwOS0wNS0yMiAwMToxMjozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGF1dG90b29sczogbW92ZSB0aGUgLVduby1wb3J0YWJpbGl0eSBmcm9tIGF1dG9nZW4uc2ggdG8gY29uZmlndXJlLmFjCgkgIElmIHdlJ3JlIGx1Y2t5IGl0J2xsIGdldCB1c2VkIG9uIGF1dG9tYXRpYyByZWJ1aWxkcyBhcyB3ZWxsIHRoYXQgd2F5LgoKMjAwOS0wNS0yMiAwMToxMDoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogbTQvZ3N0LWZpb25yZWFkLm00OgoJICBtNDogZml4ICdzdXNwaWNpb3VzIGNhY2hlIGlkJyB3YXJuaW5ncwoJICBhbmQgdXBkYXRlIGNvbW1vbiB0byBwdWxsIGluIGEgc2ltaWxhciBmaXguIEFsc28gY2hlY2sgaW4gY29uZmlndXJlCgkgIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHdoaWxlIG1hY3JvcyAoR0xpYiB3YW50cyB0aGlzCgkgIGRlZmluZWQgYW5kIGl0IGlzIG5lZWRlZCB0byBhdm9pZCB3YXJuaW5ncyB3aXRoIHNvbWUgYysrIGNvbXBpbGVycwoJICBhcHBhcmVudGx5KS4KCjIwMDktMDUtMjIgMDE6Mzk6MzMgKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291cGh0dHBzcmM6IEJ1bXAtdXAgbGlic291cC0yLjI0IGRlcCB0byA+PSAyLjI2CgkgIFRoZSBoZWxwZXIgZnVuY3Rpb24gc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0X2NvbnRlbnRfdHlwZSB0aGF0IHdlIG5vdyB1c2UKCSAgd2FzIGFkZGVkIGluIDIuMjYuCgoyMDA5LTA1LTIwIDE3OjU3OjU5ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogU2V0IGNhcHMgZm9yIGF1ZGlvL0wxNiBjb250ZW50LXR5cGUKCSAgV2hlbiAiQ29udGVudC1UeXBlIiBoZWFkZXIgaXMgImF1ZGlvL0wxNiIsIHdlIG5lZWQgdG8gc2V0IHRoZSBjYXBzIG9uIHRoZQoJICBvdXRnb2luZyBidWZmZXJzIHNvIHRoYXQgZG93bnN0cmVhbSBlbGVtZW50cyBjYW4gaGF2ZSBtZWFucyB0byBkZXRlY3QgdGhlCgkgIHN0cmVhbSB0eXBlIGFuZCBoYW5kbGUgaXQgYXBwcm9wcmlhdGVseS4gVGVzdGVkIHdpdGggSFRUUCBzdHJlYW0gcHJvdmlkZWQKCSAgYnkgcHVsc2UtYXVkaW8ncyBodHRwIG1vZHVsZSAoZ2l0IG1hc3RlcikuCgoyMDA5LTA1LTIwIDE1OjA2OjI1ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogUmVuYW1lIGljeV9jYXBzIHRvIHNyY19jYXBzCgoyMDA5LTA1LTIxIDIzOjM5OjEzICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsaXBwZSBhdCBmbHVlbmRvLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYnVtcCBtYXggc2l6ZSB0byA2NTUzNXg2NTUzNQoJICBSZW1vdmUgYXJ0aWZpY2lhbCBqcGVnIGltYWdlIGxpbWl0cy4KCSAgRml4ZXMgIzU4MzA0OC4KCjIwMDktMDUtMjEgMjE6MzY6MDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSB0aGUgd2luMzIgY29uZmlnLmgKCjIwMDktMDUtMTkgMTU6MTI6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFJlY29nbmlzZSBQR1Mgc3VicGljdHVyZSBzdHJlYW1zIC0gdGhlIGJsdXJheSBmb3JtYXQuCgkgIFJlY29nbmlzZSBhbmQgYXBwbHkgYXBwcm9wcmlhdGUgY2FwcyB0byBQR1MgKFByZXNlbnRhdGlvbiBHcmFwaGljIFN0cmVhbSkKCSAgc3VicGljdHVyZSBzdHJlYW1zLgoKMjAwOS0wNS0xNSAxMDo0MjoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENvbnZlcnQgYW4gZXJyb25lb3VzIGFzc2VydGlvbgoJICBPY2Nhc2lvbmFsbHksIHdlIGdldCBhIGNoYW5nZSBjYWxsYmFjayBmb3IgYW4gb2xkIHN0cmVhbSwgdHJpZ2dlcmluZwoJICB0aGUgYXNzZXJ0aW9uIHVubmVjZXNzYXJpbHkuIEp1c3QgaWdub3JlIHN1Y2ggY2FsbGJhY2tzLgoKMjAwOS0wNS0yMCAxNjoxNDo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogUHJpbnQgYSB3YXJuaW5nIG9uIHVuZGVyL292ZXJmbG93cwoKMjAwOS0wNS0yMCAxODo0NTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcGFyc2UgaW4yNCBib3hlcyB0byBnZXQgZW5kaWFubmVzcwoJICBpbjI0IHNhbXBsZXMgYXJlIG5vcm1hbGx5IGJpZy1lbmRpYW4gYnV0IGFuIGVuZGEgYm94IGNhbiBjaGFuZ2UgdGhpcyB0bwoJICBsaXR0bGUtZW5kaWFuLiBSZWN1cnNlIGludG8gdGhlIGluMjQgYm94IGFuZCBmaW5kIHRoZSBlbmRhIGJveCBzbyB0aGF0IHdlIGdldAoJICB0aGUgZW5kaWFubmVzcyByaWdodC4KCSAgRml4ZXMgIzU4MjUxNQoKMjAwOS0wNS0yMCAxNDoxNDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFkZCBwcm9wZXIgcGFkdGVtcGxhdGUKCjIwMDktMDUtMjAgMTQ6MDI6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgbW9yZSBtaW1lIHR5cGVzCgkgIEFkZCBtaW1lLXR5cGUgZm9yIFBhbmFzb25pYyBnNzI2IGFuZCBhZGQgbW9yZSByZXF1aXJlZCBjYXBzIHByb3BlcnRpZXMgZm9yIG90aGVyCgkgIEc3MjYgbWltZS10eXBlcy4KCSAgTWFrZSBtaW1lLXR5cGVzIGNhc2UgaW5zZW5zaXRpdmUuCgkgIFNlZSAjNTgyMTY5CgoyMDA5LTA1LTIwIDEzOjQ3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgZmxvdyBhZ2dyZWdhdGlvbgoKMjAwOS0wNS0yMCAxMzoyOTowMiArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWxsb3cgY29udGVudCB0byBiZSBlbXB0eS4KCSAgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgZG9lc24ndCBhbGxvdyBidWZmZXIgdG8gYmUgZW1wdHkuCgkgIFNpbXBseSBza2lwIGFueSBwYXJ0IHdoZXJlIHRoZSBjb250ZW50IGlzIGVtcHR5LiAgRG9uJ3QKCSAgY3JlYXRlIGEgcGFkIGZvciBpdCBlaXRoZXIuCgkgIFNlZSAjNTgyMTY5CgoyMDA5LTA1LTE4IDIyOjE5OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBydHA6IGZpeCBjaGFubmVsIHBvc2l0aW9ucyBmb3IgbW9ubwoKMjAwOS0wNS0yMSAyMTowMjoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xNS4xCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwOS0wNS0yMCAyMjozNDoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTUKCjIwMDktMDUtMjAgMjI6MDM6MjEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNS0xNiAwMjo1OToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjMgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTYgMDI6Mzc6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGNoZWNrOiBEb24ndCBjaGFuZ2UgZGlyZWN0b3J5IGluIHRoZSB0ZXN0CgkgIENoYW5naW5nIGRpcmVjdG9yeSBpbnZhbGlkYXRlcyB0aGUgcGF0aHMgdGhlIHJlZ2lzdHJ5IGhhcyBwaWNrZWQKCSAgdXAgZm9yIG91ciBwbHVnaW5zLCBiZWNhdXNlIHRoZSB0ZXN0IGVudmlyb25tZW50IHNwZWNpZmllcyByZWxhdGl2ZQoJICBwYXRocy4gRml4aW5nIHRoYXQgaXMgYSBzZXBhcmF0ZSBwcm9ibGVtLCBpbiB0aGUgbWVhbnRpbWUsIGJ1aWxkIGEKCSAgcGF0aCB0byB0aGUgdGVzdCBmaWxlcyBpbnN0ZWFkIG9mIGNoYW5naW5nIGRpcmVjdG9yeS4gRml4ZXMgdGhlCgkgIGRpc3RjaGVjay4KCjIwMDktMDUtMTYgMDE6NTM6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogUmVtb3ZlIGRpcmVjdGRyYXcgcHJvamVjdCBmaWxlcyBmcm9tIHRoZSB3aW4zMiBtYW5pZmVzdAoKMjAwOS0wNS0xNiAwMToyMTozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICBjaGVjazogUmVtb3ZlIGFzc2VydGlvbiB0aGF0IGJyZWFrcyBjaGVjayBhZ2FpbiBnaXQgbWFzdGVyCgkgIFJlbW92ZSB0aGUgYXNzZXJ0aW9uIHRoYXQgdGhlIHNlbmRlciBvZiB0aGUgdGFncyBtZXNzYWdlIGlzIHRoZQoJICBlbGVtZW50IHVudGlsIHdlIGRlY2lkZSB3aGV0aGVyIHRoYXQncyBnb2luZyB0byBiZSB0cnVlIG9yIG5vdC4KCjIwMDktMDUtMTYgMDE6MTE6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBNb3ZlZCAnZGlyZWN0ZHJhdycgZnJvbSAtZ29vZCB0byAtYmFkCgoyMDA5LTA1LTE2IDAwOjE4OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgaWdub3JlczogSWdub3JlIHRoZSBmbGFjZGVjIGNoZWNrIGJpbmFyeQoKMjAwOS0wNS0xNiAwMDoxNzo1NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0aW9uIGRldGFpbHMgZm9yIHRoZSBhdmkgcGx1Z2luCgoyMDA5LTA1LTE2IDAwOjAwOjA3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBNb3ZlZCAneTRtZW5jJyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTMgMTc6NTU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHk0bWVuYzogY2hhbmdlIG15IGVtYWlsCgkgIGNoYW5nZSBteSBlbWFpbCB0byBzb21ldGhpbmcgbW9yZSBjdXJyZW50CgkgIFNlZSAjNTgwNzgzCgoyMDA5LTA1LTEzIDE3OjU0OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB5NG1lbmM6IGRvbid0IHN0cmlwIHRpbWVzdGFtcHMKCSAgRml4ZXMgIzU4MjQ4MwoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0wNi0yNiAxNTo1Mjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBbTU9WRUQgRlJPTSBCQURdIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoKMjAwNy0wNC0yNCAxNTo0OToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCjIwMDYtMTEtMTMgMTg6NTU6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBbTU9WRUQgRlJPTSBCQURdIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9iYXNlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2xhc3NfaW5pdCksIChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3Jlc2V0KSwgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X2ZyYW1lX2hlYWRlciksIChnc3RfeTRtX2VuY29kZV9jaGFpbiksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUG9ydCBvZiB5NG1lbmNvZGUgdG8gMC4xMC4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDQ6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gZ3N0LzogRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpAYm9vdGxhYi5vcmcgPGpAYm9vdGxhYi5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQURdIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDctMDUgMTA6NTE6NDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gV2F5LCB3YXksIHdheSB0b28gbWFueSBmaWxlczogUmVtb3ZlIGNyYWNrIGNvbW1lbnQgZnJvbSB0aGUgMjAwMCBlcmEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA3LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIFdheSwgd2F5LCB3YXkgdG9vIG1hbnkgZmlsZXM6CgkgIFJlbW92ZSBjcmFjayBjb21tZW50IGZyb20gdGhlIDIwMDAgZXJhLgoKMjAwNS0wMS0xNCAxODozNjo0MiArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIEknbSBhIGJhZCBib3kuIHVzaW5nIC8xMDAxLiB0byBmb3JjZSBDIHRvIGRvIGZsb2F0IGRpdmlzaW9uIGFuZCBub3QgaW50ZWdlciBkaXZpc2lvbiAoYXMgaXQgZGlkIGluIG15IGxhc3QgY29tbWl0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKHBhcnNlX21kdmRzdWIpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX3Npbmtjb25uZWN0KToKCSAgSSdtIGEgYmFkIGJveS4gdXNpbmcgLzEwMDEuIHRvIGZvcmNlIEMgdG8gZG8gZmxvYXQgZGl2aXNpb24KCSAgYW5kIG5vdCBpbnRlZ2VyIGRpdmlzaW9uIChhcyBpdCBkaWQgaW4gbXkgbGFzdCBjb21taXQpCgkgIFRoYW5rcyB0byBEYXZpZCBJLiBMZWhuIGZvciBwb2ludGluZyB0aGlzIG1pc3Rha2UuCgoyMDA1LTAxLTE0IDEyOjI3OjIyICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVwbGFjZSBmcmFtZXJhdGUgYXByb3hpbWF0aW9ucyBieSB0aGVpciByZWFsIHZhbHVlICgyNDAwMC8xMDAxLCAzMDAwMC8xMDAxLCA2MDAwMC8xMDAxKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChwYXJzZV9tZHZkc3ViKToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9zaW5rY29ubmVjdCk6CgkgIHJlcGxhY2UgZnJhbWVyYXRlIGFwcm94aW1hdGlvbnMgYnkgdGhlaXIgcmVhbCB2YWx1ZQoJICAoMjQwMDAvMTAwMSwgMzAwMDAvMTAwMSwgNjAwMDAvMTAwMSkKCSAgRmluaXNoIGZpeGluZyBidWcgIzE2NDA0OQoKMjAwNC0wNy0yNyAyMTo0MTozMCArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBtb3JlIHdvcmtpbmcgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSB3b3JraW5nIHBsdWdpbnMKCjIwMDQtMDctMjcgMDk6NTc6MzMgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVuYW1lIEdTdHJlYW1lci0wLjgubGliIHRvIGxpYmdzdHJlYW1lci5saWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSBHU3RyZWFtZXItMC44LmxpYiB0byBsaWJnc3RyZWFtZXIubGliCgoyMDA0LTA3LTI3IDA5OjQ4OjUxICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIGF2b2lkIHByb2JsZW1zIHdpdGggbWF0aC5oLCBmaXggcmVsZWFzZSBkZXBlbmRhbmN5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhdm9pZCBwcm9ibGVtcyB3aXRoIG1hdGguaCwgZml4IHJlbGVhc2UgZGVwZW5kYW5jeQoKMjAwNC0wNy0yNiAxMzoyMDoxMSArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBtb3JlIHBsdWdpbnMgc3VwcG9ydGVkIHVuZGVyIHdpbmRvd3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgcGx1Z2lucyBzdXBwb3J0ZWQgdW5kZXIgd2luZG93cwoKMjAwNC0wNC0wMSAxMTo0ODoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGE1MmRlYzogICBVc2UgYSBkZWJ1ZyBjYXRlZ29yeSwgT3V0cHV0IHRpbWVzdGFtcHMgY29ycmVjdGx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhNTJkZWM6ICAgVXNlIGEgZGVidWcgY2F0ZWdvcnksIE91dHB1dCB0aW1lc3RhbXBzIGNvcnJlY3RseQoJICBFbWl0IHRhZyBpbmZvLCBIYW5kbGUgZXZlbnRzLCB0ZWxsIGxpYmE1MmRlYyBhYm91dCBjcHUKCSAgY2FwYWJpbGl0aWVzIHNvIGl0IGNhbiB1c2UgTU1YIGV0Yy4KCSAgZHZkZWM6ICAgIEZpeCBhIGNyYXNoZXIgYWNjZXNzaW5nIGludmFsaWQgbWVtb3J5CgkgIGR2ZG5hdnNyYzpTb21lIHN1cHBvcnQgZm9yIGJ5dGUtZm9ybWF0IHNlZWtpbmcuCgkgIFNtYWxsIGZpeGVzIGZvciBzdGlsbCBmcmFtZXMgYW5kIG1lbnUgYnV0dG9uIG92ZXJsYXlzCgkgIG1wZWcyZGVjOiBVc2UgYSBkZWJ1ZyBjYXRlZ29yeS4gQWRqdXN0IHRoZSByZXBvcnQgbGV2ZWwgb2Ygc2V2ZXJhbCBpdGVtcyB0bwoJICBMT0cuIENhbGwgbXBlZzJfY3VzdG9tX2ZidWYgdG8gbWFyayBvdXIgYnVmZmVycyBhcyAnY3VzdG9tIGJ1ZmZlcnMnCgkgIHNvIGl0IGRvZXNuJ3QgbG9zZSB0aGUgR3N0QnVmZmVyIHBvaW50ZXIKCSAgbmF2c2VlazogIEFkZCB0aGUgbmF2c2VlayBkZWJ1ZyBlbGVtZW50IGZvciBzZWVraW5nIGJhY2sgYW5kIGZvcnRoIGluIGEKCSAgdmlkZW8gc3RyZWFtIHVzaW5nIGFycm93IGtleXMuCgkgIG1wZWcyc3VidDpQcmV0dHkgbXVjaCBhIGNvbXBsZXRlIHJld3JpdGUuIE5vdyBhIGxvb3BiYXNlZCBlbGVtZW50LiBNYXkgc3RpbGwKCSAgcmVxdWlyZSB3b3JrIHRvIHByb3Blcmx5IHN5bmNocm9uaXNlIHN1YnRpdGxlIGJ1ZmZlcnMuCgkgIG1wZWdkZW11eDoKCSAgZHZkZGVtdXg6IERvbid0IGF0dGVtcHQgdG8gY3JlYXRlIHN1YmJ1ZmZlcnMgb2Ygc2l6ZSAwCgkgIFJlZHVjZSBhIGNvdXBsZSBvZiBlcnJvciBvdXRwdXRzIHRvIHdhcm5pbmdzLgoJICB5NG1lbmNvZGU6T3V0cHV0IHRoZSB5NG0gZnJhbWUgaGVhZGVyIGNvcnJlY3RseQoKMjAwNC0wMy0xNSAxOTozMjoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTQgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSAqLmg6IFJldmVydCBpbmRlbnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gZ3N0LWluZGVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwMjowMTo1MiArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC1saWJzL2dzdC92aWRlby92aWRlby5oOiBGaXggY2FwcyB0ZW1wbGF0ZSBuYW1lcyB0byBiZSB1bmRlcnN0YW5kYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDEtMTIgIEJlbmphbWluIE90dGUgIDxpbjd5MTE4QHB1YmxpYy51bmktaGFtYnVyZy5kZT4KCSAgKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8uaDoKCSAgRml4IGNhcHMgdGVtcGxhdGUgbmFtZXMgdG8gYmUgdW5kZXJzdGFuZGFibGUuCgkgIFByZWZpeCBldmVyeXRoaW5nIHdpdGggR1NUX1ZJREVPLgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChyYXdfY2Fwc19mYWN0b3J5KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChyYXdfY2Fwc19mYWN0b3J5KToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChyYXdfY2Fwc19mYWN0b3J5KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2xvb3ApOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9zcmNjb25uZWN0KSwgKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC9zeW5hZXN0aGVzaWEvZ3N0c3luYWVzdGhlc2lhLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX3BhbGV0dGVfdG9fY2Fwcyk6CgkgIE1ha2UgdGhlbSB3b3JrIHdpdGggbmV3IHZpZGVvLmggZmlsZS4KCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NoYWluKSwKCSAgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9mcmVlKSwgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jaGFpbiksCgkgIChnc3RfeHZpbWFnZXNpbmtfYnVmZmVyX2ZyZWUpLCAoZ3N0X3h2aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgd29yayB3aXRoIG5ldyBidWZmZXIgYWxsb2NhdGlvbiBzeXN0ZW0uCgoyMDAzLTEyLTIyIDAxOjQ3OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gTWVyZ2UgQ0FQUyBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTA0IDEwOjM3OjM4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMS0xNiAyMjowMjoyMyArMDAwMCAgTGVpZiBKb2huc29uIDxsZWlmQGFtYmllbnQuMnkubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSArIGNoZWNraW5nIGluIHBsdWdpbiBjYXRlZ29yeSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICArIGNoZWNraW5nIGluIHBsdWdpbiBjYXRlZ29yeSBjaGFuZ2VzCgoyMDAzLTExLTA3IDEyOjQ3OjAyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wMiAxOToxNzoyNyArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGZpeCB0byBuZXcgcGx1Z2luIHN5c3RlbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRvIG5ldyBwbHVnaW4gc3lzdGVtCgoyMDAzLTEwLTA4IDE2OjA4OjE5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoKMjAwMy0wOC0xMCAwMDowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCjIwMDMtMDctMDYgMjA6NDk6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCdzIGRvY3VtZW50LiBOb3RlOiBzb21lIHBsdWdpbnMgd2lsbCBicmVhaywgc29tZSBwaXBlbGluZXMgd2lsbCBicmVhaywgZXhwZWN0IEhFQUQgdG8gYmUgYnJva2VuIG9yIGF0IGxlYXN0IG5vdCAxMDAlIHdvcmtpbmcgZm9yIGEgZmV3IGRheXMsIGJ1dCBkb24ndCBmb3JnZXQgdG8gcmVwb3J0IGJ1Z3MKCjIwMDMtMDYtMjkgMTk6NDY6MTMgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBJbmNsdWRlcyBmaXhlcyBmb3IgbWlzc2luZyBpbmNsdWRlcyBmb3IgY29uZmlnLmggYW5kIHVuaXN0ZC5oCgkgIEkgb25seSBlbnN1cmVkIGZvciBwbHVnaW5zIEkgY2FuIGJ1aWxkIHRoYXQgdGhleSB3b3JrLCBzbyBpZiBzb21lIG9mIHRoZW0gYXJlIHN0aWxsIGJyb2tlbiwgeW91IGdvdHRhIGZpeCB0aGVtIHlvdXJzZWx2ZXMgdW5mb3J0dW5hdGVseS4KCjIwMDMtMDEtMTAgMTM6Mzg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBQYWRDb25uZWN0IC0+IFBhZExpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoKMjAwMy0wMS0xMCAxMDoyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcyBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzCgkgIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMKCSAgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0aGF0IEkgZG9uJ3Qgc3BlbmQgZG91YmxlCgkgIHRoZSB0aW1lIHJlc29sdmluZyBjb25mbGljdHMKCjIwMDItMTItMDggMTQ6NTA6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgoyMDAyLTA5LTE4IDE5OjAyOjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoKMjAwMi0wNi0xNyAxMDoyOTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIGNvc21ldGljIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29zbWV0aWMgY2hhbmdlCgoyMDAyLTA1LTAzIDA5OjU5OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gdmFyaW91cyBuYW1lIGZpeGVzIGFuZCBzdW5kcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgbmFtZSBmaXhlcyBhbmQgc3VuZHJ5CgoyMDAyLTA0LTIwIDIxOjQyOjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MgYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYyBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMgYW4gZWxlbWVudCBici4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzCgkgICogYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYwoJICAqIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucwoJICAqIGFuIGVsZW1lbnQgYnJvd3NlciB0aGF0IHVzZXMgZGV0YWlscy0+a2xhc3MKCSAgKiBzZXBhcmF0ZWQgY2R4YSBwYXJzZSBvdXQgZnJvbSB0aGUgYXZpIGRpcmVjdG9yeQoKMjAwMi0wNC0xMSAyMDo0MjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURSBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUKCSAgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgYWxzbywgc29tZSAtV2Vycm9yIGZpeGVzLgoKMjAwMi0wMy0zMCAxNzowNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gQ2hhbmdlZCB0byB0aGUgbmV3IHByb3BzIEFQSQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCB0byB0aGUgbmV3IHByb3BzIEFQSQoJICBPdGhlciBzbWFsbCB0dWZmLgoKMjAwMi0wMy0yMCAyMTo0NTowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoKMjAwMi0wMy0xOSAwNDoxMDowNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cwoJICAqIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGggdGhlIHBsdWdpbl9pbmZvIHN0cnVjdCwKCSAgYW5kIHN5bWJvbCByZXNvbHV0aW9uIGlzIGxhenksIHNvIHdlIGNhbiBhbHdheXMga25vdyBpZiBhIHBsdWdpbiBjYW4gYmUgbG9hZGVkIGJ5IHRoZSBwbHVnaW5faW5mbyBkYXRhLiBpbiB0aGVvcnkuCgoyMDAyLTAzLTE5IDAxOjM5OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLyBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvCgkgIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpY2FsbHksCgkgIGFuZCB0aGlzIGdpdmVzIHRoZSB1c2VyIHRoZSBmcmVlZG9tIHRvIHNheSBtYWtlIEdTVF9QTFVHSU5fTERGTEFHUz0tbXlmbGFnCgoyMDAyLTAxLTE4IDExOjM3OjE5ICswMDAwICBXcm9iZWxsIDx3cm9iZWxsQGl0ZS5wbD4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gLSBwbHVnaW5zIGFyZSBidWlsdCB3aXRob3V0IHZlcnNpb25pbmcgaW5mbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLSBwbHVnaW5zIGFyZSBidWlsdCB3aXRob3V0IHZlcnNpb25pbmcgaW5mbwoKMjAwMi0wMS0xMyAyMjoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCcmluZyB0aGUgcGx1Z2lucyBpbiBzeW5jIHdpdGggdGhlIG5ldyBjb3JlIGNhcHNuZWdvIHN5c3RlbS4KCSAgQWRkZWQgc29tZSBmZWF0dXJlcywgZW5oYW5jZW1lbnRzLi4uCgoyMDAyLTAxLTEyIDAzOjM0OjI3ICswMDAwICBEYXZpZCBJLiBMZWhuIDxkbGVobkB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIHMvZmlsdGVyL3BsdWdpbi8gbGluayBwbHVnaW5zIHRvIEdTVF9MSUJTIHJlYXJyYW5nZSBydWxlcyB0byBhIGNvbW1vbiBmb3JtYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcy9maWx0ZXIvcGx1Z2luLwoJICAqIGxpbmsgcGx1Z2lucyB0byBHU1RfTElCUwoJICAqIHJlYXJyYW5nZSBydWxlcyB0byBhIGNvbW1vbiBmb3JtYXQKCjIwMDEtMTItMjMgMjA6MjE6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBtb3JlIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIGZpeGVzCgoyMDAxLTEyLTIzIDEzOjE3OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gQkJCIGFza2VkIG1lIHRvIHJlbmFtZSBsYXYgdG8geTRtIGNhbiBzb21lb25lIHdobyBrbm93cyB0aGUgcGx1Z2luIGRvIHRoaXMgaW4gdGhlIHNvdXJjZSBhcyB3ZWxsID8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJCQiBhc2tlZCBtZSB0byByZW5hbWUgbGF2IHRvIHk0bQoJICBjYW4gc29tZW9uZSB3aG8ga25vd3MgdGhlIHBsdWdpbiBkbyB0aGlzIGluIHRoZSBzb3VyY2UgYXMgd2VsbCA/CgoyMDA5LTA1LTE1IDE4OjE3OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogYWRkIE1ha2V2YXJzIG1hZ2ljIHNvIHdlIGRvbid0IGdldCBsaW5lIG51bWJlcnMgaW4gKi5wbyBmaWxlcwoJICBUaGlzIGF2b2lkcyB0aGUgbnVtYmVyIG9uZSByZWFzb24gZm9yIGxvY2FsIG1vZGlmaWNhdGlvbnMgaW4gKi5wbwoJICBmaWxlcyBhbmQgYW5kIG1ha2VzIHRoaW5ncyBsZXNzIGFubm95aW5nIHdoZW4gd29ya2luZyB3aXRoIGdpdCAob3IKCSAgYW55IG90aGVyIFZDUyBmb3IgdGhhdCBtYXR0ZXIpLgoKMjAwOS0wNS0xNSAxNzoxMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2F1ZGlvdGVzdHNyYy5mbGFjOgoJKiB0ZXN0cy9maWxlcy90ZXN0LWNlcnQucGVtOgoJKiB0ZXN0cy9maWxlcy90ZXN0LWtleS5wZW06CgkgIGNoZWNrczogbW92ZSBmaWxlcyByZXF1aXJlZCBieSB1bml0IHRlc3RzIGludG8gdGVzdHMvZmlsZXMgYW5kIG1ha2Ugc3VyZSB0aGV5J3JlIGRpc3RlZAoJICBNb3ZlIHVuaXQgdGVzdCBkYXRhIGludG8gdGhlIGRpcmVjdG9yeSB3aGVyZSBpdCBiZWxvbmdzIGFuZCBtYWtlIGluIHBhcnRpY3VsYXIKCSAgdGhlIGZsYWNkZWMgdW5pdCB0ZXN0IGNkIGludG8gdGhlIGRpcmVjdG9yeSB3aXRoIHRoZSB0ZXN0IGZpbGVzIGluc3RlYWQgb2YgbWFraW5nCgkgIGFzc3VtcHRpb25zIGFib3V0IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGluIHRoYXQgdW5pdCB0ZXN0LiBBcyBhIHNpZGUgZWZmZWN0CgkgIG9mIG1vdm5nIHRob3NlIGZpbGVzLCB0aGVyZSdzIG9ubHkgb25lIEVYVFJBX0RJU1QgaW4gdGVzdHMvY2hlY2svTWFrZWZpbGUuYW0gbm93LAoJICB3aGljaCBpcyBsaWtlbHkgdG8gd29yayBiZXR0ZXIgdGhhbiBoYXZpbmcgdHdvLiBIb3BlZnVsbHkgZml4ZXMgIzU4Mjc1My4KCjIwMDktMDUtMTQgMjE6NDM6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJZiB0aGUgdXBzdHJlYW0gbWF4IGxhdGVuY3kgaXMgdW5ib3VuZCByZXR1cm4gdW5ib3VuZCBtYXggbGF0ZW5jeQoJICBGaXhlcyBidWcgIzU4MjY2MS4KCjIwMDktMDUtMTUgMDg6NDQ6MzkgKzAyMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MEB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBGaXhlcyBidWcgIzU4MjcxNS4KCjIwMDktMDUtMTMgMjI6NDY6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVjb3ZlcmVkIGRlYnVndXRpbHMgbGluZSBhY2NpZGVudGFsbHkgcmVtb3ZlZCBpbiBkZWludGVybGFjZTIgbW92ZS4KCjIwMDktMDUtMTMgMTA6NDY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgTW92ZWQgJ2RlaW50ZXJsYWNlMicgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEFuZCByZW5hbWUgaXQgdG8gZGVpbnRlcmxhY2UuCgoyMDA5LTA1LTA4IDE1OjM5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ni81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgYSBkaXNhYmxlZCBtb2RlIGZvciBwYXNzdGhyb3VnaCBvcGVyYXRpb24KCSAgQWxzbyBhbGxvdyB0byBjaGFuZ2UgdGhlIG1vZGUgaW4gUEFVU0VEIGFuZCBQTEFZSU5HIGJ5IHVwZGF0aW5nCgkgIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCjIwMDktMDQtMjIgMTk6NDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDU1LzU2XSBkZWludGVybGFjZTI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA0LTE5IDE3OjE4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NC81Nl0gZGVpbnRlcmxhY2UyOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBpbnRlcmxhY2luZyBhdXRvZGV0ZWN0aW9uIG9yIHRvIGVuZm9yZSBkZWludGVybGFjaW5nCgkgIEZvciB0aGlzIGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0aGF0IGRlZmF1bHRzIHRvICJpbnRlcmxhY2VkIiBmb3Igbm93IGFzCgkgIG1vc3QgZGVjb2RlcnMvZGVtdXhlcnMgZG9uJ3QgcHJvcGVybHkgc2V0IHRoZSAiaW50ZXJsYWNlZCIgZmllbGQgb24gdGhlCgkgIGNhcHMgeWV0LgoJICBJZiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAiYXV0byIgdGhlIGVsZW1lbnQgd2lsbCB3b3JrIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdW5sZXNzIHRoZSBjYXBzIGNvbnRhaW4gdGhlICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMDktMDQtMTcgMTU6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUzLzU2XSBkZWludGVybGFjZTI6IFVzZSBHU1RfKERFQlVHfFdBUk5JTkd8RVJST1IpX09CSkVDVCBpbnN0ZWFkIG9mIHRoZSBub24tT0JKRUNUIG9uZXMKCjIwMDktMDQtMTcgMTU6Mzk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUyLzU2XSBkZWludGVybGFjZTI6IFJlc2V0IGhpc3RvcnkgaWYgRElTQ09OVCBpcyBzZXQgb24gdGhlIGluY29taW5nIGJ1ZmZlcgoKMjAwOS0wNC0xNyAxNTozOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTEvNTZdIGRlaW50ZXJsYWNlMjogRml4IHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgd2l0aCBSRkYgZmxhZyBzZXQKCjIwMDktMDQtMTYgMTc6NDE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MC81Nl0gZGVpbnRlcmxhY2UyOiBSZW5hbWUgbGluZV9sZW5ndGggdG8gcm93X3N0cmlkZSBhbmQgcmVtb3ZlIG91dHB1dF9zdHJpZGUKCjIwMDktMDQtMTYgMTU6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ5LzU2XSBkZWludGVybGFjZTI6IEltcGxlbWVudCBzdXBwb3J0IGZvciBSRkYgYW5kIE9ORUZJRUxEIGJ1ZmZlciBmbGFncwoKMjAwOS0wNC0xNSAxNTo0Njo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDgvNTZdIGRlaW50ZXJsYWNlMjogTW92ZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdCB0byBhIGZ1bmN0aW9uIHBhcmFtZXRlcgoKMjAwOS0wNC0xNSAxNTozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNDcvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiB0aGUgZmllbGQgb3JkZXIKCjIwMDktMDQtMTUgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ2LzU2XSBkZWludGVybGFjZTI6IEFkZCBzdXBwb3J0IGZvciBZVllVIGNvbG9yc3BhY2UKCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBZVVkyIHdpdGgganVzdCBDciBhbmQgQ2Igc3dhcHBlZC4gQXMKCSAgd2UgZG9uJ3QgbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIHdoZW4gZGVpbnRlcmxhY2luZwoJICB0aGlzIHdvcmtzLgoKMjAwOC0xMS0wNiAxNDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpOgoJICBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ0LzU2XSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0wOSAxOTozODo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQzLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBYODYgYXNzZW1ibHkuCgoyMDA4LTA4LTI4IDE3OjE2OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Mi81Nl0gZ3N0L2RjY3AvOiBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBGb3J0ZSAtIGFwcGFyZW50bHkgaXQgaGF0ZXMgY29uY2F0ZW5hdGluZyBhCgkgIG1hY3JvIGFyZ3VtZW50IHRoYXQgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZT8/CgoyMDA4LTA4LTI2IDEyOjMzOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvOiBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlIGEgc21hbGwgc3BlZWR1cCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZQoJICBhIHNtYWxsIHNwZWVkdXAgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhbmRsZSBjaHJvbWEgYW5kIGx1bWEKCSAgZGlmZmVyZW50IHdoaWNoIGlzIG5lZWRlZCBsYXRlci4KCjIwMDgtMDgtMjUgMTQ6Mzc6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZwoJICBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzZWFyY2gtZWZmb3J0PTAgY3VycmVudGx5LCBpcyBwYWluZnVsbHkKCSAgc2xvdyBhbmQgbmVlZHMgc29tZSBjbGVhbnVwIGxhdGVyIHdoZW4gYWxsIHNlYXJjaC1lZmZvcnQgc2V0dGluZ3MKCSAgYXJlIGltcGxlbWVudGVkIGluIEMuCgoyMDA4LTA4LTAyIDE4OjQ4OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzkvNTZdIGdzdC9kZWludGVybGFjZTIvOiBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0IGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgIFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQKCSAgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoKMjAwOC0wOC0wMiAxODozNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM4LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZSBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teGV4dCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX21teCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9pbml0KToKCSAgQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZQoJICBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kLgoKMjAwOC0wOC0wMiAxODozMDo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdCBjYW4gYmUgdXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdAoJICBjYW4gYmUgdXNlZCBieSBzaW1wbGUgZGVpbnRlcmxhY2luZyBtZXRob2RzLiBUaGV5IG9ubHkgaGF2ZSB0byBwcm92aWRlCgkgIGEgZnVuY3Rpb24gZm9yIGludGVycG9sYXRpbmcgYSBzY2FubGluZSBvciBjb3B5aW5nIGEgc2NhbmxpbmUuCgoyMDA4LTA4LTAyIDE4OjE1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcyBvZiBldmVyeSBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbik6CgkgIFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcwoJICBvZiBldmVyeSBidWZmZXIuCgoyMDA4LTA4LTAyIDE4OjEzOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzQvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzCgkgIGRlZmluZWQuCgoyMDA4LTA4LTAyIDE4OjA5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzMvNTZdIGdzdC9kZWludGVybGFjZTIvOiBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KToKCSAgRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wOC0wMiAxODowMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24gdGhhdCBkb3VibGVzL2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZ3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IpLCAoZ3N0X2ZyYWN0aW9uX2RvdWJsZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2dldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIHRoYXQgZG91Ymxlcy9oYWxmcyB0aGUgZnJhbWVyYXRlIGlmIGFsbCBmaWVsZHMgc2hvdWxkIGJlIHNlbnQgb3V0LgoKMjAwOC0wNy0xOCAwODozNDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMxLzU2XSBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneQoJICBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBCdWlsZCB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBvbiBhbGwgYXJjaGl0ZWN0dXJlcyBidXQgc3RpbGwgbWFyayBpdAoJICBhcyBleHBlcmltZW50YWwuCgkgIEJ1aWxkIHRoZSB4ODYgaW5saW5lIGFzc2VtYmx5IG9ubHkgaWYgR0NDIGlubGluZSBhc3NlbWJseSBpcyBzdXBwb3J0ZWQKCSAgYW5kIG9ubHkgb24geDg2IG9yIGFtZDY0LiBGaXhlcyBidWcgIzU0MzI4Ni4KCjIwMDgtMDctMTQgMTQ6MTM6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzAvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogRml4IGJ1aWxkIG9uIHg4Nl82NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCBvbiB4ODZfNjQKCjIwMDgtMDctMTMgMTA6NTY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlIGFzc2VtYmx5IG9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBvbmx5IGhhbmRsZSB0aGlzIGFuZCBjYWxsaW5nIHRoZSBDCgkgIGltcGxlbWVudGF0aW9uIGZvciB0aGUgcmVtYWluaW5nIHBhcnQgZG9lc24ndCB3b3JrIGJlY2F1c2UgaXQgbmVlZHMKCSAgcHJldmlvdXMgY2FsY3VsYXRpb25zLgoKMjAwOC0wNy0xMyAxMDo1MjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgVGhlIFNTRSBtZXRob2QgaW4gZmFjdCBvbmx5IG5lZWRzIE1NWEVYVCwgZGVjbGFyZSBpdCBhcyBzdWNoLgoKMjAwOC0wNy0wOCAxMzozMTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI3LzU2XSBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3NldHVwKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoKMjAwOC0wNy0wNiAyMDo0Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzogTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgc29tZQoJICBzcGVlZHVwIGFzIHRoZXkncmUgdXNlZCBvbmx5IG9uY2UgYW5kIG5lZWQgdG8gZ2V0IG1hbnkgbG9jYWwgdmFyaWFibGVzCgkgIHBhc3NlZCBhcyBwYXJhbWV0ZXIuCgoyMDA4LTA3LTA1IDE5OjIwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgoyMDA4LTA3LTA1IDE5OjExOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfbGF0ZW5jeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgRml4IG91dHB1dHRpbmcgb2YgYWxsIGZpZWxkcywgaS5lLiBkb3VibGluZyBvZiB0aGUgZnJhbWVyYXRlLgoKMjAwOC0wNy0wNSAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIzLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydCB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2ZpZWxkc19yZXF1aXJlZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9pbml0KToKCSAgVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydAoJICB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGRlaW50ZXJsYWNpbmcgbWV0aG9kIHZpYSBHT2JqZWN0CgkgIHByb3BlcnRpZXMuCgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhbGxvdyBhY2Nlc3MgdG8gdGhlIHVzZWQKCSAgZGVpbnRlcmxhY2luZyBtZXRob2QgYW5kIHRvIGFsbG93IGFkanVzdGluZyB0aGUgZGlmZmVyZW50IHNldHRpbmdzLgoJICBNb3ZlIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBtZXRob2QgaW50bwoJICBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhpcyBkZWludGVybGFjaW5nCgkgIG1ldGhvZCBmcm9tIGRpZmZlcmVudCBpbnN0YW5jZXMuCgoyMDA4LTA3LTA1IDEyOjIyOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBnci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseQoJICBvcHRpbWl6ZWQgZ3JlZWR5aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA3LTA0IDE4OjU0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCjIwMDgtMDYtMzAgMDc6NTE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAodG9tc21vY29tcF9pbml0KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpLCAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgVXNlICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCjIwMDgtMDYtMjkgMTA6NTY6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheSBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheQoJICBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zZWQgdG8gTEdQTC4gVXNlIG1lbWNweSgpIGluc3RlYWQKCSAgb2YgdGhlIHNwZWVkeSBtZW1jcHkgZXZlcnl3aGVyZSBpbnN0ZWFkLgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlbW92ZSBtYW55IHVudXNlZCBkZWNsYXJhdGlvbnMuCgoyMDA4LTA2LTI4IDE4OjEzOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgoyMDA4LTA2LTI4IDE4OjEwOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3MKCSAgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbWV0aG9kLiBJbnN0ZWFkIGltcGxlbWVudCBkZWludGVybGFjZV9mcmFtZQoJICBmdW5jdGlvbiBieSB0YWtpbmcgdGhlIG9uZSBmcm9tIGdyZWVkeWguCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKToKCSAgU21hbGwgZml4IGZvciB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgRG9uJ3QgdXNlIHRoZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBvbmx5CgkgIHVzZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIHJlbW92ZWQuIEluc3RlYWQgaW1wbGVtZW50CgkgIGRlaW50ZXJsYWNlX2ZyYW1lIGZ1bmN0aW9uIGFuZCBtYWtlIGl0IGEgYml0IG1vcmUgZWZmaWNpZW50LgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUgYW5kIHJlbW92ZSBzY2FubGluZXMgZnVuY3Rpb24gYXMgaXQncyB1bnVzZWQgbm93LgoKMjAwOC0wNi0yOCAxNzoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbiB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuCgkgIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYXJrIHRoZSBTU0UgdmVyc2lvbiBhcyBNTVhFWFQgYXMgaXQgZG9lc24ndAoJICByZXF1aXJlIGFueSBTU0UgaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yNyAxMzoyMjozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIFNldCBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDYtMjUgMTY6MDU6MDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDYtMjQgMTI6MDg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcyBtZW1vcnkgYWNjZXNzZXMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MKCSAgbWVtb3J5IGFjY2Vzc2VzIGFuZCBmaXggdGhlIHdvcmthcm91bmQgZm9yIHRoZSBtaXNzaW5nIHJpZ2h0IHNoaWZ0CgkgIG9uIGJ5dGVzIHRvIHVuc2V0IHRoZSBoaWdoZXN0IGJpdCBvZiBldmVyeSBieXRlLgoKMjAwOC0wNi0yNCAxMDoxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRSBpbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UKCSAgaW5zdHJ1Y3Rpb24uCgoyMDA4LTA2LTI0IDEwOjEyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCjIwMDgtMDYtMjQgMDk6NDA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbTogTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCk6CgkgIEZpeCBDIGFuZCBNTVggaW1wbGVtZW50YXRpb25zIGEgYml0IG1vcmUuCgoyMDA4LTA2LTI0IDA5OjEwOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgTU1YRVhUIGltcGxlbWVudGF0aW9uLgoJICBIYW5kbGUgb2RkIHdpZHRocyBhbmQgZG9uJ3QgcmVhZCBvdmVyIGFycmF5IGJvdW5kYXJpZXMgaW4gdGhlIE1NWEVYVAoJICBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIEZpeCBhIHNtYWxsIHJvdW5kaW5nIGJ1ZyBpbiB0aGUgTU1YIGltcGxlbWVudGF0aW9uLCB0aGUgTU1YCgkgIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWN0dWFsbHkgbmVlZCBNTVhFWFQgaW5zdHJ1Y3Rpb25zIHNvIGRvbid0IG1hcmsKCSAgaXQgYXMgc3VjaC4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgaW4gYm90aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA2LTIxIDA5OjA1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUgYXNzZW1ibHkgb3B0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfc3NlKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIGFzIFNTRSBhcyBpdCB1c2VzIFNTRSBpbnN0cnVjdGlvbnMKCSAgYWRkaXRpb25hbCB0byBNTVggaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yMCAxNDo0ODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28gYnV0IHVzZSB0aGUgTU0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vCgkgIGJ1dCB1c2UgdGhlIE1NWEVYVCBvcHRpbWl6ZWQgY29kZSB3aGVuZXZlciBwb3NzaWJsZS4KCjIwMDgtMDYtMjAgMTQ6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzIHdoZW4gZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycwoJICB3aGVuIGZpbmFsaXppbmcsIGFsbG9jYXRlIGJ1ZmZlcnMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFuZAoJICBwcm9wZXJseSByZXR1cm4gZmxvdyByZXR1cm5zIGZyb20gZ3N0X3BhZF9wdXNoKCkgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtLgoKMjAwOC0wNi0yMCAxMzo0NTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyLgoKMjAwOC0wNi0yMCAxMzoyNDoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA0LzU2XSBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZSBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsIGVuYWJsZWQgb25seQoJICBieSAtLWVuYWJsZS1leHBlcmltZW50YWwuCgoyMDA4LTA2LTE4IDA2OjMxOjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvNTZdIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xMSAxMToxMjo0OSArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMTE6MTI6MTQgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA5LTA1LTEzIDEwOjMwOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmx2OiBBY3R1YWxseSBhZGQgdGhlIGZsdiBwbHVnaW4gdG8gY29uZmlndXJlLmFjCgoyMDA5LTA1LTEzIDA5OjI0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGNoZWNrczogZml4IGZsYWNkZWMgdW5pdCB0ZXN0cyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFuZCB1bmRlciB2YWxncmluZAoJICBGbGFjZGVjIG91dHB1dHMgMTYtYml0IHNhbXBsZXMsIHNvIGxldCdzIGNoZWNrIGlmIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QKCSAgc2FtcGxlIGlzIHdoYXQgd2UgZXhwZWN0IHJhdGhlciB0aGFuIGp1c3QgdGhlIGZpcnN0IGJ5dGUsIHdoaWNoIG1heSBiZQoJICBkaWZmZXJlbnQgZnJvbSB3aGF0IHdlIGV4cGVjdCBkZXBlbmRpbmcgb24gdGhlIGhvc3QncyBlbmRpYW5uZXNzLiBGaXhlcwoJICB0aGUgZmxhY2RlYyB1bml0IHRlc3RzIG9uIFBQQy4gQWxzbyBmaXggYSBidW5jaCBvZiBsZWFrcyBpbiB0aGUgdW5pdAoJICB0ZXN0cyB0byBtYWtlIHZhbGdyaW5kIGhhcHB5LiBGaXhlcyAjNTgyNDIwLgoKMjAwOS0wNS0xMyAwOToxODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBidWZmZXIgbGVhawoJICBnc3RfYnVmZmVyX3JlcGxhY2UoKSB3aWxsIHRha2UgaXRzIG93biByZWYsIHNvIHdlIHN0aWxsIGhhdmUKCSAgdG8gdW5yZWYgdGhlIGJ1ZmZlciBpZiB3ZSBkb24ndCBuZWVkIGl0IGFueSBsb25nZXIuCgoyMDA5LTA1LTEyIDIxOjIwOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBwb2ludGVyIGFyaXRobWV0aWMKCSAgVGhpcyBmaXhlcyBhIHNlZWtpbmcgcmVncmVzc2lvbiwgYnVnICMxMzQ1MjIuCgoyMDA5LTA1LTEyIDIxOjM2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBNb3ZlZCAnZmx2JyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU3LzU3XSBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDQtMjkgMTg6NTI6MjAgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ni81N10gZmx2bXV4OiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDc4Ni4KCjIwMDktMDQtMjkgMTM6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTUvNTddIGZsdjogU2V0L3JlcXVpcmUgdGhlIGZyYW1lZC9wYXJzZWQgZmllbGRzIG9mIHRoZSBhdWRpby9tcGVnIGNhcHMgdG8gVFJVRQoKMjAwOS0wNC0yOSAxMzoxNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTQvNTddIGZsdjogQWx3YXlzIHdyaXRlIGF0IGxlYXN0IHRoZSBtaW5pbWFsIHRhZ3MgYW5kIHdyaXRlIHRoZSBQQVIgYXMgdGFncwoKMjAwOS0wNC0yOSAxMzowMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTMvNTddIGZsdjogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBzb21lIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTIvNTddIGZsdjogQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHRhZwoKMjAwOS0wNC0yOSAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MS81N10gZmx2OiBGaXggcGFyc2luZyBvZiB0YWdzIGFuZCBhZGQgbmV3IG1hcHBpbmdzCgkgIFdlIHNob3VsZG4ndCByZWdpc3RlciBhIG5ldyBHc3RUYWcgZm9yIGV2ZXJ5IHVua25vd24gdGFnCgkgIHdlIGZpbmQgYXMgdGhpcyBtaWdodCBsZWFkIHRvIGNvbmZsaWN0cyBhbmQgYWxzbyB0aG9zZQoJICB0YWdzIGFyZSBlc3NlbnRpYWxseSB1bmtub3duLgoJICBBZGQgbWFwcGluZ3MgZm9yIHNvbWUga25vd24gdGFncyBhbmQgYWxzbyBjb252ZXJ0IHN0cmluZwoJICBkYXRlcyB0byBHRGF0ZSwgYXMgZm91bmQgaW4gbWFueSBGTFYgZmlsZXMuCgoyMDA5LTA0LTIyIDE5OjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTAvNTddIGZsdjogQWRkIGRvY3VtZW50YXRpb24gdG8gZmx2bXV4IGFuZCBmbHZkZW11eAoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM3MzcuCgoyMDA5LTAxLTIyIDEzOjM5OjM0ICswMTAwICBKYW4gVXJiYW5za2kgPGoudXJiYW5za2lAc3R1ZGVudHMubWltdXcuZWR1LnBsPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDkvNTddIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gRml4ZXMgYnVnICM1Njc5NjUuCgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gVGhpcyBmaXhlcwoJICBzZWVraW5nIG9uIHNvbWUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzZWVrIHRhYmxlIHN0b3JlZAoJICBpbnNpZGUgYW4gRUNNQSBhcnJheSBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgYXJyYXkuCgoyMDA4LTEyLTAzIDExOjQzOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpOgoJICBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwOC0xMS0yNCAxMToxNzoxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMga2V5ZnJhbWUuIE1hcmsgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gTWFyawoJICB0aGUgZGlzY29udCBmbGFnIHdoZW4gd2UndmUgbW92ZWQgaW4gdGhlIGZpbGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOiBNUDMKCSAgc3RyZWFtcwoJICBhcmUgcGFyc2VkIGFscmVhZHksIG1ha2VzIGF1dG9wbHVnZ2VkIHBpcGVsaW5lcyBzaG9ydGVyLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ2LzU3XSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0yOCAxODo0NDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCjIwMDgtMTAtMjggMTg6NDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NC81N10gZ3N0L2Zsdi86IFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mCgkgIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBQdXNoIHRhZ3MgYWxyZWFkeSBpZiBvbmx5IG9uZSBwYWQgd2FzIGFkZGVkLCBubyBuZWVkIHRvIHdhaXQgZm9yCgkgIHRoZSBzZWNvbmQgb25lLgoJICBXaGVuIGdlbmVyYXRpbmcgb3VyIGluZGV4IHNldCBoYXNfdmlkZW8gYW5kIGhhc19hdWRpbyBpZiB3ZSBmaW5kCgkgIHZpZGVvIG9yIGF1ZGlvIGluIGNhc2UgdGhlIEZMViBoZWFkZXIgaGFzIGluY29ycmVjdCBkYXRhLgoKMjAwOC0xMC0yNyAwOTo0NTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQzLzU3XSBnc3QvZmx2LzogRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdCBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdAoJICBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCjIwMDgtMTAtMjcgMDk6NDE6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Mi81N10gZ3N0L2Zsdi9NYWtlZmlsZS5hbTogRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOgoJICBSZXdyaXRlIHRoZSBzY3JpcHQgdGFnIHBhcnNpbmcgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0byByZWFkCgkgIG1vcmUgZGF0YSB0aGFuIHdlIGhhdmUuIEFsc28gdXNlIEdTVF9SRUFEX1VJTlQyNF9CRSBkaXJlY3RseSBhbmQKCSAgZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoJICBUaGlzIHNob3VsZCBtYWtlIGFsbCBjcmFzaGVzIG9uIGZ1enplZCBGTFYgZmlsZXMgZGlzYXBwZWFyLgoKMjAwOC0xMC0yNyAwOTozNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQxLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZCBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgIFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZAoJICBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLgoKMjAwOC0xMC0yNyAwOTozNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQwLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgoyMDA4LTEwLTI3IDA5OjMzOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzkvNTddIGdzdC9mbHYvOiBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZCB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOgoJICBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoKMjAwOC0xMC0yNyAwOTozMjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM4LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0gZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbQoJICBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIEZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nIHRvIGxvb2sgYXQgdGhlIGZsYWdzIG9mIHRoZSBzZWVrIGV2ZW50CgkgIGluc3RlYWQgb2YgYXNzdW1pbmcgc29tZSByYW5kb20gZmxhZ3MsIGRvbid0IHNlbmQgc2VnbWVudC1zdGFydAoJICBtZXNzYWdlcyB3aGVuIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUgYW5kIHB1c2ggc2VlayBldmVudHMgdXBzdHJlYW0KCSAgaWYgd2UgY291bGRuJ3QgaGFuZGxlIHRoZW0uCgoyMDA4LTEwLTI3IDA5OjI3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoKMjAwOC0xMC0yNyAwOToyNToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM2LzU3XSBnc3QvZmx2LzogSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoJICBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpbGVzICh3aGljaCBhcmUgbW9yZSB0aGFuCgkgIG9mdGVuIGluY29ycmVjdCBhbmQgY2F1c2UgZmFpbGVkIHNlZWtzKS4KCSAgRm9yIHB1c2ggbW9kZSB3ZSBzdGlsbCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGFuZCBleHRlbmQgaXQKCSAgd2hpbGUgZG9pbmcgdGhlIHBsYXliYWNrLgoKMjAwOC0xMC0yNyAwOToyMDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCk6CgkgIEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwKCSAgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG9lcyB3aGF0IHdlIHdhbnQgYW5kIGlzIG11Y2gKCSAgbW9yZSBzaW1wbGUuCgoyMDA4LTEwLTI3IDA5OjE0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzQvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguKjogSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUKCSAgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdCB3aGVuIHN0YXJ0aW5nIGEgbmV3IHN0cmVhbSB0byBnZXQKCSAgYWxsIG9sZCBlbnRyaWVzIHJlbW92ZWQuCgoyMDA4LTEwLTI3IDA5OjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoKMjAwOC0xMC0yNyAwOToxMDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMyLzU3XSBnc3QvZmx2LzogQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzIGhhbmRsZWQuCgoyMDA4LTEwLTE2IDE1OjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzEvNTddIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28gaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKToKCSAgRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbwoJICBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNTU2NTY0LgoKMjAwOC0xMC0xMiAxNzowODoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMwLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNTU2MDAzLgoKMjAwOC0xMC0xMCAxNjozMzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI5LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0IGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldAoJICBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yayB3aXRoIChpLmUuIHRoZSBwYWQncyBjYXBzKS4KCSAgQWRkIG5vbi1rZXlmcmFtZSB2aWRlbyBmcmFtZXMgdG8gdGhlIGluZGV4IHRvbyBidXQgd2l0aG91dCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4KCSAgQWRkIGF1ZGlvIGZyYW1lcyB0byB0aGUgaW5kZXggb25seSBpZiB3ZSBoYXZlIG5vIHZpZGVvIHN0cmVhbS4KCjIwMDgtMTAtMTAgMTY6MTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbQoJICBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYXBzIGFyZSBzZXQuCgoyMDA4LTEwLTA5IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvNTddIGdzdC9mbHYvOiBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldCAobWF5YmUgYmV0dGVyKSBkdXJhdGlvbiBmcm9tCgkgIG1ldGFkYXRhIGxhdGVyIHdlJ2xsIHVzZSB0aGF0IGluc3RlYWQuCgoyMDA4LTEwLTA5IDE1OjQzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24gdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24KCSAgdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZWFkYWJsZS4KCjIwMDgtMTAtMDkgMTU6MjY6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIElmIHdlIGdldCBHU1RfRkxPV19OT1RfTElOS0VEIGluIHRoZSBwYXJzZSBsb29wIGJ1dCBhdCBsZWFzdAoJICBvbmUgb2YgdGhlIHBhZHMgaXMgbGlua2VkIGNvbnRpbnVlIHRoZSBsb29wLgoKMjAwOC0xMC0wOSAxMDowMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI0LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbCB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpOgoJICBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwKCSAgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjb2RlciBhbmQgaGFzIGRpZmZlcmVudCBjYXBzLgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gY29kZWMgaWQgMTQsIHdoaWNoIGlzIE1QMyB3aXRoIDhrSHogc2FtcGxpbmcKCSAgcmF0ZS4KCSAgRml4IGVuZGlhbm5lc3MgYW5kIHNpZ25lZG5lc3MgZm9yIHJhdyBhdWRpbyBjb2RlYyBpZHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhbGF3IGFuZCBtdWxhdyBhdWRpby4KCjIwMDgtMTAtMDkgMDk6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZCBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pOgoJICBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZAoJICBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzIGVtcHR5LgoJICBBZGQgc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdGhlIGhlYWRlciBhbmQgdGFnIHNpemUuCgkgIERvbid0IHByaW50IHN5bmNocm9uaXppbmcgbWVzc2FnZSBpZiBldmVyeXRoaW5nIGlzIGZpbmUuCgoyMDA4LTEwLTA5IDA5OjI2OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvNTddIGdzdC9mbHYvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcgb2Ygc3RyZWFtIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2Zsdl9tdXhfaW5pdCksCgkgIChnc3RfZmx2X211eF9maW5hbGl6ZSksIChnc3RfZmx2X211eF9yZXNldCksCgkgIChnc3RfZmx2X211eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9mbHZfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwgKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfZmx2X211eF93cml0ZV9oZWFkZXIpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCksIChnc3RfZmx2X211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZwoJICBvZiBzdHJlYW0gbWV0YWRhdGEuCgoyMDA4LTA2LTEzIDIyOjQ2OjQzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS81N10gZ3N0L2Zsdi86IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMKCSAgYW5kCgkgIEguMjY0L0FWQyBpbnNpZGUgRkxWLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3dhdWRpb2RlY19jaGFpbiksIChnc3RfZHNob3dhdWRpb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3dhdWRpb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3NldHVwX2dyYXBoKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3d2aWRlb2RlY19jaGFpbiksCgkgIChnc3RfZHNob3d2aWRlb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6IExvdCBvZiByYW5kb20gZml4ZXMKCSAgdG8gaW1wcm92ZSBzdGFiaWxpdHkgKHJlZiBjb3VudGluZywgc2FmZXR5IGNoZWNrcy4uLikKCjIwMDgtMDQtMjUgMDg6MDc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgoyMDA4LTA0LTExIDIzOjE5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE5LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCk6CgkgIEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMKCSAgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEgTlVMTCBzdHJpbmcgKCM1Mjc2MjIpLgoKMjAwNy0xMi0xMSAxMTo1NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nCgkgIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoKMjAwNy0xMi0wOSAxOTozNzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgRW1pdCB0YWcgd2l0aCB0aGUgY29kZWMgbmFtZSBzbyBpdCBnZXRzIHByb3Blcmx5IHJlcG9ydGVkIGluIHRvdGVtIGFuZAoJICBvdGhlciBhcHBsaWNhdGlvbnMuCgoyMDA3LTExLTI1IDEwOjQ1OjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE2LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlIHdpdGggZ25vbmxpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZQoJICB3aXRoIGdub25saW4uCgoyMDA3LTExLTEyIDE5OjIyOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE1LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlCgkgIGFjdHVhbGx5IGhhdmUgZGF0YSB0byByZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHRhZy4gVGhpcyBhdm9pZHMgdHJ5aW5nCgkgIHRvIGFsbG9jYXRlIG5lZ2F0aXZlIGJ1ZmZlcnMuCgoyMDA3LTEwLTIyIDE1OjQ1OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlciBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6IERvbid0CgkgIGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyCgkgIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSBlbWl0IHRoZW0gZm9yIDIgcGFkcyBzY2VuYXJpb3MKCSAgdGhvdWdoIHRvIHNwZWVkIHVwIG1lZGlhIGRpc2NvdmVyeS4KCjIwMDctMDktMjcgMTA6MDY6MjMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEzLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlCgkgIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCjIwMDctMDktMjYgMTY6MzA6NTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEyLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcKCSAgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGhvdXQKCSAgdGVzdGluZykKCjIwMDctMDktMjYgMTE6MTc6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDExLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZSBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZQoJICBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgRml4IHJhdyBhdWRpbyBjYXBzIGdlbmVyYXRpb24uCgoyMDA3LTA5LTEyIDA4OjM4OjIyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC81N10gZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA4LTI3IDE0OjU2OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoKMjAwNy0wOC0yNCAxNzowMzoxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCjIwMDctMDgtMjQgMTU6MzE6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IEltcGxlbWVudAoJICBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgoyMDA3LTA4LTIyIDE0OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi81N10gZ3N0L2Zsdi86IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaCBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2gKCSAgbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIEZsYXNoIHBsYXllcnMgY2FuIHN1cHBvcnQgaXQgYXMgd2VsbCB0aGlzIHdheS4KCjIwMDctMDgtMjIgMTQ6MDM6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA1LzU3XSBnc3QvZmx2LzogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZSBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvIHB1c2ggdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZQoJICBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvCgkgIHB1c2gKCSAgdGFncyBhbmQgZW1pdCBuby1tb3JlLXBhZHMuIEZpeCBzb21lIHByaW50ZiB0eXBpbmcgaW4gZGVidWdnaW5nLgoKMjAwNy0wOC0xNCAxNDo1NjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCk6CgkgIEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgoyMDA3LTA4LTE0IDE0OjIyOjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbCBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfYWRhcHRlcl9mbHVzaCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCk6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsCgkgIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IFBhcnNlCgkgIG1vcmUgbWV0YWRhdGEgdHlwZXMgYW5kIGtleWZyYW1lcyBpbmRleC4KCjIwMDctMDctMjUgMTM6Mjk6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAyLzU3XSBnc3QvZmx2LzogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdAoJICByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoKMjAwNy0wNy0xOSAxNTowNTozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvNTddIEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X3NlZWtfdG9fcHJldl9rZXlmcmFtZSksIChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfQkVVSTI0KSwgKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfZGVtdXhfcXVlcnlfdHlwZXMpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBJdCBkb2VzIG5vdCBkbyBzZWVraW5nIHlldCwgaXQgc3VwcG9ydHMgcHVsbCBhbmQgcHVzaCBtb2RlIHNvCgkgIFlFUwoJICB5b3UgY2FuIHVzZSBpdCB0byBwbGF5IHlvdXR1YmUgdmlkZW9zIGRpcmVjdGx5IGZyb20gYW4gSFRUUCB1cmkuCgkgIE5vdCBzbyBtdWNoIHRlc3RpbmcgZG9uZSB5ZXQgYnV0IGl0IHBhcnNlcyBtZXRhZGF0YSwgcmVwbHkgdG8KCSAgZHVyYXRpb24gcXVlcmllcywgZXRjLi4uCgoyMDA5LTA1LTEyIDEzOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogTGluayB0byAtbG0KCSAgRml4ZXMgYnVnICM1ODIyODEuCgoyMDA5LTA1LTEyIDExOjE2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogUmVtb3ZlIGludmFsaWQgdW5pdCB0ZXN0CgkgIFRoZSB0ZXN0IGNyZWF0ZXMgYnVmZmVycyB3aXRoIG5vbi1zaWxlbmNlLCBzZXRzIHRoZSBHQVAKCSAgZmxhZyBvbiBpdCBhbmQgZXhwZWN0cyByZ2FuYWx5c2lzIHRvIGlnbm9yZSB0aGUgY29udGVudCBhbmQgYXNzdW1lIHNpbGVuY2UuCgkgIFRoYXQncyBub3QgdGhlIHdheSBob3cgR0FQIGJ1ZmZlcnMgc2hvdWxkIGJlIHVzZWQsIGlmIHRoZSBHQVAgZmxhZyBpcyBzZXQKCSAgZWxlbWVudHMgKmNhbiogYXNzdW1lIHRoYXQgdGhleSBvbmx5IGNvbnRhaW4gc2lsZW5jZSBidXQgdGhleSdyZSBub3QgKnJlcXVpcmVkKgoJICB0byBhc3N1bWUgdGhhdC4gVGhlIEdBUCBmbGFnIG11c3Qgb25seSBiZSBzZXQgb24gc2lsZW5jZSBidWZmZXJzLgoJICBGaXhlcyBidWcgIzU4MjI1Mi4KCjIwMDktMDUtMTIgMDA6NDg6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4yIHByZS1yZWxlYXNlCgoyMDA5LTA1LTExIDIzOjEzOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBkaXN0IGlkMy01Nzc0NjgtdW5zeW5jZWQtdGFnLnRhZyB0ZXN0IGZpbGUKCjIwMDktMDUtMTEgMjE6MDI6MjcgKzAyMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXRpYWxpemUgdmFyaWFibGUgdG8gMAoJICBGaXhlcyAjNTgyMjE4LgoKMjAwOS0wNS0xMSAxODoyMToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSBzZWFyY2ggZm9yIHRoZSBpbmRleCBlbnRyeSBvbmNlCgoyMDA5LTA1LTExIDE4OjE4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgdGhlIGZpcnN0IGluZGV4IGVudHJ5IGlmIGl0J3MgYWZ0ZXIgdGhlIHNlZWsgcG9zaXRpb24KCjIwMDktMDUtMTEgMTg6MTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIHRoZSBmaXJzdCBlbnRyeSBmb3IgYSBnaXZlbiBzdHJlYW0gaWYgdGhlIGZpcnN0IGVudHJ5IGlzIGFmdGVyIHRoZSBzZWVrIHBvc2l0aW9uCgoyMDA5LTA1LTExIDE2OjUwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSBiaW5hcnkgc2VhcmNoIGZvciBmaW5kaW5nIHRoZSByZXF1ZXN0ZWQgaW5kZXggZW50cnkgd2hlbiBzZWVraW5nCgoyMDA5LTA1LTExIDE1OjM2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEltcHJvdmUvb3B0aW1pemUgc2Vla2luZwoJICBGaXJzdCBvZiBhbGwgYSBrZXlmcmFtZSBzZWVrIHNob3VsZCBiZSBkb25lIHRvIHRoZQoJICBrZXlmcmFtZSByaWdodCBiZWZvcmUgdGhlIHJlcXVlc3RlZCBwb3NpdGlvbiBhbmQgbm90CgkgIHRvIHRoZSBrZXlmcmFtZSB0aGF0IGlzIG5lYXJlc3QgdG8gdGhlIHJlcXVlc3RlZCBwb3NpdGlvbi4KCSAgVXNlIHBlciB0cmFjayBpbmRleCBhcnJheXMgYW5kIHVzZSBvdXIgbmV3IGJpbmFyeSBzZWFyY2ggZnVuY3Rpb24KCSAgZnJvbSBjb3JlIHRvIHNwZWVkIHVwIHRoZSBzZWFyY2guCgoyMDA5LTA1LTExIDE1OjM2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UKCjIwMDktMDUtMTEgMTA6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdka3BpeGJ1ZjogVXNlIHRoZSBsaWJzIGFuZCBjZmxhZ3Mgb2YgZ2RrIHBpeGJ1ZiBpbnN0ZWFkIG9mIGd0awoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCBpZiBnZGstcGl4YnVmIGlzIGZvdW5kIGJ1dCBndGsgaXNuJ3QKCjIwMDktMDUtMTEgMDk6NTg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBbHdheXMgZGVmaW5lIHRoZSBjb25kaXRpb25hbCBIQVZFX0dUSyB0byBmaXggY29uZmlndXJlIGluIHNvbWUgY2FzZXMKCjIwMDktMDUtMTAgMTE6MTc6MjMgKzAyMDAgIE1hcmMtQW5kcmUgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIFJ1biBsaWJ0b29saXplIGJlZm9yZSBhY2xvY2FsCgkgIFRoaXMgdW5icmVha3MgdGhlIGJ1aWxkIGluIHNvbWUgY2FzZXMuIEZpeGVzIGJ1ZyAjNTgyMDIxCgoyMDA5LTA1LTA5IDEwOjUwOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgdG8gYWdyZWUgd2l0aCBhcmd1bWVudAoKMjAwOS0wNS0wOCAxOTo0MjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBzdHJ0b2woKQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggeG1sIHN0dWZmIGluIGNvcmUgZGlzYWJsZWQuCgoyMDA5LTA1LTA4IDE2OjQwOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBBY3R1YWxseSBvdXRwdXQgdGhlIHBlbmRpbmcgYnVmZmVyLi4gYW5kIG5vdCBhIGJsYW5rIG9uZS4KCSAgSXQgd2FzIHByZXZpb3VzbHkgc2VuZGluZyB0aGUgYm9ndXMgYnVmZmVyIHdoaWNoIHdhcyByZXR1cm5lZCBmcm9tCgkgIHRoZSBidWZmZXJhbGxvYyAocmVxdWlyZWQgZm9yIHJldmVyc2UgbmVnb3RpYXRpb24gYXBwYXJlbnRseSkgaW5zdGVhZAoJICBvZiB0aGUgcGVuZGluZyBidWZmZXIuCgoyMDA5LTA1LTA4IDEyOjAwOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBub24tc3RyaW5nIGZpZWxkcyBpbiB0aGUgZXh0cmEtaGVhZGVycyBwcm9wZXJ0eQoKMjAwOS0wNS0wOCAxMTozNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBydGoya2RlcGF5OiBhZGQgYmFzaWMgSlBFRyAyMDAwIGRlcGF5bG9hZGVyCgoyMDA5LTA1LTA4IDExOjMxOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBzZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkKCjIwMDktMDUtMDggMTE6Mjk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBzdXBwb3J0IGZvciBleHRyYS1oZWFkZXJzIGFwcGVuZGVkIHRvIHRoZSBIVFRQIHJlcXVlc3QKCSAgVGhpcyBhbGxvd3MgdG8gc2V0IHRoZSBSZWZlcmVyIGhlYWRlciBhbW9uZyBvdGhlciB0aGluZ3MgYnkKCSAgYWRkaW5nIGEgImV4dHJhLWhlYWRlcnMiIHByb3BlcnR5IHRoYXQgdGFrZXMgYSBHc3RTdHJ1Y3R1cmUKCSAgd2l0aCBmaWVsZD1zdHJpbmcgcGFpcnMuCgkgIEZpeGVzIGJ1ZyAjNTgxODA2LgoKMjAwOS0wNS0wOCAxMDozODo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoya3BheTogYWRkIGEgc2ltcGxlIEpQRUcgMjAwMCBwYXlsb2FkZXIKCjIwMDktMDUtMDggMTA6MzE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogd2Ugb25seSBuZWVkIHRvIHN3YXAgYml0cyBvbiBMRQoKMjAwOS0wNS0wNyAxODoxMDowOCArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBSQU5LUyBmb3IgdmFyaW91cyBlbmNvZGVycyBhbmQgbXV4ZXJzCgoyMDA5LTA1LTA3IDE3OjA5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzb21lIGRlYnVnZ2luZwoKMjAwOS0wNS0wNyAxNTo1ODo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwYXJzZSB4aXBoIGhlYWRlcnMgbGVuZ3RoIGNvcnJlY3RseQoJICBTZWUgIzU4MDk4MAoKMjAwOS0wNS0wNyAxNjoyNTo0MSArMDIwMCAgR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmVAbXAzLXRlY2gub3JnPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICByZ2FuYWx5c2lzOiBBZGQgYWJpbGl0eSB0byBwb3N0IGxldmVsIG1lc3NhZ2VzCgkgIEZpeGVzIGJ1ZyAjNTgxNTY4LgoKMjAwOS0wNS0wNiAyMzo1Njo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiByZWZ1c2Ugc29tZSB1bnN1cHBvcnRlZCBqcGVnIGZvcm1hdHMKCjIwMDktMDUtMDYgMTg6MDY6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGZpeCBkZXNjcmlwdGlvbgoKMjAwOS0wNS0wNiAxNjowOToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiByZXdyaXRlIHF1YW50IHRhYmxlIGhhbmRsaW5nCgkgIFJld3JpdGUgdGhlIHF1YW50IHRhYmxlIHBhcnNpbmcgdG8gYWxzbyBoYW5kbGUgbXVsdGlwbGUgdGFibGVzIGluIG9uZSBKUEVHIEhEUQoJICBzZWdtZW50LgoJICBIYW5kbGUgbW9yZSBqcGVnIHR5cGVzIGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIHRhYmxlcyB1c2VkIHBlciBjb21wb25lbnQgYW5kCgkgIHB1dHRpbmcgdGhlIHVzZWQgb25lcyBpbiB0aGUgcXVhbnQgaGVhZGVycy4KCjIwMDktMDQtMTggMTc6MjM6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiBNYWtlIHRoZSB0ZXN0IGZhaWx1cmUgc2xpZ2h0bHkgbW9yZSBpbmZvcm1hdGl2ZQoKMjAwOS0wNC0yMCAxODozMzowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjOiBNYWtlIGJ1ZmZlcnMgY3JlYXRlZCBkdXJpbmcgc2VlayBhY3QgbGlrZSBub3JtYWwgYnVmZmVycy4KCSAgU3RvcmUgdGhlIG9mZnNldCBhbmQgY2FwcyB3aGVuIGFsbG9jYXRpbmcgYSBidWZmZXIgZHVyaW5nIHNlZWtpbmcsIGFuZCB0aGVuCgkgIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciB3aXRoIGJ1ZmZlcl9hbGxvYyBiZWZvcmUgd2UgcHVzaCBpdCBvdXQuIFRoaXMgZW5zdXJlcwoJICB0aGF0IGluIGFsbCByZXNwZWN0cyB0aGUgZmlyc3QgYnVmZmVyIGRlY29kZWQgZHVyaW5nIHNlZWtpbmcgYmVoYXZlcyBsaWtlCgkgIGFsbCBvdGhlciBidWZmZXJzLCBpbmNsdWRpbmcgYWxsb3dpbmcgZG93bnN0cmVhbSByZS1uZWdvdGlhdGlvbi4KCjIwMDktMDQtMTggMTg6MDA6NTQgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBkb24ndCB1c2UgcGFkX2FsbG9jIHdoZW4gZGVjb2Rpbmcgd2hpbGUgc2Vla2luZy4gRml4ZXMgIzU3OTQyMgoKMjAwOS0wNS0wNiAxMzoyMjo1MSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZWZhY3RvcmVkIGdzdF9qcGVnX2RlY19wYXJzZV9pbWFnZV9kYXRhCgkgIEZpeGVzICM1Nzk4MDgKCjIwMDktMDUtMDYgMTM6MTE6NTMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogc3VwcG9ydCBhZGRpdGlvbmFsIDB4ZmYgYmVmb3JlIGVuZCBtYXJrZXIuCgkgIEpQRUcgbWFya2VycyBtYXkgYmUgcHJlY2VkZWQgYnkgYWRkaXRpb25hbCAweGZmLiAganBlZ2RlYyBzaG91bGQKCSAgc2tpcCBvdmVyIHRoZXNlLCBldmVuIGJlZm9yZSB0aGUgZW5kIG1hcmtlci4KCSAgU2VlICM1Nzk4MDgKCjIwMDktMDUtMDYgMTI6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaGFuZGxlIGlucHV0IHdpdGggMSBxdWFudCB0YWJsZQoJICBBbHNvIGhhbmRsZSBpbnB1dCB3aXRoIGp1c3Qgb25lIHF1YW50IHRhYmxlLCBzaW1wbHkgZHVwbGljYXRlIHRoZSBxdWFudCB0YWJsZS4KCSAgSGFuZGxlIGludmFsaWQgU09GIGNvcnJlY3RseSBhbmQgc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgRml4ZXMgIzU3ODI1NwoKMjAwOS0wNC0yOSAxNTo1ODoxMCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJ5dGUgb3JkZXIgc3dhcHBpbmcgaW4gM0dQUCBjbGFzc2lmaWNhdGlvbiBlbnRpdHkgdGFnCgkgIEZpeGVzICM1ODA3NDYuCgoyMDA5LTA1LTA1IDE3OjA3OjEzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhdm9pZCByZWFkaW5nIGZyb20gaW5hdmxpZCBtZW1vcnkKCSAgUmVhZCB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbmNvbW1pbmcgYnVmZmVyIGJlZm9yZSB3ZSBwdXNoIGl0IGluIHRoZSBhZGFwdGVyIGFuZAoJICBmbHVzaCBpdCBvdXQgYWdhaW4gYXMgdGhlIGJ1ZmZlciBtaWdodCBiZSB1bnJlZmZlZCB0aGVuIGFuZCB3ZSByZWFkIGZyb20gaW52YWxpZAoJICBtZW1vcnkuCgkgIEZpeGVzICM1ODE0NDQuCgoyMDA5LTA1LTA1IDE3OjAzOjI5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBkb24ndCBsZWFrIGR5bmFtaWMgcGFkcwoJICBGcmVlIHRoZSBkeW5hbWljIHBhZHMgZGF0YSBpbiBmaW5hbGl6ZS4KCSAgRml4ZXMgIzU4MTQzMgoKMjAwOS0wNS0wNSAxNjozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgcnRwanBlZ3BheTogY29ycmVjdGx5IHNldCB0aGUgdHlwZSBoZWFkZXIKCSAgRG9uJ3QgcmVxdWlyZSB3aWR0aC9oZWlnaHQgb24gdGhlIGNhcHMuIFVzZSB0aGUgU09GIGhlYWRlciB0byBmaW5kIHdpZHRoL2hlaWdodAoJICBhbmQgZmFsbCBiYWNrIHRvIHRoZSBjYXBzIGlmIHRoZXJlIGlzIG5vIFNPRi4gQWxzbyB1c2UgdGhlIFNPRiBpbmZvIHRvIGZpbmQgdGhlCgkgIHN1YnNhbXBsaW5nIGFuZCBxdWFudGl6YXRpb24gdGFibGVzIHVzZWQuIFRoaXMgYWxsb3dzIHVzIHRvIHNldCB0aGUgcmlnaHQgdHlwZQoJICB2YWx1ZSBpbiB0aGUgSlBFRyBydHAgaGVhZGVyLgoJICBEZXByZWNhdGUgdGhlIHF1YWxpdHkgcHJvcGVydHksIGl0J3MgdW51c2VkIG5vdyBhbmQgaXQgd2FzIHVzZWQgd3JvbmdseSBiZWZvcmUuCgkgIEFsd2F5cyBzZW5kIGZ1bGwgcXVhbnQgdGFibGVzIGZvciBub3cgdW50aWwgd2UgaGF2ZSBzb21lIGNvZGUgdG8gZGV0ZWN0IGRlZmF1bHQKCSAgb25lcy4KCSAgRml4ZXMgIzU4MDg4MAoKMjAwOS0wNS0wNSAxNjoyODo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIHJ0cGpwZWdkZXBheTogdXNlIHdpZHRoL2hlaWdodCBmcm9tIHBheWxvYWQKCSAgVXNlIHRoZSB3aWR0aCBhbmQgdGhlIGhlaWdodCBmcm9tIHRoZSBwYXlsb2FkIGhlYWRlcnMgYW5kIHNldCB0aGVtIG9uIHRoZQoJICBvdXRwdXQgY2FwcyBmb3IgYWRkZWQgYXdlc29tZW5lc3MuCgkgIEZpeCBxdWFudCBwYXJzaW5nLCB3ZSBuZWVkIHRvIGNoZWNrIHRoZSB0eXBlIGluIHRoZSBsb3dlciA2IGJpdHMuCgkgIEFkZCBmaXJzdCBiaXRzIG9mIGNhY2hpbmcgcXVhbnRpemF0aW9uIHRhYmxlcy4KCjIwMDktMDUtMDUgMTY6MjQ6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNldCBjb2xvcnNwYWNlIGJlZm9yZSBfc2V0X2RlZmF1bHRzKCkKCSAgVGhlIGxpYmpwZWcgYXBpIHNheXMgdGhhdCB3ZSBuZWVkIHRvIHNldCB0aGUgY29sb3JzcGFjZSBiZWZvcmUgd2UgY2FsbAoJICBfc2V0X2RlZmF1bHRzKCkuIEluZGVlZCwgaWYgd2UgZG9uJ3QgZG8gdGhhdCB3ZSBlbmQgdXAgd2l0aCBzb21lIHZlcnkgZnJlYWt5CgkgIG5vbi1zdGFuZGFyZCBxdWFudCB0YWJsZSBhbmQgaHVmZm1hbiB0YWJsZSBpbmRleGVzLgoKMjAwOS0wNS0wNSAxMzoxOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRvbid0IGJ1aWxkIGV4YW1wbGVzIGlmIC0tZGlzYWJsZS1leGFtcGxlcyB3YXMgcGFzc2VkIHRvIGNvbmZpZ3VyZQoKMjAwOS0wNS0wNSAxMjozMzo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2xlYW4gdXAgbWVzcyBhcm91bmQgZ3RrKyBjaGVja2luZwoJICBBbmQgZG9uJ3QgY2hlY2sgZm9yIGd0aysgd2hlbiBpdCdzIG5vdCBuZWVkZWQgKGllLiBpZiBleGFtcGxlcyBhcmUgZGlzYWJsZWQpCgoyMDA5LTA1LTA1IDEyOjI3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIGNvbmZpZ3VyZTogbWFrZSBnZGstcGl4YnVmIHBsdWdpbiBkZXBlbmQgb25seSBvbiBnZGstcGl4YnVmLCBub3QgZ3RrKwoKMjAwOS0wNS0wNCAxODo1NToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGZpbmRfc3RyZWFtX2J5XyogZnVuY3Rpb25zCgkgIEZpeCB2YXJpb3VzIHZlcnNpb24gb2YgZmluZF9zdHJlYW1fYnlfKiBieSBub3QgdHJ5aW5nIHRvIGNvbnZlcnQgYW4gaW50IHRvIGEKCSAgcG9pbnRlciBhbmQgdmljZSB2ZXJzYSwgZm9yIHBvcnRhYmlsaXR5IHJlYXNvbnMuCgkgIEZpeGVzICM1ODEzMzMKCjIwMDktMDUtMDQgMTg6MzI6MDUgKzAyMDAgIENocmlzIFdpbnRlciA8ZWx3aW50cm8gYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZHVtbXkgbmF0IHBhY2tldCBsb2dpYwoJICBGaXggYSB0eXBvIGluIHRoZSBkdW1teSBOQVQgcGFja2V0IHNlbmRpbmcgY29kZS4KCSAgRml4ZXMgIzU4MTMyOQoKMjAwOS0wNC0zMCAxMDoyNDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIGVycm9ycyBhZnRlciBzZXJ2ZXIgZW9mCgkgIFNlcnZlciBlb2YgKGUuZy4gY29ubmVjdGlvbiBjbG9zZWQpIGlzIGFubm91bmNlZCBhcyBjb25uZWN0aW9uIGNsb3NlZCwKCSAgc28gYmV0dGVyIHJlY29yZCBzdGF0ZSBhbmQgYWN0IGFjY29yZGluZ2x5IHRvIHByZXZlbnQgKHJlYWQvd3JpdGUpCgkgIGVycm9ycyBkdXJpbmcgc3Vic2VxdWVudCB0ZWFyZG93bi9jbGVhbnVwIHNlcXVlbmNlcy4gICNGaXhlcyA1ODA4NTEuKGMpLgoKMjAwOS0wNC0zMCAxMDoxOToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gc2V0IGJhc2VfdGltZSBvbiBzcmMgYWZ0ZXIgZmx1c2gKCSAgdGltZXN0YW1wcyBmb2xsb3dpbmcgZmx1c2gvc2VlayBzaG91bGQgYmUgY29uc2lzdGVudCBiZXR3ZWVuCgkgIFVEUCBhbmQgVENQIGludGVybGVhdmVkIGNhc2UuICBGaXhlcyAjNTgwODUxLihiKS4KCjIwMDktMDQtMzAgMTA6MTc6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzYW5pdHkgY2hlY2tzIG9uIHJhbmdlIGluZm8KCSAgQSBtYXggcmFuZ2UgdGhhdCBvdmVyZmxvd3Mgc2hvdWxkIG5vdCBiZSB0cnVzdGVkLAoJICBub3Igc2hvdWxkIGEgbWF4IHJhbmdlIHRoYXQgZXF1YWxzIHRoZSBtaW4gcmFuZ2UuCgkgIEZpeGVzICM1ODA4NTEuKGEpLgoKMjAwOS0wNS0wNCAxNjoxNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiB1c2UgU0tJUCBmbGFnIHRvIHVzZSBTQ0FMRSBoZWFkZXJzCgkgIFdlIGNhbiB1c2UgdGhlIFNLSVAgc2VlayBmbGFnIHRvIGluc3RydWN0IHRoZSBzZXJ2ZXIgdG8gc2VuZCBkYXRhIGZhc3RlciB0aGVuCgkgIG5vcm1hbCBidXQgd2l0aCB0aGUgc2FtZSBiYW5kd2lkdGguCgkgIEZpeGVzICM1Mzc2MDkKCjIwMDktMDUtMDQgMTQ6MTk6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBtYWtlIHNwZWV4X2RlY19jb252ZXJ0IHdvcmsgd2l0aCBzYW1lLWZvcm1hdCB2YWx1ZXMgd2hlbiBubyBkYXRhIGhhcyBiZWVuIGRlY29kZWQuCgoyMDA5LTA1LTA0IDEyOjQzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDE6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgYmluYXJ5IHNlYXJjaCBmb3IgaW5kZXgKCSAgVXNlIHRoZSBuZXcgYmluYXJ5IHNlYXJjaCBtZXRob2QgZm9yIGZpbmRpbmcgdGhlIHJpZ2h0IGluZGV4IGVudHJ5IGZhc3Rlci4KCjIwMDktMDUtMDQgMTE6MjY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGRyYXcgdGhlIGNvbXBsZXRlIFUgYW5kIFYgcGxhbmVzCgkgIFJvdW5kIHVwIHRoZSBzY2FsZWQgVSBhbmQgViB3aWR0aCBhbmQgaGVpZ2h0IHNvIHRoYXQgd2UgYWx3YXlzIGRyYXcgdGhlIGNvcnJlY3QKCSAgYW1vdW50IG9mIHBpeGVscyB0byBmaWxsIHRoZSBjb21wbGV0ZSBpbWFnZS4KCSAgRml4ZXMgIzU2OTYxMQoKMjAwOS0wNS0wMSAxOTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHNvbWUgbW9yZSBtaWNybyBvcHRpbWlzYXRpb25zCgoyMDA5LTA0LTMwIDE4OjQxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBtaWNybyBvcHRpbWl6ZSBxdGRlbXV4IGEgbGl0dGxlCgkgIFNwcmlua2xlIHNvbWUgR19MSUtFTFkgYXJvdW5kLgoJICBBdm9pZCB0cmF2ZXJzaW5nIGFuZCBkdW1waW5nIHRoZSB0cmVlIHdoZW4gZGVidWdnaW5nIGlzIG5vdCBhY3RpdmF0ZWQuCgoyMDA5LTA0LTMwIDE0OjIyOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZSBwaWN0dXJlcwoJICBBZGQgc3VwcG9ydCBmb3Igc3VidGl0bGUgcGljdHVyZXMuCgkgIEZpeGVzICM1NjgyNzguCgoyMDA5LTA0LTMwIDEwOjMyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgc2lnbmFsIHdhaXRlcnMKCSAgQWx3YXlzIHNpZ25hbCB0aGUgd2FpdGVycyBpbiB0aGUgYXN5bmMgY2FsbGJhY2tzLiBFc3BlY2lhbGx5IGZvciB0aGUgdm9sdW1lCgkgIGNhbGxiYWNrcyBzaW5jZSB0aGlzIG1pZ2h0IGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDktMDQtMjkgMTg6MDk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbGVhc2Ugc3RhdGUgbG9jayBiZWZvcmUgc3RvcHBpbmcgdGFzawoJICBXZSBuZWVkIHRvIHJlbGVhc2UgdGhlIHN0YXRlIGxvY2sgYmVmb3JlIHRyeWluZyB0byB3YWl0IGZvciB0aGUgdGFzayB0byBlbmQKCSAgYmVjYXVzZSB0aGUgdGFzayBtaWdodCBhbHNvIHRha2UgdGhlIGxvY2suCgkgIEZpeGVzICM1Nzc2NzEKCjIwMDktMDQtMjkgMTI6MTk6MjcgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGUgYXQgZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBhYy0zIGF1ZGlvCgkgIGZpeCBkZW11eGluZyBvZiBtNHYgc3RyZWFtcyB3aXRoIGFjLTMgYXVkaW8KCSAgRml4ZXMgIzU4MDU1NAoKMjAwOS0wNC0yOSAxMToxMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFVzZSB0aGUgdGFnIG1lcmdlIG1vZGUgdGhhdCB3YXMgc2V0IG9uIHRoZSBpbnRlcmZhY2UgZm9yIG1lcmdpbmcgdGFnIGV2ZW50cwoKMjAwOS0wNC0yNSAwOTo0MzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IGdldGFkZHJpbmZvIGVycm9yIHJlcG9ydGluZwoJICBnZXRhZGRyaW5mbyBlcnJvcnMgc2hvdWxkIGJlIHJlcG9ydGVkIHdpdGggZ2FpX3N0cmVycm9yIGluc3RlYWQgb2YgZXJybm8gYXMKCSAgc3BvdHRlZCBieSBNaWtlUy4KCjIwMDktMDQtMjcgMTA6MDg6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgZzcyNnBheTogZml4IGNvbXBpbGF0aW9uCgoyMDA5LTA0LTI3IDEwOjAyOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJICBnNzI2cGF5OiBhZGQgUkZDIGNvbXBsaWFudCBwYWNrZXRpemluZwoJICBTaHVmZmxlIHRoZSBpbnB1dCBiaXRzIGFjY29yZGluZyB0byBSRkMgMzU1MSBmb3IgRzcyNiBwYXlsb2Fkcy4KCSAgQWRkIG9wdGlvbiB0byBmb3JjZSB0aGUgcHJldmlvdXMgYmVoYXZpb3VyLgoJICBGaXhlcyAjNTY3MTQwCgoyMDA5LTA0LTI3IDA5OjU5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgZzcyNmRlcGF5OiBhZGQgZGVidWcgY2F0ZWdvcnkKCSAgQWRkIGEgZGVidWdnaW5nIGNhdGVnb3J5LCBhZGQgc29tZSBjb21tZW50cyBhbmQgcmVtb3ZlIF9wZWVrX3BhcmVudCgpLgoKMjAwOS0wNC0yNiAxNTo1OTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGlkM3YybXV4OiB3ZSBuZWVkIHRhZ2xpYiAxLjUgZm9yIElEM3YyOjpSZWxhdGl2ZVZvbHVtZUZyYW1lOjpzZXRJZGVudGlmaWNhdGlvbgoJICBCdW1wIHRhZ2xpYiByZXF1aXJlbWVudC4KCjIwMDktMDQtMjQgMDI6MTE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvaWQzLTU3NzQ2OC11bnN5bmNlZC10YWcudGFnOgoJICBpZDNkZW11eDogYWRkIHVuaXQgdGVzdCBmaWxlIGZvciB1bnN5bmNlZCBpZDMgdGFncwoKMjAwOS0wNC0yNCAwMTo1MTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcGFyc2UgdW5zeW5jaHJvbmlzZWQgdGFncyBwcm9wZXJseQoJICBXZSBkaWRuJ3QgaGFuZGxlIHVuc3luY2hyb25pemF0aW9uIGF0IGFsbCB1cCB0byBub3csIHdoaWNoIG1pZ2h0IGhhdmUKCSAgY2F1c2VkIGZyYW1lcyB0byBub3QgYmUgZXh0cmFjdGVkIC0gZXNwLiBmcmFtZXMgYWZ0ZXIgYW4gQVBJQyBwaWN0dXJlCgkgIGZyYW1lLiBGaXhlcyAjNTc3NDY4LgoKMjAwOS0wNC0yNCAwMTowMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcGFzcyB0aGUgcmlnaHQgc2l6ZSB2YWx1ZSBmb3Igc2l6ZSBvZiBhbGwgZnJhbWVzIHRvIHRoZSBwYXJzZXIKCSAgRnJhbWUgZGF0YSBzaXplIGlzIHRhZyBzaXplIGFkanVzdGVkIGZvciBzaXplIG9mIHRoZSB0YWcgaGVhZGVyIGFuZAoJICBmb290ZXIsIG5vdCB0YWcgc2l6ZSBpbmNsdWRpbmcgaGVhZGVyIGFuZCBmb290ZXIuCgoyMDA5LTA0LTIyIDE1OjI0OjU1ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzb21lIG1vcmUgcGFkIGxlYWtzCgkgIEZpeCBzb21lIHBhZCBsZWFrcy4KCSAgU2VlICM1NzczMTguCgoyMDA5LTA0LTIxIDIyOjEyOjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzOTQxZWEgdG8gNmFiMTFkMQoKMjAwOS0wNC0yMSAxNDowMjowMSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG92ZXJyaWRlIGNhcHMgYmFzZWQgb24gZGF0YSBmcm9tIEVTRFMgYXRvbXMgaW4gbXBlZzQuCgkgIElmIHRoZSBjb2RlYyBpcyBhY3R1YWxseSBzb21ldGhpbmcgZWxzZSAoZS5nLiBtanBlZykgY2hhbmdlIHRoZSBjYXBzIHRvCgkgIG1hdGNoIHdoZW4gcGFyc2luZyB0aGUgRVNEUyBhdG9tLgoJICBBbHNvLCBmb3IgQUFDLCBvdmVycmlkZSByYXRlIGFuZCBjaGFubmVscyB3aXRoIGNvcnJlY3QgdmFsdWVzIHJlYWQgZnJvbQoJICBFU0RTLCBzaW5jZSB0aGUgcmF0ZS9jaGFubmVscyB2YWx1ZXMgZWxzZXdoZXJlIGFyZSBvZnRlbiB3cm9uZy4KCjIwMDktMDQtMjAgMTk6MzI6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggd2FybmluZyBmb3Igc3RpbGwgaW1hZ2VzIGJ5IG5vdCB0cnlpbmcgdG8gZGl2aWRlIGJ5IDAKCSAgRG9uJ3QgcGFzcyBhIDAgZGl2aXNvciB0byBnc3RfdXRpbF91aW50NjRfc2NhbGUoKSwgb3IgaXQgd2lsbCBjb21wbGFpbgoJICBpbiB0aGUgc2luZ2xlIGltYWdlIGNhc2Ugd2hlcmUgZnBzPTAvMSAoYXJlIHdlIHN1cHBvc2VkIHRvIGRpZmZlcmVudGlhdGUKCSAgYmV0d2VlbiBubyBmcHM9c3RpbGwgaW1hZ2UgYW5kIGZwcz0wLzE9dmFyaWFibGUgcmF0ZSBoZXJlIGJ0dz8pCgoyMDA5LTA0LTIwIDE3OjI1OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRml4IGEgc2ltcGxlIHR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdAoJICBVc2UgI2lmZGVmIGluc3RlYWQgb2YgI2lmLCB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTA0LTIwIDE1OjQ4OjIxICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkgIGZpeCBmb3JtYXQgc3RyaW5nIGluIHBuZ2RlYwoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEZpeCBzaXplX3QgdnMgdW5zaWduZWQgaW50IGZvcm1hdCBpbiBlcnJvciBtZXNzYWdlLgoKMjAwOS0wNC0yMCAxNTo0NjowMyArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJICBvbmx5IHVzZSBzdHJ1Y3QgaXBfbXJlcW4gaWYgaXQgaXMgZGV0ZWN0ZWQKCSAgKiBjb25maWd1cmUuYWM6IE1ha2UgYW4gZXhwbGljaXQgY2hlY2sgZm9yIHN0cnVjdCBpcF9tcmVxbi4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IFVzZSBIQVZFX0lQX01SRVFOIGluc3RlYWQgb2YgdGhlIGFkLWhvYyBjaGVja3MuCgoyMDA5LTA0LTIwIDEzOjQ1OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IHB1c2ggbW9kZSBidWZmZXJpbmcgc2FuaXR5IGNoZWNrIHRvIGFjdHVhbGx5IGZpdCB0aGUgZGVzY3JpcHRpb24uCgoyMDA5LTA0LTE4IDE5OjExOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEFuZCBsZXQncyBub3QgZm9yZ2V0IHRvIHJlbW92ZSB0aGUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNC0xOCAxODo1MDozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgdGhlIHZhcmlhYmxlcyBhcmUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVGhlIHZhbHVlIGlzIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ4OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICB0IGlzIGJlaW5nIG92ZXJ3cml0dGVuIGFmdGVyLCBiZWZvcmUgaXQncyB1c2VkLgoKMjAwOS0wNC0xOCAxODo0ODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZSwgdGhlIHZhbHVlIGlzIG9ubHkgcmVhZCBvbmNlLgoKMjAwOS0wNC0xOCAxODo0NzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcnBheTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB0aGUgdmFsdWUgaXMgb25seSByZWFkIG9uY2UuCgoyMDA5LTA0LTE4IDE4OjQ2OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tL2ZpbHRlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG92ZXJ3cml0dGVuIGp1c3QgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ1OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0NTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLCBpdCdzIG5ldmVyIGJlaW5nIHJlYWQuCgoyMDA5LTA0LTE4IDE4OjQyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiAncmVzJyBpc24ndCByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0MTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4gJ3JlcycgaXMgbmV2ZXIgcmVhZC4KCjIwMDktMDQtMTggMTg6NDA6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIHZhcmlhYmxlLiAnc3RyZWFtJyBpcyBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODozOTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlYm94OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cy4KCSAgVGhlc2UgdmFyaWFibGVzIGFyZSBuZXZlciByZWFkIGFmdGVyIHRoaXMgcG9pbnQuCgoyMDA5LTA0LTE4IDE4OjM4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgZ29vbTogZmYgYW5kIGlmZiBhcmUgb25seSB1c2VkIGluIGEgJyNpZmRlZiBEUkFXX01PVElGJyBibG9jay4KCjIwMDktMDQtMTggMTg6MzQ6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIHJlcyBpc24ndCByZWFkIGFmdGVyIHRoaXMuCgoyMDA5LTA0LTE4IDE4OjMyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgbW92ZSB2YXJpYWJsZSB0byB3aGVyZSBpdCdzIG5lZWRlZC4KCSAgVGhlIGhlYWRlcl9yZWFkX2Vycm9yIGxhYmVsIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SCgoyMDA5LTA0LTE4IDE4OjIxOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICBUaGUgdmFsdWUgb2YgJ3N0cicgd2lsbCBuZXZlciBiZSB1c2VkIGluIHRoZXNlIGNhc2VzLgoKMjAwOS0wNC0xOCAxODoxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZS4KCSAgaXJldCB3YXMgbmV2ZXIgcmVhZCBvdXRzaWRlIG9mIHRoYXQgbG9vcCwgYW5kIGlzIGFsd2F5cyBiZWluZyBleGl0ZWQgaWYKCSAgaXJldCB3YXMgIT0gR1NUX0ZMT1dfT0sgYW55d2F5LgoKMjAwOS0wNC0xOCAxODoxNzozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE1vdmUgJ3JlcycgdG8gd2hlcmUgaXQncyBhY3R1YWxseSBiZWluZyB1c2VkLgoJICByZXMgd2FzIG5ldmVyIHVzZWQgb3V0c2lkZSBvZiB0aGF0IGJsb2NrIGV4Y2VwdCBmb3IgYSBkZWFkIGFzc2lnbm1lbnQuCgoyMDA5LTA0LTE4IDE4OjE2OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICBhdWRpb2Z4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICByeiBpcyBuZXZlciB1c2VkIGluIHRoZXNlIG1ldGhvZHMuCgoyMDA5LTA0LTE4IDE4OjE1OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4cmluZ2J1ZmZlcjogUnVuIGdzdC1pbmRlbnQuCgoyMDA5LTA0LTE4IDE4OjE0OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cy4KCSAgVGhvc2UgdmFyaWFibGVzIGFyZSBub3QgcmVhZCBhZnRlciB0aGF0IHBvaW50LgoKMjAwOS0wNC0xOCAxODoxMTowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBSZW1vdmUgdHJpdmlhbCB1bnVzZWQgdmFyaWFibGVzIGRldGVjdGVkIGJ5IENMYW5nIHN0YXRpYyBhbmFseXplci4KCjIwMDktMDQtMTggMTc6NTI6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgUmVtb3ZlIGJsYW5rIHtzZXR8Z2V0fV9wcm9wZXJ0eS9jaGFuZ2Vfc3RhdGUvZmluYWxpemUgbWV0aG9kcy4KCjIwMDktMDQtMTggMTc6NDI6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgaW4gX2NsYXNzX2luaXQKCSAgRGV0ZWN0ZWQgYnkgTExWTSdzIENMYW5nIHN0YXRpYyBhbmFseXplcgoKMjAwOS0wNC0xOCAxMzo1NDowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2s6IENoZWNrIHdoZXRoZXIgdGhyZWFkcyBhcmUgYWxyZWFkeSBpbml0aWFsaXNlZCBiZWZvcmUgZ190aHJlYWRfaW5pdCgpCgoyMDA5LTA0LTE4IDE0OjMyOjQwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgZGlzY29udCBvbiB0aGUgc3RyZWFtcyBhcyB3YXMgc2FpZCB0aGUgZGVidWcgbGluZQoJICBBZnRlciBhIHNlZWsgbWFyayBhbGwgc3RyZWFtcyB3aXRoIGRpc2NvbnQgYXMgaXQgd2FzIHNhaWQgaW4gdGhlIGRlYnVnIGxpbmUuCgkgIEZpeGVzIHRoYXQgYnVmZmVycyBhZnRlciBhIHNlZWsgYXJlIGdlbmVyYXRlZCB3aXRob3V0IGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwOS0wNC0xOCAwODo0NToxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXAgR1NUX1JUU1BfRUVPRiB0byBFT1Mgb24gc2VydmVyIHJlcXVlc3RzCgkgIFBlcm1pdCBwcm9wZXJseSBoYW5kbGUgdGhlIEVPUyBjb25kaXRpb24gd2hlbiBzZXJ2ZXIgcmVwb3J0IGl0IGluIGEgcmVxdWVzdC4KCjIwMDktMDQtMTggMDg6Mzk6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiB1LgoKMjAwOS0wNC0xNiAyMjo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggc2FtcGxlIG9mZnNldCBjYWxjdWxhdGlvbiBhZ2FpbgoKMjAwOS0wNC0xNSAxOTozMjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgc3VuYXVkaW86IGZpeCBicm9rZW4gaW5kZW50YXRpb24gb2YgdmFyaWFibGUgZGVjbGFyYXRpb25zCgoyMDA5LTA0LTE1IDE5OjI4OjUzICswMTAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODBAdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICBzdW5hdWRpbzogcmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBhbmQgZ290byBsYWJlbHMKCSAgRml4ZXMgIzU3OTA3MC4KCjIwMDktMDQtMTUgMTk6MjQ6NDkgKzAyMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MCBhdCB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogZml4IGNvbXBpbGF0aW9uIG9uIGJpZy1lbmRpYW4KCSAgU29tZSBzZW1pY29sb25zIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBiaWctZW5kaWFuIHN0cnVjdHMgaW4gZ3N0cnRwaDI2M3BheS5oLgoJICBBIEdTVF9ERUJVRyBjYWxsIHdhcyBtaXNzaW5nIGEgZm9ybWF0IHNwZWNpZmllci4KCSAgRml4ZXMgIzU3OTA2OQoKMjAwOS0wNC0xNSAyMDoxMDowNCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBxdGRlbXV4OiBpbXBsZW1lbnQgM0dQUCAoVFMgMjYuMjQ0IFY4LjAuMCkgQXNzZXQgbWV0YWRhdGEgaGFuZGxpbmcsIEZpeGVzICMxMzIxOTMKCSAgSW1wbGVtZW50cyAzZ3BwIGlzbyBtZXRhZGF0YSB0YWdzIHdoaWNoIGFyZSBkaWZmZXJlbnQgZnJvbSBtb3YgdWR0YSBhdG9tcy4KCjIwMDktMDQtMTUgMTU6NTE6MjQgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkgIGRlYnVndXRpbHM6IFVzZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTLgoJICBVc2UgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUyB0byBhdm9pZCBnc3QtaW5kZW50IG1lc3NpbmcgdXAgdGhlCgkgIGluZGVudGF0aW9uIGR1ZSB0byBleHRlcm4gIkMiIHsgfS4KCjIwMDktMDQtMTUgMTY6MDM6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWcudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL25hdmlnYXRpb250ZXN0LnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmg6CgkgIGRlYnVnOiByZW5hbWUgZGVidWcgdG8gZGVidWd1dGlscyB0byBhdm9pZCBjbGFzaCB3aXRoIC0tZGlzYWJsZS1kZWJ1Zy4gRml4ZXMgIzU2MjE2OAoKMjAwOS0wNC0xNSAxNTo0MzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkgIGRlYnVnOiBpbmRlbnQgYmVmb3JlIHJlbmFtaW5nCgoyMDA5LTA0LTE1IDE0OjA3OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgZzcyNmRlcGF5OiBhZGQgcHJvcGVydHkgZm9yIGFhbDIgZm9yY2UKCjIwMDktMDQtMTUgMTM6NTY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICBnNzI2ZGVwYXk6IGltcGxlbWVudCBSRkMzNTUxIHBhY2tpbmcKCSAgV2UgaW1wbGVtZW50ZWQgdGhlIEFBTDIgcGFja2luZywgYWRkIHRoZSBlbmNvZGluZy1uYW1lIGZvciB0aG9zZSB0byB0aGUgY2FwcyBhbmQKCSAgYSBwcm9wZXJ0eSB0byBmb3JjZSBBQUwyIGRlY29kaW5nIChhbHdheXMgVFJVRSBmb3Igbm93KS4KCSAgSW1wbGVtZW50IFJGQzM1NTEgdW5wYWNraW5nIGZvciByZWd1bGFyIEc3MjYuCgkgIFNlZSAjNTY3MTQwLgoKMjAwOS0wNC0xNSAwMDoyMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBmaXggYnVpbGQKCjIwMDktMDQtMTQgMTg6NTI6NDggKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogdmFyaW91cyBmaXhlcwoJICBSZS1lbmFibGUgbW9kZSBBIHN1cHBvcnQgYW5kIGEgcHJvcGVydHkgdG8gY29udHJvbCBpdC4KCSAgRml4IG1lbW9yeSBsZWFrIG9mIEdzdFJ0cEgyNjNQYXlCb3VuZHJ5IG9iamVjdHMuCgkgIEZpeCBtYXJrZXIuCgkgIEZpeGVzICM1MDkzMTEKCjIwMDktMDQtMTQgMTg6NDQ6NTEgKzAyMDAgIEphbmluIEtvbGVuYyA8amFuaW4ua29sZW5jIGF0IG1hcmFuZC5zaT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgaDI2M3BheTogRml4IHRoZSBwYXlsb2FkZXIKCSAgRml4IHRoZSBIMjYzIHBheWxvYWRlciB0byBiZSBtb3JlIFJGQyAyMTkwIGNvbXBsaWFudC4KCSAgU2VlICM1MDkzMTEKCjIwMDktMDQtMTQgMTc6Mjc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBwdXNoIEVPUyBpbiBzdHJlYW1pbmcgbW9kZQoJICBJbiBzdHJlYW1pbmcgbW9kZSwgYXZpZGVtdXggaXMgbm90IHN1cHBvc2VkIHRvIHNlbmQgYW4gRU9TIGV2ZW50IGRvd25zdHJlYW0gYnV0CgkgIGl0IGlzIHN1cHBvc2VkIHRvIHJldHVybiBVTkVYUEVDVEVEIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uIGluc3RlYWQgc28gdGhhdAoJICB1cHN0cmVhbSBjYW4gZG8gdGhlIHJpZ2h0IEVPUyBoYW5kbGluZy4KCjIwMDktMDQtMTMgMTQ6MDM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgU3BlZXggYXVkaW8KCSAgTm90ZTogVGhpcyBpcyBub3QgaW4gdGhlIE1hdHJvc2thIHNwZWMgeWV0CgkgIEZpeGVzIGJ1ZyAjNTc4MzEwLgoKMjAwOS0wNC0xMCAyMTozMTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgTlVMTCB0aW1pbmcgaW5mbwoJICBEb24ndCBjcmFzaCB3aGVuIHRoZSB0aW1pbmcgaW5mbyBpcyBub3QgeWV0IGF2YWlsYWJsZS4KCjIwMDktMDQtMTAgMjE6NDI6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogbWFrZSBpdCB3b3JrIG9uIDAuOS4xMgoJICBGaXJzdCB3ZSBpZ25vcmUgcmVxdWVzdCB0byBmaWxsIHRoZSByaW5nYnVmZmVyIHdoaWNoIGFyZSBsZXNzIHRoZW4gYSBzZWdtZW50LgoJICBUaGUgc21hbGwgcmVxdWVzdCB3aGVyZSBjYXVzaW5nIHN0dXR0ZXIuCgkgIFRoZW4gd2UgZGlzYWJsZSBmbHVzaGluZyB0aGUgc3RyZWFtIHdoZW4gcnVubmluZyBhZ2FpbnN0IHBhIDAuOS4xMiBhcyB0aGlzCgkgIHRyaWdnZXJzIGFuIGFzc2VydGlvbmcgaW4gdGhlIHNvdW5kIHNlcnZlciBhbmQgdGVybWluYXRlcyBpdC4gSXQgZG9lcyBub3QgaGFwcGVuCgkgIHdpdGggMC45LjEwIGFuZCAwLjkuMTQuCgoyMDA5LTA0LTEwIDE0OjE4OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBzZXJ2ZXIgZGlzY29ubmVjdCBpbiBnZXRfdGltZQoJICBXaGVuIHRoZSBzZXJ2ZXIgaXMgZGlzY29ubmVjdGVkIG9yIHdoZW4gd2UgYXJlIHNodXQgZG93biwgbWFrZSBvdXIgY2xvY2sgcmV0dXJuCgkgIGFuIGludmFsaWQgdGltZSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCjIwMDktMDQtMTAgMTI6MDE6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYnBzIGlzIHNpZ25lZCBpbnQgdG8gYXZvaWQgb3ZlcmZsb3cKCSAgS2VlcCBicHMgYXMgZ2ludCBpbnN0ZWFkIG9mIGd1aW50IGJlY2F1c2Ugd2Ugd2lsbCBiZSBkb2luZyBzaWduZWQgbWF0aCB3aXRoIGl0CgkgIGxhdGVyIG9uIGFuZCB3ZSBkb24ndCB3YW50IHdlaXJkIHJlc3VsdHMuCgoyMDA5LTA0LTEwIDAwOjI2OjQ0ICswMjAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIGNvbnZlcnQgcXVlcnksIGZpeCBkdXJhdGlvbiBxdWVyeQoJICBGaXggdGhlIGR1cmF0aW9uIHF1ZXJ5IHNvIHRoYXQgaXQgYWxzbyB3b3JrcyB3aXRoIGZvcm1hdHMgb3RoZXIgdGhhbgoJICBUSU1FLCBzdWNoIGFzIERFRkFVTFQgdG8gZ2V0IHRoZSBudW1iZXIgb2YgZnJhbWVzLgoJICBBZGQgYSBjb252ZXJ0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNTc4MDUyLgoKMjAwOS0wNC0wOSAyMzo0Mzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjaGVjayBmb3IgYSBzdHJlYW0KCSAgRG9uJ3QgdHJ5IHRvIGNoYW5nZSB0aGUgc3RyZWFtIHZvbHVtZSAoYW5kIG90aGVyIHRoaW5ncykgd2hlbiB3ZSBkb24ndCBoYXZlIGEKCSAgc3RyZWFtIHlldC4gSnVzdCBzdG9yZSB0aGUgdmFsdWVzIGZvciBsYXRlci4KCjIwMDktMDQtMDkgMTg6MDc6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNvbXBpbGF0aW9uIGZvciBuZXdlciBwdWxzZWF1ZGlvCgoyMDA5LTA0LTA5IDE3OjE4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVuY29yayBmaXhlcyBhbmQgdXNlIHByZWJ1ZiA9IDAKCSAgV2UgY2FuIHVzZSBwcmVidWYgPSAwIHRvIGluc3RydWN0IHB1bHNlIHRvIG5vdCBwYXVzZSB0aGUgc3RyZWFtIG9uIHVuZGVyZmxvd3MuCgkgIFRoaXMgd2F5IHdlIGNhbiByZW1vdmUgdGhlIHVuZGVyZmxvdyBjYWxsYmFjay4gV2UgaG93ZXZlciBoYXZlIHRvIG1hbnVhbGx5CgkgIHVuY29yayB0aGUgc3RyZWFtIG5vdyB3aGVuIHdlIGhhdmUgbm8gYXZhaWxhYmxlIHNwYWNlIGluIHRoZSBidWZmZXIgb3Igd2hlbiB3ZQoJICBhcmUgd3JpdGluZyB0b28gZmFyIGF3YXkgZnJvbSB0aGUgY3VycmVudCByZWFkX2luZGV4LgoKMjAwOS0wNC0wOSAxNDozODoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgd3JpdGUgZXJyb3JzCgoyMDA5LTA0LTA5IDE0OjE2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHdyaXRlIHNpbGVuY2Ugb24gdW5kZXJmbG93CgkgIFN0YXJ0IGZpbGxpbmcgdXAgdGhlIGJ1ZmZlciB3aXRoIGVtcHR5IHNhbXBsZXMgd2hlbiBhbiB1bmRlcmZsb3cgaGFwcGVucy4gV2UKCSAgbmVlZCB0byBkbyB0aGlzIHRvIGtlZXAgcHVsc2VhdWRpbyByZXBvcnRpbmcgdGhlIHJpZ2h0IHRpbWUgZm9yIHVzLgoKMjAwOS0wNC0wOSAxMzoxNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgcHVsbC1iYXNlZCBzY2hlZHVsaW5nCgkgIFVzZSB0aGUgZGVmYXVsdCBiYXNlc2luayBtZXRob2RzIGZvciBpbXBsZW1lbnRpbmcgcHVsbCBiYXNlZCBzY2hlZHVsaW5nLCBpdAoJICB3b3JrcyBmaW5lIGZvciB1cy4KCjIwMDktMDQtMDkgMTI6MTM6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGJlZ2lubmluZ3Mgb2YgcHVsbC1iYXNlZCBzY2hlZHVsaW5nCgoyMDA5LTA0LTA4IDE4OjE3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGtlZXAgdHJhY2sgb2YgY2xvY2sgcmVzZXQKCSAgd2hlbiB3ZSBzd2l0Y2ggc3RyZWFtcywgdGhlIGNsb2NrIHdpbGwgcmVzZXQgdG8gMC4gTWFrZSBzdXJlIHRoYXQgdGhlIHByb3ZpZGVkCgkgIGNsb2NrIGRvZXNuJ3QgZ2V0IHN0dWNrIHdoZW4gdGhpcyBoYXBwZW5zIGJ5IGtlZXBpbmcgYW4gaW5pdGlhbCBvZmZzZXQuIFdlIGFsc28KCSAgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBzdWJ0cmFjdCB0aGlzIG9mZnNldCBpbiBzYW1wbGVzIHdoZW4gd3JpdGluZyB0byB0aGUKCSAgcmluZ2J1ZmZlci4KCjIwMDktMDQtMDggMTM6NTI6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZXdyaXRlIHB1bHNlc2luawoJICBEZXJpdmUgZnJvbSBCYXNlQXVkaW9TaW5rIGFuZCBpbXBsZW1lbnQgb3VyIGN1c3RvbSByaW5nYnVmZmVyIHRoYXQgbWFwcyB0byB0aGUKCSAgaW50ZXJuYWwgcHVsc2VhdWRpbyByaW5nYnVmZmVyLgoKMjAwOS0wNC0wOCAxMzo1MjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHJlbW92ZSBzb21lIHN0cmF5IGRlYnVnIGxpbmVzCgoyMDA5LTA0LTA5IDExOjMwOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiB1c2Ugc2xpZ2h0bHkgbW9yZSBhZGFwdGl2ZSBmb3JtdWxhIGZvciBRb1MKCSAgU2hvdWxkIHdvcmsgYXQgbGVhc3QgYSB0YWQgYmV0dGVyIGlmIHRoZSBkZWNvZGVyIGNhbid0IGtlZXAgdXAsIGFuZAoJICBzaG91bGQgYWxzbyBzcHJlYWQgZHJvcHBlZCBmcmFtZXMgYSBiaXQgbW9yZSBldmVubHkgb3ZlciB0aW1lLgoKMjAwOS0wNC0wNyAyMjozNTozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkb24ndCBsZWFrIHBhZC10ZW1wbGF0ZQoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAuCgoyMDA5LTA0LTA0IDIxOjE4OjU1ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDBlYTg5ZSB0byBiMzk0MWVhCgoyMDA5LTA0LTAxIDAxOjE1OjMxICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGFkZCBwZW5kaW5nX3NhbXBsZXMgc28gdGhhdCB3ZSBvbmx5IHVwZGF0ZSBzZWdtZW50J3MgbGFzdCBzdG9wIGFmdGVyIHJlYWxseSBzZW5kaW5nIHRoZSBzYW1wbGVzCgoyMDA5LTAzLTE1IDIxOjMxOjQ5ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgYWRkIGRlYnVnIGFuZCBhbiBhc3NlcnQKCjIwMDktMDMtMTUgMjE6MzA6MzIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGFkZCBkZWJ1Z2dpbmcKCjIwMDktMDMtMDMgMTA6MTQ6MDIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svYXVkaW90ZXN0c3JjLmZsYWM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGFkZCBhIHRlc3QgdG8gY2hlY2sgdGhhdCB3ZSBnZXQgYWxsIGRlY29kZWQgYnl0ZXMgZnJvbSBhIDEwLWJ1ZmZlciBhdWRpb3Rlc3RzcmMgZmxhYywgaW4gdGhlIGNhc2Ugb2Y6ICAtIGEgZnVsbCBkZWNvZGUgIC0gYSBkZWNvZGUgb2YgYSBzZWVrIGZvciB0aGUgZnVsbCBmaWxlICAtIGEgZGVjb2RlIG9mIGEgc2VlayBmb3IgYSBzbWFsbCBwYXJ0LCBzbWFsbGVyIHRoYW4gdGhlIGZpcnN0IGJ1ZmZlcgoJICBUaGUgdGVzdCBmYWlscyBiZWNhdXNlIGZsYWNkZWMgZHJvcHMgdGhlIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciBvbiBhIHNlZWsKCjIwMDktMDMtMDMgMTA6MDY6NTIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGNsaXBwaW5nIHNob3VsZCBhbHNvIHdvcmsgaWYgaXQncyBkb25lIG9uIHRoZSBmaXJzdCBidWZmZXIgc3RhcnRpbmcgYXQgMAoKMjAwOS0wNC0wNCAxNDo1NDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjhiM2Q5MSB0byBkMGVhODllCgoyMDA5LTA0LTAzIDA5OjU3OjE1ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L3F0ZGVtdXgvTEVHQUw6CgkgIEZpeCBncmFtbWFyLgoKMjAwOS0wNC0wMiAyMjo0MTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxsb3cgaHR0cDovLyBvbiB0aGUgcHJveHkgc2V0dGluZwoJICBBbGxvdyBhbmQgaWdub3JlIGh0dHA6Ly8gYXQgdGhlIHN0YXJ0IG9mIHRoZSBwcm94eSBzZXR0aW5nLCBsaWtlCgkgIHNvdXBodHRwc3JjLgoJICBGaXhlcyAjNTczMTczCgoyMDA5LTA0LTAyIDIxOjA4OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBsZWFrIHRoZSB1ZHBzcmMgcGFkCgkgIEZpeCBtZW1vcnkgbGVhayBpbiBydHNwc3JjIGJlY2F1c2Ugd2UgZGlkbid0IHVucmVmIHRoZSB1ZHBzcmMgcGFkLgoJICBTZWUgIzU3NzMxOAoKMjAwOS0wNC0wMSAxNzozMToxOCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGZpeCBsZW5ndGggZW5jb2RpbmcgaW4gcGFja2VkIGhlYWRlcnMuCgkgIEFzIGZvciB2b3JiaXMgcGF5bG9hZGVyOyB0aGlzIGJ5IGluc3BlY3Rpb24gaGFkIHRoZSBzYW1lIGJ1Zy4KCjIwMDktMDQtMDEgMTc6MjM6MzMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBpbiBwYWNrZWQgaGVhZGVycywgcHJvcGVybHkgZmxhZyBtdWx0aWJ5dGUgbGVuZ3Rocy4KCSAgSW4gdGhlIHNlcXVlbmNlIG9mIGhlYWRlciBsZW5ndGhzLCBmb3IgaGVhZGVycyA+MTI3IGJ5dGVzLCB3ZSB1c2UKCSAgbXVsdGlwbGUgYnl0ZXMgdG8gZW5jb2RlIHRoZSBsZW5ndGguIEJ5dGVzIG90aGVyIHRoYW4gdGhlIGxhc3QgbXVzdCBoYXZlCgkgIHRoZSB0b3AgKGZsYWcpIGJpdCBzZXQuCgoyMDA5LTA0LTAyIDAwOjIwOjAyICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiB3cml0ZSBSVkEyIGZyYW1lcyBjb250YWluaW5nIHBlYWsvZ2FpbiB2b2x1bWUgZGF0YQoKMjAwOS0wNC0wMiAwMDowNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogZGVtb3RlIHNvbWUgbG9nIG1lc3NhZ2UgZnJvbSBERUJVRyB0byBMT0cKCSAgQW5kIGxvZyBkZWNvZGVyIG9iamVjdC4KCjIwMDktMDQtMDEgMjE6MTU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGltcGxlbWVudCBiYXNpYyBRb1MKCSAgRG9uJ3QgZGVjb2RlIGZyYW1lcyB0aGF0IGFyZSBnb2luZyB0byBiZSB0b28gbGF0ZSBhbnl3YXkuCgoyMDA5LTA0LTAxIDEyOjI2OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgZW1pdCB1Z2x5IHdhcm5pbmdzIHdpdGggb2xkZXIgcnRwaml0dGVyYnVmZmVyIHZlcnNpb25zCgkgIFRoZSBvbi1ucHQtc3RvcCBzaWduYWxzIHdhcyBhZGRlZCBvbmx5IHJlY2VudGx5IHRvIHJ0cGppdHRlcmJ1ZmZlciBpbgoJICAtYmFkLCBzbyBjaGVjayBpZiB0aGUgc2lnbmFsIGV4aXN0cyBiZWZvcmUgZ19zaWduYWxfY29ubmVjdCgpaW5nIHRvCgkgIGl0LCB0byBhdm9pZCB3YXJuaW5ncy4KCjIwMDktMDMtMzEgMTk6MDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHByb3h5IHN1cHBvcnQKCjIwMDktMDMtMzEgMTc6MTY6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGxlYWsgc2VyaWFsaXplZCB2YWx1ZXMgd2hlbiB3cml0aW5nIHRhZ3MKCjIwMDktMDMtMzEgMTc6MDY6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgYWx0ZXIgcGFzc2VkIGRhdGEgYW5kIGVzcGVjaWFseSBkb24ndCBsZWFrLgoJICBJZiB3ZSBuZWVkIGRpZmZlcmVudCBzaXplLCBNYWtlIGEgY29weSwgd29yayB3aXRoIHRoYXQgYW5kIGZyZWUgaXQuCgoyMDA5LTAzLTMxIDE2OjQyOjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiB0aGUgc3RydWN0dXJlIGlzIG5vdCBmdWxseSBpbml0aWFsaXplZCwgYnV0IHRoZSBjb3BpZWQuCgkgIFNldCB0byBmdWxseSB0byAwIHRvIGF2b2lkIGNyZWVwIG9mIHVuaW5pdGlhbGl6ZWQgdmFsdWVzLgoKMjAwOS0wMy0zMSAxNjoyNTo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogaW5pdCBlbmRpYW5lc3MgYXMgc3VjaCBhbmQgc2lnbmVkbmVzcyBhcyBib29sZWFuLgoKMjAwOS0wMy0zMSAxNjoyMjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgaW5pbml0aWFsaXplZCB2YXIgaW4gZGVidWcgbG9nIHN0YXRlbWVudAoJICBBbHNvIG1ha2UgdGhlIGxvZyBzdGF0ZW1lbnQgdXNlZnVsIGJ5IHByaW50aW5nIHRoZSBodW1hbiByZWFkYWJsZSBmb3JtYXQgbmFtZS4KCjIwMDktMDMtMzEgMTI6MDE6MjEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgbGVhayBhdG9tIGRhdGEgaW4gY2FzZSBvZiBhIHdyb25nIGZvdXJjYwoKMjAwOS0wMy0zMSAxMTo1NzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBsZWFrIHJlYWQgZGF0YSBpbiBkZW11eGVyCgoyMDA5LTAzLTMxIDExOjUwOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBkb24ndCB1c2UgcHJvdG9jb2wgaW4gZGVidWcgbWVzc2FnZSBhZnRlciBmcmVlaW5nCgoyMDA5LTAzLTMwIDE0OjEwOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogb3V0cHV0IHNob3VsZCBiZSBmcmFtZWQgYWxyZWFkeQoKMjAwOS0wMy0yNyAyMToxNzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWM6IHJlcXVpcmUgYSAnbmV3ZXInIGZsYWMgYW5kIHJlbW92ZSBzdXBwb3J0IGZvciB0aGUgbGVnYWN5IGZsYWMgQVBJCgoyMDA5LTAzLTI3IDE3OjQ4OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBsaW5rIHRvIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gRU9TCgkgIENvbm5lY3QgdG8gdGhlIG9uX25wdF9zdG9wIHNpZ25hbCBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIHNjaGVkdWxlIHRoZSBFT1MKCSAgYWN0aW9ucy4KCjIwMDktMDMtMjYgMTQ6Mzk6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb21lIHN0cmVhbSBzeW5jaHJvbml6YXRpb24gdG8gYWlkIHNlZWtpbmcgaW4gdW5iYWxhbmNlZCBjbGlwcwoJICBTb21lIGNsaXBzICh0cmFpbGVycykgbWF5IGhhdmUgKGxlbmd0aC13aXNlKSB1bmJhbGFuY2VkIHN0cmVhbXMsCgkgIHdoaWNoIHN0YWxscyB0aGUgcGlwZWxpbmUgaWYgc2Vla2luZyBpbnRvIHRoYXQgcmVnaW9uLgoJICBBZGRpdGlvbmFsIHN0cmVhbSBzeW5jaHJvbml6YXRpb24gY2FuIGhhbmRsZSB0aGlzLCBhcyB3ZWxsIGFzCgkgIHNwYXJzZSAoc3VidGl0bGUpIHN0cmVhbXMgKGF0IHNvbWUgbGF0ZXIgdGltZSA/KQoKMjAwOS0wMy0yNiAxMDozMToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZGl0aW9uYWwgc2FmZXR5IGFuZCBzYW5pdHkgY2hlY2tzIChwdXNoIGJhc2VkIG1vZGUpCgoyMDA5LTAzLTI2IDEwOjE4OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBzb21lIG1vcmUgaW5kZW50IGZpeGVzCgoyMDA5LTAzLTI0IDE2OjAwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaXggZ3N0LWluZGVudCBzY3Jld3VwCgoyMDA5LTAzLTI1IDE3OjU0OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcnRzcHNyYzogYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgUlRTUCBleHRlbnNpb24gZm9yIFJlYWwgc3RyZWFtcyBpcyBtaXNzaW5nCgkgIFRyeSB0byBwb3N0IGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugd2hlbiBpdCBsb29rcyBsaWtlIHdlJ3JlIGZhaWxpbmcKCSAgYmVjYXVzZSB0aGUgUmVhbCBSVFNQIGV4dGVuc2lvbiBwbHVnaW4gaXMgbWlzc2luZy4gQWxzbyBhZGQgaTE4bgoJICBiaXRzIGZvciBydHNwc3JjIHNvIG91ciBlcnJvciBtZXNzYWdlcyBnZXQgdHJhbnNsYXRlZC4KCjIwMDktMDMtMjUgMTU6NDI6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIGkxOG46IG1ha2Ugc3VyZSBnZXR0ZXh0IGdpdmVzIHVzIFVURi04IGF0IGFsbCB0aW1lcwoKMjAwOS0wMy0yNSAwMToyODozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheSxydHBtcDRkZXBheTogZml4IGJ1ZmZlciBsZWFrcyBpbiBBQUMgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcgoKMjAwOS0wMy0yNSAwMToyMjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheTogd2FybiBpZiBpbnB1dCBpcyB1bmZyYW1lZAoKMjAwOS0wMy0yMiAyMToyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogcHV0IEdzdFNlZ21lbnQgaW5zaWRlIHRoZSBlbGVtZW50IHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgaXQgc2VwYXJhdGVseQoKMjAwOS0wMy0yNSAxMDowODo0MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IG1vdmUgZHVwbGljYXRlZCB0aW1lc3RhbXBpbmcgYW5kIGJ1ZmZlciBtZXRhZGF0YSBjb2RlIHRvIF9jcmVhdGUoKQoJICBUaGlzIHdpbGwgaW5jbHVkZSB0aGUgbGF0ZW5jeSBjaGFuZ2VzIGFsc28gaW4gdGhlIG1tYXAgY2FzZS4KCjIwMDktMDMtMjUgMTA6MDY6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiByZW1vdmUgd2luMzIgaWZkZWZzIGludHJvZHVjZWQgYnkgY29tbWl0IGNmZjNmNDY3NjBlYWM3NGM5YmJkN2EzNmFjYTQ0ZmVkZjMyNzQyNGIKCSAgVjRsMnNyYyBpcyB1bmRlciBzeXMgYW5kIGRvZXMgbm90IGV4aXN0cy9ydW4gdW5kZXIgd2luZG93cyBhbnl3YXkuCgoyMDA5LTAzLTI0IDE1OjQ0OjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIEZMVVNIX1NUT1AgZXZlbnQKCSAgQ2xlYW4gdXAgc29tZSBzdGF0ZSAobW9zdCBub3RhYmx5IHBhZCBmbG93IHJldHVybnMpIHRvIHJlc3VtZQoJICBwcm9wZXIgc3RyZWFtaW5nIGZvbGxvd2luZyBmbHVzaGluZyBzZWVrLgoKMjAwOS0wMy0yNCAxMjo0MjoxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHBvc3QgYW4gZXJyb3IgaWYgRU9TIGNhbid0IGJlIHB1c2hlZCBkb3duc3RyZWFtLgoJICBUaGlzIGFsaWducyBhdmlkZW11eCB3aXRoIG90aGVyIGRlbXV4ZXJzIGFuZCBmaXhlcyBhIGJ1ZyB1c2luZyBhdmlkZW11eAoJICB3aXRoIGEgcmVjZW50IGdub25saW4uCgoyMDA5LTAzLTIzIDExOjIyOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNsZWFuIHVwIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgTWFrZSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGEgYml0IG1vcmUgcmVhZGFibGUgYW5kIG9ubHkgcGF1c2UgYWZ0ZXIgdGhlCgkgIHBhcmVudCBoYWQgYSBjaGFuZ2UgdG8gcGF1c2UgZmlyc3QuCgoyMDA5LTAzLTA5IDIzOjQzOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW06IG5vIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zCgoyMDA5LTAzLTIwIDE3OjIyOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3VwcG9ydCBzZWVraW5nIGluIHB1c2ggYmFzZWQgbW9kZQoKMjAwOS0wMy0yMCAxNzoxMTozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsaWduIHB1c2ggYmFzZWQgYmVoYXZpb3VyIG1vcmUgd2l0aCBwdWxsIGJhc2VkCgkgIENhdGVyIGZvciBERUxUQV9VTklUIGZsYWcgb24gYnVmZmVycywga2VlcCB0cmFjayBvZiBjdXJyZW50CgkgIHBvc2l0aW9uLCByZW1vdmUgYW5kIHdhcm4gYWJvdXQgZWRpdCBsaXN0cyBpZiBhbnkgKGFzIHRob3NlCgkgIGFzIGFyZSBkZSBmYWN0byBkaXNjYXJkZWQgYW55d2F5KSwgYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoJICBhbmQgaW5kZW50IGZpeGVzLgoKMjAwOS0wMy0yMCAxNzowMzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBtZW0gbGVha3MgYW5kIHByZXZlbnQgZXhjZXNzaXZlIGJ1ZmZlcmluZyBpbiBwdXNoIGJhc2VkIG1vZGUKCjIwMDktMDMtMjAgMTM6Mjc6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IFRyYWNrIHRoZSBjb3JrZWQvdW5jb3JrZWQgc3RhdGUgb3Vyc2VsdmVzCgkgIFVzZSBhbiBpbnN0YW5jZSB2YXJpYWJsZSB0byB0cmFjayB3aGV0aGVyIHRoZSBzdHJlYW0gaXMgY29ya2VkIG9yIG5vdCwKCSAgaW5zdGVhZCBvZiB1c2luZyBQQSBBUEkgdGhhdCB3YXMgb25seSBpbnRyb2R1Y2VkIGluIDAuOS4xMQoKMjAwOS0wMy0xOSAxODozOTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogTWFrZSBzdXJlIHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQgaW4gdGhlIHdyaXRlIGZ1bmN0aW9uCgkgIElmIHRoZSBjYXBzIGNoYW5nZXMsIHRoZSBzaW5rIGlzIHJlc2V0IHdpdGhvdXQgdHJhbnNpdGlvbmluZyB0aHJvdWdoCgkgIGEgUEFVU0VELT5QTEFZSU5HIHN0YXRlIGNoYW5nZSwgcmVzdWx0aW5nIGluIGEgY29ya2VkIHN0cmVhbS4gVGhpcyBhdm9pZHMKCSAgdGhlIHByb2JsZW0gYnkgY2hlY2tpbmcgdGhhdCB0aGUgc3RyZWFtIGlzIHVuY29ya2VkIHdoZW4gd3JpdGluZyBzYW1wbGVzCgkgIHRvIGl0LgoKMjAwOS0wMy0yMCAwMTowMjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGZpeCBkaXJlY3Rpb24gb2YgbGF0ZW5jeSBxdWVyeSBhbmQgb3RoZXIgdXBzdHJlYW0gcXVlcmllcwoJICBEb24ndCBzZW5kIHF1ZXJpZXMgYmFjayB0byB0aGUgZWxlbWVudCB0aGV5IGp1c3QgY2FtZSBmcm9tIGJ5IHNlbmRpbmcKCSAgdGhlbSB0byB0aGUgcGVlciBvZiB0aGUgd3JvbmcgcGFkLgoKMjAwOS0wMy0xOSAxMToxMDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZQoKMjAwOS0wMy0xOCAxNjo1NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGRvbid0IGFwcGVuZCBhbiBleHRyYSAwIGJ5dGUgdG8gdGhlIGNvZGVjIGRhdGEKCSAgVGhlIGF1ZGlvTXV4VmVyc2lvbiBzdHJ1Y3R1cmUgaXMgcGFja2VkIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGUgY29kZWMKCSAgZGF0YSBkb2VzIG5vdCBzdGFydCBieXRlLWFsaWduZWQsIHdoaWNoIG1lYW5zIHRoZXJlJ3MgYW4gZXh0cmEgYml0IG9mCgkgIHBhZGRpbmcgYXQgdGhlIGVuZC4gV2UgZG9uJ3Qgd2FudCB0aGF0IGJpdCBpbiB0aGUgY29kZWMgZGF0YSwgc2luY2UKCSAgc29tZSBkZWNvZGVycyBzZWVtIGdldCBjb25mdXNlZCB3aGVuIHRoZXkncmUgZmVkIHdpdGggYW4gZXh0cmEgY29kZWMKCSAgZGF0YSBieXRlIChhbHNvIGl0J3MganVzdCBub3QgcmlnaHQgb2YgY291cnNlKS4KCjIwMDktMDMtMTkgMTM6MjU6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCBiYXNlNjQgZGVjb2RpbmcKCSAgV2UgY2FuJ3QgcGFzcyAtMSB0byBfZGVjb2RlX3N0ZXAsIHRoYXQgZnVuY3Rpb25zIHJldHVybnMgMCByaWdodCBhd2F5IGluc3RlYWQgb2YKCSAgZGVjb2RpbmcgdXAgdG8gdGhlIHN0cmluZyBlbmQuCgoyMDA5LTAzLTE5IDEzOjI0OjAyICswMTAwICBEYXZpZCBBZGFtIDx6YW5jaGV5IGF0IHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEZpeCBidWlsZCBpZiBvbiBTb2xhcmlzCgkgIFRoaXMgcGF0Y2ggY2hlY2tzIGZvciBTb2xhcmlzIGFuZCB1c2VzIGlwX21yZXEgaW5zdGVhZCBvZiBpcF9tcmVxbiBpZiBvbiB0aGlzCgkgIHBsYXRmb3JtLgoJICBGaXhlcyAjNTc1OTM3LgoKMjAwOS0wMy0xOCAxNDo1MDoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHA6IFVzZSBHTGliIGZ1bmN0aW9ucyBmb3IgZW5jb2RpbmcvZGVjb2RpbmcgYmFzZTY0CgoyMDA5LTAzLTE2IDE5OjE3OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBkZWJ1ZyBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgV2hlbiB0aW1lc3RhbXBpbmcgaW4gVENQIG1vZGUsIGxvZyB0aGUgZmlyc3QgdGltZXN0YW1wIHdlIHB1dCBvbiB0aGUgYnVmZmVycy4KCjIwMDktMDMtMTUgMjM6MjY6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbG9nIGRldGFpbHMgaWYgd2UgaGF2ZSB0aGVtLCBuZWVkZWQgZm9yICM1NzUzOTEKCjIwMDktMDMtMTMgMTg6MzI6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGNvbnZlcnQgXyBpbiBwcm9wZXJ0aWVzIHRvIC0KCSAgLS0KCjIwMDktMDMtMTMgMTg6Mjg6NTkgKzAxMDAgIEVkZ2FyIEUuIElnbGVzaWFzIDxlZGdhci5pZ2xlc2lhc0BnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBBZGQgbmV0d29yayBpbnRlcmZhY2Ugc2VsZWN0aW9uCgkgIEFkZCBuZXR3b3JrIGludGVyZmFjZSBzZWxlY3Rpb24gd2hlbiBqb2luaW5nIG11bHRpY2FzdCBncm91cHMuCgkgIFVzZWZ1bCB3aGVuIHVzaW5nIHRoZSB1ZHBzcmMgb24gbXVsdGlob21lZCBob3N0cy4KCSAgRml4ZXMgIzU3NTIzNC4KCSAgQVBJOiBHc3RVRFBTcmM6Om11bHRpY2FzdC1pZmFjZQoKMjAwOS0wMy0xMyAxNTo0Mzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBQcmVwZW5kIHRvIGxpc3RzIGFuZCByZXZlcnNlIHRoZW0gYXQgdGhlIGVuZC4KCSAgR3JhdHVpdG91cyBtaWNyby1vcHRpbWlzYXRpb24gLSBwcmVwZW5kIHRvIGxpc3RzIGFuZCByZXZlcnNlIHRoZW0sIHJhdGhlcgoJICB0aGFuIGFwcGVuZGluZyB0byB0aGVtIGVhY2ggdGltZS4KCjIwMDktMDMtMTMgMTU6NDA6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBXYWl0IHVudGlsIHRoZXJlIGlzIGVub3VnaCByb29tIHRvIHdyaXRlIGFuIGVudGlyZSBzZWdtZW50CgkgIFdoZW4gdHJ5aW5nIHRvIHdyaXRlIG91dCBhIHNlZ21lbnQsIHdhaXQgdW50aWwgdGhlcmUgaXMgZW5vdWdoIGZyZWUgc3BhY2UKCSAgZm9yIHRoZSBlbnRpcmUgc2VnbWVudC4gVGhpcyBoZWxwcyB0byByZWR1Y2UgcmlwcGxlIGluIHRoZSBjbG9jayByZXBvcnRpbmcsCgkgIHdoZXJlIHRoZSBhcHAgbWlnaHQgcXVlcnkgdGhlIHBsYXliYWNrIHBvc2l0aW9uIHdoaWxlIG9ubHkgaGFsZiBhIHNlZ21lbnQKCSAgaGFzIGJlZW4gd3JpdHRlbiAoYW5kIGlzIHRoZXJlZm9yZSByZXBvcnRlZCBieSBfZGVsYXkoKSwgZXZlbiB0aG91Z2gKCSAgdGhlIHJpbmcgYnVmZmVyIGhhcyBub3QgeWV0IGJlZW4gYWR2YW5jZWQpCgoyMDA5LTAzLTEyIDIwOjM4OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBzZW5kIFBBVVNFIHdoZW4gbm90IGNvbm5lY3RlZAoJICBkb24ndCBzZW5kIGEgUEFVU0UgcmVxdWVzdCB3aGVuIHdlIGFyZSBubyBsb25nZXIgY29ubmVjdGVkLgoKMjAwOS0wMy0xMiAxNjoxMDoyNSArMDEwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIERvbid0IGNhbGwgRkxBQ19fIG1ldGhvZHMgYmVmb3JlIGl0J3MgaW5pdGlhbGl6ZWQuIEZpeGVzICM1MTYwMzEKCSAgSW4gdGhlIGV2ZW50IGhhbmRsZXIsIGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KCksIHR3byBmdW5jdGlvbnMgYXJlIGNhbGxlZCBvbgoJICB0aGUgRkxBQyBzdHJlYW0gd2l0aG91dCBjaGVja2luZyBpZiBpdCBoYXMgYmVlbiBpbml0aWFsaXplZDoKCSAgRkxBQ19fc3RyZWFtX2RlY29kZXJfZmx1c2goKQoJICBGTEFDX19zdHJlYW1fZGVjb2Rlcl9wcm9jZXNzX3VudGlsX2VuZF9vZl9zdHJlYW0oKQoJICBCb3RoIHRoZXNlIEZMQUNfXyooKSBmdW5jdGlvbnMgbW9kaWZ5IHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgRkxBQyBzdHJlYW0uCgkgIExhdGVyLCB3aGVuIHRoZSBidWZmZXJzIHN0YXJ0IGZsb3dpbmcsIGdzdF9mbGFjX2RlY19jaGFpbigpIHRyaWVzIHRvIGluaXRpYWxpemUKCSAgdGhlIHN0cmVhbS4gdGhlIEZMQUNfX3N0cmVhbV9kZWNvZGVyX2luaXRfc3RyZWFtKCkgY2FsbCB3aWxsIGZhaWwgYmVjYXVzZSB0aGUKCSAgcHJldmlvdXMgY2FsbHMgdG8gRkxBQ19fKigpIGNoYW5nZWQgdGhlIHN0cmVhbSBzdGF0ZSBzbyBpdCBpcyBubyBsb25nZXIgaW4gdGhlCgkgIGluaXRpYWxpemVkIHN0YXRlLgoKMjAwOS0wMy0xMSAxNzo1OTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHRpbWVvdXQgY2hlY2sKCSAgLS0tCgoyMDA5LTAzLTExIDEyOjQ4OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogdXBkYXRlIE1BTklGRVNULCBmaXhpbmcgJ21ha2UgZGlzdCcKCSAgY29uZmlnLmguaW4gbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMDktMDMtMTAgMjE6MTQ6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgIG1ha2VmaWxlOiBmaXggdHlwbyBpbiBuby1zdGF0aWMgcGx1Z2lucyBydWxlCgoyMDA5LTAzLTEwIDExOjAxOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiB2YXJpb3VzIGNsZWFudXBzLgoJICBNYWtlIHNvbWUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBGaXggYSBsZWFrIHdoZW4gcHVsbCByYW5nZSByZXR1cm5zIGEgc2hvdCBidWZmZXIuCgkgIFB1c2ggRU9TIGFmdGVyIHBvc3RpbmcgdGhlIGVycm9yLgoKMjAwOS0wMy0xMCAxMDoxNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgZ3N0cnRwdm9yYmlzZGVwYXk6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDMtMDEgMTc6Mzc6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgbTQgZGlyZWN0b3J5CgoyMDA5LTAzLTA5IDIzOjEyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDcwMzIxNjMgdG8gZjhiM2Q5MQoKMjAwOS0wMy0wOSAxODowNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgdm9yYmlzZGVwYXk6IGZpeCBzb21lIGxlYWtzCgkgIEFuZCBsZWFrIHRoZSBjb2RlYm9va3MuCgkgIFVzZSBnbGliIGJhc2U2NCBkZWNvZGVycy4KCSAgVXNlIHN1YmJ1ZmZlcnMgdG8gYXZvaWQgYSBtZW1jcHkgb2YgdGhlIGhlYWRlcnMuCgoyMDA5LTAzLTA5IDE3OjE0OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGRvbid0IGxvc2UgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciBhIHNlZWsKCSAgVGhlIGZsYWNkZWMgQVBJIGNhbGxzIHRoZSB3cml0ZSBjYWxsYmFjayB3aGVuIHBlcmZvcm1pbmcgYSBzZWVrLiBXZSBjYW5ub3QgeWV0CgkgIHB1c2ggb3V0IGEgYnVmZmVyIGF0IHRoYXQgdGltZSBzbyB3ZSBtdXN0IGtlZXAgaXQgYW5kIHB1c2ggaXQgb3V0IGxhdGVyLgoJICBGbHVzaCBvdXQgdGhlIHVwc3RyZWFtIHBhcnQgb2YgdGhlIHBpcGVsaW5lIHdoZW4gZG9pbmcgYSBzZWVrLgoJICBGaXhlcyAjNTc0Mjc1LgoKMjAwOS0wMy0wOSAxNToyMDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2FuaXRpemUgdGFnIG5hbWVzCgkgIFNhbml0aXplIHRoZSB0YWcgbmFtZXMgYmVmb3JlIHR1cm5pbmcgdGhlbSBpbnRvIGEgc3RydWN0dXJlIG5hbWUuIFdlIGNhbiBvbmx5CgkgIGFkZCBhbHBoYW51bWVyaWMgdmFsdWVzIGFzIHRoZSBzdHJ1Y3R1cmUgbmFtZS4KCjIwMDktMDMtMDggMTI6MDQ6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZmE3MzhkIHRvIDcwMzIxNjMKCjIwMDktMDMtMDggMTE6MTk6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZjEzZTRlIHRvIGZmYTczOGQKCjIwMDktMDMtMDcgMTE6NDU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzYzc0NTZiIHRvIDNmMTNlNGUKCjIwMDktMDMtMDcgMTA6NDU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4M2YyIHRvIDNjNzQ1NmIKCjIwMDktMDMtMDYgMjE6NTY6MjYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IHBhZHMsIHNvIHRoYXQgdGhleSBhcmUgc3Vic2V0IG9mIHRlbXBsYXRlIGNhcHMKCSAgRG8gbm90IGFkZCB3PTAgfCBoPTAuIFdoZW4gd2UgY2FuJ3QgZ2V0IGEgZnJhbWVyYXRlIGFkZCBmcmFjdGlvbiByYW5nZS4KCjIwMDktMDMtMDUgMTQ6MDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZml4IHJhbmdlIHBhcnNpbmcKCSAgRml4IHBhcnNpbmcgb2YgdGhlIHJhbmdlIGhlYWRlcnMuCgoyMDA5LTAyLTEwIDE3OjIwOjU3ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJICBNb3ZlIHNpcmVuIHJ0cCBwYXkvZGVwYXkgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodAoKMjAwOS0wMy0wNCAxNjoyNTozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIGluIGNsb3NlCgkgIENsb3NlIHRoZSBjb25uZWN0aW9uIGV2ZW4gd2hlbiB3ZSBmYWlsIHRvIHNlbmQgdGhlIHRlYXJkb3duIG1lc3NhZ2UuCgkgIFVzZSB0aGUgY29ubmVjdGlvbiB1cmwgKHdoaWNoIGlzIGEgY29weSBvZiB0aGUgc3JjIHVybCkuCgoyMDA5LTAzLTA0IDE2OjE1OjA1ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogZ3N0LXBsdWdpbnMtZ29vZC5zdXBwIG5lZWRzIHRvIGJlIGRpc3RyaWJ1dGVkLgoKMjAwOS0wMy0wNCAxMjoyOTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGRvLXJ0Y3AgcHJvcGVydHkgZGVzY3JpcHRpb24KCSAgLS0tCgoyMDA5LTAzLTAzIDEyOjIwOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEV4cG9zZSB0aGUgU291cFNlc3Npb24gJ3RpbWVvdXQnIHByb3BlcnR5LgoKMjAwOS0wMy0wMiAxNTowNzoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSB0aGUgbTQvIGRpcmVjdG9yeQoKMjAwOS0wMy0wMiAxNzoxODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBBZGQgc3VwcG9ydCBmb3IgbW9yZSBmb3JtYXRzCgkgIEhhY2sgYXJvdW5kIHNob3J0IGhlYWRlciBtcGVnNCB2aWRlbyBmaWxlcyBhbmQgcHV0IHRoZSBzaG9ydCBoZWFkZXIgYXMgdGhlCgkgIGNvbmZpZyBzdHJpbmcuCgkgIEZpeGVzICM1NzI1NTEuCgoyMDA5LTAzLTAyIDE2OjA4OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc3VwcG9ydCBmb3IgaHR0cCB0dW5uZWxpbmcKCSAgQWRkIHN1cHBvcnQgZm9yIGh0dHAgdHVubmVsaW5nIGFuZCBhIG5ldyBydHNwaDovLyB1cmkgZm9yIGl0LgoJICBTZWUgIzU3MzE3My4KCjIwMDktMDMtMDIgMDk6NDM6MzAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdGhvbWFzdnNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QKCjIwMDktMDMtMDIgMDg6NDE6MTUgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEFkZC9jbGFyaWZ5L2ZpeCBzb21lIGxvZ2dpbmcuCgoyMDA5LTAzLTAxIDEyOjQ3OjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgaGFyZGNvZGVkIGRlZmluaXRpb24gb2YgT0JKQwoKMjAwOS0wMy0wMSAxOTo1NToyNiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgV2FpdCBmb3IgYSBmcmFtZSB0byBiZWNvbWUgYXZhaWxhYmxlIGJlZm9yZSBjYXB0dXJpbmcgaXQKCSAgVXNlIEdzdFBvbGwgdG8gd2FpdCBmb3IgdGhlIGZkIG9mIHRoZSB2aWRlbyBkZXZpY2UgdG8gYmVjb21lIHJlYWRhYmxlIGJlZm9yZQoJICB0cnlpbmcgdG8gY2FwdHVyZSBhIGZyYW1lLiBUaGlzIHNwZWVkcyB1cCBzdG9wcGluZyB2NGwyc3JjIGEgbG90IGFzIGl0IG5vCgkgIGxvbmdlciBoYXMgdG8gd2FpdCBmb3IgdGhlIG5leHQgZnJhbWUsIGVzcGVjaWFsbHkgd2hlbiBjYXB0dXJpbmcgd2l0aCBsb3cKCSAgZnJhbWVyYXRlcyBvciB3aGVuIHRoZSB2aWRlbyBkZXZpY2UganVzdCBuZXZlciBnZW5lcmF0ZXMgYSBmcmFtZSAod2hpY2ggc2VlbXMgYQoJICBjb21tb24gaXNzdWUgZm9yIHV2Y3ZpZGVvIGRldmljZXMpCgkgIEZpeGVzIGJ1ZyAjNTYzNTc0LgoKMjAwOS0wMi0xNCAxNzo1NjowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWMsIG11bGF3ZGVjOiBkZW1vdGUgc29tZSBkZWJ1ZyBtZXNzYWdlcyBmcm9tIEVSUk9SIHRvIFdBUk5JTkcgb3IgREVCVUcKCSAgTm9uLW9rIGZsb3cgcmV0dXJucyBtYXkgaGFwcGVuIGZvciBhIHZhcmlldHkgb2YgcGVyZmVjdGx5IGxlZ2l0aW1hdGUgYW5kIGV4cGVjdGVkIHJlYXNvbnMKCSAgKHRlbXBvcmFyaWx5IG5vdCBsaW5rZWQsIHNlZWtpbmcsIHBpcGVsaW5lIHNodXRkb3duKSwgc28gd2UgcmVhbGx5IHNob3VsZG4ndCBzcGV3IEVSUk9SCgkgIGRlYnVnIG1lc3NhZ2VzIHRvIHN0ZGVyciBpbiB0aG9zZSBjYXNlcy4gRml4ZXMgIzU3MDc4MS4gKFNlZW1zIGxpa2Ugc29tZW9uZSBhbHJlYWR5IHRvb2sKCSAgY2FyZSBvZiBzb21lIG9mIHRoZXNlLikKCjIwMDktMDItMjggMTU6MjY6MDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogSW1wcm92ZSBsb2cgbWVzc2FnZSBmb3IgcGVhayB2YWx1ZXMgPjEuMCBieSBjbGFtcGluZyBleHBsaWNpdGx5LgoKMjAwOS0wMi0yNyAyMzoyNTozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgRml4IHRoZSBmaWVsZCBkb21pbmFuY2UKCSAgUEFMIGlzIFRGRiwgTlRTQyBpcyBCRkYuICBTb21lIGRheSBJIHdpbGwgbGVhcm4gdG8ga2VlcCB0aGlzCgkgIHN0cmFpZ2h0LgoKMjAwOS0wMi0yNyAyMDo0MDozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggdHlwZSBtaXNtYXRjaGVzCgkgIEZpeGVzIGJ1ZyAjNTczMzQzLgoKMjAwOS0wMi0yNyAyMDoyODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QKCjIwMDktMDItMjcgMjA6MjQ6NTMgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRG9uJ3Qgc2V0IGVycm5vIHRvIEVBRk5PU1VQUE9SVCB1bmNvbmRpdGlvbmFsbHkKCSAgRml4ZXMgYnVnICM1NzMzNDIuCgoyMDA5LTAyLTI3IDExOjE3OjUwIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBpZ25vcmUgb3V0LW9mLXJhbmdlIHBlYWsgdmFsdWVzCgkgIElmIHRoZSBwZWFrIHZhbHVlIGlzID4gMSAoYW5kIHRodXMgbm9uc2Vuc2ljYWwpIGlnbm9yZSBpdC4gUHJldmVudHMKCSAgcmd2b2x1bWUgcmVkdWNpbmcgdm9sdW1lIHRvIGVmZmVjdGl2ZWx5IHNpbGVudCBvbiBmaWxlcyB3aXRoIGJvZ3VzIHBlYWsKCSAgdmFsdWVzLgoKMjAwOS0wMi0yNyAxMzoyOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCBTRUVLIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZSwgYW5kIFNFRUtBQkxZIHF1ZXJ5IGhhbmRsaW5nCgkgIFN0YW5kYXJkIHB1bGwgbW9kZSBsb29wIGJhc2VkIFNFRUsgaGFuZGxpbmcgZmFpbHMgaW4gcHVzaCBtb2RlLAoJICBzbyBjb252ZXJ0IHRoZSBTRUVLIGV2ZW50IGFwcHJvcHJpYXRlbHkgYW5kIGRpc3BhdGNoIHRvIHVwc3RyZWFtLgoJICBBbHNvIGNhdGVyIGZvciBORVdTRUdNRU5UIGV2ZW50IGhhbmRsaW5nLCBhbmQgcHJvcGVybHkgaW5mb3JtCgkgIGRvd25zdHJlYW0gYW5kIGFwcGxpY2F0aW9uIG9mIFNFRUtBQkxFIGNhcGFiaWxpdGllcywgZGVwZW5kaW5nCgkgIG9uIHNjaGVkdWxpbmcgbW9kZSBhbmQgdXBzdHJlYW0uCgoyMDA5LTAyLTI3IDExOjA0OjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSBnc3RfdXRpbF9kdW1wX21lbSgpIGNhbGxzLgoKMjAwOS0wMi0yNiAxOTowNzozNSArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IFNFRUsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlCgkgIFdoZW4gaW4gcHVzaCBtb2RlIHdlIHNob3VsZCBub3QgdHJ5IHRvIGhhbmRsZSB0aGUgU0VFSyBldmVudCBhcyB0aGVyZSdzCgkgIG5vIGNvZGUgdG8gaGFuZGxlIGl0IHByb3Blcmx5LiBQcm9wYWdhdGUgdXBzdHJlYW0uCgoyMDA5LTAyLTI2IDE5OjA1OjA2ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHRoZSAuaCBmaWxlIGNoYW5nZSB0b28KCSAgQWRkIHRoZSAuaCBmaWxlIGNoYW5nZSBmb3IgdGhlIG5ldyBwcm9wZXJ0eS4KCjIwMDktMDItMjYgMTk6MDM6NTIgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgcHJvcGVydHkgdG8gZGlzYWJsZSBSVENQCgkgIFNvbWUgb2xkIHNlcnZlcnMgZG9uJ3QgbGlrZSB1cyBkb2luZyBSVENQIGFuZCB0aHVzIHdlIG5lZWQgYSBwcm9wZXJ0eSB0byBkaXNhYmxlCgkgIGl0LiBTZWUgIzU3MzE3My4KCjIwMDktMDItMjYgMTM6MTk6MzEgKzAxMDAgIEphbiBTbW91dCA8amFuIGRvdCBzbW91dCBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IGZpeCBnc3RfdWRwX3NldF9sb29wX3R0bCgpIGFnYWluCgkgIEZpeCB0aGUgZ3N0X3VkcF9zZXRfbG9vcF90dGwoKSBmdW5jdGlvbiB0aGF0IHdhcyBjb21tZW50ZWQgb3V0IGluIGEKCSAgcHJldmlvdXMgY29tbWl0LiBTZWUgIzU3MzExNS4KCjIwMDktMDItMjYgMTM6MDY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbwoJICBGYWlsIG9uIGludGVybGFjZWQgdmlkZW8gdW50aWwgd2Ugc3VwcG9ydCBpdC4KCjIwMDktMDItMjYgMTM6MDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvCgkgIERldGVjdCBhbmQgZmFpbCB3aGVuIHRyeWluZyB0byBwYXlsb2FkIGludGVybGFjZWQgdmlkZW8uCgoyMDA5LTAyLTI1IDIwOjQ3OjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQ2hhbmdlIGhvdyB3aW4zMi9jb21tb24vY29uZmlnLmggaXMgdXBkYXRlZAoJICBHZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmgtbmV3IGRpcmVjdGx5IGZyb20gY29uZmlnLmguaW4sCgkgIHVzaW5nIHNoZWxsIHZhcmlhYmxlcyBpbiBjb25maWd1cmUgYW5kIHNvbWUgaGFyZC1jb2RlZCBpbmZvcm1hdGlvbi4KCSAgQ2hhbmdlIHRvcC1sZXZlbCBtYWtlZmlsZSBzbyB0aGF0ICdtYWtlIHdpbjMyLXVwZGF0ZScgY29waWVzIHRoZQoJICBnZW5lcmF0ZWQgZmlsZSB0byB3aW4zMi9jb21tb24vY29uZmlnLmgsIHdoaWNoIHdlIGtlZXAgaW4gc291cmNlCgkgIGNvbnRyb2wuICBJdCdzIGtlcHQgaW4gc291cmNlIGNvbnRyb2wgc28gdGhhdCB0aGUgZ2l0IHRyZWUgaXMKCSAgYnVpbGRhYmxlIGZyb20gVlMuCgkgIFRoaXMgY2hhbmdlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSByZWNlbnRseSBhcHBsaWVkIHRvIEdTdHJlYW1lcgoJICBhbmQgZ3N0LXBsdWdpbnMtZ29vZC4gIFRoZSBwcmV2aW91cyBjb25maWcuaCBmaWxlIGluIC1nb29kIHdhcyBpbgoJICBwcmV0dHkgYmFkIHNoYXBlLCBzbyB1bmxpa2UgY29yZSBhbmQgYmFzZSwgSSBkaWRuJ3QgYXR0ZW1wdCB0bwoJICBsZWF2ZSBpdCBzdHJpY3RseSB0aGUgc2FtZSwgYnV0IGZpeGVkIGl0IGFzIG5lY2Vzc2FyeS4gIE5lZWRzCgkgIHRlc3RpbmcgSSBjYW5ub3QgZG8gbXlzZWxmLgoKMjAwOS0wMi0yNSAxOTo1ODoyOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIGR2ZGVjOiBBZGQgaW50ZXJsYWNpbmcgaW5mbyB0byBjYXBzIGFuZCBidWZmZXJzCgoyMDA5LTAyLTI1IDE0OjU3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IFVwZGF0ZSBzaGF2ZSBpbml0IHN0YXRlbWVudCBmb3IgY2hhbmdlcyBpbiBjb21tb24uIEJ1bXAgY29tbW9uLgoKMjAwOS0wMi0yNSAxNDowMToyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IGNvbXBpbGF0aW9uCgkgIEZpeCBjb21waWxhdGlvbiBvbiBzeXN0ZW1zIE1TR19FUlJRVUVVRSBhbmQgSVBfUkVDVkVSUi4KCjIwMDktMDItMTkgMjA6MTQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBlcnJvciBvdXQgaW5zdGVhZCBvZiBjcmFzaGluZyBpZiBubyBjYXBzIGhhdmUgYmVlbiBzZXQKCSAgRG9uJ3QgY3Jhc2ggaWYgd2UgcmVjZWl2ZSBhIGJ1ZmZlciB3aXRob3V0IGNhcHMuIEZpeGVzICM1NzI0MTMuCgoyMDA5LTAyLTI1IDExOjM1OjMxICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogTWFrZSBzdXJlIHRoZSBzb2NrYWRkciBsZW5ndGggdXNlZCBmb3IgcmVjdmZyb20oKSBpcyBiaWcgZW5vdWdoLgoJICBQcmV2aW91c2x5IHRoZSBzb2NrYWRkciBsZW5ndGggdXNlZCBmb3IgcmVjdmZyb20oKSB3YXMgY2FsY3VsYXRlZCBhcwoJICBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcikuIEhvd2V2ZXIsIHRoaXMgaXMgdG9vIGxpdHRsZSB0byBob2xkIGFuIElQdjYKCSAgYWRkcmVzcywgc28gdGhlIGZ1bGwgc2l6ZSBvZiB0aGUgZ3N0X3NvY2thZGRyIHVuaW9uIHNob3VsZCBiZSB1c2VkCgkgIGluc3RlYWQuCgoyMDA5LTAyLTI1IDExOjMyOjI4ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogVW5pZnkgdGhlIHVzZSBvZiB1bmlvbiBnc3Rfc29ja2FkZHIuCgoyMDA5LTAyLTI1IDExOjMyOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDljZjhjOWIgdG8gYTZjZTVjNgoKMjAwOS0wMi0yNSAxMjowNToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIGNyYXNoaW5nIG9uIHN1YnRpdGxlcwoJICBBdm9pZCBhIGNyYXNoIGluIGF2aSB3aXRoIHN1YnRpdGxlcyBieSBvbmx5IGRlcmVmZXJlbmNpbmcgdGhlIHZpZGVvIGRlc2NyaXB0aW9uCgkgIHdoZW4gd2UgYWN0dWFsbHkgYXJlIGRlYWxpbmcgd2l0aCB2aWRlbyBpbiB0aGUgX2ludmVydCBmdW5jdGlvbi4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMjQgMTc6NTg6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogRml4IHN0cmljdC1hbGlhc2luZyB3YXJuaW5ncyBmcm9tIGdjYyA0LjQuMAoJICBGaXggc3RyaWN0IGFsaWFzaW5nIHdhcm5pbmdzIGJ5IGRlZmluaW5nIGEgdW5pb24gb24gdGhlIGRpZmZlcmVudAoJICBzb2NrYWRkciBzdHJ1Y3RzIHRoYXQgd2UgbmVlZC4KCjIwMDktMDItMjQgMTc6MzU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gaDI2NCBwYXlsb2FkZXIKCSAgRml4IGFuIHVuZGVmaW5lZCBiZWhhdmlvdXIgd2FybmluZyBmcm9tIGdjYyA0LjQuMAoJICBQYXRjaCBCeTogVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzOiAjNTcwOTk1CgkgIFNpZ25lZC1PZmYtQnk6IEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKMjAwOS0wMi0yMiAxNzoyMzowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVzZSBzaGF2ZSBmb3IgdGhlIGJ1aWxkIG91dHB1dAoKMjAwOS0wMi0yNCAxNDo1NToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nc3RnY29uZi5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuaDoKCSAgZ2NvbmY6IFJlbmFtZSBnY29uZi5bY2hdIHRvIGdzdGdjb25mLltjaF0gdG8gcHJldmVudCBuYW1lIGNvbmZsaWN0cwoKMjAwOS0wMi0yNCAxNDo0MToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWxzbyB1c2UgIihjKWluZiIgdG8gZmlsbCB0aGUgY29tbWVudCB0YWcKCjIwMDktMDEtMjYgMTE6MDY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwZXJmb3JtIFVEUCBTRVRVUCBhY2NvcmRpbmcgdG8gTVMgUlRTUCBzcGVjCgkgIE1TIFJUU1Agc3BlYyBzdGF0ZXMgdGhhdCB0aGUgVURQIHBvcnQgcGFpciB1c2VkIGluIHN1YnNlcXVlbnQgU0VUVVAKCSAgcmVxdWVzdHMgZm9yIHZhcmlvdXMgc3RyZWFtcyBtdXN0IGJlIGlkZW50aWNhbCAoc2luY2UgdGhlcmUgd2lsbCBhY3R1YWxseQoJICBiZSBvbmx5IDEgc3RyZWFtIG9mIG11eGVkIGFzZiBwYWNrZXRzKS4gIEZvbGxvd2luZyB0cmFkaXRpb25hbCBzcGVjcyBhbmQKCSAgdXNpbmcgZGlmZmVyZW50IHBvcnQgcGFpcnMgaW4gdGhlIFNFVFVQcyBmb3Igc2VwYXJhdGUgc3RyZWFtcyB3aWxsIHJlc3VsdAoJICBpbiBhbGwgYnV0IHRoZSBmaXJzdCBvbmUgZmFpbGluZyBhbmQgb25seSBvbmUgc3RyZWFtIGJlaW5nIHN0cmVhbWVkLgoJICBTbywgaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcywgcmV0cnkgVURQIFNFVFVQIHVzaW5nIHByZXZpb3VzbHkgdXNlZAoJICBwb3J0IHBhaXIuICBGaXhlcyAjNTUyNjUwLgoKMjAwOS0wMi0yMyAyMDo0OTozNyArMDEwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBSZWFkIElDTVAgZXJyb3IgbWVzc2FnZXMgaW5zdGVhZCBvZiBsb29waW5nCgkgIFdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBjb25uZWN0ZWQgc29ja2V0cyBzaGFyZWQgYmV0d2VlbiBhIHVkcHNyYyBhbmQgYSB1ZHBzaW5rCgkgIHdlIG1pZ2h0IHJlY2VpdmUgSUNNUCBjb25uZWN0aW9uIHJlZnVzZWQgZXJyb3IgbWVzc2FnZXMgaW4gdWRwc3JjIHRoYXQgd2lsbAoJICBjYXVzZSBpdCB0byBnbyBpbnRvIGEgYnVyc3R5IGxvb3AgYmVjYXVzZSB0aGUgcG9sbCByZXR1cm5zIHJpZ2h0IGF3YXkgd2l0aG91dCBhCgkgIG1lc3NhZ2UgdG8gcmVhZC4KCSAgSW5zdGVhZCBvZiBsb29waW5nLCByZWFkIHRoZSBlcnJvciBtZXNzYWdlIGZyb20gdGhlIGVycm9yIHF1ZXVlIGluIHVkcHNyYy4KCSAgRml4ZXMgIzU2Nzg1Ny4KCjIwMDktMDItMjMgMTk6NTM6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIENvbmRpdGlvbmFsbHkgY29tcGlsZSBjb2RlIGZvciBZVllVCgkgIE9ubHkgY29tcGlsZSB0aGUgY29kZSBmb3IgdGhlIFlWWVUgZm9ybWF0IHdoZW4gdGhlIGZvcm1hdCBpcyBhY3R1YWxseSBkZWZpbmVkLgoJICBTcG90dGVkIGJ5IHRtYXR0aCBvbiBJUkMuCgoyMDA5LTAyLTE3IDExOjAxOjQ3IC0wODAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogTWFrZSBzb3J0X2J5X2ZyYW1lX3NpemUgY29uZGl0aW9uYWxseSBjb21waWxlZAoJICBzb3J0X2J5X2ZyYW1lX3NpemUgaXMgZGVjbGFyZWQgc3RhdGljIGFuZCBvbmx5IHVzZWQgaW5zaWRlCgkgIGFuIGlmZGVmLCBzbyB1c2UgdGhlIHNhbWUgaWZkZWYgdG8gZGVmaW5lIHRoZSBmdW5jdGlvbi4gIEZpeGVzICM1NzIxODUKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAyLTIzIDE3OjA1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGQgWVZZVSBmb3JtYXQgdG8gY2FwcwoJICBBZGQgWVZZVSBmb3JtYXQgdG8gdGhlIGNhcHMuIFdlIGRvbid0IGhhdmUgYW55dGhpbmcgdG8gaGFuZGxlIHRoZXNlIGNhcHMgeWV0LAoJICB0aG91Z2guCgoyMDA5LTAyLTIzIDE1OjQ4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIFNvbWUgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcy4KCSAgQXZvaWQgYSB1c2VsZXNzIF9yZXN5bmMgY2FsbC4KCSAgQ29ycmVjdGx5IHVzZSBhIGdib29sZWFuLgoKMjAwOS0wMi0yMyAxNTo0Mzo1MSArMDEwMCAgV2FpLU1pbmcgSG8gPHdhaW1pbmcgYXQgYWlsdXJvcG9kYSBkb3QgbmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIEFsd2F5cyBhZGQgUFBTIHRvIHRoZSBzcHJvcC1wYXJhbWV0ZXJzLXNldAoJICBSZXdvcmsgdGhlIHBhcnNpbmcgY29kZSB0aGF0IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyBkcm9wcGVkIHRoZSBQUFMgZnJvbQoJICB0aGUgc3Byb3AtcGFyYW1ldGVycy1zZXQuCgkgIEZpeGVzICM1NzI4NTQuCgoyMDA5LTAyLTIzIDEyOjE0OjIzICswMTAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBEb24ndCBkbyBjcmF6eSB0aGluZ3Mgd2l0aCAwLzEgZnJhbWVyYXRlcwoJICBXZSB1c2UgMC8xIGZyYW1lcmF0ZXMgdG8gbWFyayB2YXJpYWJsZSBmcmFtZXJhdGVzIGFuZCBtYXRyb3NrYW11eCBzaG91bGQgbm90IHRyeQoJICB0byBjYWxjdWxhdGUgYSBmcmFtZSBkdXJhdGlvbiBmb3IgaXQuCgkgIEZpeGVzICM1NzEyOTQuCgoyMDA5LTAyLTIzIDExOjQ1OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIG5ld2VyIGdzdC1wLWIgZm9yIHRoZSBSVFNQIGV4dGVuc2lvbnMuCgkgIC0tCgoyMDA5LTAyLTIzIDExOjQyOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBDYWxsIG5ldyByZWNlaXZlX3JlcXVlc3QgbWV0aG9kCgkgIENhbGwgdGhlIHJlY2VpdmVfcmVxdWVzdCBleHRlbnNpb24gbWV0aG9kcyBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGhhbmRsZSB0aGUKCSAgc2VydmVyIHJlcXVlc3QgaWYgdGhleSB3YW50LgoKMjAwOS0wMi0yMyAxMToxMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICBBZGQgbWV0aG9kIGZvciBoYWRsaW5nIHNlcnZlciByZXF1ZXN0cwoJICBBZGQgbWV0aG9kIHRvIGhhbmRsZSBzZXJ2ZXIgcmVxdWVzdHMgb24gdGhlIGxpc3Qgb2YgUlRTUCBleHRlbnNpb25zLgoKMjAwOS0wMi0xMyAxNDozOToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgRG9uJ3QgdXNlIEdTVF9FUlJPUiBmb3Igbm9uLWVycm9yIGNhc2VzLgoJICBUdXJuIGEgR1NUX0VSUk9SIGxpbmUgaW50byBhIEdTVF9ERUJVRyBsaW5lIHNvIHRoYXQgd2UgZG9uJ3Qgc3BhbSB0aGUgbG9nIHdpdGgKCSAgZXJyb3JzLiBGaXhlcyAjNTcwNzgxLgoKMjAwOS0wMi0yMiAxOTozMDozMiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBnY29uZnZpZGVvKHNyY3xzaW5rKTogRGlzY29ubmVjdCBHQ29uZiBub3RpZmljYXRpb25zCgkgIEZpeGVzIGJ1ZyAjNTcxMzIxLgoKMjAwOS0wMi0yMiAxOToyNTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5yZWYgdGhlIGJ1ZmZlciBhbmQgbm90IHRoZSBtZW1vcnkgYWRkcmVzcyBvZiB0aGUgYnVmZmVyCgoyMDA5LTAyLTIyIDE4OjQ3OjM1ICswMTAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBhbGF3L211bGF3OiBJbXBsZW1lbnQgX2dldGNhcHMgZnVuY3Rpb24gZm9yIGFsYXcvbXVsYXcgZGVjb2RlcnMKCSAgRml4ZXMgYnVnICM1NzIzNTguCgoyMDA5LTAyLTIyIDE4OjQ2OjAzICswMTAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBhbGF3L211bGF3OiBEb24ndCByZXF1aXJlIGJvdGgsIHJhdGUgYW5kIGNoYW5uZWwsIHRvIGJlIHNldCBpbiBfZ2V0Y2FwcwoJICBGaXhlcyBidWcgIzU3MjM1OC4KCjIwMDktMDItMjIgMTg6MzI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGFsaWdubWVudCBpc3N1ZXMgYnkgdXNpbmcgR1NUX1JFQURfKgoJICBSZWFkaW5nIGludGVnZXJzIGZyb20gcmFuZG9tIG1lbW9yeSBhZGRyZXNzZXMgd2lsbCByZXN1bHQKCSAgaW4gU0lHQlVTIG9uIHNvbWUgYXJjaGl0ZWN0dXJlcyBpZiB0aGUgbWVtb3J5IGFkZHJlc3MKCSAgaXMgbm90IGNvcnJlY3RseSBhbGlnbmVkLiBUaGlzIGNhbiBoYXBwZW4gYXQgdHdvCgkgIHBsYWNlcyBpbiBhdmlkZW11eCBzbyB3ZSBzaG91bGQgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRQoJICBhbmQgZnJpZW5kcyBoZXJlLiBGaXhlcyBidWcgIzU3MjI1Ni4KCjIwMDktMDItMjIgMTg6MDg6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlbWl4ZXI6IERvbid0IHVzZSBnX2F0b21pY19pbnRfKGdldHxzZXQpIGZvciBhY2Nlc3NpbmcgdGhlIG1peGVyIHRyYWNrIGZsYWdzCgkgIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgb25seSB3b3JrIG9uIGludHMgYW5kIHRoZSBmbGFncyBhcmUKCSAgYW4gZW51bSAod2hpY2ggb24gbW9zdCBhcmNoaXRlY3R1cmVzIGlzIHN0b3JlZCBhcyBhbiBpbnQpLgoJICBBbHNvIHRoZSB3YXkgdGhlIGZsYWdzIHdlcmUgYWNjZXNzZWQgYXRvbWljYWxseSB3b3VsZCBzdGlsbAoJICBsZWF2ZSBhIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9uIGFuZCB3ZSBkb24ndCBkbyBpdCBpbiBhbnkKCSAgb3RoZXIgbWl4ZXIgdHJhY2sgaW1wbGVtZW50YXRpb24sIGxldCBhbG9uZSBhdCBhbnkgb3RoZXIKCSAgcGxhY2Ugd2hlcmUgYW4gaW50ZWdlciBjb3VsZCBiZSBjaGFuZ2VkIGZyb20gZGlmZmVyZW50CgkgIHRocmVhZHMuIFJlbW92aW5nIHRoZSBnX2F0b21pY19pbnRfKGdldHxzZXQpIHdpbGwgb25seQoJICBpbnRyb2R1Y2UgYSBuZXcgcmFjZSBjb25kaXRpb24gb24gYXJjaGl0ZWN0dXJlcyB3aGVyZQoJICBpbnRlZ2VycyBjb3VsZCBiZSBoYWxmLXdyaXR0ZW4gd2hpbGUgcmVhZGluZyB0aGVtCgkgIHdoaWNoIHNob3VsZG4ndCBiZSB0aGUgY2FzZSBmb3IgYW55IG1vZGVybiBhcmNoaXRlY3R1cmUKCSAgYW5kIGlmIHdlIHJlYWxseSBjYXJlIGFib3V0IHRoaXMgd2UgbmVlZCB0byB1c2UKCSAgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBhdCBtYW55IG90aGVyIHBsYWNlcyB0b28uCgkgIEFwYXJ0IGZyb20gdGhhdCBnX2F0b21pY19pbnRfKHNldHxnZXQpIHdpbGwgcmVzdWx0IGluCgkgIGFsaWFzaW5nIHdhcm5pbmdzIGlmIHRoZWlyIGFyZ3VtZW50IGlzIGV4cGxpY2l0ZWx5CgkgIGNhc3RlZCB0byBhbiBpbnQgKi4gRml4ZXMgYnVnICM1NzExNTMuCgoyMDA5LTAyLTIyIDE1OjUyOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVkN2M5Y2MgdG8gOWNmOGM5YgoKMjAwOS0wMi0yMiAxMjo0MTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGhkdjEzOTRzcmM6IERvbid0IHVzZSB2b2lkICogcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAyLTIxIDExOjEzOjQzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODBjNjI3ZCB0byA1ZDdjOWNjCgoyMDA5LTAyLTIxIDE4OjQyOjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNC4xCgoyMDA5LTAyLTIwIDE4OjE2OjAyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIERvY3VtZW50IHJ0cGR0bWZkZXBheSBhIGJpdAoKMjAwOS0wMi0yMCAxNzo0MTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBNb3ZlZCBkdG1mIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0MDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IHVwIGRvY3VtZW50YXRpb24gYmxvYnMgU0dNTAoKMjAwOS0wMi0yMCAxNzozNzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTE4IDEzOjMwOjQ0IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBkaXJlY3RpdmUKCjIwMDgtMTItMDQgMjE6MjE6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtYXhpbXVtIGR1cmF0aW9uIHRvIGEgUlRQIERUTUYgZXZlbnQKCjIwMDgtMTItMDQgMjE6MTE6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wcm92ZSB0aGUgbWluaW11bSBxdWFudGEgdG8gbWFrZSBpdCBpbXBvc3NpYmxlIGZvciB0aGUgZHVyYXRpb24gdG8gZmFsbCBkb3duIHRvIDAKCjIwMDgtMTItMDEgMTg6MzE6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtaW5pbXVtIHNpemUgb2YgYSBzb3VuZCBxdWFudGEgaW4gdGhlIGR0bWYgZGVwYXlsb2FkZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjM3OjEwIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB3aWVyZCBjYXN0aW5nIG9mIHRoZSB2b2x1bWUgdG8gbWFrZSBNU1ZDIGhhcHB5CgoyMDA4LTEwLTE1IDE2OjIxOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlICJldmVudC10eXBlIiBmaWVsZCB3aGVuIHNwZWNpZnlpbmcgZHRtZiBldmVudHMKCjIwMDgtMDctMjIgMjE6Mzk6MzggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdfZGVidWdzCgkgIDIwMDgwNzIyMjEzOTM4LTNlMmRjLTQ0YTgyZDAxN2ZlNjZmMzExMjMwMWM0MTBhYTBiNTQzZGU2MTU2YWQuZ3oKCjIwMDgtMDYtMTMgMjM6NTc6MjMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSByYXRlIGZyb20gdGhlIHBlZXJzIGNhcHMgaWYgcG9zc2libGUKCSAgMjAwODA2MTMyMzU3MjMtM2UyZGMtMTU2OTBlZTQyNzA4YzUzOWUxYmUxMmUyMGUwNzZhNTYxM2ZhZWE5Ni5negoKMjAwOC0wNi0xMyAyMzo0MTo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCB0aGUgc2FtcGxlIHJhdGUgaW4gZHRtZnNyYyBpbnRvIGEgdmFyaWFibGUKCSAgMjAwODA2MTMyMzQxNDQtM2UyZGMtZTYwMDcwOTQzYmVjODI5YjcwM2I4ODIxYzdhYTQzNTFhMDJkZWViZS5negoKMjAwOC0wNi0xMyAyMzozMDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1yYXRlIGZyb20gdGhlIGNhcHMgaW4gcnRwZHRtZnNyYwoJICAyMDA4MDYxMzIzMzAwNi0zZTJkYy1hN2Q0ZTkxODY0M2Y0ZjhjMWJiMmNjMjY3ODU1OGM2NTQwMjU5MjBlLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQ0OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBieXRlIG9yZGVyaW5nIGlzc3VlcyB3aXRoIGR0bWZzcmMgYW5kIHJ0cGR0bWZkZXBheS4uIHVzZSBvZiBHX1NUUklOR0lGWSB0byBhdm9pZCBlcnJvciBvbiBNU1ZDCgkgIDIwMDgwNDEyMjM0NDE4LTRmMGY2LTQ4MjhkMTYxM2RmY2Q1NjRhZmQyMzZkZmM4ZmI1N2EyOTkwOTJmODMuZ3oKCjIwMDgtMDMtMjAgMTk6MTQ6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cyBhZ2FpbiwgcGVyIHNtY3YncyBhZHZpY2UuLgoJICAyMDA4MDMyMDE5MTQzOC00ZjBmNi02NzFjOWRiNWQ5OTZhNDYwMWRmMDE3Y2VhYjRhZjZkMTY0NjljOTY2Lmd6CgoyMDA4LTAzLTE5IDIxOjE3OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgY2xlYXIgdGhhdCBkdG1mc3JjIGFsc28gdGFrZXMgbmFtZWQgZXZlbnRzIGFzIGlucHV0CgkgIDIwMDgwMzE5MjExNzMxLTNlMmRjLTI2YzcyOWY2ZGM4ZGIyN2U3MWNmNmIyMjY0NmE4MTUzMGRiZjg2MmYuZ3oKCjIwMDgtMDMtMjAgMTg6NDg6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYnVnIG1lc3NhZ2UgbWFkZSBpbnRvIGVycm9ycyBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZXkgYXJlLi4uCgkgIDIwMDgwMzIwMTg0ODQxLTRmMGY2LThhMmQyODMyOTdiMDI3MTNkYWRlMGFlNGFjYWE1ZjZlMGY2N2VhY2UuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuIHVudXNlZCBzdHVmZi4uLgoJICAyMDA4MDMyMDE4MzkzNy00ZjBmNi1iY2I4NDFjZGMwN2Y5ZTk2Nzc1MTJmNGI1MGI0YjY1OWE1OGM2NzgzLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMKCSAgMjAwODAzMjAxODM5MTItNGYwZjYtNjg5MzY1ZDVhNDA2NjMyZTNkMDg4ZmFjNzRlNGZiNmY4YTRlYjBlYS5negoKMjAwOC0wMy0yMCAwMToxMzowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBzdXBwb3J0IGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMTEzMDEtNGYwZjYtZDM2YTVkMjRiZTIwMzM2ZTM2YzQ3OTZkNzU0NzZjOWI1ZWUxYTdlMS5negoKMjAwOC0wMy0xOSAxOTozMjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbmNvZGluZyBuYW1lIGhhcyB0byBiZSB1cHBlci1jYXNlCgkgIDIwMDgwMzE5MTkzMjUxLTNlMmRjLTE1ODFiMzNiZTliNDg2ZTM1ZWM0OTQ4MDA5Njc3Y2NkNWZmZGMwOTguZ3oKCjIwMDgtMDMtMjAgMDA6NTE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBuZWNlc3NhcnkgZmlsZXMgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAwNTE0Ny00ZjBmNi01NTBmZTIyZjcwMTUyZjNhYWIzZGNkN2E2YjAyY2JmODFlODkyMzJkLmd6CgoyMDA4LTAzLTIwIDAwOjUwOjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG9zCgkgIDIwMDgwMzIwMDA1MDQxLTRmMGY2LTlkMjJmYTVkMTU1ZTM1YjYwNWVhODViMWZkOWU3MTk3YTg4MmExZjAuZ3oKCjIwMDgtMDItMTYgMTM6NDE6NDAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGR0bWZzcmM6IENvcnJlY3RseSBzZXQgdGhlIGVuZGlhbmVzcyBpbiB0aGUgY2FwcyB0byB0aGUgbWFjaGluZXMgZW5kaWFuZXNzCgkgIDIwMDgwMjE2MTM0MTQwLTkzYjlhLTQwYTNhOWQ3YWMxNjc5YzVlMGRmZDI0YTZiOTFlNGFiYTZjYzY0OTYuZ3oKCjIwMDctMDktMTcgMTc6NTI6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VhcmNoJlJlcGxhY2Ugb29wcwoJICAyMDA3MDkxNzE3NTIzMy0zZTJkYy01N2Y1NzljNGI4OTA5OTNmNDlmYThlOWU2NDcwYTNlYjc5ZDJiOTIyLmd6CgoyMDA3LTA5LTE3IDE3OjUxOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGV2ZW50cyBkb250IHlldCBiZWxvbmcgaW4gdGhlIGNhcHMKCSAgMjAwNzA5MTcxNzUxMzMtM2UyZGMtZmQxZDgzYjc4MjZiODk4MTEwZmM1NzFhZTdjMzQ0MGYxODg3NDM0ZC5negoKMjAwNy0wOS0xNyAxNjowODoyMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYXRjaCB0byBtYWtlIGl0IHdvcmsgd2l0aCBtYWVtbyBkc3Agc291cmNlcyB0aGF0IHBheWxvYWQgaW5jb3JyZWN0bHkKCSAgMjAwNzA5MTcxNjA4MjAtM2UyZGMtMDZiMWIxZDFiMDkxOGIzMGRhYmVhNWEwNzE0Y2I3MzJiM2I4ZDhkZC5negoKMjAwNy0wOS0xNyAwNDoyNjo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vcHMsIHNldCB0byBubyBwcmVyb2xsIHdoZW4gcGxheWluZy0+cGF1c2VkIHRvbwoJICAyMDA3MDkxNzA0MjY0OS0zZTJkYy05NGFkYjZhYTA2MTdlODE1YTZlMjMzMjMyZGFiYjRiYmM0OGRjODJjLmd6CgoyMDA3LTA5LTE3IDAwOjM2OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGxldGUgcG9ydCB0byBiYXNlc3JjCgkgIDIwMDcwOTE3MDAzNjU0LTNlMmRjLWRiMGY4NGRhYmQ5ZGQxYWM5MjlhMDQ2MTg2NWI4YWFhOGVmOTFhNzcuZ3oKCjIwMDctMDktMTcgMDA6MjQ6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY2FwcyBuZWdvdGlhdGlvbiBmdW5jdGlvbgoJICAyMDA3MDkxNzAwMjQxMi0zZTJkYy1jYTI2NjgxNmU5NjI5NzQ2ZTkwODNjNWJiOGI3ZjczYjk0YTliMmIwLmd6CgoyMDA3LTA5LTE3IDAwOjE2OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGZyZWUgbm9uLXN0YXJ0IGV2ZW50cwoJICAyMDA3MDkxNzAwMTY1OS0zZTJkYy1hNTcxNzc3ZTNlY2ZiOTA5ODlmODc0MTJmNTU0YWExMGEzMWNjMmNhLmd6CgoyMDA3LTA5LTE3IDAwOjE1OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbnRlcnZhbCBhbmQgcGFja2V0X3JlZHVuZGFuY3kgaW50byB1aW50CgkgIDIwMDcwOTE3MDAxNTUyLTNlMmRjLTYwMDMyZTU0N2IzNjY5Yjg3MzE3Yzk4MWQ5ODVjMTU2YWFiOTFiNDAuZ3oKCjIwMDctMDktMTYgMTk6NDQ6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBydHAgZHRtZiBzcmMgdXNlIGJhc2VzcmMKCSAgMjAwNzA5MTYxOTQ0MDgtM2UyZGMtNzM0MDAwMTMwZGNlMjQzNGEwMTRhY2Y4NDNkNjQxZmYwZTYwYWE1YS5negoKMjAwNy0wOS0xNiAxOTo0MTowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGR0bWYgc3JjIGNvZGUgbmljZXIKCSAgMjAwNzA5MTYxOTQxMDEtM2UyZGMtYThiZThjNTA5YzY1NDAwZDFkMzk2MmRhMDJlNjdkMTVkMjA1NDMxNi5negoKMjAwNy0wOS0xNCAwNDoyMDo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdG9wcGluZyBpbiBhIG5pY2UgdGhyZWFkIHNhZmUgd2F5CgkgIDIwMDcwOTE0MDQyMDQyLTNlMmRjLTFmZTI1N2ZmNGI3MmFjYTRiMGViNWYyODVhMTQ2NTBiOGRmMjY4YzMuZ3oKCjIwMDctMDktMTQgMDQ6MTg6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdldF90aW1lcyAoV2ltIHNheXMgaXRzIG9ubHkgZ29vZCBmb3IgcmVhbGx5IGZha2Ugc291cmNlcykKCSAgMjAwNzA5MTQwNDE4MzQtM2UyZGMtZmZmNGQ1ZGEyYTE0NWYxOWU3YjYxMGExMDI3ZDJjNGQ0YmM1ZWFlMC5negoKMjAwNy0wOS0xMyAyMToyMTo0NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzaW5nIHRoZSB1bmxvY2sgbWV0aG9kIG9mIGJhc2VzcmMKCSAgMjAwNzA5MTMyMTIxNDUtNGYwZjYtMGU0MzhhNjgxYmYxNjUxYzBjYzBkOGZhMzI2OWFlZDNmMTY2OGI2Yi5negoKMjAwNy0wOS0xMyAyMToxMjoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA5MTMyMTEyMjYtNGYwZjYtYmMzMmI1ODI4ZmM4ZTAzMjNjOGE2ZWVlNzc5YTM4MTQ1YWFjZDU5My5negoKMjAwNy0wOS0xMyAyMDo0NjoxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGRlYnVncwoJICAyMDA3MDkxMzIwNDYxNC00ZjBmNi02OGMyYTY5YWU3YTFlZmNhNmUxM2MxMTZkYmFkN2Y5YjY4NmYwMjQyLmd6CgoyMDA3LTA5LTEzIDE5OjIwOjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBzdXJlIHRvIHVubG9jayB0aGUgdGhyZWFkIHdoZW4gZ29pbmcgdG8gcmVhZHkgYW5kIHRvIGZsdXNoIHRoZSBxdWV1ZSB3aGVuIG1vdmluZyB0byBwYXVzZWQgb3IgcGxheWluZwoJICAyMDA3MDkxMzE5MjA1My00ZjBmNi03NmMzOTI1MzgwZDFhMzA5ODgyODYxNzA1MzVhNjVkZWE2NGE1NTgzLmd6CgoyMDA3LTA5LTEzIDE3OjU1OjIwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2VkIGR0bWZzcmMgaW50byBhIHN1YmNsYXNzIG9mIEdzdEJhc2VTcmMKCSAgMjAwNzA5MTMxNzU1MjAtNGYwZjYtMTZjYTRiZjkzNjkwMDcyZjNlODM2ZDFjOGE1YjUyY2Y3YTQyMTkxNi5negoKMjAwNy0wOS0wNCAyMjo1Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBhbm90aGVyIGZpeCBmb3IgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbgoJICAyMDA3MDkwNDIyNTc1My00ZjBmNi01YmE4YzQyNjBjMDAyYmIyN2ViOThlOWZhYmEzYzE1Nzk5MzU3YjU3Lmd6CgoyMDA3LTA5LTA0IDIxOjUyOjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb21tZW50IHRvIGV4cGxhaW4gcHVzaCBiYWNrCgkgIDIwMDcwOTA0MjE1MjI0LTNlMmRjLWQ5MmFjMWY0MDNkY2Y1NzE1NDZhN2M1M2YxODgwOWY4NDBlZWE1MWQuZ3oKCjIwMDctMDktMDQgMjA6NTU6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBkbyB0aGUgbG9ja2luZyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjbG9jayB1bnNjaGVkdWxpbmcKCSAgMjAwNzA5MDQyMDU1MDktM2UyZGMtZGExOTkwMGI1MWFmNmFlZGI2NTQ3ZjRmMzkyYmVmNGQxMDYxZGVjMi5negoKMjAwNy0wOS0wMSAwMDowMzoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIEkgZGlkIGl0IGFnYWluLi4uCgkgIDIwMDcwOTAxMDAwMzI0LTRmMGY2LTNkOGI0NjY5MWVlNTIwNTM3YjA2YzUxMWE1ZTczMmY1YjgxMmI4NDQuZ3oKCjIwMDctMDgtMzEgMjM6NTQ6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBzb3JyeS4uIERUTUYsIG5vdCBSVFBfRFRNRiBmb3IgdGhpcyBmaWxlLi4uCgkgIDIwMDcwODMxMjM1NDI4LTRmMGY2LTAwYjYwNmJmYjQ4OTJlNGYyMTdjNDQwYjYxMWNjNzk0YWIwZGU1NWEuZ3oKCjIwMDctMDgtMzEgMjM6NDQ6MTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlcyB0aGUgZGVhZGxvY2sgd2hlbiBwYXVzaW5nIHRoZSBkdG1mc3JjIGFuZCBydHBkdG1mc3JjLiBIYWQgdG8gcHVzaCBzb21ldGhpbmcgb24gdGhlIGFzeW5jIHF1ZXVlIHRvIHJlbGVhc2UgdGhlIGJsb2NraW5nIGFzeW5jX3F1ZXVlX3BvcCgpLiBUaGFua3MgdG8gT2xpdmllciBmb3IgdGhlIHNvbHV0aW9uLgoJICAyMDA3MDgzMTIzNDQxMy00ZjBmNi03OTNjZjM1ZmM0MzYzNmU3Mjc1MjU4Y2M3MDYzZmMwNjhmNWVmYTBhLmd6CgoyMDA3LTA4LTI4IDIyOjE1OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xvY2tJRCB3aGVuIHdhaXRpbmcgZm9yIGJ1ZmZlciBpcyBub3cgdW5zY2hlZHVsZWQgd2hlbiBzdG9wcGluZyB0aGUgdGFzay4gVmFyaW91cyBmaXhlcyB0byBhdm9pZCBidWdzICh0aGFua3MgdG8gLVdhbGwgLVdlcnJvcikuIEZpeGVzIHRvIGFsbG93IHRoZSBtZXJnZSBvZiB0aGUgYnJhbmNoLgoJICAyMDA3MDgyODIyMTUzNC00ZjBmNi1iMGQ2YTRmZTQ4YzRlMmExNmI5ZmY2OWNiMzEwMDg3Yzk3MGNlNDhlLmd6CgoyMDA3LTA4LTI4IDE3OjE1OjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbmVkIHVwIHRoZSBjb2RlIGEgYml0LCBubyB1c2Ugb2YgR1NUXyogYW5kIHJldHVybiB2YWx1ZSB2ZXJpZmljYXRpb24gZnJvbSBnc3RfKgoJICAyMDA3MDgyODE3MTU0Ni00ZjBmNi1iZGViNGIxYjdmOTlmOTQ2NGFhYmU1YzQzYmQ0YTRkMjAyNTI2MmI2Lmd6CgoyMDA3LTA4LTI3IDE5OjU2OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG92ZXJseSBsb25nIGxpbmVzIGFuZCB0YWJzCgkgIDIwMDcwODI3MTk1NjEwLTNlMmRjLTM5NmEzZmEwMWUxNmYxODRlNDEwOWM3MWZlMmRlYjZlNTE2YmRmMGQuZ3oKCjIwMDctMDgtMjcgMTk6MjY6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVudGFiYmlmaWVkIGR0bWZzcmMKCSAgMjAwNzA4MjcxOTI2MTgtNGYwZjYtNzdkNjgwNzA0NjRmMWI1ZjlhNDZjYjZlZWMyZDkyMjM0MDE0M2MwNC5negoKMjAwNy0wOC0yNyAxNzoyNDoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wcyBieSBzZW5kaW5nIGEgbmV3X3NlZ21lbnQgZXZlbnQgdG8gdGhlIHBheWxvYWRlcgoJICAyMDA3MDgyNzE3MjQyNC00ZjBmNi1kMjA5MDdlM2Q0MzZkNTBiZmU3NGViNGZjM2QyZDZkN2I2YjZkYmM1Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQmV0dGVyIGhhbmRsaW5nIG9mIHBhY2tldHMsIHdlIHNlbmQgdGhlIHNhbWUgZHVyYXRpb24gZm9yIGFsbCBwYWNrZXRzIHRvIGF2b2lkIGh1Z2UgcGFja2V0cyB3aGVuIG1pbiBkdXJhdGlvbiBkZWZpbmVzIGFyZSBtb2RpZmllZC4KCSAgMjAwNzA4MjcxNzIzMzktNGYwZjYtY2M5MzMwNDQzN2VhMzc2ZmZmNjQ1OGM3NGM0NmMxOWY2OTIwZDMyOS5negoKMjAwNy0wOC0yNyAxNzoyMzoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5naW5nIG1pbmltdW0gdmFsdWVzIHRvIHdvcmsgYmV0dGVyIG9uIHNvbWUgZ2F0ZXdheXMKCSAgMjAwNzA4MjcxNzIzMjItNGYwZjYtNWJmMmJmZmE1OWE4MjQ0NTM4ZGNlZDc5NWZhN2Q3NjQ5NDUyY2E5MS5negoKMjAwNy0wOC0yMiAyMDoxNjo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBEVE1GIHRvbmUgZ2VuZXJhdG9yIG5vdyByZXNwZWN0cyB0aGUgdm9sdW1lIGFyZ3VtZW50IHBhc3NlZCBpbiB0aGUgZXZlbnQKCSAgMjAwNzA4MjIyMDE2NTMtNGYwZjYtOGI3ZmY4NzQwMDZlMTFmNWE3NGQwZmQ5MWU1YTlhNDNjZDA4MmFkYS5negoKMjAwNy0wOC0yMiAxODowMTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRvbid0IGtub3cgd2h5IEkgZGlkIHRoYXQuLi4KCSAgMjAwNzA4MjIxODAxMzMtNGYwZjYtNmE3MzgyZjZjN2QzNjMwZjkxZGEzODRlMTkwNDc2M2M3ZWE2ZmExYS5negoKMjAwNy0wOC0yMiAxNzo1NTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydGVkIHRoZSBldmVudCBxdWV1ZSB3b3JrIGZyb20gZHRtZnNyYyB0byBydHBkdG1mc3JjCgkgIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgcnRwZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaAoJICB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjIxNzU1MzMtNGYwZjYtZjI3NDE0YzQwNmYxZjdiMDBjOWE5MDg0YTk4OGNmM2E3OTMwZmU1Yy5negoKMjAwNy0wOC0yMiAxNzo1NDo0NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91Y2gsIHByaW50aW5nIHdpdGggYXJndW1lbnRzIGJ1dCB3aXRob3V0ICVzLi4gdGhhdCBtYWRlIGl0IHNlZ2ZhdWx0IGEgZmV3IHRpbWVzLi4uCgkgIDIwMDcwODIyMTc1NDQ0LTRmMGY2LTQ0NWVhNmNlN2E5NjY4ZDA0Y2Y5OTlhZjc3MmE1MDRlYzc0ZmI2N2EuZ3oKCjIwMDctMDgtMjIgMTc6NTE6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZXZlbnQgdG8gZHRtZnNyYyBzdHJ1Y3R1cmUgc2luY2Ugd2UgaGF2ZSBvbmx5IG9uZSBldmVudCBhdCBhIHRpbWUsIHNvIGxldCdzIGtlZXAgaXQgc3RvcmVkIGluIHRoZSBkdG1mc3JjIHN0cnVjdAoJICAyMDA3MDgyMjE3NTEyNi00ZjBmNi01M2JjZGEyYmQ4YWU4YzU2ZDI5ZTYyZTY5YWMxOWEzMGUwOGFkMzUwLmd6CgoyMDA3LTA4LTIwIDIwOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2ggdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIwMjAzODI2LTRmMGY2LTc1MGEyMmI2MTJhNWU0OTVlNzY3NjY2OTM0NDY1YzM0ZmUzMjA3NGIuZ3oKCjIwMDctMDgtMjAgMTg6NDg6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBkdG1mc3JjLCBhIERUTUYgVG9uZSBHZW5lcmF0b3IsIGFuZCBtYWRlIGl0IHBhcnQgb2YgdGhlICdkdG1mJyBwbHVnaW4uCgkgIDIwMDcwODIwMTg0ODUyLTRmMGY2LWEwZDg1ZTY3NzA4MjkwYWViYWZhODlhYjc5ZDNjZWRkNTgxNWI2MjAuZ3oKCjIwMDctMDgtMjAgMTg6NDg6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgcnRwZHRtZiB0byBkdG1mIGRpcmVjdG9yeQoJICAyMDA3MDgyMDE4NDgwMC00ZjBmNi1mYTMzZWE5NzQ1MTAxNjFkZThjOTk1MWMzOTA4N2FmMzYxM2I2NWE0Lmd6CgoyMDA5LTAyLTIxIDEyOjQ3OjAwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICByZXNwZWN0IERFRkFVTFQgc2VnbWVudCBieSBjbGlwcGluZyB0aGUgbGFzdCBidWZmZXIgdG8gYmUgc2VudAoKPT09IHJlbGVhc2UgMC4xMC4xNCA9PT0KCjIwMDktMDItMTkgMjA6MDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNAoKMjAwOS0wMi0xOSAyMDowNzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAyLTE5IDEzOjE2OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBVcGRhdGUgU2luY2U6IHRhZ3MgaW4gYXV0b2RldGVjdCBzcmNzIGFuZCBhdWRpb2VjaG8KCjIwMDktMDItMTkgMTE6MTI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgVXBkYXRlIENoYW5nZUxvZyBmb3IgMC4xMC4xMy4zCgoyMDA5LTAyLTE5IDExOjA5OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4zIHByZS1yZWxlYXNlCgoyMDA5LTAyLTEwIDExOjI1OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZW1peGVyOiBGaXggY29tcGlsZXIgd2FybmluZ3MuCgkgIENhc3QgKGVudW0gKikgdG8gKGludCAqKSwgbm90IG5lY2Vzc2FyaWx5IHRlY2huaWNhbGx5IHJpZ2h0LAoJICBidXQgcGx1Z3MgIzU3MTE1My4KCjIwMDktMDItMTMgMTg6MDM6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogSXNzdWUgcHJvcGVydHkgY2hhbmdlIG5vdGlmaWNhdGlvbiBpbiBzdHJlYW1pbmcgdGhyZWFkLCByYXRoZXIgdGhhbiBQQSB0aHJlYWQuCgkgIHBhX3RocmVhZGVkX21haW5sb29wX2xvY2soKSAoYS5vLikgYW5kIGJ5IGV4dGVuc2lvbiBnZXRfcHJvcGVydHkgc2hvdWxkCgkgIG5vdCBiZSBkb25lIGZyb20gYSBQQSB0aHJlYWQsIGJ1dCB0aGUgbGF0dGVyIG1heSBvY2N1ciBhcyBhIHJlc3VsdCBvZiBhCgkgIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24uICBGaXhlcyAjNTcxMjA0ICh0aG91Z2ggY3VycmVudCBzaXR1YXRpb24KCSAgbm90IGlkZWFsLCBlLmcuIHBvc3QgbWVzc2FnZSByYXRoZXIgdGhhbiBzaWduYWwpLgoKMjAwOS0wMi0xMCAxMToyNzo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGFzcGVjdHJhdGlvY3JvcDogRG9uJ3QgZm9yZ2V0IHRvIGNhbGwgcGFyZW50IGZpbmFsaXplIGltcGxlbWVudGF0aW9uLgoJICBUaGlzIGZpeGVzIGEgbWVtb3J5IGxlYWsgKGxlYWtpbmcgdGhlIGNvbnRhaW5lZCBlbGVtZW50cyBvZiB0aGUgYmluKS4KCjIwMDktMDItMTAgMDg6NDM6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkLiBGaXhlcyAjNTcxMDM4CgoyMDA5LTAyLTA5IDEyOjE4OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBCdW1wIHJldmlzaW9uIHRvIHVzZSBmb3IgY29tbW9uIHN1Ym1vZHVsZS4KCjIwMDktMDItMDcgMTY6MDA6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nOiBVcGRhdGUgQ2hhbmdlTG9nIGZvciAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NTg6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo0NjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjQwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9tdC5wbzoKCSAgcG86IEFkZCBNYWx0ZXNlIHRyYW5zbGF0aW9uCgoyMDA5LTAyLTA2IDE2OjE2OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBoYW5kbGluZyBmb3Igc3RwcyBhdG9tcwoJICBzdHBzIGF0b21zIGNvbnRhaW4gInBhcnRpYWwgc3luYyIgaW5mb3JtYXRpb24sIHdoaWNoIG1lYW5zIHRoYXQgaXQncwoJICBhIHN5bmMgcG9pbnQgd2hlcmUgcHRzICE9IGR0cy4gIFRoaXMgaXMgbmVlZGVkIHRvIHByb3Blcmx5IGhhbmRsZQoJICBNUEVHMiwgSC4yNjQsIERpcmFjLCBldGMuLCBpbiBxdWlja3RpbWUuCgoyMDA5LTAyLTA1IDE1OjUxOjQyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaWYgd2UgYWJvcnRlZCByZWFkaW5nLCBkb24ndCBkbyBpbnRvIGFuIGluZmluaXRlIGxvb3AuCgkgIElmIG91ciByZWFkIGNhbGxiYWNrIHJhbiBvdXQgb2YgZGF0YSwgc28gaGFkIHRvIGFib3J0IHJlYWRpbmcsIHdlIHJldHVybgoJICBHU1RfRkxPV19FUlJPUiBpbnN0ZWFkIG9mIGdvaW5nIGludG8gYW4gaW5maW5pdGUgbG9vcC4KCjIwMDktMDItMDUgMTA6MTk6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVtb3ZlIG5vbi1lbWJlZGRlZCBtb2RlIGFuZCBmaXggbWVtb3J5IG1hbmFnZW1lbnQuCgkgIFJlbW92ZSBub24tZW1iZWRkZWQgbW9kZS4gRW1iZWQgbW9kZSBiZWNvbWVzIGRlZmF1bHQgYW5kIG9ubHkgbW9kZS4KCSAgZW1iZWQgcHJvcGVydHkgaXMgcmV0YWluZWQgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5LgoJICBBZGRlZCBhdXRvcmVsZWFzZSBwb29scyBhcm91bmQgYWxsIG9iamMgZnVuY3Rpb25zIHRoYXQgbWlnaHQgYmUgY2FsbGVkCgkgIGZyb20gYSBub24tbWFpbiB0aHJlYWQuCgoyMDA5LTAyLTA1IDIwOjAyOjAxICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBkZWJ1ZyBvbiB0aGUgb2JqZWN0CgoyMDA5LTAyLTA0IDE2OjQwOjEzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvIGZpeGVzOiBtdWx0aWNoYW5uZWwgYW5kIGNoYW5naW5nIGNhcHMuCgkgIEVuc3VyZSB3ZSBjcmVhdGUgdGhlIHJpbmdidWZmZXIgc2VnbWVudCBzaXplIGFzIGEgbXVsdGlwbGUgb2YgdGhlCgkgIGJ5dGVzIHBlciBzYW1wbGUgKGZpeGVzIDYtY2hhbm5lbCBvdXRwdXQpLgoJICBSZXNldCB0aGUgc2Vnb2Zmc2V0IHdoZW4gYWNxdWlyaW5nIHRoZSByaW5nYnVmZmVyLCBzbyB3ZSBkb24ndCByZXRhaW4KCSAgYSBib2d1cyBvZmZzZXQgd2hlbiBjYXBzIGNoYW5nZS4KCjIwMDktMDItMDQgMTE6Mzg6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogS2VlcCB0cmFjayBvZiBjb25uZWN0ZWQgc3RhdGUKCSAgS2VlcCB0cmFjayBvZiB0aGUgc3RhdGUgb2YgdGhlIGNvbm5lY3Rpb24gYW5kIGRvbid0IHRyeSB0byBzZW5kIFRFQVJET1dOIHdoZW4KCSAgdGhlIHNlcnZlciBoYXMgY2xvc2VkIHRoZSBjb25uZWN0aW9uLgoKMjAwOS0wMi0wNCAwOToyMDoyOCArMDEwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFJlYWQgTWF0cm9za2EgVGl0bGUgZWxlbWVudCBmb3IgdGhlIFRJVExFIHRhZwoJICBOb3QgYWxsIE1hdHJvc2thIGZpbGVzIGhhdmUgYSBUYWdzIGVsZW1lbnQgd2hpY2ggY29udGFpbnMKCSAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRpdGxlIGFtb25nIG90aGVyIHRoaW5ncy4gTW9zdCB2aWRlbwoJICBNYXRyb3NrYSBmaWxlcyBvbmx5IGNvbnRhaW4gdGhlIFRpdGxlIGVsZW1lbnQgc28gd2UKCSAgc2hvdWxkIHBhcnNlIHRoaXMgdG9vLiBGaXhlcyBidWcgIzU3MDQzNS4KCjIwMDktMDItMDMgMjI6MzQ6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wMi0wMyAxNzoxMDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgRml4IGF1ZGlvZWNobyB1bml0IHRlc3Qgb24gMzIgYml0IHN5c3RlbXMKCSAgQ2FzdCB0aGUgbmV3IHZhbHVlIGZvciB0aGUgImRlbGF5IiBwcm9wZXJ0eSB0byBHc3RDbG9ja1RpbWUuCgkgIEludGVnZXJzIHdpdGhvdXQgdHlwZSBhcmUgcGFzc2VkIHRvIHZhcmFyZyBmdW5jdGlvbnMgd2l0aAoJICBhbiBpbnRlZ2VyIHR5cGUgdGhhdCBjYW4gaG9sZCBhIHBvaW50ZXIuCgoyMDA5LTAyLTAzIDE0OjA5OjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IERvbid0IHJlc2V0IGZyZXF1ZW5jeSBiYW5kcyBmcm9tIHVzZXIgc2V0dGluZ3MuIEZpeGVzICM1NzAzNDMuCgkgIE1vdmUgcmVhbGxvY2F0aW5nIHRoZSBoaXN0b3J5IGJ1ZmZlciBvdXQgb2YgX2NvbXB1dGVfZnJlcXVlbmNpZXMoKSBhbmQgY2FsbCB0aGUKCSAgcmlnaHQgZnVuY3Rpb24gYXMgbmVlZGVkLiBBZGQgc29tZSBsb2dnaW5nIGFuZCB0d2VhayB0aGUgZm9ybWF0dGluZyBvZiBleGlzdGluZwoJICBsb2dnaW5nLiBTaW1wbGlmeSBzZXR0aW5nIG5lZWRfbmV3X2NvZWZmaWNpZW50cyB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMuCgoyMDA5LTAyLTAzIDExOjUyOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBVc2UgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGd1aW50IGZvciBzdG9yaW5nIGd1aW50NjQKCjIwMDktMDItMDIgMTg6Mzc6MzUgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVc2UgY29ycmVjdCBmbGFnIGZvciB0aGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbgoJICBGaXhlcyBidWcgIzU1MjE0MC4KCjIwMDktMDItMDIgMTM6MDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZpeCBjb21waWxlciB3YXJuaW5ncyBkdWUgdG8gdW51c2VkIHJldHVybiB2YWx1ZXMgb2Ygc2NhbmYuCgoyMDA5LTAxLTMxIDExOjA4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAxLTMwIDIyOjI0OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkIHJlbGVhc2VpbmZvIHdpdGggb25saW5lIHVybC4KCjIwMDktMDEtMzAgMTg6MDQ6MTEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBGaXggdXAgc29tZSBjb21waWxlIGZsYWdzCgoyMDA5LTAxLTMwIDE3OjM1OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIERvbid0IHVzZSBHbGliIDIuMTYgZnVuY3Rpb24gZ19zdHJjbXAwLgoKMjAwOS0wMS0zMCAxNzozNDo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAxLTMwIDE3OjI2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEZpeCBGb3J0ZSBjb21waWxlciB3YXJuaW5ncy4KCSAgRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuIERvbid0IGhhdmUgYW4gdW5yZWFjaGFibGUgc3RhdGVtZW50LgoKMjAwOS0wMS0zMCAxNzoyOTo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBCdW1wIGNvbW1vbgoKMjAwOS0wMS0yNiAxMDozMzo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmVtb3ZlIHVzZWxlc3MgcHJvY2Vzc2luZyBmb3Igbm9uLXJhdyBmb3JtYXRzCgoyMDA5LTAxLTMwIDE1OjM0OjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgJ1JlcXVpcmVtZW50JyBhbmQgJ0VuY29kZXInIHRhZ3MKCjIwMDktMDEtMzAgMTU6MzM6MTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1vZGlmeSBwcml2YXRlLXRhZyBuYW1lIGZvcm1hdHRlciBzbyB0aGF0IGl0IGRvZXNuJ3QgZ28gbWFkIGF0IGZvdXJjYyBzdGFydGluZyB3aXRoICcoYyknLgoKMjAwOS0wMS0zMCAxNDo0MDo1MSArMDEwMCAgQnJpamVzaCBTaW5naCA8YnJpamVzaC5rc2luZ2hAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgIEZpeCBjb21wYXJpc29uIG9mIHRoZSB0dW5lciBub3JtcwoJICBUaGUgVjRMMiB0dW5lciBub3JtcyB0aGF0IGEgZGV2aWNlIHN1cHBvcnRzIGNvdWxkCgkgIGJlIGEgc3Vic2V0IG9mIHNvbWUgbm9ybSAoZS5nLiBOVFNDIGluc3RlYWQgb2YgTlRTQ19NKS4KCSAgVGhlIGNvbXBhcmlzb24gc2hvdWxkIGJlIGRvbmUgYnkgJiBpbnN0ZWFkIG9mID09LgoJICBTZWUgaHR0cDovL3d3dy5saW51eHR2Lm9yZy9kb3dubG9hZHMvdmlkZW80bGludXgvQVBJL1Y0TDJfQVBJL3NwZWMtc2luZ2xlL3Y0bDIuaHRtbCNTVEFOREFSRAoJICBGaXhlcyBidWcgIzU2OTgyMC4KCjIwMDktMDEtMzAgMDg6NTM6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIFVzZSBhIHN5bWJvbGljIGxpbmsgZm9yIHRoZSBwcmUtY29tbWl0IGNsaWVudC1zaWRlIGhvb2sKCjIwMDktMDEtMjkgMTQ6MDg6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBPbmx5IHVucmVmIHRoZSBwZWVyIHdoZW4gdGhlcmUgaXMgb25lLgoKMjAwOS0wMS0yOSAxMTowNzo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICBSZW1vdmUgdmVyc2lvbiBudW1iZXJzIGZyb20gYSBmZXcgZ3N0LWxhdW5jaCBleGFtcGxlcy4KCSAgVGhlIG1ham9yaXR5IG9mIHRoZSBleGFtcGxlcyBkb2Ugbm90IHVzZSAtMC4xMCBhbmQgdGhpcyB3aWxsIGFsc28gaGVscCB1cyB0byBtYWludGFpbiB0aGUgZG9jcy4KCjIwMDktMDEtMjkgMTA6MTA6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyBwbHVnaW5zIChzeXMpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRml4IGV4YW1wbGVzLgoKMjAwOS0wMS0yOSAwOTo0NToyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgQWRkICcgdG8gZnJhbWVyYXRlIGFyZ3VtZW50IGFuZCByZW1vdmUgdGhlIHdvcmQgJ3NpbXBsZScgYXMgYWxsIG91ciBwaXBlbGluZXMgYXJlIGFwcGFyZW50bHkgc2ltcGxlLgoKMjAwOS0wMS0yOSAwOTo0Mjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIEFkZCBleGFtcGxlcyBmb3IgdGhlIGpwZWcgZWxlbWVudHMuCgoyMDA5LTAxLTI4IDIxOjQwOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCBjb21waWxlIGVycm9yIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAwOS0wMS0yOCAyMDozNDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgUmV3cml0ZSB0aGUgcHVsc2UgcGx1Z2luLCBjb25kaXRpb25hbGx5IGVuYWJsaW5nIG5ldyBiZWhhdmlvdXIgd2l0aCBuZXdlciBwdWxzZWF1ZGlvLgoJICBGaXhlczogIzU2Nzc5NAoJICAqIEhvb2sgcHVsc2VzaW5rJ3Mgdm9sdW1lIHByb3BlcnR5IHVwIHdpdGggdGhlIHN0cmVhbSB2b2x1bWUgLS0gbm90IHRoZQoJICBzaW5rIHZvbHVtZSBpbiBQQS4KCSAgKiBSZWFkIHRoZSBkZXZpY2UgZGVzY3JpcHRpb24gZGlyZWN0bHkgZnJvbSB0aGUgc2luayBpbnN0ZWFkIG9mIGdvaW5nCgkgIHZpYSB0aGUgbWl4ZXIuCgkgICogUHJvcGVybHkgaW1wbGVtZW50IF9yZXNldCgpIG1ldGhvZHMgZm9yIGJvdGggc2luayBhbmQgc291cmNlIHRvIGF2b2lkCgkgIGRlYWRsb2NrcyB3aGVuIHNodXR0aW5nIGRvd24gYSBwaXBlbGluZS4KCSAgKiBSZXBsYWNlIGFsbCBzaW1wbGUgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdCgpIGJ5IHByb3BlciBsb29wcyB0bwoJICBndWFyYW50ZWUgdGhhdCB3ZSB3YWl0IGZvciB0aGUgcmlnaHQgZXZlbnQgaW4gY2FzZSBtdWx0aXBsZSBldmVudHMgYXJlCgkgIGZpcmVkLiAgV2hpbGUgdGhpcyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5IGluIG1hbnkgY2FzZXMgaXQKCSAgY2VydGFpbmx5IGlzIG1vcmUgY29ycmVjdCBhbmQgbWFrZXMgbWUgc2xlZXAgYmV0dGVyIGF0IG5pZ2h0LgoJICAqIFJlcGxhY2UgQ0hFQ0tfREVBRF9HT1RPIG1hY3JvcyB3aXRoIHByb3BlciBmdW5jdGlvbnMKCSAgKiBFeHRlbmQgdGhlIG51bWJlciBvZiBzdXBwb3J0ZWQgY2hhbm5lbHMgdG8gMzIgc2luY2UgdGhhdCBpcyB0aGUgYWN0dWFsCgkgIGxpbWl0IGluIFBBLgoJICAqIEdldCByaWQgb2YgX2Rpc3Bvc2UoKSBtZXRob2RzIHNpbmNlIHdlIGRvbid0IG5lZWQgdGhlbS4KCSAgKiBJbmNyZWFzZSB0aGUgdm9sdW1lIHByb3BlcnR5IHVwcGVyIGxpbWl0IG9mIHRoZSBzaW5rIHRvIDEwMDAuCgkgICogUmVzZXQgZnVuY3Rpb24gcG9pbnRlcnMgYWZ0ZXIgd2UgZGlzY29ubmVjdCBhIHN0cmVhbS9jb250ZXh0LiBCZXR0ZXIKCSAgZml4IGZvciBidWcgNTU2OTg2LgoJICAqIFJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgZWxlbWVudCBwcm9wZXJseSBpZiBvcGVuL3ByZXBhcmUgZmFpbHMKCSAgKiBDb3JrIHRoZSBQQSBzdHJlYW0gd2hlbiB0aGUgcGlwZWxpbmUgaXMgcGF1c2VkLiBUaGlzIGFsbG93cyB0aGUgUEEKCSAgKiBkYWVtb24gdG8KCSAgY2xvc2UgYXVkaW8gZGV2aWNlIG9uIHBhdXNlIGFuZCB0aHVzIHNhdmUgYSBiaXQgb2YgcG93ZXIuCgkgICogU2V0IFBBIHN0cmVhbSBwcm9wZXJ0aWVzIGJhc2VkIG9uIEdTVCB0YWdzIHN1Y2ggYXMgR1NUX1RBR19USVRMRSwKCSAgR1NUX1RBR19BUlRJU1QsIGFuZCBzbyBvbi4KCSAgU2lnbmVkLW9mZi1ieTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKMjAwOS0wMS0yOCAxNzo0NjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbHVnaW5zIHdpdGggZGVwcyAoZXh0KS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIERvY3VtZW50IGEgZmV3IHRyaXZpYWwgY2FzZXMuIEtlZXAgbGlzdHMgaW4gc2VjdGlvbiBmaWxlIGFuZCBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0gYWxwaGFiZXRpY2FsbHkgb3JkZXJlZC4gRml4IHdhcm5pbmdzIHRoYXQgZ3RrLWRvYyBwb2ludHMgb3V0LgoKMjAwOS0wMS0yOCAxNTo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkgIExpbWl0IHRoZSBkZWxheSBieSBhIG5ldyBtYXgtZGVsYXkgcHJvcGVydHkKCSAgSW50cm9kdWNlIGEgbmV3IG1heC1kZWxheSBwcm9wZXJ0eSB0aGF0IGNhbiBvbmx5CgkgIGJlIHNldCBiZWZvcmUgZ29pbmcgdG8gUExBWUlORyBvciBQQVVTRUQuIFRoaXMKCSAgaXMgdXNlZCB0byBsaW1pdCB0aGUgbWF4aW11bSBkZWxheSBhbmQgaXMgc2V0CgkgIHRvIHRoZSBjdXJyZW50IGRlbGF5IGJ5IGRlZmF1bHQuCgkgIFVzaW5nIHRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhCgkgIGluIG91ciBpbnRlcm5hbCByaW5nYnVmZmVyIGZvciB0aGUgZWNoby4gV2l0aCBkeW5hbWljCgkgIHJlYWxsb2NhdGlvbiBvZiB0aGUgcmluZ2J1ZmZlciBhcyB1c2VkIGJlZm9yZSBzaWxlbmNlCgkgIGNvdWxkJ3ZlIGJlZW4gdXNlZCBhcyB0aGUgZWNobyBkaXJlY3RseSBhZnRlciBzZXR0aW5nCgkgIGEgbmV3IGRlbGF5LgoKMjAwOS0wMS0yOCAxMTo1ODo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGJvZ3VzIGNvbW1pdAoKMjAwOS0wMS0yOCAxMjoyOTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsdWdpbnMgd2l0aCBubyBkZXBzIChnc3QpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRG9jdW1lbnQgYSBmZXcgdHJpdmlhbCBjYXNlcy4gS2VlcCBsaXN0cyBpbiBzZWN0aW9uIGZpbGUgYW5kIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbSBhbHBoYWJldGljYWxseSBvcmRlcmVkLgoKMjAwOS0wMS0yNyAyMzowOTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgRml4IGV4YW1wbGUgYXBwcyBieSBkcmF3aW5nIGluIHRoZSBtYWluLWxvb3AuCgoyMDA5LTAxLTI3IDIwOjMzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGFzcGVjdHJhdGlvIGNyb3AgdW5pdCB0ZXN0IGluIHVuaW5zdGFsbGVkIGVudmlyb25tZW50LgoKMjAwOS0wMS0yNyAyMDozMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBNYWtlIGdpdCBpZ25vcmUgYmFja3VwIGZpbGVzCgoyMDA5LTAxLTI2IDE2OjE0OjQ3ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgUGx1ZyBhIG1lbW9yeSBsZWFrIGluIGEgZGVidWcgbWVzc2FnZS4KCjIwMDktMDEtMjIgMTU6NTk6NDAgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICBDb3JyZWN0IHJldHVybiB2YWx1ZSBmcm9tIGdzdF91ZHBfZ2V0X2FkZHIoKSB3aGVuIG5vIGtub3duIGZhbWlseSBpcyBmb3VuZC4KCjIwMDktMDEtMjYgMDk6NTE6MzYgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVc2UgbGlic291cC1nbm9tZSBmb3IgcHJveHkgY29uZmlndXJhdGlvbiBpZiBhdmFpbGFibGUKCSAgSWYgbGlic291cC1nbm9tZSBpcyBmb3VuZCB1c2UgdGhpcyBhcyBpdCB3aWxsIGdpdmUgdXMKCSAgdGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24uIE90aGVyd2lzZSB1c2Ugbm9ybWFsCgkgIGxpYnNvdXAuCgkgIFRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uIHdpbGwgb25seSBiZSB1c2VkIGlmCgkgIHRoZSBwcm94eSBwcm9wZXJ0aWVzIGFyZSBub3Qgc2V0IG9uIHNvdXBodHRwc3JjCgkgIGFuZCBpZiB0aGUgaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QKCSAgc2V0LgoJICBGaXhlcyBidWcgIzU1MjE0MC4KCjIwMDktMDEtMjUgMTk6MjY6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBBZGQgYSBmZXcgbW9yZSB2aWRlbyBmb3VyY2MncwoKMjAwOS0wMS0yNCAxNDo0ODowMCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXNwZWN0cmF0aW9jcm9wIEZpeGVzIGJ1ZyAjNTI3OTUxCgkgIEFkZCB1bml0IHRlc3QgZm9yIGFzcGVjdHJhdGlvY3JvcCBhbmQgcmVmYWN0b3IgdGhpcyBlbGVtZW50LiBBZGRlZAoJICBmaW5hbGl6ZSBmdW5jdGlvbiB0byBjbGVhbnVwIGxlYWtpbmcgbXV0ZXguCgoyMDA5LTAxLTI1IDE0OjM0OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBJZ25vcmUgY2hlY2sgYmluYXJpZXMKCjIwMDktMDEtMjQgMTg6Mjg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIFNhdmUgc29tZSBhbGxvY2F0aW9ucyBpZiB0aGUgZWNobyBkZWxheSBpcyBpbmNyZWFzZWQgb2Z0ZW4KCSAgU2F2ZSBzb21lIGFsbG9jYXRpb25zIGlmIHRoZSBlY2hvIGRlbGF5IGlzIGluY3JlYXNlZCBvZnRlbgoJICBkdXJpbmcgcGxheWJhY2sgYnkgYWx3YXlzIGFsbG9jYXRpbmcgZW5vdWdoIG1lbW9yeSB0byBob2xkCgkgIGRhdGEgdXAgdG8gdGhlIG5leHQgY29tcGxldGUgc2Vjb25kLCBpLmUuIGluIHRoZSB3b3JzdCBjYXNlCgkgIGFsbG9jYXRlIG1lbW9yeSBmb3Igb25lIGFkZGl0aW9uYWwgc2Vjb25kLgoKMjAwOS0wMS0yNCAxNDoyNTowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgcGx1Z2luIHZlcnNpb24gaW4gZG9jdW1lbnRhdGlvbgoKMjAwOS0wMS0yMyAyMTo0Nzo0MCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIEZpeCBsaW5rIGluIGRvY3VtZW50YXRpb24gb2YgdmlkZW9jcm9wIGVsZW1lbnQKCjIwMDktMDEtMjMgMjE6NDY6MTMgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXNwZWN0cmF0aW9jcm9wCgoyMDA5LTAxLTI0IDEzOjIxOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCBmb3IgdGhlIG5ldyBkZXZlbG9wbWVudCBjeWNsZQoKMjAwOS0wMS0yNCAxMTo1Mzo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgQWRkIG5vdGUgdGhhdCBhdWRpb2VjaG8ncyByZXZlcmIgc291bmRzIG1ldGFsbGljCgkgIEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MgdGhhdCBhdWRpb2VjaG8ncyByZXZlcmIgd2lsbAoJICBzb3VuZCBtZXRhbGxpYy4gVGhpcyBoYXBwZW5zIGJlY2F1c2UgZm9yIGEgcmVhbAoJICByZXZlcmIgZmlsdGVyIGFkZGl0aW9uYWwgZmlsdGVyaW5nIGlzIG5lY2Vzc2FyeS4KCSAgQWxzbyBub3RlIHdoaWNoIHZhbHVlcyBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRlbGF5CgkgIHByb3BlcnR5IHRvIGdldCBhbiBlY2hvIGVmZmVjdC4KCjIwMDktMDEtMjMgMjM6Mzg6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBwby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4Ly5naXRpZ25vcmU6CgkgIE1vcmUgZW50cmllcyBmb3IgdGhlIGdpdGlnbm9yZXMKCjIwMDktMDEtMjMgMjA6MzY6MjcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgc2tpcCB2aWRlby94LXJhdy1ncmF5IGluIHZpZGVvY3JvcCB1bml0IHRlc3QKCSAgQSByZWNlbnQgY29tbWl0IGFkZGVkIHZpZGVvL3gtcmF3LWdyYXkgc3VwcG9ydCB0byB2aWRlb2Nyb3AuIEhvd2V2ZXIKCSAgdGhpcyBsZXRzIHRoZSB2aWRlb2Nyb3AgdW5pdCB0ZXN0IGZhaWwuIEJlY2F1c2UgdmlkZW90ZXN0c3JjIGNhbid0CgkgIGdlbmVyYXRlIHRoaXMgZm9ybWF0LgoKMjAwOS0wMS0yMyAxNTozOTo0NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIEFkZCBhc3BlY3RyYXRpb2Nyb3AgZWxlbWVudC4gRml4ZXMgYnVnICM1Mjc5NTEKCSAgQWRkIG5ldyBhc3BlY3RyYXRpb2Nyb3AgZWxlbWVudCB0aGF0IGNyb3BzIHRoZSB2aWRlbwoJICB0byBhIHNwZWNpZmllZCBhc3BlY3QgcmF0aW8gdXNpbmcgdmlkZW9jcm9wLgoKMjAwOS0wMS0yMyAxMDo0OToyOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIEZpeCBuYXZpZ2F0aW9uIGV2ZW50IGZvcndhcmRpbmcgd2hpbGUgY3JvcHBpbmcuIEZpeGVzIGJ1ZyAjNTY3OTkyLgoJICBGaXggdGhlIG5hdmlnYXRpb24gZXZlbnQgZm9yd2FyZGluZyB3aGlsZSBjcm9wcGluZyBieSBhZGp1c3RpbmcKCSAgdGhlIG1vdXNlIHBvc2l0aW9uIGJ5IHRoZSBhbW91bnQgb2YgY3JvcHBlZCBwaXhlbHMuCgoyMDA5LTAxLTIzIDEwOjA0OjM5ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEZpeCBsaW5raW5nIG9uIFNvbGFyaXMuIEZpeGVzIGJ1ZyAjNTY4ODA5LgoJICBDaGVjayBmb3IgdGhlIHNvY2tldCBsaWJyYXJ5IHdoaWNoIGlzIG5lZWRlZAoJICBmb3Igc29ja2V0KCkgb24gU29sYXJpcy4KCjIwMDktMDEtMjIgMjI6NDE6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCB2ZXJzaW9uIG51bWJlciBhZ2FpbiAtPiAwLjEwLjEzLjEKCjIwMDktMDEtMjIgMjI6NDE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIHJlbGVhc2VzIDAuMTAuMTIgYW5kIDAuMTAuMTMgdG8gdGhlIGRvYXAgZmlsZQoKMjAwOS0wMS0yMiAxODowODo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHNuYXBzaG90LgoKMjAwOS0wMS0yMiAxNDoyNTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWwgLT4gMC4xMC4xMi4xCgoyMDA5LTAxLTIyIDAxOjI5OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4xMgoKMjAwOS0wMS0yMSAxNzoyMjozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBmb3Igc2VjdXJpdHkgYWR2aXNvcnkgVEtBRFYyMDA5LTB4eAoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvd3Mgd2hpbGUgcmVhZGluZyBxdWlja3RpbWUgaGVhZGVycy4KCSAgU2VjdXJpdHkgaXNzdWUgbm90aWNlZCBieSBUb2JpYXMgS2xlaW4uCgoyMDA5LTAxLTIxIDEyOjU2OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEZpeCB0eXBvIGFuZCBzbWFsbCBmbGF3IGluIGZsYWMgZGVjb2RlcgoKMjAwOS0wMS0yMiAxMzo0OTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBGaXggcHJlLWNvbW1pdCBob29rCgoyMDA5LTAxLTIyIDEwOjQwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIFJlbmFtZSBhdWRpb3JldmVyYiB0byBhdWRpb2VjaG8uIEZpeGVzIGJ1ZyAjNTY4Mzk1LgoJICBUaGUgZWxlbWVudCBjYW4gYWRkIGFuIGVjaG8gYW5kIGEgc2ltcGxlIHJldmVyYiBlZmZlY3QgdG8KCSAgYW4gYXVkaW8gc3RyZWFtIGJ1dCBmb3IgYSByZWFsIHJldmVyYiBmaWx0ZXIgaXQgd291bGQgbmVlZAoJICBzb21lIGFkZGl0aW9uYWwgZmlsdGVyaW5nIHRvIHByZXZlbnQgYSBtZXRhbGxpYy1zb3VuZGluZwoJICByZXN1bHQuCgoyMDA5LTAxLTIyIDEyOjIxOjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBGcmVlIGxlZnRvdmVyIHVkcCBwb3J0cyAoaWYgYW55KSB3aGVuIGEgc2V0dXAgcmVxdWVzdCBmYWlscy4KCjIwMDktMDEtMjIgMDY6MDU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEluc3RhbGwgYW5kIHVzZSBwcmUtY29tbWl0IGluZGVudGF0aW9uIGhvb2sgZnJvbSBjb21tb24KCjIwMDktMDEtMjEgMTM6MjU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIFdoaXRlc3BhY2UgZml4ZXMgYW5kIHNvbWUgaW1wcm92ZWQgZGVidWcgbGluZXMuCgoyMDA5LTAxLTIxIDA0OjMxOjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaCA6IFVzZSBnaXQgc3VibW9kdWxlCgoyMDA5LTAxLTIwIDE1OjMzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBGaXggZXJyb3IgY29kZSAodGhlIG1lc3NhZ2Ugc3RyaW5nIGFsc28gbmVlZHMgbG92ZSwgYnV0IG5vdCB0b2RheSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKToKCSAgRml4IGVycm9yIGNvZGUgKHRoZSBtZXNzYWdlIHN0cmluZyBhbHNvIG5lZWRzIGxvdmUsIGJ1dCBub3QgdG9kYXkpLgoKMjAwOS0wMS0xOSAxMTo0NDozNiArMDAwMCAgTHVvdGFvIEZ1IDxsLmZ1QHBlbmd1dHJvbml4LmRlPgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogQWRkIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQgdG8gdmlkZW9jcm9wIHBsdWdpbi4gRml4ZXMgIzU2Nzk1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKToKCSAgQWRkIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQgdG8gdmlkZW9jcm9wIHBsdWdpbi4gRml4ZXMgIzU2Nzk1Mi4KCjIwMDktMDEtMTkgMTE6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IFNldCB0aGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgaW5zdGFuY2UgaW5pdCBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogKGdzdF9hdWRpb19yZXZlcmJfaW5pdCk6CgkgIFNldCB0aGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgaW5zdGFuY2UgaW5pdCBmdW5jdGlvbi4KCjIwMDktMDEtMTkgMTE6MTk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhbiBlY2hvL3JldmVyYiBmaWx0ZXIgdG8gdGhlIGF1ZGlvZnggcGx1Z2luLCB3aXRoIGNvbmZpZ3VyYWJsZSBlY2hvIGRlbGF5LCBpbnRlbnNpdHkgYW5kIGZlZWRiYWNrLiBGaXhlcyBidWcgIzU2Ny4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiAoZ3N0X2F1ZGlvX3JldmVyYl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19yZXZlcmJfaW5pdCksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19yZXZlcmJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19yZXZlcmJfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9zdG9wKSwgKGdzdF9hdWRpb19yZXZlcmJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmV2ZXJiLmM6IChzZXR1cF9yZXZlcmIpLAoJICAoY2xlYW51cF9yZXZlcmIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9yZXZlcmJfc3VpdGUpOgoJICBBZGQgYW4gZWNoby9yZXZlcmIgZmlsdGVyIHRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgd2l0aCBjb25maWd1cmFibGUKCSAgZWNobyBkZWxheSwgaW50ZW5zaXR5IGFuZCBmZWVkYmFjay4gRml4ZXMgYnVnICM1Njc4NzQuCgoyMDA5LTAxLTE5IDEwOjEzOjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogSW1wbGVtZW50IGEgc2ltcGxlIGNvbXBlbnNhdGlvbiBhbGdvcml0aG0gZm9yIHJvdW5kaW5nIGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEltcGxlbWVudCBhIHNpbXBsZSBjb21wZW5zYXRpb24gYWxnb3JpdGhtIGZvciByb3VuZGluZyBlcnJvcnMuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGEgc3BlY3RydW0gbWVzc2FnZSBpcyBwb3N0ZWQgb24gdGhlIGJ1cwoJICBldmVyeSBpbnRlcnZhbCBuYW5vc2Vjb25kcy4gRml4ZXMgYnVnICM1Njc5NTUuCgoyMDA5LTAxLTE1IDIxOjE2OjQ1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06IExpbmsgYWdhaW5zdCBDb3JlU2VydmljZXMgKG5lZWRlZCBmb3Igb3N4IDEwLjQpIGFuZCBmaXggdXAgdGhlIGxpbmtlciBmbGFncy4gRml4ZXMgIzU2Nzg1My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBMaW5rIGFnYWluc3QgQ29yZVNlcnZpY2VzIChuZWVkZWQgZm9yIG9zeCAxMC40KSBhbmQgZml4IHVwIHRoZSBsaW5rZXIKCSAgZmxhZ3MuIEZpeGVzICM1Njc4NTMuCgoyMDA5LTAxLTE1IDE0OjUzOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYXRjaCBpbnZhbGlkIGFuZCBjb21tb25seSB3cm9uZyBwbGF5YmFjayByYXRlcyBpbiB0aGUgZWxzdCBhdG9tcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9zZWdtZW50cyk6CgkgIENhdGNoIGludmFsaWQgYW5kIGNvbW1vbmx5IHdyb25nIHBsYXliYWNrIHJhdGVzIGluIHRoZSBlbHN0IGF0b21zLgoJICBGaXhlcyAjNTY3ODAwLgoKMjAwOS0wMS0xNSAxMTo0MDoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IERvbid0IGNhbGwgZ3N0X2ZmdF9mMzJfZnJlZSgpIHdpdGggTlVMTCB0byBwcmV2ZW50IGEgY3Jhc2guIEZpeGVzIGJ1ZyAjNTY3NjQyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9yZXNldF9zdGF0ZSk6CgkgIERvbid0IGNhbGwgZ3N0X2ZmdF9mMzJfZnJlZSgpIHdpdGggTlVMTCB0byBwcmV2ZW50IGEKCSAgY3Jhc2guIEZpeGVzIGJ1ZyAjNTY3NjQyLgoKMjAwOS0wMS0xNCAxNTo0NDoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IFVzZSBjb3JyZWN0IHR5cGVzIGZvciBmcmFtZS9mZnQgY291bnRlcnMgYW5kIHNvbWUgbWlub3IgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGNvcnJlY3QgdHlwZXMgZm9yIGZyYW1lL2ZmdCBjb3VudGVycyBhbmQgc29tZSBtaW5vcgoJICBjbGVhbnVwLgoKMjAwOS0wMS0xNCAxNTozNzowNyArMDAwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogRml4IHJlZmNvdW50IGxvb3AsIHJlc3VsdGluZyBpbiBhIHRocmVhZCBsZWFrLiBGaXhlcyBidWcgIzU2Nzc0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnQgYXQgcG9ldHRlcmluZyBkb3QgbmV0PgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9uZXcpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZnJlZSk6CgkgIEZpeCByZWZjb3VudCBsb29wLCByZXN1bHRpbmcgaW4gYSB0aHJlYWQgbGVhay4gRml4ZXMgYnVnICM1Njc3NDYuCgoyMDA5LTAxLTE0IDEwOjQ2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vOiBQb3N0IGEgc3BlY3RydW0gbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBldmVyeSBpbnRlcnZhbCwgZXZlbiBpZiB0aGUgaW50ZXJ2YWwgaXMgc21hbGwgdGhhbiB0aGUgbGVuZ3RoIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlY3RydW1fZmluYWxpemUpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX3NldHVwKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3N0IGEgc3BlY3RydW0gbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBldmVyeSBpbnRlcnZhbCwgZXZlbgoJICBpZiB0aGUgaW50ZXJ2YWwgaXMgc21hbGwgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSBGRlQuCgkgIEZpeGVzIGJ1ZyAjNTY3NjQyLgoJICBNYWpvciBjbGVhbnVwIG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwOS0wMS0xMyAxOToyMzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGF1ZGlvaWlyZmlsdGVyIGFuZCBhdWRpb2ZpcmZpbHRlciBlbGVtZW50cyB3aGljaCBhbGxvdyBnZW5lcmljIElJUi9GSVIgZmlsdGVycyB0byBiZSBpbXBsZW1lbnRlZCBieSBwcm92aWRpbmcgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOiAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfdXBkYXRlX2tlcm5lbCksIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3NldHVwKSwgKGdzdF9hdWRpb19maXJfZmlsdGVyX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6IChnc3RfYXVkaW9faWlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl91cGRhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2luaXQpLCAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSAgQWRkIGF1ZGlvaWlyZmlsdGVyIGFuZCBhdWRpb2ZpcmZpbHRlciBlbGVtZW50cyB3aGljaCBhbGxvdwoJICBnZW5lcmljIElJUi9GSVIgZmlsdGVycyB0byBiZSBpbXBsZW1lbnRlZCBieSBwcm92aWRpbmcgdGhlCgkgIGZpbHRlciBjb2VmZmljaWVudHMuIEZpeGVzIGJ1ZyAjNTY3NTc3LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIKCSAgZWxlbWVudHMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG9uX2hhbmRvZmYpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9maXJmaWx0ZXJfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChvbl9oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvaWlyZmlsdGVyX3N1aXRlKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG1haW4pOgoJICAqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBhbmQgZXhhbXBsZSBhcHBsaWNhdGlvbnMgZm9yIHRoZSB0d28gZmlsdGVyCgkgIGVsZW1lbnRzLgoKMjAwOS0wMS0xMyAxOTowOToxOSArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBndWludDY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcgZm9yIGd1aW50NjQuCgoyMDA5LTAxLTEzIDE5OjA0OjA5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06IG9zeGF1ZGlvIHBsdWdpbiBub3cgcmVxdWlyZXMgQXVkaW9Vbml0IGZyYW1ld29yaywgc28gbGluayBhZ2FpbnN0IHRoYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgb3N4YXVkaW8gcGx1Z2luIG5vdyByZXF1aXJlcyBBdWRpb1VuaXQgZnJhbWV3b3JrLCBzbyBsaW5rIGFnYWluc3QgdGhhdC4KCSAgQ2xlYW4gdXAgdGFicyB2IHNwYWNlcyB3aGlsZSBJJ20gdGhlcmUuCgoyMDA5LTAxLTEzIDE3OjQ5OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzogQWRkIHNvbWUgZXhhbXBsZSBjb2RlIGZvciBwcmludGluZyB0aGUgUlRQIG1hbmFnZXIgc3RhdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IChwcmludF9zb3VyY2Vfc3RhdHMpLAoJICAocHJpbnRfc3RhdHMpLCAobWFpbik6CgkgIEFkZCBzb21lIGV4YW1wbGUgY29kZSBmb3IgcHJpbnRpbmcgdGhlIFJUUCBtYW5hZ2VyIHN0YXRzLgoKMjAwOS0wMS0xMyAwODoyNDoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBVc2UgYSBjdXN0b20gbXV0ZXggZm9yIHByb3RlY3RpbmcgdGhlIGluc3RhbmNlIGZpZWxkcyBpbnN0ZWFkIG9mIHRoZSBHc3RPYmplY3QgbG9jay4gVXNpbmcgdGhlIGxhdHRlciBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzogKGdzdF9hdWRpb19jaGViX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnc3RfYXVkaW9fY2hlYl9saW1pdF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6IChnc3RfYXVkaW9fd3NpbmNiYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6IChnc3RfYXVkaW9fd3NpbmNsaW1pdF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgVXNlIGEgY3VzdG9tIG11dGV4IGZvciBwcm90ZWN0aW5nIHRoZSBpbnN0YW5jZSBmaWVsZHMgaW5zdGVhZCBvZgoJICB0aGUgR3N0T2JqZWN0IGxvY2suIFVzaW5nIHRoZSBsYXR0ZXIgY2FuIGxlYWQgdG8gZGVhZGxvY2tzLCBlc3BlY2lhbGx5CgkgIHdpdGggdGhlIEZJUiBmaWx0ZXJzIHdoZW4gdXBkYXRpbmcgdGhlIGxhdGVuY3kuCgoyMDA5LTAxLTExIDE5OjAzOjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIGdlbmVyaWMgYXVkaW8gRklSIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3B1c2hfcmVzaWR1ZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3NldHVwKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfdHJhbnNmb3JtKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc3RhcnQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zdG9wKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcXVlcnkpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9xdWVyeV90eXBlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zZXRfa2VybmVsKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIGdlbmVyaWMgYXVkaW8gRklSIGZpbHRlcnMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKGdzdF9nc3RfYXVkaW9fd3NpbmNiYW5kX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2dzdF9hdWRpb193c2luY2JhbmRfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfYmFzZV9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9idWlsZF9rZXJuZWwpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXR1cCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb193c2luY2xpbWl0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfYnVpbGRfa2VybmVsKSwgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldHVwKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSB0aGlzIG5ldyBiYXNlIGNsYXNzIGZvciBhdWRpb3dzaW5jYmFuZCBhbmQgYXVkaW93c2luY2xpbWl0LgoJICBBbHNvIGNsZWFudXAgYm90aCBlbGVtZW50cy4KCjIwMDktMDEtMDggMTg6MTc6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSW4gcHVzaCBtb2RlLCBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBiZWZvcmUgd2UndmUgY3JlYXRlZCBhbnkgc3JjcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBJbiBwdXNoIG1vZGUsIGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGJlZm9yZSB3ZSd2ZSBjcmVhdGVkIGFueSBzcmNwYWRzLgoJICBIYW5kbGUgKGluIHB1bGwgbW9kZSkgc29tZSBmaWxlcyB0aGF0IGhhdmUgYSB0cnVuY2F0ZWQgbW9vdiBhdG9tIHdoZXJlCgkgIHRoZSBmaW5hbCBzdWItYXRvbSBpcyBhICdmcmVlJyBhdG9tIGFuZCB0aGUgY29udGVudHMgb2YgdGhhdCBhcmUgbm90CgkgIHByZXNlbnQgaW4gdGhlIGZpbGUuCgoyMDA5LTAxLTA4IDE1OjU2OjQ2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS86IFNvbWUgY2xlYW51cHMsIHJlZmFjdG9yaW5nIGFuZCBtaW5vciBlbmhhbmNlbWVudHMgaW4gY2FwcyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIFNvbWUgY2xlYW51cHMsIHJlZmFjdG9yaW5nIGFuZCBtaW5vciBlbmhhbmNlbWVudHMgaW4gY2FwcyBoYW5kbGluZy4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9pbml0KSwgKGdzdF9tYXRyb3NrYV9wYWRfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHRlYXJkb3duX3NyY19wYWQpOgoJICBPbmx5IHJlbW92ZSwgcmVsZWFzZSBvciByZXNldCB3aGF0IGlzIGFwcHJvcHJpYXRlIHVwb24gc3RhdGUgY2hhbmdlLgoKMjAwOS0wMS0wNyAyMDozODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLio6IFVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlIGN1cnJlbnQgc3RyZWFtIHBvaW50ZXIsIGFuZCBpZ25vcmUgY2FsbGJhY2tzIGZvciBzdHJlYW0gb2JqZWN0cyB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgVXNlIGEgbXV0ZXggdG8gcHJvdGVjdCB0aGUgY3VycmVudCBzdHJlYW0gcG9pbnRlciwgYW5kIGlnbm9yZQoJICBjYWxsYmFja3MgZm9yIHN0cmVhbSBvYmplY3RzIHRoYXQgaGF2ZSBiZWVuIGRlc3Ryb3llZCBhbHJlYWR5LgoJICBGaXhlcyBwcm9ibGVtcyB3aXRoIHVucHJlcGFyZS9wcmVwYXJlIGN5Y2xlcyBjYXVzZWQgYnkgdGhlIGlucHV0CgkgIGNhcHMgY2hhbmdpbmcsIHdpdGhvdXQgcmVpbnRyb2R1Y2luZyBidWcgIzU1Njk4Ni4KCjIwMDktMDEtMDcgMTY6MDk6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBSZW1vdmUgKCkgZnJvbSB0cmFuc2xhdGVhYmxlIHN0cmluZywgc28gdGhhdCBpdCBtYWtlcyBtb3JlIHNlbnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFJlbW92ZSAoKSBmcm9tIHRyYW5zbGF0ZWFibGUgc3RyaW5nLCBzbyB0aGF0IGl0IG1ha2VzIG1vcmUgc2Vuc2UuCgoyMDA5LTAxLTA3IDA5OjQzOjEzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IE1pbm9yIGZpeC9jbGVhbnVwIGluIGhlYWRlciBmaWVsZCBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpOgoJICBNaW5vciBmaXgvY2xlYW51cCBpbiBoZWFkZXIgZmllbGQgY2FsY3VsYXRpb24uCgoyMDA5LTAxLTA2IDE3OjQ4OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogUmVtb3ZlIGludGVybmFsIHRhZ2xpc3QgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgUmVtb3ZlIGludGVybmFsIHRhZ2xpc3QgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAwOS0wMS0wNiAxNDo1MDoyOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBFbnN1cmUgaGVhZGVyIHNpemUgaW52YXJpYW5jZSBkdXJpbmcgc3Vic2VxdWVudCByZXdyaXRlIGJ5IHVzaW5nIHRhZ3Mgc25hcHNob3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yZXNldCksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBFbnN1cmUgaGVhZGVyIHNpemUgaW52YXJpYW5jZSBkdXJpbmcgc3Vic2VxdWVudCByZXdyaXRlIGJ5IHVzaW5nCgkgIHRhZ3Mgc25hcHNob3QuCgoyMDA5LTAxLTA1IDE3OjMxOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IERvbid0IHdhaXQgZm9yIHRoZSBwdWxzZSBtYWlubG9vcCB3aGVuIGRlc3Ryb3lpbmcgdGhlIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19kZXN0cm95X3N0cmVhbSk6CgkgIERvbid0IHdhaXQgZm9yIHRoZSBwdWxzZSBtYWlubG9vcCB3aGVuIGRlc3Ryb3lpbmcgdGhlIHN0cmVhbS4KCSAgRml4ZXMgYSBkZWFkbG9jayB3aGVuIHRoZSBwdWxzZWRhZW1vbiBnb2VzIGF3YXkgd2hpbGUgcHVsc2VzaW5rCgkgIGlzIFBMQVlJTkcuIEZpeGVzIGJ1ZyAjNTU2OTg2LgoKMjAwOS0wMS0wNSAxMjozMDo0MCArMDAwMCAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgZ3JheXNjYWxlIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NjY2MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2FzY2hhIEhhdWVyIDxzIGRvdCBoYXVlciBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgIEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKSwKCSAgKGdzdF92NGwyX2dldF9jYXBzX2luZm8pOgoJICBBZGQgc3VwcG9ydCBmb3IgZ3JheXNjYWxlIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NjY2MTYuCgoyMDA5LTAxLTA1IDExOjQyOjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4LzogU3RyZWFtbGluZSB0YWcgaGFuZGxpbmcgYW5kIHBhc3MgdW5wYXJzZWQgdGFncyBhcyBiaW5hcnkgYmxvYiBpbiBwcml2YXRlIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfdG1wbyksIChxdGRlbXV4X3RhZ19hZGRfY292ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfYmxvYiksIChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgU3RyZWFtbGluZSB0YWcgaGFuZGxpbmcgYW5kIHBhc3MgdW5wYXJzZWQgdGFncyBhcyBiaW5hcnkgYmxvYgoJICBpbiBwcml2YXRlIHRhZy4KCjIwMDktMDEtMDUgMTA6MTM6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgSUlSIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2NhbGN1bGF0ZV9nYWluKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc2V0X2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3NldHVwKSwgKHByb2Nlc3MpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zdG9wKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBJSVIgZmlsdGVycy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6IChnc3RfYXVkaW9fY2hlYl9iYW5kX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9pbml0KSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksIChnc3RfYXVkaW9fY2hlYl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzogKGdzdF9hdWRpb19jaGViX2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X2luaXQpLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgVXNlIHRoZSBJSVIgZmlsdGVyIGJhc2UgY2xhc3MgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4KCjIwMDktMDEtMDIgMjA6Mzk6MzQgKzAwMDAgIEp1c3RpbiBLYXJuZWdhcyA8anVzdGluQGFmZmluaXguY29tPgoKCSAgc3lzL29zeGF1ZGlvLzogUmV3cml0ZSBvc3hhdWRpbyB0byB3b3JrIG1vcmUgZmxleGlibHkgYW5kIG1vcmUgcmVsaWFibHksIHVzaW5nIGEgZGlmZmVyZW50IGFic3RyYWN0aW9uIGxheWVyIG9mIGNvcmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSnVzdGluIEthcm5lZ2FzIDxqdXN0aW5AYWZmaW5peC5jb20+IGFuZAoJICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBSZXdyaXRlIG9zeGF1ZGlvIHRvIHdvcmsgbW9yZSBmbGV4aWJseSBhbmQgbW9yZSByZWxpYWJseSwgdXNpbmcgYQoJICBkaWZmZXJlbnQgYWJzdHJhY3Rpb24gbGF5ZXIgb2YgY29yZWF1ZGlvIHRoYXQgaXMgdGhlIHJlY29tbWVuZGVkIHdheSBvZgoJICBkb2luZyBsb3ctbGV2ZWwgYXVkaW8gSS9PIG9uIE9TWC4KCSAgRml4ZXMgYnlnICM1NjQ5NDguCgoyMDA5LTAxLTAyIDE2OjMxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOiBBZGQgZXhhbXBsZSBSVFAgdHJhbnNjb2RpbmcgcGlwZWxpbmUgZnJvbSBhbnkgZmlsZSBkZWNvZGVkYWJsZSB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSAgQWRkIGV4YW1wbGUgUlRQIHRyYW5zY29kaW5nIHBpcGVsaW5lIGZyb20gYW55IGZpbGUgZGVjb2RlZGFibGUgd2l0aAoJICB1cmlkZWNvZGViaW4uCgoyMDA5LTAxLTAyIDE1OjIwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwLzogQWRkIHR3byBDIGV4YW1wbGVzIG9mIHVzaW5nIGdzdHJ0cGJpbiBhcyBhIHNlbmRlciBhbmQgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOiAocGFkX2FkZGVkX2NiKSwgKG1haW4pOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IChtYWluKToKCSAgQWRkIHR3byBDIGV4YW1wbGVzIG9mIHVzaW5nIGdzdHJ0cGJpbiBhcyBhIHNlbmRlciBhbmQgYSByZWNlaXZlci4KCjIwMDgtMTItMzEgMTE6MjA6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ2hhbmdlTG9nOiBSZW1vdmUgY29uZmxpY3QgbWFya2VyIGZyb20gQ2hhbmdlTG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIGNvbmZsaWN0IG1hcmtlciBmcm9tIENoYW5nZUxvZwoKMjAwOC0xMi0yOCAwOTo1MDozMSArMDAwMCAgal4gPGpAb2lsMjEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY29kZWMgbWFwcGluZyBmb3IgeHZpZCwgZm1wNCBhbmQgYWMzIHRyYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBvaWwyMS5vcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBjb2RlYyBtYXBwaW5nIGZvciB4dmlkLCBmbXA0IGFuZCBhYzMgdHJhY2tzLgoJICBGaXhlcyAjNTY1ODUwCgoyMDA4LTEyLTIzIDEyOjEwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuKjogSW1wbGVtZW50IGdldGNhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfY2hhaW4pLCAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgSW1wbGVtZW50IGdldGNhcHMgZnVuY3Rpb24uCgkgIFNldCBjYXBzIG9uIHRoZSBwYWQgYW5kIG9uIGFsbCBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNTY1NDQxLgoKMjAwOC0xMi0xOSAwOTozNjo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IEFuZCByZW1vdmUgdGVtcG9yYXJ5IGNvbW1lbnQgcG9pbnRpbmcgdG8gdGhlIGJ1ZyB0aWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBBbmQgcmVtb3ZlIHRlbXBvcmFyeSBjb21tZW50IHBvaW50aW5nIHRvIHRoZSBidWcgdGlja2V0LgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIE1vdmUgcmVvY2N1cmluZyBsb2dnaW5nIHRvIExPRyBhbmQgbG9nIGluc3RhbmNlIHRvby4KCjIwMDgtMTItMTcgMTc6Mjg6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBEb24ndCBsZWFrIHRoZSBwYV9vcGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBEb24ndCBsZWFrIHRoZSBwYV9vcGVyYXRpb24uCgoyMDA4LTEyLTE2IDE2OjE5OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZSBjdnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlIGN2cy4KCjIwMDgtMTItMTYgMTY6MDc6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFJlbmFtZSBhcGkgZnJvbSBfZmx1c2ggdG8gX3Jlc2V0X3RhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFJlbmFtZSBhcGkgZnJvbSBfZmx1c2ggdG8gX3Jlc2V0X3RhZ3MuCgoyMDA4LTEyLTE2IDE0OjIyOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBVc2UgbmV3IHRhZ3NldHRlciBhcGkgdG8gZmx1c2ggdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgVXNlIG5ldyB0YWdzZXR0ZXIgYXBpIHRvIGZsdXNoIHRhZ3MuCgoyMDA4LTEyLTE2IDEzOjE0OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfc3VpdGUpOgoJICBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoKMjAwOC0xMi0xNiAxMjo1MjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX3N1aXRlKToKCSAgSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTE6NTc6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuCgoyMDA4LTEyLTE1IDE1OjU5OjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBJbnN0ZWFkIG9mIGZpbHRlcmluZyB3cm9uZ2x5IGp1c3QgdXNlIHRoZSBtZXJnZW1vZGUuIEFwcGxpY2F0aW9ucyBpcyB1c2UgS0VFUF9BTEwgaWYgdGhleSB3YW50IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgSW5zdGVhZCBvZiBmaWx0ZXJpbmcgd3JvbmdseSBqdXN0IHVzZSB0aGUgbWVyZ2Vtb2RlLiBBcHBsaWNhdGlvbnMgaXMKCSAgdXNlIEtFRVBfQUxMIGlmIHRoZXkgd2FudCB0byBzdXByZXNzIHRhZy1ldmVudHMuIEZpeGVzICM1NjMyMjEgZm9yCgkgIGF2aSBmb3IgcmVhbCAoSSBob3BlKS4gRXZlcnlvbmUgY2hpbWUgaW4sIGJlZm9yZSBJIGZpeCB0aGUgb3RoZXJzLgoKMjAwOC0xMi0xNSAxMjo0NTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IEFkZCBub3RlIGFib3V0IG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBBZGQgbm90ZSBhYm91dCBtZW1sZWFrLgoKMjAwOC0xMi0xMyAxNjoyMzowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBBIGNvdXBsZSBtb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIGFueW1vcmUgd2l0aCBnZXR0ZXh0IDAuMTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBBIGNvdXBsZSBtb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIGFueW1vcmUgd2l0aCBnZXR0ZXh0IDAuMTcuCgoyMDA4LTEyLTEzIDE1OjM0OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgU3dpdGNoIHRvIHVzaW5nIEdzdFN0YXRpY1BhZFRlbXBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbGF3X2RlY19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbGF3X2VuY19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsYXdkZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X211bGF3ZW5jX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXcuYzogKHBsdWdpbl9pbml0KToKCSAgU3dpdGNoIHRvIHVzaW5nIEdzdFN0YXRpY1BhZFRlbXBsYXRlLgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfZ2V0X2FkZHIpOgoJICBEb24ndCBmb3JnZXQgdG8gZnJlZSB0aGUgYWRkcmluZm8gc3RydWN0dXJlLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBHc3RBZGFwdGVyLgoKMjAwOC0xMi0xMyAxMjo1ODoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93IHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdwoJICByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0IG9mIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA4LTEyLTEwIDE1OjAzOjIzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHNtYWxsZXIgc3BlYyBmaWxlIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsZXIgc3BlYyBmaWxlIHVwZGF0ZXMKCjIwMDgtMTItMDkgMTc6NTU6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTW9yZSBsb2dnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIE1vcmUgbG9nZ2luZy4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBIYW5kbGUgbW9yZSBtZXRhZGF0YSBmaWVsZHMuIEJldHRlciBlc3RpbWF0ZSBvZiBtZXRhZGF0YSBzaXplLiBEb24ndAoJICBtZXJnZSByZWNlaXZlZCB0YWdzLCBpZiBhcHBsaWNhdGlvbiBoYXMgc3BlY2lmaWVkIHRhZ3MgdXNpbmcKCSAgR1NUX1RBR19NRVJHRV9SRVBMQUNFX0FMTC4gRml4ZXMgIzU2MzIyMSBmb3IgYXZpLgoKMjAwOC0xMi0wOSAxNDozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFsc28gaWdub3JlIHB1bHNlbWl4ZXIgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWxzbyBpZ25vcmUgcHVsc2VtaXhlciBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QuCgoyMDA4LTEyLTA5IDE0OjE5OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzogQWRkIGFuIEVPSSBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUganBlZyBmcmFtZSB3aGVuIGl0J3MgbWlzc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzogKGdzdF9ydHBfanBlZ19kZXBheV9wcm9jZXNzKToKCSAgQWRkIGFuIEVPSSBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUganBlZyBmcmFtZSB3aGVuIGl0J3MgbWlzc2luZy4KCSAgRml4ZXMgIzU2MzA1Ni4KCjIwMDgtMTItMDkgMTA6NDc6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIG5ldyBjb2xvciB2YWx1ZXMgZm9yIEJULjYwMSByZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoY2hlY2tfMXgxX2J1ZmZlcik6CgkgIFVwZGF0ZSB0aGUgdW5pdCB0ZXN0IGZvciB0aGUgbmV3IGNvbG9yIHZhbHVlcyBmb3IgQlQuNjAxIHJlZC4KCSAgRml4ZXMgYnVnICM1NjM1MTAuCgoyMDA4LTEyLTA5IDEwOjI4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogUmVzdG9yZSBwcmV2aW91cyBiZWhhdmlvdXIgb2Ygbm90IHBhc3NpbmcgUW9TIGFuZCBuYXZpZ2F0aW9uIGV2ZW50cyB1cHN0cmVhbSwgd2hpY2ggcHJlc3VtYWJseSB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgUmVzdG9yZSBwcmV2aW91cyBiZWhhdmlvdXIgb2Ygbm90IHBhc3NpbmcgUW9TIGFuZCBuYXZpZ2F0aW9uCgkgIGV2ZW50cyB1cHN0cmVhbSwgd2hpY2ggcHJlc3VtYWJseSB3YXNuJ3QgbWVhbnQgdG8gYmUgY2hhbmdlZC4KCjIwMDgtMTItMDkgMDk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEFkZCBzcmNwYWRzIG9ubHkgd2hlbiBuZWVkZWQgYW5kIHJlbW92ZSB0aGVtIGFnYWluIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWS4gVGhpcyBwcmV2ZW50cyBzdGFsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3ZpZGVvX3BhZCksCgkgIChnc3RfZHZkZW11eF9hZGRfYXVkaW9fcGFkKSwgKGdzdF9kdmRlbXV4X3JlbW92ZV9wYWRzKSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2F1ZGlvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwKCSAgKGdzdF9kdmRlbXV4X2NoYWluKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHNyY3BhZHMgb25seSB3aGVuIG5lZWRlZCBhbmQgcmVtb3ZlIHRoZW0gYWdhaW4gd2hlbiBnb2luZwoJICBiYWNrIHRvIFJFQURZLiBUaGlzIHByZXZlbnRzIHN0YWxsZWQgcGlwZWxpbmVzIGlmIHRoZXJlJ3Mgbm8KCSAgYXVkaW8gaW5zaWRlIHRoZSBEViBzdHJlYW0sIHdoaWNoIGhhcHBlbnMgZm9yIG1hbnkgTVhGIGZpbGVzLgoKMjAwOC0xMi0wOSAwOTowOToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogVGhlIHBvcnRzIGluIGxpYnNvdXAgYXJlIHVuc2lnbmVkIGludGVnZXJzIGFuZCBub3Qgc2lnbmVkIGludGVnZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocnVuX3NlcnZlcik6CgkgIFRoZSBwb3J0cyBpbiBsaWJzb3VwIGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBhbmQgbm90IHNpZ25lZAoJICBpbnRlZ2Vycy4KCjIwMDgtMTItMDggMTg6MzE6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEZvcndhcmQgYWxsIGV2ZW50cyB1cHN0cmVhbSB1bmxlc3MgaXQncyBzb21ldGhpbmcgd2UgcmVhbGx5IGRvbid0IGhhbmRsZS4gVGhpcyBmaXhlcyBsYXRlbmN5IGNvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIEZvcndhcmQgYWxsIGV2ZW50cyB1cHN0cmVhbSB1bmxlc3MgaXQncyBzb21ldGhpbmcgd2UgcmVhbGx5CgkgIGRvbid0IGhhbmRsZS4gVGhpcyBmaXhlcyBsYXRlbmN5IGNvbmZpZ3VyYXRpb24gb2YgcGlwZWxpbmVzLgoKMjAwOC0xMi0wOCAxODoyNDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R2LzogUmVhbGx5IGNhbGwgZHZfaW5pdCgpIGV4YWN0bHkgb25lIHRpbWUsIG5vdCBvbmUgdGltZSBmb3IgdGhlIGRlbXV4ZXIgYW5kIG9uZSB0aW1lIGZvciB0aGUgZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpOgoJICBSZWFsbHkgY2FsbCBkdl9pbml0KCkgZXhhY3RseSBvbmUgdGltZSwgbm90IG9uZSB0aW1lIGZvcgoJICB0aGUgZGVtdXhlciBhbmQgb25lIHRpbWUgZm9yIHRoZSBkZWNvZGVyLgoKMjAwOC0xMi0wOCAxMjozNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiBDb3B5IGluY29tbWluZyB0aW1lc3RhbXAgdG8gb3V0Z29pbmcgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBDb3B5IGluY29tbWluZyB0aW1lc3RhbXAgdG8gb3V0Z29pbmcgcGFja2V0cy4KCjIwMDgtMTItMDggMTI6MzY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRG9uJ3QgdHJ5IHRvIHB1c2ggcGFja2V0cyBiZWZvcmUgd2UgY291bGQgZmluZCBhIHZhbGlkIGNvbmZpZyBzdGFydGNvZGUuIEZpeGVzICM1NjM1MDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIHB1c2ggcGFja2V0cyBiZWZvcmUgd2UgY291bGQgZmluZCBhIHZhbGlkIGNvbmZpZwoJICBzdGFydGNvZGUuIEZpeGVzICM1NjM1MDkuCgoyMDA4LTEyLTA3IDE5OjIyOjQ4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogU2V0IHRoZSBtaXhlciBmZCBiZWZvcmUgY2FsbGluZyBpb2N0bCgpIG9uIGl0LiBGaXhlcyBidWcgIzU2MzQxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKToKCSAgU2V0IHRoZSBtaXhlciBmZCBiZWZvcmUgY2FsbGluZyBpb2N0bCgpIG9uIGl0LiBGaXhlcyBidWcgIzU2MzQxNC4KCjIwMDgtMTItMDcgMTk6MDE6MzUgKzAwMDAgIEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm9AZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBNYWtlIHVzYWdlIG9mIGxpYnY0bCBvcHRpb25hbCBieSBhIGNvbmZpZ3VyZSBwYXJhbWV0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlubyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSB1c2FnZSBvZiBsaWJ2NGwgb3B0aW9uYWwgYnkgYSBjb25maWd1cmUgcGFyYW1ldGVyLgoJICBGaXhlcyBidWcgIzU2MzUwNC4KCjIwMDgtMTItMDUgMDk6MjQ6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBtYXRyb3NrYW11eCBhbmQgbWF0cm9za2FkZW11eCBhbmQgdXBkYXRlIHRoZSBpbnNwZWN0aW9uIHhtbCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG1hdHJvc2thbXV4IGFuZCBtYXRyb3NrYWRlbXV4IGFuZAoJICB1cGRhdGUgdGhlIGluc3BlY3Rpb24geG1sIGZpbGVzLgoKMjAwOC0xMi0wNCAyMDoxMDo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZSB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZQoJICB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCjIwMDgtMTItMDQgMTk6NDc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvIG91ciBNNCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvCgkgIG91ciBNNCBtYWNyb3MuCgoyMDA4LTExLTMwIDE2OjI0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBQcm92aWRlIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZyB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICBQcm92aWRlIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZwoJICB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0yOSAyMDowNTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6IEZpeCBjbGFzc2lmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbi4KCjIwMDgtMTEtMjkgMTM6MzE6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbCAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyCgkgIDx5c2Vsa293aXR6IGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wKCSAgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHN0aWxsIHdvcmsuCgkgIEZpeGVzIGJ1ZyAjNTU2MDkxLgoKMjAwOC0xMS0yOCAxNToxMDo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBNYWtlIGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKCkgaWdub3JlIGVycm9ycyBmcm9tIHNlbmR0bygpIGluc3RlYWQgb2YgYnJlYWtpbmcgc3RyZWFtaW5nLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICBNYWtlIGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKCkgaWdub3JlIGVycm9ycyBmcm9tIHNlbmR0bygpIGluc3RlYWQgb2YKCSAgYnJlYWtpbmcgc3RyZWFtaW5nLiBFbWl0IGEgd2FybmluZyBpbnN0ZWFkLiBGaXhlcyAjNTYyNTcyLgoKMjAwOC0xMS0yNyAxNjo0MzoyNCArMDAwMCAgUm9uIE1jT3VhdCA8cm1jb3VhdEBzbWFydHQuY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJhc2ljIGFuZCBkaWdlc3QgYXV0aGVudGljYXRpb24gaW4gc291cGh0dHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9uIE1jT3VhdCA8cm1jb3VhdCBhdCBzbWFydHQgZG90IGNvbT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hdXRoZW50aWNhdGVfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGJhc2ljX2F1dGhfY2IpLAoJICAoZGlnZXN0X2F1dGhfY2IpLCAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpLCAocnVuX3NlcnZlcik6CgkgIEFkZCBzdXBwb3J0IGZvciBiYXNpYyBhbmQgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIGluIHNvdXBodHRwc3JjLgoJICBGaXhlcyBidWcgIzU2MTc3NS4KCjIwMDgtMTEtMjcgMTI6MTM6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvOiBBZGQgc3VwcG9ydCBmb3IgYS1sYXcgYW5kIG11LWxhdyBlbmNvZGVkIHdhdiBmaWxlcy4gRml4ZXMgYnVnICM1NjI0MzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGVwaWpuIFZhbiBFZWNraG91ZHQKCSAgPHBlcGlqbiBkb3QgdmFuZWVja2hvdWR0IGF0IGx1Y2lhZCBkb3QgY29tPgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICAqIGdzdC93YXZlbmMvcmlmZi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYS1sYXcgYW5kIG11LWxhdyBlbmNvZGVkIHdhdiBmaWxlcy4gRml4ZXMgYnVnICM1NjI0MzQuCgoyMDA4LTExLTI3IDExOjIyOjU2ICswMDAwICDsnbTrrLjtmJUgPGl3aW5nc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFByZXZlbnQgZnVydGhlciByZWFkL3dyaXRlIGFjdGlvbnMgdGFrZW4gdG8gdGhlIGNvbm5lY3QtZmFpbGVkIHNvY2tldCBieSBlcnJvcmluZyBvdXQgcXVpY2tseS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiDsnbTrrLjtmJUgPGl3aW5ncyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgUHJldmVudCBmdXJ0aGVyIHJlYWQvd3JpdGUgYWN0aW9ucyB0YWtlbiB0byB0aGUgY29ubmVjdC1mYWlsZWQgc29ja2V0IGJ5CgkgIGVycm9yaW5nIG91dCBxdWlja2x5LiBTZWUgIzU2MjI1OC4KCjIwMDgtMTEtMjYgMjE6MTk6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzogU2V0IGZha2VzaW5rIHRvIHN5bmMuIE90aGVyd2lzZSBwZW9wbGUgbWlnaHQgcXVlc3Rpb24gdGhlIG1lc3NhZ2UgaW50ZXJ2YWwuIE5ldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIFNldCBmYWtlc2luayB0byBzeW5jLiBPdGhlcndpc2UgcGVvcGxlIG1pZ2h0IHF1ZXN0aW9uIHRoZSBtZXNzYWdlCgkgIGludGVydmFsLiBOZXZlcnRoZWxlc3MgdGhlIHRpbWVzdGFtcCBpbiB0aGUgbWVzc2FnZSBpcyB3aGF0IG1hdHRlcnMuCgoyMDA4LTExLTI1IDE4OjEzOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvaWNsZXMvLmN2c2lnbm9yZTogY3ZzaWdub3JlIG5ld2x5IGdlbmVyYXRlZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBjdnNpZ25vcmUgbmV3bHkgZ2VuZXJhdGVkIGZpbGUuCgoyMDA4LTExLTI1IDE4OjAzOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCB0aGUgZGVzY3JpcHRpb25zIGFuZCBmaXggc29tZSBlbWFpbCBhZGRyZXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOiAoZ3N0X3J0cF9kdl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzogKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiAoZ3N0X3J0cF92cmF3X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBGaXggdGhlIGRlc2NyaXB0aW9ucyBhbmQgZml4IHNvbWUgZW1haWwgYWRkcmVzc2VzLgoKMjAwOC0xMS0yNSAxNzo0NzoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBNUEcxIGFuZCBNUEcyIGZvdXJjYyB0byBzdXBwb3J0ZWQgcXRkZW11eCB2aWRlbyBjb2RlY3MgYXMgSSBmb3VuZCBzb21lIHZpZGVvIGNsaXBzIHVzaW5nIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKTogQWRkIE1QRzEgYW5kIE1QRzIKCSAgZm91cmNjCgkgIHRvIHN1cHBvcnRlZCBxdGRlbXV4IHZpZGVvIGNvZGVjcyBhcyBJIGZvdW5kIHNvbWUgdmlkZW8gY2xpcHMKCSAgdXNpbmcKCSAgdGhvc2UuCgoyMDA4LTExLTI1IDE2OjI2OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBQb3N0IGFuIGVycm9yIHdoZW4gd2UgY2FuJ3Qgc2V0IHRoZSBpbnRlcm5hbCBnaG9zdHBhZCB0YXJnZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzogKGdzdF9hdXRvX2F1ZGlvX3NyY19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOiAoZ3N0X2F1dG9fdmlkZW9fc3JjX2RldGVjdCk6CgkgIFBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBjYW4ndCBzZXQgdGhlIGludGVybmFsIGdob3N0cGFkIHRhcmdldC4KCjIwMDgtMTEtMjUgMTY6MDY6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC4qOiBGaXggcmVuZWdvdGlhdGlvbiB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMgdXNpbmcgdGhlIG5ldyBiYXNldHJhbnNmb3JtIGZlYXR1cmVzLiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgRml4IHJlbmVnb3RpYXRpb24gd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzIHVzaW5nIHRoZSBuZXcgYmFzZXRyYW5zZm9ybQoJICBmZWF0dXJlcy4gRml4ZXMgIzU2MTUwMi4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AyLXRlc3QuYzogKG1ha2VfcGlwZWxpbmUpLCAobWFpbik6CgkgIEFkZCBjcmF6eSBpbnRlcmFjdGl2ZSB0ZXN0IHVuaXQgZm9yIGR5bmFtaWNhbGx5IGNoYW5naW5nIHByb3BlcnRpZXMuCgoyMDA4LTExLTI0IDEyOjIwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAobmV3X3Nlc3Npb25fcGFkKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIFVzZSB0aGUgcmVhbmdlcyByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgdW5jb25kaXRpb25hbGx5LgoJICBGaXhlcyAjNTYxNjI1LgoKMjAwOC0xMS0yMyAxNTowODo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBDaGFuZ2UgI2lmIDAgdG8gc29tZXRoaW5nIG1vcmUgZXhwcmVzaXZlIGFuZCBhZGQgcG9pbnRlciB0byByZWxhdGVkIGJ1ZyB0aWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgQ2hhbmdlICNpZiAwIHRvIHNvbWV0aGluZyBtb3JlIGV4cHJlc2l2ZSBhbmQgYWRkIHBvaW50ZXIgdG8gcmVsYXRlZAoJICBidWcgdGlja2V0LgoKMjAwOC0xMS0yMyAxMToxNzowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCjIwMDgtMTEtMjMgMTE6MTQ6NDIgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBHX3tCSUcsTElUVExFfV9FTkRJQU4gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgdmFyaWFudHMgYXMgdGhlIGxhdHRlciBkb24ndCBleGlzdCBvbiBzb21lIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBVc2UgR197QklHLExJVFRMRX1fRU5ESUFOIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIHZhcmlhbnRzIGFzCgkgIHRoZSBsYXR0ZXIgZG9uJ3QgZXhpc3Qgb24gc29tZSBzeXN0ZW1zIChtaW5ndykuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoKMjAwOC0xMS0yMSAxMzo0MzoyOSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgdHJhbnNmZXJNb2RlLmRubGEub3JnIGhlYWRlciB0byBIVFRQIHJlcXVlc3RzIGFzIHRoaXMgaXMgcmVxdWlyZWQgYnkgdGhlIERMTkEgc3BlY3MgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBaZWVzaGFuIEFsaSA8emVlc2hhbmFrIGF0IGdub21lIGRvdCBvcmc+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpOgoJICBBZGQgdHJhbnNmZXJNb2RlLmRubGEub3JnIGhlYWRlciB0byBIVFRQIHJlcXVlc3RzIGFzIHRoaXMgaXMKCSAgcmVxdWlyZWQgYnkgdGhlIERMTkEgc3BlY3MgYW5kIGRvZXNuJ3QgaHVydCBpbiBvdGhlciBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzU2MTgwMi4KCjIwMDgtMTEtMjAgMjM6NTk6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogSGFuZGxlIHZpZGVvIHdpbmRvdyByZXNpemluZyBtb3JlIGNvcnJlY3RseSwgYXZvaWRpbmcgY3Jhc2hlcyB3aGVuIGVtYmVkZGluZyB0aGUgd2luZG93IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBIYW5kbGUgdmlkZW8gd2luZG93IHJlc2l6aW5nIG1vcmUgY29ycmVjdGx5LCBhdm9pZGluZyBjcmFzaGVzIHdoZW4KCSAgZW1iZWRkaW5nIHRoZSB3aW5kb3cgYW5kIHJlc2l6aW5nIGl0LgoKMjAwOC0xMS0yMCAyMjo1Njo1OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC86IEZpeCBtdWx0aXVkcHNpbmsgb24gT1NYIGJ5IHBhc3NpbmcgdGhlIHNwZWNpZmljIGxlbmd0aCBvZiB0aGUgc29ja2V0LCByZWZhY3RvciB0aGF0IGludG8gYSBmdW5jdGlvbiBzaGFyZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggbXVsdGl1ZHBzaW5rIG9uIE9TWCBieSBwYXNzaW5nIHRoZSBzcGVjaWZpYyBsZW5ndGggb2YgdGhlIHNvY2tldCwKCSAgcmVmYWN0b3IgdGhhdCBpbnRvIGEgZnVuY3Rpb24gc2hhcmVkIHdpdGggdGhlIHNhbWUgdGhpbmcgaW4gdWRwc3JjLgoKMjAwOC0xMS0yMCAyMDowNzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggdGhlIHNjYWxpbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAodWludDY0X2NlaWxpbmdfc2NhbGUpLCAoZ3N0X3dhdnBhcnNlX2NhbGN1bGF0ZV9kdXJhdGlvbiksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXggdGhlIHNjYWxpbmcgY29kZS4KCSAgRml4IHBhcnNpbmcgb2YgdGhlIElORk8gY2h1bmtzLCB3ZSB3ZXJlIHJlYWRpbmcgdGhlIHdyb25nIG51bWJlciBvZgoJICBieXRlcy4gIEZpeGVzICM1NjE1ODAuCgoyMDA4LTExLTIwIDE0OjMwOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBvZiBhbiB1bnNldCBjb2RlY19pZCBpbiB0aGUgcmVjZW50bHkgYWRkZWQgRGlyYWMgcGF0aHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIG9mIGFuIHVuc2V0IGNvZGVjX2lkIGluIHRoZSByZWNlbnRseQoJICBhZGRlZCBEaXJhYyBwYXRocwoKMjAwOC0xMS0yMCAxMzo1ODo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSnVzdCBrZWVwIGRpc2FibGluZyBlbGVtZW50cyB0aGF0IGhhbmcgdGhlIHN0YXRlcyB0ZXN0IHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSnVzdCBrZWVwIGRpc2FibGluZyBlbGVtZW50cyB0aGF0IGhhbmcgdGhlIHN0YXRlcyB0ZXN0IHVudGlsIGl0CgkgIHdvcmtzLgoKMjAwOC0xMS0yMCAxMzo0Njo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBEb24ndCBmbHVzaCBkb3duc3RyZWFtIGFmdGVyIGV2ZXJ5IGJ1ZmZlciAtIHRoYXQncyBub3Qgd2hhdCB0aGlzIGxpYnBuZyBjYWxsYmFjayBpcyBmb3IgYXQgYWxsIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBEb24ndCBmbHVzaCBkb3duc3RyZWFtIGFmdGVyIGV2ZXJ5IGJ1ZmZlciAtIHRoYXQncyBub3Qgd2hhdAoJICB0aGlzIGxpYnBuZyBjYWxsYmFjayBpcyBmb3IgYXQgYWxsIQoKMjAwOC0xMS0xNyAxNDowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogVHVybnMgb3V0IHdlIGRvbid0IGFsd2F5cyBnZXQgdGhlIGZyYW1lIHNpemVzIGluIGEgcHJlZGVmaW5lZCBvcmRlciBmcm9tIGxvd2VzdCB0byBoaWdoZXN0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpLCAoc29ydF9ieV9mcmFtZV9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIFR1cm5zIG91dCB3ZSBkb24ndCBhbHdheXMgZ2V0IHRoZSBmcmFtZSBzaXplcyBpbiBhIHByZWRlZmluZWQKCSAgb3JkZXIgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdCByZXNvbHV0aW9uLCBzbyBsZXQncyBqdXN0IHNvcnQgdGhlCgkgIGxpc3QgYnkgZnJhbWUgc2l6ZSBvbmNlIHdlJ3ZlIHF1ZXJpZWQgdGhlIHBvc3NpYmxlIHJlc29sdXRpb25zCgkgIHJhdGhlciB0aGFuIGFzc3VtZSBhbnkgcGFydGljdWxhciBvcmRlci4gRml4ZXMgcHJvYmVkIGNhcHMgZm9yCgkgIHRoZSBjYW1lcmEgaW4gbXkgSFAyMTMzIG1pbmkgbm90ZWJvb2sgYW5kIG1ha2VzIHY0bDJzcmMgZGVmYXVsdAoJICB0byBhIGRlY2VudCBzaXplLgoKMjAwOC0xMS0xNiAxNDo0MTozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IE1ha2UgbWt2ZGVtdXggYXdhcmUgb2YgRS1BQzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgTWFrZSBta3ZkZW11eCBhd2FyZSBvZiBFLUFDMy4KCjIwMDgtMTEtMTQgMTg6NDE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIGEganBlZyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IChnc3RfcnRwX2pwZWdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfanBlZ19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9maW5hbGl6ZSksIChNYWtlVGFibGVzKSwgKE1ha2VRdWFudEhlYWRlciksCgkgIChNYWtlSHVmZm1hbkhlYWRlciksIChNYWtlRFJJSGVhZGVyKSwgKE1ha2VIZWFkZXJzKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfanBlZ19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBBZGQgYSBqcGVnIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBTZXQgdGhlIGRlZmF1bHQgcHJvcGVydGllcyBvbiB0aGUgcGF5bG9hZGVyIHRvIGJldHRlciBkZWZhdWx0cy4KCjIwMDgtMTEtMTQgMTU6NDI6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDIuYzogR2l2ZSBpdCBhIHByaW1hcnkgcmFuayBmb3IgYXV0b3ZpZGVvc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIEdpdmUgaXQgYSBwcmltYXJ5IHJhbmsgZm9yIGF1dG92aWRlb3NyYy4KCjIwMDgtMTEtMTQgMTE6NDE6NTUgKzAwMDAgIEJqb3JuIE9zdGJ5IDxiam9ybm9zQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBKUEVHIHBheWxvYWRlci4gRml4ZXMgIzU2MDc1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCam9ybiBPc3RieSA8Ympvcm5vcyBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOiAoZ3N0X3J0cF9qcGVnX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfanBlZ19wYXlfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9qcGVnX3BheV9oZWFkZXJfc2l6ZSksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3JlYWRfcXVhbnRfdGFibGUpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zY2FuX21hcmtlciksIChnc3RfcnRwX2pwZWdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9qcGVnX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIEFkZCBKUEVHIHBheWxvYWRlci4gRml4ZXMgIzU2MDc1Ni4KCjIwMDgtMTEtMTMgMTc6NDU6NTkgKzAwMDAgIEZhYnJpY2lvIEdvZG95IDxza2FybGxvdEBnbWFpbC5jb20+CgoJICBzeXMvOiBGaXggc29tZSBzcGVsbGluZyBtaXN0YWtlcy4gRml4ZXMgIzU1NjgwMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGYWJyaWNpbyBHb2RveSA8c2thcmxsb3QgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGaXggc29tZSBzcGVsbGluZyBtaXN0YWtlcy4gRml4ZXMgIzU1NjgwMi4KCjIwMDgtMTEtMTMgMTY6MjQ6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgcHJlc2V0cyBmb3IgZXF1YWxpemVyLiBGaXhlcyAjNTIyMTgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL0dzdElpckVxdWFsaXplcjEwQmFuZHMucHJzOgoJICAqIGdzdC9lcXVhbGl6ZXIvR3N0SWlyRXF1YWxpemVyM0JhbmRzLnByczoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFkZCBwcmVzZXRzIGZvciBlcXVhbGl6ZXIuIEZpeGVzICM1MjIxODMuCgoyMDA4LTExLTEzIDE2OjE3OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZW1vdmUgZ29vZ2xlIGV4dGVuc2lvbiBhZ2FpbiwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB3ZSBuZXZlciBzZW5kIG11bHRpcGxlIHRyYW5zcG9ydHMgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIFJlbW92ZSBnb29nbGUgZXh0ZW5zaW9uIGFnYWluLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHdlIG5ldmVyCgkgIHNlbmQgbXVsdGlwbGUgdHJhbnNwb3J0cyBhbnltb3JlLgoKMjAwOC0xMS0xMyAxNjoxMToxNiArMDAwMCAgRXJpYyBaaGFuZyA8Y2hhby56aGFuZ0BhY2Nlc3MtY29tcGFueS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgTkFUIHRyYXZlcnNhbCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRXJpYyBaaGFuZyA8Y2hhby56aGFuZyBhdCBhY2Nlc3MtY29tcGFueSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX25hdF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2lua3MpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9kdW1teV9wYWNrZXRzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBOQVQgdHJhdmVyc2FsIG1ldGhvZC4KCSAgSWdub3JlIEVPUyBmcm9tIHRoZSBpbnRlcm5hbCBzaW5rcy4KCSAgSW1wbGVtZW50IHNlbmRpbmcgZHVtbXkgcGFja2V0cyBhcyBhIChzaW1wbGUpIG1ldGhvZCB0byBvcGVuIHVwCgkgIHNvbWUgZmlyZXdhbGxzLgoJICBTZW5kIFBMQVkgcmVxdWVzdCB0byB0aGUgc2VydmVyIGFmdGVyIHdlIHN0YXJ0ZWQgdGhlIHVkcCBzb3VyY2VzLgoJICBGaXhlcyAjNTU5NTQ1LgoKMjAwOC0xMS0xMyAxNDowNDo0MCArMDAwMCAgWW90YW0gPHNoLnlvdGFtQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBGbHVzaCB0aGUgcmVtYWluaW5nIGZyYW1lcyBvbiBFT1MuIEZpeGVzICM1NjA2NDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW90YW0gPHNoIGRvdCB5b3RhbSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgIEZsdXNoIHRoZSByZW1haW5pbmcgZnJhbWVzIG9uIEVPUy4gRml4ZXMgIzU2MDY0MS4KCjIwMDgtMTEtMTIgMTY6Mzc6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHByaW50ZiBmb3JtYXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBfZzcyOV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHByaW50ZiBmb3JtYXR0aW5nLgoKMjAwOC0xMS0xMiAxMTo1NToxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBRdWV1ZSB1cCBuZXcgc2VnbWVudCBldmVudHMgaW5zdGVhZCBvZiBzZW5kaW5nIHRoZW0gZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaCAoc3RydWN0IF9Hc3RRVERlbXV4KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2RvX3NlZWspOiBRdWV1ZSB1cCBuZXcKCSAgc2VnbWVudCBldmVudHMgaW5zdGVhZCBvZiBzZW5kaW5nIHRoZW0gZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQuCgkgIEZpeGVzICM1NTkyODguCgkgIChnc3RfcXRkZW11eF9wdXNoX3BlbmRpbmdfbmV3c2VnbWVudCk6IE5ldyBoZWxwZXIsIHNlbmRzIG91dAoJICBxdWV1ZWQgbmV3c2VnbWVudCBldmVudHMuCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKTogVm9pbMOgLCBjYWxsIGl0IGhlcmUuIE9ubHkgbmVlZCB0bwoJICBjYWxsIGl0IGhlcmUsIGFzIHdlIG9ubHkgc2VlayB3aGVuIGxvb3BpbmcsIGFuZCBvbmx5IHB1c2ggaW4gdGhlCgkgIG1vdmllIHN0YXRlLgoKMjAwOC0xMS0xMSAxOTo1MjowNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IEFkZCBjb3ZlciBhbmQgYWx0ZXJuYXRpdmUgY29weXJpZ2h0IHRhZywgYW5kIGVuaGFuY2Ugc29tZSBleGlzdGluZyBvbmVzIGJ5IG1hcmtpbmcgdGhlbSBhcyBjb250YWluZXIgYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF90YWdfYWRkX3RtcG8pLAoJICAocXRkZW11eF90YWdfYWRkX2NvdnIpLCAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIGNvdmVyIGFuZCBhbHRlcm5hdGl2ZSBjb3B5cmlnaHQgdGFnLCBhbmQgZW5oYW5jZSBzb21lIGV4aXN0aW5nCgkgIG9uZXMgYnkgbWFya2luZyB0aGVtIGFzIGNvbnRhaW5lciBhdG9tcy4KCjIwMDgtMTEtMTEgMTc6MzM6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X3NldF9jYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCjIwMDgtMTEtMTEgMTc6Mjk6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuKjogUmVwbGFjZSBHNzI5IHBheWxvYWRlciB3aXRoIGFuIGltcHJvdmVkIHZlcnNpb24uIEZpeGVzICM1MzI0MDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI5X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9wYXlfc2V0X2NhcHMpLCAoZ3N0X3J0cF9nNzI5X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgUmVwbGFjZSBHNzI5IHBheWxvYWRlciB3aXRoIGFuIGltcHJvdmVkIHZlcnNpb24uIEZpeGVzICM1MzI0MDkuCgoyMDA4LTExLTExIDE2OjAwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBPbmx5IHNlbmQgb25lIHRyYW5zcG9ydCBhdCBhIHRpbWUgZm9yIGltcHJvdmVkIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGJyb2tlbiBzZXJ2ZXJzLiBTZWUgIzUzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBPbmx5IHNlbmQgb25lIHRyYW5zcG9ydCBhdCBhIHRpbWUgZm9yIGltcHJvdmVkIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lCgkgIGJyb2tlbiBzZXJ2ZXJzLiBTZWUgIzUzNzgzMi4KCjIwMDgtMTEtMTEgMTU6MTY6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE9ubHkgcGF1c2UvcGxheSBpbiB0aGUgc2VlayBoYW5kbGVyIHdoZW4gdGhlIHNvdXJjZSB3YXMgcGxheWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspOgoJICBPbmx5IHBhdXNlL3BsYXkgaW4gdGhlIHNlZWsgaGFuZGxlciB3aGVuIHRoZSBzb3VyY2Ugd2FzIHBsYXlpbmcuCgkgIEZpeGVzICM1MjkzNzkuCgoyMDA4LTExLTExIDEyOjE4OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtdXhpbmcgb2YgRGlyYWMgc3RyZWFtcyBpZiB0aGUgaW5wdXQgYWxyZWFkeSBoYXMgdGhlIGZvcm1hdCB3ZSBuZWVkLCBpLmUuIGlzIHRoZSBvdXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfZGlyYWNfcGFja2V0KToKCSAgRml4IG11eGluZyBvZiBEaXJhYyBzdHJlYW1zIGlmIHRoZSBpbnB1dCBhbHJlYWR5IGhhcyB0aGUgZm9ybWF0CgkgIHdlIG5lZWQsIGkuZS4gaXMgdGhlIG91dHB1dCBvZiBtYXRyb3NrYWRlbXV4LgoKMjAwOC0xMS0xMSAxMDowNjowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRG9uJ3Qgc2VnZmF1bHQgb24gc3RyaW5nIHR5cGVkIHRhZ3MgYmVpbmcgTlVMTC4gRml4ZXMgIzU2MDE1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRG9uJ3Qgc2VnZmF1bHQgb24gc3RyaW5nIHR5cGVkIHRhZ3MgYmVpbmcgTlVMTC4gRml4ZXMgIzU2MDE1NS4KCjIwMDgtMTEtMTAgMTY6NDQ6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbWFwcGluZyBBQUMgcHJvZmlsZSB0byBNYXRyb3NrYSBjb2RlYyBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoYWFjX2NvZGVjX2RhdGFfdG9fY29kZWNfaWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtYXBwaW5nIEFBQyBwcm9maWxlIHRvIE1hdHJvc2thIGNvZGVjIGlkLgoKMjAwOC0xMS0xMCAxNjozNjowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlZmFjdG9yIHNvbWUgcmF3IGF1ZGlvIGNhcHMgYnVpbGRpbmcsIGFuZCBoYW5kbGUgPjE2LWJpdCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBSZWZhY3RvciBzb21lIHJhdyBhdWRpbyBjYXBzIGJ1aWxkaW5nLCBhbmQgaGFuZGxlID4xNi1iaXQgY2FzZXMuCgkgIEZpeC9yZXBsYWNlIGJ1aWxkaW5nIGNhcHMgZnJvbSBhIHN0cmluZyBkZXNjcmlwdGlvbi4KCjIwMDgtMTEtMTAgMTM6NTk6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogTWFrZSBhdXRob3IgbmFtZSBjb25zaXN0ZW50IHdpdGggb3RoZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIE1ha2UgYXV0aG9yIG5hbWUgY29uc2lzdGVudCB3aXRoIG90aGVycy4KCjIwMDgtMTEtMTAgMTI6MTM6MjEgKzAwMDAgIEVyaWMgWmhhbmcgPGNoYW8uemhhbmdAYWNjZXNzLWNvbXBhbnkuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQYXVzZSB0aGUgUlRTUCBzdHJlYW0gYmVmb3JlIGRvaW5nIGEgbmV3IHBsYXkgcmVxdWVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBFcmljIFpoYW5nIDxjaGFvLnpoYW5nIGF0IGFjY2Vzcy1jb21wYW55IGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBQYXVzZSB0aGUgUlRTUCBzdHJlYW0gYmVmb3JlIGRvaW5nIGEgbmV3IHBsYXkgcmVxdWVzdC4KCSAgTWFrZSBzdXJlIHRoYXQgYWRkaW5nIHRoZSB1ZHBzaW5rcyBkb2VzIG5vdCBjYXVzZSB0aGUgcnRzcHNyYyB0byBiZWNvbWUKCSAgYSBzaW5rLiBGaXhlcyAjNTU5NTQ3LgoKMjAwOC0xMS0wNSAxNDo0MjozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogSW1wbGVtZW50IERpcmFjIG11eGluZyBpbnRvIE1hdHJvc2thIGNvbWZvcm1pbmcgdG8gdGhlIHNwZWMsIGkuZS4gcHV0IGFsbCBEaXJhYyBwYWNrYWdlcyB1cCB0byBhIHBpY3R1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfZGlyYWNfcGFja2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEltcGxlbWVudCBEaXJhYyBtdXhpbmcgaW50byBNYXRyb3NrYSBjb21mb3JtaW5nIHRvIHRoZSBzcGVjLCBpLmUuCgkgIHB1dCBhbGwgRGlyYWMgcGFja2FnZXMgdXAgdG8gYSBwaWN0dXJlIGludG8gYSBNYXRyb3NrYSBibG9jay4KCSAgVE9ETzogSW1wbGVtZW50IHdyaXRpbmcgb2YgdGhlIFJlZmVyZW5jZUJsb2NrIE1hdHJvc2thIGVsZW1lbnRzLAoJICBjdXJyZW50bHkgdGhlIERpcmFjIG11eGluZyBpcyBvbmx5IDEwMCUgY29ycmVjdCBpZiBNYXRyb3NrYSB2ZXJzaW9uIDIKCSAgaXMgc2VsZWN0ZWQgZm9yIG11eGluZy4KCjIwMDgtMTEtMDQgMTI6MzI6NDggKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIE9wdGlvbmFsbHkgdXNlIGxpYnY0bCB0byBhY2Nlc3MgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU0NTAzMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PiwKCSAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZSBhdCBmZWRvcmFwcm9qZWN0IGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksCgkgIChnc3RfdjRsMl9nZXRfbm9ybSksIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9uZXcpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKSwKCSAgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgT3B0aW9uYWxseSB1c2UgbGlidjRsIHRvIGFjY2VzcyB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQ1MDMzLgoKMjAwOC0xMS0wNCAxMjoyODozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgoyMDA4LTEwLTMxIDE4OjE3OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9NYWtlZmlsZS5hbTogSW5jbHVkZSAkKEZMQUNfQ0ZMQUdTKSBpbiBDRkxBR1MgdG8gbWFrZSBzdXJlIHRvIGZpbmQgdGhlIEZMQUMgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgJChGTEFDX0NGTEFHUykgaW4gQ0ZMQUdTIHRvIG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBGTEFDIGhlYWRlcnMuCgkgIFRoaXMgZml4ZXMgY29tcGlsYXRpb24gaWYgRkxBQyBpcyBpbnN0YWxsZWQgaW4gYW4gdW5jb21tb24gbG9jYXRpb24KCSAgdGhhdCBpcyBub3QgYWxyZWFkeSBoYW5kbGVkIGJ5IG90aGVyIENGTEFHUy4gRml4ZXMgYnVnICM1NTg3MTEuCgoyMDA4LTEwLTMxIDEwOjA4OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBHdWFyZCBtb3JlIHVuY29tbW9uIGZvcm1hdHMgd2l0aCBpZmRlZnMgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBvbiBvbGRlciB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZm9ybWF0X2dldF9yYW5rKToKCSAgR3VhcmQgbW9yZSB1bmNvbW1vbiBmb3JtYXRzIHdpdGggaWZkZWZzIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgb24gb2xkZXIKCSAgdmVyc2lvbnMuCgoyMDA4LTEwLTMxIDEwOjAwOjE4ICswMDAwICBOaWNrIEhhZGRhZCA8bmlja0BoYWRkYWRzLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW52ZXJ0IG90aGVyIHVuY29tcHJlc3NlZCBSR0IgZm9ybWF0cy4gRml4ZXMgIzU1ODU1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBOaWNrIEhhZGRhZCA8bmljayBhdCBoYWRkYWRzIGRvdCBuZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pc191bmNvbXByZXNzZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIEludmVydCBvdGhlciB1bmNvbXByZXNzZWQgUkdCIGZvcm1hdHMuIEZpeGVzICM1NTg1NTQuCgoyMDA4LTEwLTMwIDE1OjA4OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBBZGQgc3VwcG9ydCBmb3IgZmxvYXQvZG91YmxlIGFzIGlucHV0IGFuZCByZW1vdmUgdGhlIChub3dhZGF5cykgdXNlbGVzcyBwYXJzaW5nIG9mIHRoZSBkZXB0aCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbG9hdC9kb3VibGUgYXMgaW5wdXQgYW5kIHJlbW92ZSB0aGUgKG5vd2FkYXlzKQoJICB1c2VsZXNzIHBhcnNpbmcgb2YgdGhlIGRlcHRoIGFzIHdlIHJlcXVpcmUgd2lkdGg9PWRlcHRoLgoKMjAwOC0xMC0zMCAxMDozMTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBOYXJyb3cgZG93biB0aGUgY2FwcyBvZiB0aGUgbXBlZyBhdWRpbyBwYXkvZGVwYXlsb2FkZXJzIHRvIG9ubHkgYWNjZXB0IG1wZWcgdmVyc2lvbiAxLiBGaXhlcyAjNTU4NDI3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBOYXJyb3cgZG93biB0aGUgY2FwcyBvZiB0aGUgbXBlZyBhdWRpbyBwYXkvZGVwYXlsb2FkZXJzIHRvIG9ubHkgYWNjZXB0CgkgIG1wZWcgdmVyc2lvbiAxLiBGaXhlcyAjNTU4NDI3LgoKMjAwOC0xMC0yOSAxODoyODoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IE9ubHkgcHV0IGFuIGludGVncmFsIGFtb3VudCBvZiBzYW1wbGVzIGluIHRoZSBSVFAgcGFja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9nZXRjYXBzKToKCSAgT25seSBwdXQgYW4gaW50ZWdyYWwgYW1vdW50IG9mIHNhbXBsZXMgaW4gdGhlIFJUUCBwYWNrZXQuCgkgIEZpeGVzICM1NTY2NDEuCgoyMDA4LTEwLTI4IDE3OjQyOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBjaGFubmVscy4qOiBBZGQgbWV0aG9kIHRvIGdldCBwb3NzaWJsZSBjaGFubmVsIHBvc2l0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOiAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfaW5kZXgpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgQWRkIG1ldGhvZCB0byBnZXQgcG9zc2libGUgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTEwLTI4IDE3OjM5OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogQWxzbyBjb21taXQgdXBkYXRlZCBtYWtlZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBBbHNvIGNvbW1pdCB1cGRhdGVkIG1ha2VmaWxlCgoyMDA4LTEwLTI4IDE0OjU2OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBEb24ndCBhbGxvdyB3aWR0aD0zMixkZXB0aD0yNCBhcyBpbnB1dC4gV0FWIHJlcXVpcmVzIHRoYXQgdGhlIHdpZHRoIGlzIHRoZSBuZXh0IGludGVnZXIgbXVsdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBEb24ndCBhbGxvdyB3aWR0aD0zMixkZXB0aD0yNCBhcyBpbnB1dC4gV0FWIHJlcXVpcmVzIHRoYXQgdGhlIHdpZHRoCgkgIGlzIHRoZSBuZXh0IGludGVnZXIgbXVsdGlwbHkgb2YgOCBmcm9tIHRoZSBkZXB0aC4KCjIwMDgtMTAtMjggMTA6MDE6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIG1hcHBpbmdzIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gRG9lcyBub3QgY29tcGxldGVseSBqdXN0IHdvcmsgYmVjYXVzZSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiBkb2VzIG5vdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9nZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6IChjaGVja19jaGFubmVscyksCgkgIChnc3RfcnRwX2NoYW5uZWxzX2dldF9ieV9wb3MpLCAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfb3JkZXIpLAoJICAoZ3N0X3J0cF9jaGFubmVsc19jcmVhdGVfZGVmYXVsdCk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBBZGQgbWFwcGluZ3MgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBEb2VzIG5vdCBjb21wbGV0ZWx5IGp1c3Qgd29yawoJICBiZWNhdXNlIHRoZSBnZXRjYXBzIGZ1bmN0aW9uIGRvZXMgbm90IHlldCByZXR1cm4gdGhlIGFsbG93ZWQgY2hhbm5lbAoJICBtYXBwaW5ncy4gU2VlICM1NTY2NDEuCgoyMDA4LTEwLTI4IDA2OjUwOjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS86IEFkZCBsaWNlbnNlIGhlYWRlcnMgaW4gYWxsIHNvdXJjZSBmaWxlcy4gUmVtb3ZlIGZpbHRlci5jIGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vUkVBRE1FOgoJICAqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZHJhd21ldGhvZHMuYzoKCSAgKiBnc3QvZ29vbS9kcmF3bWV0aG9kcy5oOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzX21teC5zOgoJICAqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkgICogZ3N0L2dvb20vZ29vbV9meC5oOgoJICAqIGdzdC9nb29tL2dvb21fZ3JhcGhpYy5oOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmM6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICAqIGdzdC9nb29tL2dvb21fdHlwZWRlZnMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Zpc3VhbF9meC5oOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSAgKiBnc3QvZ29vbS9pZnMuYzoKCSAgKiBnc3QvZ29vbS9pZnMuaDoKCSAgKiBnc3QvZ29vbS9saW5lcy5jOgoJICAqIGdzdC9nb29tL2xpbmVzLmg6CgkgICogZ3N0L2dvb20vbWF0aHRvb2xzLmM6CgkgICogZ3N0L2dvb20vbWF0aHRvb2xzLmg6CgkgICogZ3N0L2dvb20vbW14LmM6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLmg6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuaDoKCSAgKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuYzoKCSAgKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuaDoKCSAgKiBnc3QvZ29vbS9zdXJmM2QuYzoKCSAgKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5oOgoJICAqIGdzdC9nb29tL3YzZC5jOgoJICAqIGdzdC9nb29tL3YzZC5oOgoJICAqIGdzdC9nb29tL3htbXguYzoKCSAgQWRkIGxpY2Vuc2UgaGVhZGVycyBpbiBhbGwgc291cmNlIGZpbGVzLiBSZW1vdmUgZmlsdGVyLmMgZnJvbQoJICBFWFRSQV9ESVNULCBhcyBpdHMgaW4gU09VUkNFUyBhbHJlYWR5LiBNZW50aW9uIHRoZSBmaWxlcyBpbiB0aGUgUkVETUUKCSAgd2hpY2ggYXJlIG5vdCB1c2VkIHJpZ2h0IG5vdy4gRml4ZXMgIzU1NzcwOS4KCjIwMDgtMTAtMjcgMTE6Mjg6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBJbXBsZW1lbnQgZ2V0Y2FwcyBpbiBydHBMMTZwYXkuIEZpeGVzICM1NTY0ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfTDE2X3BheV9nZXRjYXBzKToKCSAgSW1wbGVtZW50IGdldGNhcHMgaW4gcnRwTDE2cGF5LiBGaXhlcyAjNTU2NDg0LgoKMjAwOC0xMC0yNyAxMTowMzo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogQ2hlY2sgaWYgY2xvY2stcmF0ZSBhbmQgY2hhbm5lbHMgYXJlIHZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpOgoJICBDaGVjayBpZiBjbG9jay1yYXRlIGFuZCBjaGFubmVscyBhcmUgdmFsaWQuCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOiAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2FjM19kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X2NhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBvdXRwdXQgY2FwcyBvbiB0aGUgYnVmZmVycywgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvcgoJICB1cy4KCSAgVGhlIHN1YmNsYXNzIHdpbGwgbWFrZSBzdXJlIHdlIGFyZSBuZWdvdGlhdGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOiAoZ3N0X3J0cF9kdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2R2X2RlcGF5X3Jlc2V0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVGhlIHN1YmNsYXNzIHdpbGwgbWFrZSBzdXJlIHdlIGFyZSBuZWdvdGlhdGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6IChnc3RfcnRwX2c3MjZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IChnc3RfcnRwX2c3MjlfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSAgVGhlIHN1YmNsYXNzIHdpbGwgbWFrZSBzdXJlIHdlIGFyZSBuZWdvdGlhdGVkLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfZ3NtX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X3NldGNhcHMpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IChnc3RfcnRwX2gyNjNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzX3BheV9mbHVzaCksIChnc3RfcnRwX2gyNjNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgRG8gc29tZSBtb3JlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICBEbyBzb21lIG1vcmUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBGaXggcG9zc2libGUgY2FwcyBsZWFrLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zaW5rX3NldGNhcHMpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgQWN0dWFsbHkgc2V0IG91dHB1dCBjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzogKGdzdF9ydHBfbXB2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgU2V0IG91dHB1dCBidWZmZXIgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfcGNtdV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgU2V0IG91dHB1dCBjYXBzIG9uIHRoZSBwYWQgYW5kIGhlYWRlciBidWZmZXJzLgoJICBTZXQgZHVyYXRpb24gb24gb3V0cHV0IGJ1ZmZlcnMgYmVjYXVzZSB3ZSBjYW4uCgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfcGFyc2VfaWRlbnQpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb3V0IG91dHB1dCBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KSwgKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdGhlb3JhX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbiwgZG9uJ3QgaWdub3JlIHNldGNhcHMgcmV0dXJuLgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOiAoZ3N0X3J0cF92cmF3X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgoyMDA4LTEwLTI3IDEwOjM1OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBldmVudHMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBGb3J3YXJkIHVua25vd24gZXZlbnRzIHVwc3RyZWFtLgoKMjAwOC0xMC0yNyAxMDozMzoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IEFkZCBzb21lIHJlZmNvdW50IGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBBZGQgc29tZSByZWZjb3VudCBjaGVjawoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6IChydHBfcGlwZWxpbmVfcnVuKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXN1bHQgb2Ygd3JpdGUoKSwgZml4ZXMgYSAgY29tcGlsZXIgd2FybmluZyBmb3IgbWUuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOiAobWFpbik6CgkgIE1ha2UgdGhlIG91dHB1dCBhIGxpdHRsZSBtb3JlIHByZXR0eS4KCjIwMDgtMTAtMjcgMDk6MjY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9lc2QvZXNkbW9uLmM6IEFkZCBkb2MgYmxvYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgQWRkIGRvYyBibG9iLgoKMjAwOC0xMC0yNyAwOToyMTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHRoZSBkb2NzIG9mIHRoZSBuZXcgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgQWRkIHRoZSBkb2NzIG9mIHRoZSBuZXcgZWxlbWVudHMuCgoyMDA4LTEwLTI3IDA5OjA0OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC86IEZpeCAiU2luY2UiIHRhZ3MgaW4gdGhlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIlNpbmNlIiB0YWdzIGluIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAwOC0xMC0yNyAwOTowMDoyOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIHNvdXBodHRwc3JjIHRvIGFjdCBhcyBhIGxpdmUgc291cmNlLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGdldCB0aW1lc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHN1cHBvcnQgZm9yIHNvdXBodHRwc3JjIHRvIGFjdCBhcyBhIGxpdmUgc291cmNlLiBUaGlzIG1ha2VzIGl0CgkgIHBvc3NpYmxlIHRvIGdldCB0aW1lc3RhbXBlZCBidWZmZXJzIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlCgkgICJkby10aW1lc3RhbXAiIHByb3BlcnR5LiBGaXhlcyBidWcgIzU1NjAxOS4KCjIwMDgtMTAtMjcgMDg6NTQ6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogSW1wbGVtZW50IHNyYyBwbHVnaW5zLiBMaXR0bGUgY29kZS9zdHJpbmcgY2xlYW51cCBpbiB0aGUgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJICBJbXBsZW1lbnQgc3JjIHBsdWdpbnMuIExpdHRsZSBjb2RlL3N0cmluZyBjbGVhbnVwIGluIHRoZSBzaW5rcy4KCSAgRml4ZXMgIzUyMzgxMy4KCjIwMDgtMTAtMjcgMDg6NDU6MTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggYSBtZW1vcnkgbGVhayB3aGVuIHBhZHMgYXJlIHJlcXVlc3RlZCBidXQgdGhlIHBpcGVsaW5lIG5ldmVyIGdvZXMgaW50byBQTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCk6CgkgIEZpeCBhIG1lbW9yeSBsZWFrIHdoZW4gcGFkcyBhcmUgcmVxdWVzdGVkIGJ1dCB0aGUgcGlwZWxpbmUgbmV2ZXIKCSAgZ29lcyBpbnRvIFBMQVlJTkcuCgkgIENvcnJlY3RseSByZW1vdmUgcmVxdWVzdCBwYWRzLCBubyBtYXR0ZXIgaWYgdGhleSBoYXZlIGNvbGxlY3RlZAoJICBkYXRhIG9yIG5vdC4KCSAgRml4ZXMgYnVnICM1NTc3MTAuCgoyMDA4LTEwLTI3IDA4OjQwOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6IERlZmluZSB0aGUgY29ycmVjdCBXSU5WRVIgc28gZ2V0YWRkaW5mbygpIGNhbiBiZSB1c2VkIHdoZW4gdXNpbmcgbWluZ3czMi4gRml4ZXMgYnVnICM1NTcyOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIERlZmluZSB0aGUgY29ycmVjdCBXSU5WRVIgc28gZ2V0YWRkaW5mbygpIGNhbiBiZSB1c2VkIHdoZW4gdXNpbmcKCSAgbWluZ3czMi4gRml4ZXMgYnVnICM1NTcyOTQuCgoyMDA4LTEwLTI3IDA4OjM2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwLzogRml4ICJhcmd1bWVudCB0eXBlIG1pc21hdGNoIiBjb21waWxlciB3YXJuaW5ncyBvbiBXaW5kb3dzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4ICJhcmd1bWVudCB0eXBlIG1pc21hdGNoIiBjb21waWxlciB3YXJuaW5ncyBvbiBXaW5kb3dzLgoJICBGaXhlcyBidWcgIzU1NzI5My4KCjIwMDgtMTAtMjcgMDg6MzA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IGNhbGN1bGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlciBidXQgb25seSB3aGVuIGl0J3Mgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAodXBkYXRlX2NvZWZmaWNpZW50cyk6CgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlcgoJICBidXQgb25seSB3aGVuIGl0J3MgbmVlZGVkLiBGaXhlcyBidWcgIzU1NzI2MC4KCjIwMDgtMTAtMjYgMjA6MDU6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMS4xCgoyMDA4LTEwLTI2IDIwOjA0OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDogRml4IHZlcnNpb24gbnVtYmVyIG9mIDAuMTAuMTEgcmVsZWFzZSBpbiBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBGaXggdmVyc2lvbiBudW1iZXIgb2YgMC4xMC4xMSByZWxlYXNlIGluIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xMSA9PT0KCjIwMDgtMTAtMjQgMjI6NDE6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjExCgoyMDA4LTEwLTI0IDIyOjIwOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTEwLTI0IDE2OjMwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMjEgMTI6NDI6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IFZQUlAgY2h1bmsgc2V0dXAgaW4gYXZpbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBGaXggVlBSUCBjaHVuayBzZXR1cCBpbiBhdmltdXguCgkgIEZpeGVzOiAjNTU2MDEwCgkgIFBhdGNoIEJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCjIwMDgtMTAtMjEgMTI6Mzg6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogc3VwcG9ydCBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzIGluIHZpZGVvYm94CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICBzdXBwb3J0IGR5bmFtaWNhbGx5IGNoYW5naW5nIHByb3BlcnRpZXMgaW4gdmlkZW9ib3gKCSAgRml4ZWQ6ICM1NTcwODUKCSAgUGF0Y2ggQnk6IFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoyMDA4LTEwLTE2IDE3OjEwOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC4xMC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xMC4zIHByZS1yZWxlYXNlCgoyMDA4LTEwLTE2IDE1OjMwOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCBydW4gdGhlIHN0YXRlcyB0ZXN0IG9uIHB1bHNlc3JjIGFuZCBwdWxzZXNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERvbid0IHJ1biB0aGUgc3RhdGVzIHRlc3Qgb24gcHVsc2VzcmMgYW5kIHB1bHNlc2luawoKMjAwOC0xMC0xNiAxMTo1Mjo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjEwLjIgcHJlLXJlbGVhc2UgYnVtcCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IG9uIDIwMDgtMTAtMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC4xMC4yIHByZS1yZWxlYXNlIGJ1bXAgdGhhdCBhY3R1YWxseSB3ZW50CgkgIG91dCBvbiAyMDA4LTEwLTExCgoyMDA4LTEwLTE1IDE1OjQyOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTa2lwIGVudHJpZXMgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgb3V0cHV0IHBhZCB5ZXQsIHRoZXJlYnkgYXZvaWRpbmcgY2FsbGluZyBwYWQgZnVuY3RpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBTa2lwIGVudHJpZXMgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgb3V0cHV0IHBhZCB5ZXQsIHRoZXJlYnkKCSAgYXZvaWRpbmcgY2FsbGluZyBwYWQgZnVuY3Rpb25zIHdpdGggYSBOVUxMIHBhZC4KCSAgRml4ZXMgIzU1NjQyNAoKMjAwOC0xMC0xNSAwOTozOToyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByZXZpb3VzIHdyb25nIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcmV2aW91cyB3cm9uZyBjb21taXQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBGaXhlcyAjNTU2MzgxCgoyMDA4LTEwLTE1IDA5OjI3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgRml4ZXMgIzU1NjM4MQoKMjAwOC0xMC0xMCAxMjoyODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmxhYy86IENhc3Qgc29tZSBzaXplX3QgYXJndW1lbnRzIHRvIGd1aW50IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0LWJpdCBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spOgoJICBDYXN0IHNvbWUgc2l6ZV90IGFyZ3VtZW50cyB0byBndWludCB0byBhdm9pZCBjb21waWxlcgoJICB3YXJuaW5ncyBvbiA2NC1iaXQgc3lzdGVtcy4KCjIwMDgtMTAtMDkgMTQ6Mjc6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJldHVybiBUUlVFIGluc3RlYWQgb2YgRkFMU0UgZnJvbSB0aGUgZXZlbnQgaGFuZGxlciB3aGVuIHdlIHN3YWxsb3dlZCB0aGUgZXZlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpOgoJICBSZXR1cm4gVFJVRSBpbnN0ZWFkIG9mIEZBTFNFIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIgd2hlbiB3ZSBzd2FsbG93ZWQgdGhlCgkgIGV2ZW50LgoKMjAwOC0xMC0wOCAxNTo1OTo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICByZW1vdmUgb2xkIENESU8gcGx1Z2luIG5vdyBpbiB1Z2x5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIENESU8gcGx1Z2luIG5vdyBpbiB1Z2x5CgoyMDA4LTEwLTA4IDE0OjQ3OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXNldCBoZWFkZXIgc3RhdGUuIEZpeGVzICM1NTUzMjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgUmVzZXQgaGVhZGVyIHN0YXRlLiBGaXhlcyAjNTU1MzIxLgoKMjAwOC0xMC0wOCAxMzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogRm9yIHRpbWVzdGFtcGluZyBhdWRpbyBwYWNrZXRzIHdlIG5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIGFtb3VudCBvZiBibG9ja3MgaW4gb25lIGVudHJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgRm9yIHRpbWVzdGFtcGluZyBhdWRpbyBwYWNrZXRzIHdlIG5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlCgkgIGFtb3VudCBvZiBibG9ja3MgaW4gb25lIGVudHJ5IHVzaW5nIHRoZSBibG9ja2FsaWduLiBGaXhlcyBzb21lIHN5bmMKCSAgaXNzdWVzIHdpdGggemVyby1wYWRkZWQgYXVkaW8gYmxvY2tzIGluIHRoZSBiZWdpbm5pbmcgb2YgYXZpIGZpbGVzLgoKMjAwOC0xMC0wOCAxMDo0MjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEltcGxlbWVudCBERUZBVUxUIGFuZCBCVUZGRVIgcG9zaXRpb24gcXVlcmllcy4gU2VlICM1NTUyNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlfZmlsZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgREVGQVVMVCBhbmQgQlVGRkVSIHBvc2l0aW9uIHF1ZXJpZXMuIFNlZSAjNTU1MjYwLgoKMjAwOC0xMC0wOCAwOToyOTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBidWlsZCBmb3Igc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgWERhbWFnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0b3ApOgoJICBGaXggYnVpbGQgZm9yIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIFhEYW1hZ2UuCgoyMDA4LTEwLTA3IDA5OjU4OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwLzogQWRkIHNvbWUgbW9yZSBIMjYzcCBzZXJ2ZXIgYW5kIGNsaWVudCBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSAgQWRkIHNvbWUgbW9yZSBIMjYzcCBzZXJ2ZXIgYW5kIGNsaWVudCBleGFtcGxlcy4KCjIwMDgtMTAtMDMgMTc6MDM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgYmFzZS4KCjIwMDgtMTAtMDMgMTY6MTM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvOiBSZXR1cm4gLTEgaW5zdGVhZCBvZiAwIGluIGVycm9yIGNhc2VzLiBGaXhlcyAjNTU0NzcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX3dyaXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19yZWFkKToKCSAgUmV0dXJuIC0xIGluc3RlYWQgb2YgMCBpbiBlcnJvciBjYXNlcy4gRml4ZXMgIzU1NDc3MS4KCjIwMDgtMTAtMDMgMTU6NTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBTdG9wIGxlYWtpbmcgdGhlIGN1cnNvciBpbWFnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIFN0b3AgbGVha2luZyB0aGUgY3Vyc29yIGltYWdlLgoJICBVbnJlZiB0aGUgbGFzdF94aW1hZ2UgYW5kIHRoZSBjYWNoZWQgY3Vyc29yIGltYWdlIG9uIHNodXRkb3duLgoJICBGaXhlcyAjNTUxNTcwLgoKMjAwOC0xMC0wMyAxMTozMjo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDogR2V0dGluZyB0aGUgQ2xhc3MgZnJvbSBhbiBpbnN0YW5jZSBpcyBub3QganVzdCBhIG1hdHRlciBvZiBjYXN0aW5nIGl0IHRvIHRoZSBjbGFzcyBzdHJ1Y3QgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIEdldHRpbmcgdGhlIENsYXNzIGZyb20gYW4gaW5zdGFuY2UgaXMgbm90IGp1c3QgYSBtYXR0ZXIgb2YgY2FzdGluZyBpdCB0bwoJICB0aGUgY2xhc3Mgc3RydWN0IGJ1dCBpdCBpbnZvbHZlcyBjYWxsaW5nIEdfT0JKRUNUX0dFVF9DTEFTUyBvbiB0aGUKCSAgaW5zdGFuY2UuIEZpeGVzICM1NDk3ODQuCgoyMDA4LTEwLTAxIDIxOjIyOjI2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBsaWJzIGZvciBsaW5raW5nIGRpcmVjdHNvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBsaWJzIGZvciBsaW5raW5nIGRpcmVjdHNvdW5kLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgRml4IGJ1ZmZlciBzaXppbmcgdG8gcHJldmVudCByYWNpbmcgdGhlIHJpbmdidWZmZXIgYXQgc3RhcnR1cC4KCSAgQWRkIHZvbHVtZSBwcm9wZXJ0eS4KCjIwMDgtMDktMjcgMDA6NDM6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBGaXggcHJvYmxlbXMgd2l0aCBwdWxzZXNpbmsgcmFuZG9tbHkgZXJyb3Jpbmcgd2l0aCBjb2RlICdPSycgYWZ0ZXIgYSBmb3JtYXQgY2hhbmdlIG9uIHRoZSBzdHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgRml4IHByb2JsZW1zIHdpdGggcHVsc2VzaW5rIHJhbmRvbWx5IGVycm9yaW5nIHdpdGggY29kZSAnT0snIGFmdGVyIGEKCSAgZm9ybWF0IGNoYW5nZSBvbiB0aGUgc3RyZWFtIGJ5IHdhaXRpbmcgd2hlbiBkaXNjb25uZWN0aW5nIHRoZSBzdHJlYW0uCgoyMDA4LTA5LTI2IDE0OjQ0OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBNYXJrIERJU0NPTlQgb24gb3V0cHV0IGJ1ZmZlcnMgd2hlbiB0aGUgbWFya2VyIGJpdCBzaWduYWxzIGEgbmV3IHRhbGsgc3B1cnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIE1hcmsgRElTQ09OVCBvbiBvdXRwdXQgYnVmZmVycyB3aGVuIHRoZSBtYXJrZXIgYml0IHNpZ25hbHMgYSBuZXcgdGFsawoJICBzcHVydC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBTZXQgdGhlIG1hcmtlciBiaXQgZm9yIGJ1ZmZlcnMgd2l0aCBhIERJU0NPTlQgZmxhZyB0byBzaWduYWwgYSB0YWxrCgkgIHNwdXJ0LgoKMjAwOC0wOS0yNiAxMzo1NTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBNUDRBLUxBVE0gcGF5bG9hZGVyIHRvIG1hdGNoIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX21wNGFfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX21wNGFfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0YV9wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9wYXJzZV9hdWRpb19jb25maWcpLCAoZ3N0X3J0cF9tcDRhX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGFfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfbXA0YV9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJICBBZGRlZCBNUDRBLUxBVE0gcGF5bG9hZGVyIHRvIG1hdGNoIHRoZSBkZXBheWxvYWRlci4KCjIwMDgtMDktMjUgMTU6MTE6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEhhbmRsZSBzZWdtZW50cyBhIGxpdHRsZSBiZXR0ZXIuIEZpeGVzICM1MzczNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3NpbmtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudHMgYSBsaXR0bGUgYmV0dGVyLiBGaXhlcyAjNTM3MzYxLgoKMjAwOC0wOS0yNSAxMjowNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgYXNzdW1lIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgUEFVU0UgYnkgZGVmYXVsdC4gRml4ZXMgIzU1MTA0OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyk6CgkgIERvbid0IGFzc3VtZSB0aGUgc2VydmVyIHN1cHBvcnRzIFBBVVNFIGJ5IGRlZmF1bHQuIEZpeGVzICM1NTEwNDguCgoyMDA4LTA5LTI1IDExOjMwOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogU3dpdGNoIG9uIHRoZSBzb2NrZXQgZmFtaWx5IHRvIGdldCB0aGUgYWRkcmxlbiBzaXplIHJpZ2h0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc2V0X3VyaSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgU3dpdGNoIG9uIHRoZSBzb2NrZXQgZmFtaWx5IHRvIGdldCB0aGUgYWRkcmxlbiBzaXplIHJpZ2h0LgoKMjAwOC0wOS0yNSAxMDozNDozOSArMDAwMCAgRGFuaWVsIEZyYW5rZSA8ZGZAZGZyYW5rZS51cz4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IE9TIFgncyBiaW5kKCkgaW1wbGVtZW50YXRpb24gaXMgcGlja3kgYWJvdXQgaXRzIGFkZHJsZW4gcGFyYW1ldGVyIGFuZCBmYWlscyB3aXRoIEVJTlZBTCBpZiBpdCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBGcmFua2UgPGRmIGF0IGRmcmFua2UgZG90IHVzPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgT1MgWCdzIGJpbmQoKSBpbXBsZW1lbnRhdGlvbiBpcyBwaWNreSBhYm91dCBpdHMgYWRkcmxlbiBwYXJhbWV0ZXIgYW5kCgkgIGZhaWxzIHdpdGggRUlOVkFMIGlmIGl0IGlzIGxhcmdlciB0aGFuIGV4cGVjdGVkIGZvciB0aGUgc29ja2V0J3MgYWRkcmVzcwoJICBmYW1pbHkuIFNldCB0aGUgbGVuZ3RoIHRvIHRoZSBleHBlY3RlZCBsZW5ndGggaW5zdGVhZC4gRml4ZXMgIzU1MzE5MS4KCjIwMDgtMDktMjMgMTg6MDg6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBjYW5ub3QgZG8gZGVzcmliZSBvciB3aGVuIHRoZSBkZXNjcmliZSByZXN1bHQgZG9lcyBub3QgY29udGFpbiBhIHZhbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBjYW5ub3QgZG8gZGVzcmliZSBvciB3aGVuIHRoZSBkZXNjcmliZSByZXN1bHQKCSAgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIFNEUCBtZXNzYWdlLgoKMjAwOC0wOS0yMyAxNzozMToyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBzZXR0aW5nIHRoZSBxb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBzZXR0aW5nIHRoZSBxb3MuCgoyMDA4LTA5LTE3IDE0OjUwOjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lICdicm9rZW4nIGZpbGVzIG91dCB0aGVyZSBoYXZlIGF0b20gbGVuZ3RocyBvZiB6ZXJvLi4uIHdoaWNoIGJhc2ljYWxseSByZXN1bHRzIGluIHF0ZGVtdXggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgU29tZSAnYnJva2VuJyBmaWxlcyBvdXQgdGhlcmUgaGF2ZSBhdG9tIGxlbmd0aHMgb2YgemVyby4uLgoJICB3aGljaCBiYXNpY2FsbHkgcmVzdWx0cyBpbiBxdGRlbXV4IGNvbnN1bWluZyB0aGF0IGF0b20gYWdhaW4gYW5kIGFnYWluCgkgIHVudGlsIHRoZSAqZW5kIG9mIG5pZ2h0KiAhCgkgIERldGVjdCB0aGF0IGFuZCBlbWl0cyBhbiBhZGVxdWF0ZSBlbGVtZW50IGVycm9yIG1lc3NhZ2UuCgoyMDA4LTA5LTE3IDEzOjQ5OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBidWlsZCBmbGFncyBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgZmxhZ3Mgb3JkZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZvcm1hdCBmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgUHVsbCBpbiB1bmlzdGQuaAoKMjAwOC0wOS0xNSAyMToxMDoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lio6IEhhbmRsZSBpbnRlcmxlYXZlZCBzdHJlYW1zIGJ5IHJlb3JkZXJpbmcgQVUgaW4gYSBxdWV1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2xlYXJfcXVldWUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2ZsdXNoX3F1ZXVlKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9xdWV1ZSksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBIYW5kbGUgaW50ZXJsZWF2ZWQgc3RyZWFtcyBieSByZW9yZGVyaW5nIEFVIGluIGEgcXVldWUuCgoyMDA4LTA5LTE1IDE2OjA0OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogQ2hhbmdlIHNvbWUgb2YgdGhlIHJhbmdlcyBpbiB0aGUgY2FwcywgbW9zdGx5IGZvciB0aGUgYW1vdW50IG9mIGJpdHMgd2UgY2FuIHVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ic19wYXJzZV9pbml0KSwKCSAgKGdzdF9ic19wYXJzZV9yZWFkKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgQ2hhbmdlIHNvbWUgb2YgdGhlIHJhbmdlcyBpbiB0aGUgY2FwcywgbW9zdGx5IGZvciB0aGUgYW1vdW50IG9mIGJpdHMgd2UKCSAgY2FuIHVzZS4KCSAgQWRkZWQgYSBsaXR0bGUgYml0c3RyZWFtIHBhcnNlIGFuZCB1c2UgaXQgdG8gcGFyc2UgdGhlIEFVIGhlYWRlciBmaWVsZHMuCgkgIENoZWNrIGZvciBtYWxmb3JtZWQgYW5kIHdyb25nbHkgc2l6ZWQgcGFja2V0cyBiZXR0ZXIuCgkgIEltcGxlbWVudCBtb3JlIGhlYWRlciBmaWVsZCBwYXJzaW5nLgoJICBIYW5kbGUgdGhlIHNpemUgb2YgZnJhZ21lbnRlZCBwYWNrZXRzIGNvcnJlY3RseS4KCjIwMDgtMDktMTQgMTE6MzI6MTUgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBtYXBwaW5nIGZvciAndGlmZicgPT4gaW1hZ2UvdGlmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIG1hcHBpbmcgZm9yICd0aWZmJyA9PiBpbWFnZS90aWZmCgkgIEZpeGVzICM1NTIyMTMKCjIwMDgtMDktMTEgMTE6MjY6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvcmF3MTM5NC86IFByZXRlbmQgdG8gY2FyZSBhYm91dCB0aGUgcmVzdWx0IG9mIHdyaXRlKCkgd2hpY2ggd29ya3MgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKFNFTkRfQ09NTUFORCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOiAoU0VORF9DT01NQU5EKToKCSAgUHJldGVuZCB0byBjYXJlIGFib3V0IHRoZSByZXN1bHQgb2Ygd3JpdGUoKSB3aGljaCB3b3JrcyBhcm91bmQKCSAgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTA5LTA0IDA5OjI1OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBNYWtlIHN1cmUgdGhlIGRlc2lyZWQgZGVmYXVsdCB2YWx1ZXMgYXJlIGFjdHVhbGx5IHNldCwgbm90IG9ubHkgcmVnaXN0ZXJlZCBhcyBkZWZhdWx0cyAoYWN0dWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19jbGFzc19pbml0KToKCSAgTWFrZSBzdXJlIHRoZSBkZXNpcmVkIGRlZmF1bHQgdmFsdWVzIGFyZSBhY3R1YWxseSBzZXQsIG5vdCBvbmx5CgkgIHJlZ2lzdGVyZWQgYXMgZGVmYXVsdHMgKGFjdHVhbCBwcm9ibGVtIGlzIHRoYXQgdGhlIHN0ZXJlby1zcGVjaWZpYwoJICB2YWx1ZXMgYXJlIG9ubHkgdXBkYXRlZCBpZiBjaGFubmVscz09Miwgd2hpY2ggaXMgbm90IHRoZSBjYXNlIHlldAoJICB3aGVuIHRoZSBvYmplY3QgaXMgY3JlYXRlZCwgc28gdGhlIGRlZmF1bHQgdmFsdWVzIGZvciB0aGUKCSAgbWlkLXNpZGUtc3RlcmVvIGFuZCBsb29zZS1taWQtc2lkZS1zdGVyZW8gc2V0dGluZ3MgYXJlIG5ldmVyCgkgIHNldCBpbiBfdXBkYXRlX3F1YWxpdHkoKSkuIE1ha2VzIGZsYWNlbmMgY3JlYXRlIHNtYWxsZXIgZmlsZXMgYnkKCSAgZGVmYXVsdCAoZm9yIHN0ZXJlbyBpbnB1dCksIGFuZCBmaXhlcyAjNTUwNzkxLgoKMjAwOC0wOS0wMyAxMjozOTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IEFkZCBzdXBwb3J0IGZvciB2aWRlby9tajIgbWltZS10eXBlIGFuZCBpdHMgYWRkaXRpb25hbCBhdG9tcy9ib3hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB2aWRlby9tajIgbWltZS10eXBlIGFuZCBpdHMgYWRkaXRpb25hbCBhdG9tcy9ib3hlcy4KCSAgRml4ZXMgIzU1MDY0Ni4KCjIwMDgtMDktMDMgMTE6MTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogQWRkIHdhcm5pbmcgd2hlbiB0YWdzIHBhcmFtZXRlciBpcyB1bnBhcnNhYmxlIGFuZCBnaXZlIGV4YW1wbGUgZm9yIHF1b3RpbmcgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSAgQWRkIHdhcm5pbmcgd2hlbiB0YWdzIHBhcmFtZXRlciBpcyB1bnBhcnNhYmxlIGFuZCBnaXZlIGV4YW1wbGUgZm9yCgkgIHF1b3RpbmcgaW4gdGhlIGRvY3MuCgoyMDA4LTA5LTAyIDE1OjI3OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbWFwcGluZyBmb3IgSU1BIExva2kgU0RMIE1KUEVHIEFEUENNIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgbWFwcGluZyBmb3IgSU1BIExva2kgU0RMIE1KUEVHIEFEUENNIGNvZGVjLgoJICBBZGQgc29tZSBhbHRlcm5hdGl2ZSBieXRlc3dhcHBlZCBtYXBwaW5ncyB0aGF0IHNlZW0gdG8gcG9wIHVwIHNvbWV0aW1lcy4KCSAgRml4ZXMgIzU1MDI4OC4KCjIwMDgtMDktMDIgMDk6NDA6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby86IEFkZCAnY2EnIHRvIExJTkdVQVM7IGFkZCBzb21lIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMgYW5kIHNvbWUgZmlsZXMgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQgYnkgdHJhbnNsYXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgJ2NhJyB0byBMSU5HVUFTOyBhZGQgc29tZSBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zIGFuZCBzb21lCgkgIGZpbGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRyYW5zbGF0aW9uIHRvb2xzLgoKMjAwOC0wOS0wMiAwODo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NwZWV4LzogVXNlIGludGVnZXIgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgdGhlIGludGVnZXIgaW5wdXQgdG8gZmxvYXQgaW4gdGhlIGVsZW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19lbmNvZGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBVc2UgaW50ZWdlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZnVuY3Rpb25zIGluc3RlYWQgb2YgY29udmVydGluZwoJICB0aGUgaW50ZWdlciBpbnB1dCB0byBmbG9hdCBpbiB0aGUgZWxlbWVudC4gVGhlIGxpYnNwZWV4IGludGVnZXIKCSAgZnVuY3Rpb25zIGFyZSBkb2luZyB0aGlzIGZvciB1cyBhbHJlYWR5IG9yLCBpZiBsaWJzcGVleCB3YXMgY29tcGlsZWQKCSAgaW4gaW50ZWdlciBtb2RlLCB0aGV5J3JlIGRvaW5nIGV2ZXJ5dGhpbmcgdXNpbmcgaW50ZWdlciBhcml0aG1ldGljcy4KCSAgQWxzbyBzYXZlcyBzb21lIGNvcHlpbmcgYXJvdW5kLgoKMjAwOC0wOS0wMSAxMzoyOToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMDgtMDgtMzEgMTc6MDk6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgYW5kIHN0cmVhbSBkaXNjb250aW51aXRpZXMgY29ycmVjdGx5LiBUaGlzIG9ubHkgaGFzIGFuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGFuZCBzdHJlYW0gZGlzY29udGludWl0aWVzCgkgIGNvcnJlY3RseS4gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3QgaWYgd2UncmUgbXV4aW5nIGludG8KCSAgYSBjb250YWluZXIgZm9ybWF0IGFzIHRoZSByYXcgV2F2UGFjayBzdHJlYW0gbXVzdCBjb250YWluCgkgIGNvbnRpbm91cyBzYW1wbGUgbnVtYmVycy4KCjIwMDgtMDgtMzEgMTU6MDI6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBDb3JyZWN0IHRoZSB0aW1lc3RhbXAgYW5kIGdyYW51bGVwb3MgY2FsY3VsYXRpb24gYnkgb25lIFNwZWV4IGZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZW5jb2RlKToKCSAgQ29ycmVjdCB0aGUgdGltZXN0YW1wIGFuZCBncmFudWxlcG9zIGNhbGN1bGF0aW9uIGJ5IG9uZSBTcGVleAoJICBmcmFtZS4KCjIwMDgtMDgtMzEgMTQ6Mzk6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQKCSAgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbiB2YXJpb3VzIGNhbGN1bGF0aW9uczogdGhlCgkgIGdyYW51bGVwb3MgaXMgdGhlIHNhbXBsZSBudW1iZXIgb2YgdGhlIF9sYXN0XyBzYW1wbGUgaW4gYSBmcmFtZSwgbm90CgkgIHRoZSBmaXJzdC4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9zcGVleF9lbmNfZW5jb2RlKSwgKGdzdF9zcGVleF9lbmNfY2hhaW4pLAoJICAoZ3N0X3NwZWV4X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBpbiB0aGUgZW5jb2RlciBhbmQgZGV0ZWN0L2hhbmRsZQoJICBzdHJlYW0gZGlzY29udGludWl0aWVzLiBGaXhlcyBidWcgIzU0NzA3NS4KCjIwMDgtMDgtMzEgMDg6MzI6NDUgKzAwMDAgIENyYWlnIEtlb2doIDxjc2tlb2doQGFkYW0uY29tLmF1PgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiBGaXggY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IHBhc3NpbmcgYSBzdHJpbmcgYXMgZm9ybWF0IHN0cmluZyBpbnN0ZWFkIG9mICIlcyIgYW5kIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ3JhaWcgS2VvZ2ggPGNza2VvZ2ggYXQgYWRhbSBkb3QgY29tIGRvdCBhdT4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IChnc3RfY21tbF9wYXJzZXJfcGFyc2VfY2h1bmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IHBhc3NpbmcgYSBzdHJpbmcgYXMgZm9ybWF0IHN0cmluZwoJICBpbnN0ZWFkIG9mICIlcyIgYW5kIHRoZW4gdGhlIHN0cmluZy4gVGhpcyBpcyBvbmx5IGV4cG9zZWQgYnkgLVdmb3JtYXQ9MgoJICBhcyB1c2VkIGJ5IGRlZmF1bHQgb24gVWJ1bnR1LiBGaXhlcyBidWcgIzU1MDAxNS4KCjIwMDgtMDgtMzAgMTQ6MTU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlIHN0dWZmIGNvbXBpbGUgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKGdzdF9oZHYxMzk0c3JjX2NyZWF0ZSk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzogKGdlbmVyYXRlX2NvZWZmaWNpZW50cyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlcik6CgkgIE1ha2Ugc3R1ZmYgY29tcGlsZSB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCjIwMDgtMDgtMjkgMDA6Mjg6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sYXcvOiBSZWYgY2FwcyBiZWZvcmUgcGFzc2luZyB0byBnc3RfcGFkX3RlbXBsYXRlX25ldygpLCBzaW5jZSB0aGF0IHRha2VzIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LmM6CgkgICogZ3N0L2xhdy9tdWxhdy5jOgoJICBSZWYgY2FwcyBiZWZvcmUgcGFzc2luZyB0byBnc3RfcGFkX3RlbXBsYXRlX25ldygpLCBzaW5jZSB0aGF0IHRha2VzCgkgIG93bmVyc2hpcC4KCjIwMDgtMDgtMjggMTA6MDk6MTYgKzAwMDAgIE1lcnNhZCBKZWxhY2ljIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0LzogQ29udmVydCBhdWRpby94LWFkcGNtIHRvIGFuZCBmcm9tIHRoZSBhdWRpby9HNzI2LVggaW4gdGhlIG11eGVyIGFuZCBkZW11eGVyLiBGaXhlcyAjNTQ5NTUxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1lcnNhZCBKZWxhY2ljIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfZ2V0X21pbWUpOgoJICBDb252ZXJ0IGF1ZGlvL3gtYWRwY20gdG8gYW5kIGZyb20gdGhlIGF1ZGlvL0c3MjYtWCBpbiB0aGUgbXV4ZXIgYW5kCgkgIGRlbXV4ZXIuIEZpeGVzICM1NDk1NTEuCgoyMDA4LTA4LTI3IDE2OjEyOjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeGF1ZGlvLzogRml4IHRoZSBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19zZWxlY3RfZGV2aWNlKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2NyZWF0ZV9yaW5nYnVmZmVyKSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX3NlbGVjdF9kZXZpY2UpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6IChnc3Rfb3N4X3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBGaXggdGhlIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDgtMjcgMTU6NDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogU21hbGwgZG9jcyBmaXg6IGluIHRoZSBleGFtcGxlIHBpcGVsaW5lLCB3ZSBuZWVkIHRvIHBhc3MgaXJhZGlvLW1vZGU9dHJ1ZSB0byB0aGUgc291cmNlLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIFNtYWxsIGRvY3MgZml4OiBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSwgd2UgbmVlZCB0byBwYXNzCgkgIGlyYWRpby1tb2RlPXRydWUgdG8gdGhlIHNvdXJjZSwgc28gdGhlIHNlcnZlciBhY3R1YWxseSBzZW5kcwoJICBhbiBJQ1kgc3RyZWFtLgoKMjAwOC0wOC0yNyAwMDowODoyMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6IE9vcHMuIFJldmVydCBtb3JlIGNvbXBsZXRlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICBPb3BzLiBSZXZlcnQgbW9yZSBjb21wbGV0ZWx5LgoKMjAwOC0wOC0yNiAyMzo1NzowNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6IFJldmVydCBhY2NpZGVudGFsIGVsZW1lbnQgcmVuYW1lIGZyb20gdGVzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgIFJldmVydCBhY2NpZGVudGFsIGVsZW1lbnQgcmVuYW1lIGZyb20gdGVzdGluZy4KCjIwMDgtMDgtMjYgMjM6NTM6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOiBQdWxsIGluIDAuMTAuMTAgZG9hcCBlbnRyeSBmcm9tIHJlbGVhc2UgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgUHVsbCBpbiAwLjEwLjEwIGRvYXAgZW50cnkgZnJvbSByZWxlYXNlIGJyYW5jaAoKMjAwOC0wOC0yNiAyMzowNTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB2ZXJzaW9uIG51bWJlciB0byByZWZsZWN0IDAuMTAuMTAgcmVsZWFzZSBmcm9tIGJyYW5jaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdmVyc2lvbiBudW1iZXIgdG8gcmVmbGVjdCAwLjEwLjEwIHJlbGVhc2UgZnJvbQoJICBicmFuY2guCgoyMDA4LTA4LTI2IDIxOjEzOjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vOiBSZXdyaXRlIGNhcHMgc2V0dGluZyBhbmQgcmluZyBidWZmZXIgaW5pdGlhbGlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgUmV3cml0ZSBjYXBzIHNldHRpbmcgYW5kIHJpbmcgYnVmZmVyIGluaXRpYWxpc2F0aW9uLgoJICBQcmV2aW91c2x5IHdlIG5ldmVyIHRvbGQgQ29yZUF1ZGlvIHdoYXQgZm9ybWF0IHdlIHdlcmUgZ29pbmcgdG8gc2VuZCBpdCwKCSAgc28gaXQgb25seSB3b3JrZWQgZHVlIHRvIGx1Y2ssIGFuZCBub3QgYXQgYWxsIG9uIHNvbWUgaGFyZHdhcmUuCgkgIE5vdyB3ZSBleHBsaWNpdGx5IGFkdmVydGlzZSB3aGF0IGZvcm1hdHMgdGhlIGhhcmR3YXJlIHN1cHBvcnRzLCBhbmQgdGhlbgoJICBjb25maWd1cmUgdGhlIHNlbGVjdGVkIG9uZSBjb3JyZWN0bHkuCgoyMDA4LTA4LTI2IDEyOjI3OjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBtZW1vcnkgbGVha3MuIFNtYWxsIGNvZGUgY2xlYW51cHMgOiBObyBuZWVkIGZvciBlbXB0eSBfaW5pdCgpLiBObyBuZWVkIHRvIG1lbXNldCBpbnN0YW5jZSBzdHJ1Y3R1cmVzLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IG1lbW9yeSBsZWFrcy4gU21hbGwgY29kZSBjbGVhbnVwcyA6IE5vIG5lZWQgZm9yIGVtcHR5IF9pbml0KCkuIE5vCgkgIG5lZWQgdG8gbWVtc2V0IGluc3RhbmNlIHN0cnVjdHVyZXMuIFNvbWUgbW9yZSBGSVhNRSdzLgoKMjAwOC0wOC0yNiAwODoxMToyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwOC0wOC0yNiAwODowMDo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogSWdub3JlIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS8uY3ZzaWdub3JlOgoJICAqIGdzdC9nb29tMmsxLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBmaWxlcy4KCjIwMDgtMDgtMjYgMDc6NTE6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wOC0yNiAwNTo0MjoxNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IG9idmlvdXMgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBvYnZpb3VzIG1lbWxlYWsuCgoyMDA4LTA4LTI1IDE0OjE1OjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIFJlYWxbQXVkaW98VmlkZW9dIHN1cHBvcnQgdG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgQWRkIFJlYWxbQXVkaW98VmlkZW9dIHN1cHBvcnQgdG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgSXQgd29ya3MgZmluZSBmb3I6CgkgICogZGVjb2RpbmcgcmVhbCBhdWRpby92aWRlbyBzdHJlYW1zIGNvbnRhaW5lZCBpbiBta3YKCSAgKiAndHJhbnNtdXhpbmcnIHJlYWwgKC5ybSkgZmlsZXMgaW50byAubWt2IGZpbGVzCgkgIEl0IHdpbGwgbm90IHdvcmsgdGhvdWdoIGZvciBlbmNvZGluZyByZWFsW2F1ZGlvL3ZpZGVvXSBzdHJlYW1zIHRoYXQKCSAgZG9uJ3QgY29udGFpbiB0aGUgJ21kcHJfZGF0YScgZXh0cmEgZGF0YSBvbiB0aGUgY2Fwcy4KCSAgVGhlIHJlYXNvbiB3aHkgdGhpcyB3aWxsIG5vdCB3b3JrIGlzIGJlY2F1c2UgSSBuZXZlciBpbnRlbmRlZCB0bwoJICBkdXBsaWNhdGUgdmlydHVhbGx5IGFsbCB0aGUgJ21kcHInIGJsb2NrIGNyZWF0aW9uIGludG8gbWt2bXV4LgoJICBGaXhlcyAjNTM2MDY3CgoyMDA4LTA4LTI1IDA5OjQ4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IFRoZSBlbmNvZGVyIGNhbid0IHJlYWxseSByZW5lZ290aWF0ZSBhdCB0aGUgdGltZSB0aGV5IHBlcmZvcm0gYSBwYWQtYWxsb2Mgc28gbWFrZSB0aGUgc3JjcGFkcyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2luaXQpLCAoZ3N0X2FsYXdfZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2luaXQpLAoJICAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgVGhlIGVuY29kZXIgY2FuJ3QgcmVhbGx5IHJlbmVnb3RpYXRlIGF0IHRoZSB0aW1lIHRoZXkgcGVyZm9ybSBhCgkgIHBhZC1hbGxvYyBzbyBtYWtlIHRoZSBzcmNwYWRzIHVzZSBmaXhlZCBjYXBzLgoJICBDaGVjayB0aGUgYnVmZmVyIHNpemUgYWZ0ZXIgYSBwYWQtYWxsb2MgYmVjYXVzZSB0aGUgcmV0dXJuZWQgc2l6ZSBtaWdodAoJICBub3QgYmUgcmlnaHQgd2hlbiB0aGUgZG93bnN0cmVhbSBlbGVtZW50IGRvZXMgbm90IGtub3cgdGhlIHNpemUgb2YgdGhlCgkgIG5ldyBidWZmZXIgKGNhcHNmaWx0ZXIpLiBGaXhlcyAjNTQ5MDczLgoKMjAwOC0wOC0yMyAxNTo0Mzo0OSArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogdjRsMnNyYyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSBuYW1lZCAibm9ybSIgc28gZG9uJ3QgdHJ5IHRvIG5vdGlmeSBhYm91dCBjaGFuZ2VzIHRvIHRoYXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvIGRvdCBhcmdpb2xhcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm1fYW5kX25vdGlmeSk6CgkgIHY0bDJzcmMgZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgIm5vcm0iIHNvIGRvbid0IHRyeSB0byBub3RpZnkKCSAgYWJvdXQgY2hhbmdlcyB0byB0aGF0IHByb3BlcnR5LiBUaGUgIm5vcm0iIHByb3BlcnR5IGFuZCByZWxhdGVkCgkgIGNvZGUgYXJlIGNvbW1lbnRlZCBvdXQgY3VycmVudGx5LiBGaXhlcyBidWcgIzU0OTA5MC4KCjIwMDgtMDgtMjMgMTU6MzM6NDkgKzAwMDAgIE1pa2UgUnVwcmVjaHQgPGNtYWlrdUBnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IFJlcHJvYmUgZGV2aWNlcyBhZ2FpbiBpbnN0ZWFkIG9mIHRha2luZyBhIGNhY2hlZCBsaXN0IGFzIG5ldyBkZXZpY2VzIGNvdWxkJ3ZlIGJlZW4gcGx1Z2dlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWtlIFJ1cHJlY2h0IDxjbWFpa3UgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgUmVwcm9iZSBkZXZpY2VzIGFnYWluIGluc3RlYWQgb2YgdGFraW5nIGEgY2FjaGVkIGxpc3QgYXMgbmV3CgkgIGRldmljZXMgY291bGQndmUgYmVlbiBwbHVnZ2VkIGluLiBGaXhlcyBidWcgIzU0OTA2Mi4KCjIwMDgtMDgtMjIgMTY6MDQ6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOiBEb24ndCBsaW5rIHRoZSBhdXRvZGV0ZWN0IHBsdWdpbiB3aXRoIEdDb25mIGFzIGl0IGRvZXNuJ3QgdXNlIEdDb25mLiBGaXhlcyBidWcgIzU0NTQ2My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgIERvbid0IGxpbmsgdGhlIGF1dG9kZXRlY3QgcGx1Z2luIHdpdGggR0NvbmYgYXMgaXQgZG9lc24ndAoJICB1c2UgR0NvbmYuIEZpeGVzIGJ1ZyAjNTQ1NDYzLgoKMjAwOC0wOC0yMiAxMjoyNDoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBDaGFuZ2Ugc29tZSBHU1RfRUxFTUVOVF9FUlJPUnMgdG8gR1NUX0VSUk9SX09CSkVDVCB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGlnbm9yZSBlcnJvcnMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfdWludCksCgkgIChnc3RfZWJtbF9yZWFkX3NpbnQpLCAoZ3N0X2VibWxfcmVhZF9mbG9hdCksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgIENoYW5nZSBzb21lIEdTVF9FTEVNRU5UX0VSUk9ScyB0byBHU1RfRVJST1JfT0JKRUNUIHRvIG1ha2UgaXQKCSAgcG9zc2libGUgdG8gaWdub3JlIGVycm9ycyBhbmQgbm90IHBvc3QgYW55IEVSUk9SIG1lc3NhZ2VzIG9uCgkgIHRoZSBidXMuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpOgoJICBJZ25vcmUgYW55IGVycm9ycyBhbmQgbm90IGp1c3QgRU9TIHdoZW4gcGFyc2luZyB0aGUgY29udGVudHMgb2YKCSAgYSBTZWVrSGVhZC4gRXJyb3JzIGhlcmUgYXJlIHVzdWFsbHkgY2F1c2VkIGJ5IHRydW5jYXRlZCBmaWxlcwoJICBhbmQgcGxheWJhY2sgb2YgdGhlIGZpbGUgd29ya3MgZmluZS4gRml4ZXMgcGxheWJhY2sgb2YgdGhlCgkgIGF1ZGlvX29ubHlfY2hhcHRlcl9zZWVrYnJva2VuLm1rYSBmaWxlIGZyb20gdGhlIE1QbGF5ZXIgc2FtcGxlcwoJICBhcmNoaXZlLgoKMjAwOC0wOC0yMiAxMToyOToyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tdWx0aXBhcnQvOiBDb25mb3JtIHRvIFJGQzIwNDYuIGF1ZGlvL2Jhc2ljIGlzIG11bGF3IDgwMDBIeiBtb25vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgQ29uZm9ybSB0byBSRkMyMDQ2LiBhdWRpby9iYXNpYyBpcyBtdWxhdyA4MDAwSHogbW9uby4KCjIwMDgtMDgtMjEgMjE6NTY6MTkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywKCSAgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgRml4IHR3byBtb3JlIGJ1ZmZlciByZWYgbGVha3MuCgoyMDA4LTA4LTIxIDE1OjI4OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRml4IGJ1ZmZlciByZWYgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgRml4IGJ1ZmZlciByZWYgbGVhay4KCjIwMDgtMDgtMjEgMTM6Mjc6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJldmVydCB0aGUgbGFzdCBjb21taXQuIHdhdmVuYyBzdGlsbCBzdXBwb3J0cyB3aWR0aCE9ZGVwdGggZm9yIDMyIGJpdCB3aWR0aC4gVGhhbmtzIFRpbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBSZXZlcnQgdGhlIGxhc3QgY29tbWl0LiB3YXZlbmMgc3RpbGwgc3VwcG9ydHMgd2lkdGghPWRlcHRoIGZvciAzMiBiaXQKCSAgd2lkdGguIFRoYW5rcyBUaW0uCgoyMDA4LTA4LTIxIDEzOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgdGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdW5rbm93biBvbmx5IHVzZSB0aGUgdGltZXN0YW1wIGZvciB0aGUgZmlyc3QgbGFjZSBhbmQgdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIElmIHRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHVua25vd24gb25seSB1c2UgdGhlIHRpbWVzdGFtcCBmb3IgdGhlCgkgIGZpcnN0IGxhY2UgYW5kIHVzZSBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIGR1cmF0aW9uIGZvciB0aGUgZm9sbG93aW5nCgkgIGxhY2VzLiBPdGhlcndpc2UgZXZlcnkgbGFjZSBoYXMgdGhlIHNhbWUgdGltZXN0YW1wIHdoaWNoIGxlYWRzIHRvCgkgIHZhcmlvdXMgcHJvYmxlbXMuIFJlYWxseSBmaXhlcyBidWcgIzU0ODgzMS4KCjIwMDgtMDgtMjEgMTI6NTY6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IElmIHdlJ3JlIG5vdCBhbGxvd2luZyB3aWR0aCE9ZGVwdGggaW4gd2F2ZW5jIHdlIHNob3VsZCBhbHNvIGRpc2FibGUgdGhlIGNvZGUgdGhhdCB3YXMgYWRkZWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIElmIHdlJ3JlIG5vdCBhbGxvd2luZyB3aWR0aCE9ZGVwdGggaW4gd2F2ZW5jIHdlIHNob3VsZCBhbHNvIGRpc2FibGUKCSAgdGhlIGNvZGUgdGhhdCB3YXMgYWRkZWQgdG8gc3VwcG9ydCB3aWR0aCE9ZGVwdGguCgoyMDA4LTA4LTIxIDEyOjUyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgY2FsY3VsYXRlIHRoZSBkZWZhdWx0IGR1cmF0aW9uIG9mIGEgZnJhbWUgZnJvbSB0aGUgYXVkaW8gc2FtcGxpbmcgcmF0ZS4gVGhpcyBvbmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgZGVmYXVsdCBkdXJhdGlvbiBvZiBhIGZyYW1lIGZyb20gdGhlIGF1ZGlvIHNhbXBsaW5nCgkgIHJhdGUuIFRoaXMgb25seSB3b3JrcyBmb3IgcmF3IGF1ZGlvIGlmIGV2ZXJ5IGZyYW1lIGNvbnRhaW5zIGEgc2luZ2xlCgkgIHNhbXBsZSBhbmQgcmVzdWx0cyBpbiBicm9rZW4gYnVmZmVyIGR1cmF0aW9ucyBmb3Igb3RoZXIgZm9ybWF0cwoJICBpZiBubyBzcGVjaWZpZWQgZGVmYXVsdCBkdXJhdGlvbiBpcyBnaXZlbiBvciB0aGUgYmxvY2tzIGhhdmUgbm8KCSAgZHVyYXRpb24uIEZpeGVzIGJ1ZyAjNTQ4ODMxLgoKMjAwOC0wOC0yMSAxMjozNDozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEFsbG93IHplcm8gc2l6ZWQgYmxvY2tzIGluc3RlYWQgb2YgcmV0dXJuaW5nIEdTVF9GTE9XX09LLiBTdWNoIGJsb2NrcyBhcmUgdXNlZCBmb3IgdGV4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBBbGxvdyB6ZXJvIHNpemVkIGJsb2NrcyBpbnN0ZWFkIG9mIHJldHVybmluZyBHU1RfRkxPV19PSy4gU3VjaCBibG9ja3MKCSAgYXJlIHVzZWQgZm9yIHRleHQvcGxhaW4gc3VidGl0bGVzIGFzIGEgZ2FwLWZpbGxlciBpbiBzb21lIGZpbGVzLgoKMjAwOC0wOC0yMSAxMjoxMjowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIFM5MTAgYW5kIFBXQyBmb3JtYXRzIHdpdGggYSBsb3cgcHJpb3JpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKSwKCSAgKGdzdF92NGwyX2dldF9jYXBzX2luZm8pOgoJICBBZGQgUzkxMCBhbmQgUFdDIGZvcm1hdHMgd2l0aCBhIGxvdyBwcmlvcml0eS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19mb3JtYXRfZ2V0X3JhbmspLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgQWRkIG1vcmUgZGVidWdnaW5nLgoKMjAwOC0wOC0yMCAyMTo1NDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogRml4IGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkZXIgbGliZmxhYyB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBGaXggY29tcGlsYXRpb24gYWdhaW5zdCBvbGRlciBsaWJmbGFjIHZlcnNpb25zLgoKMjAwOC0wOC0yMCAxNzo0Njo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogVXNlIEdTVF9CT0lMRVJQTEFURSBldmVyeXdoZXJlIGFuZCBmaXggY29kaW5nIHN0eWxlIGF0IHNvbWUgcGxhY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlbWl4ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogKGdzdF9wdWxzZW1peGVyX2N0cmxfc3Vic2NyaWJlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmM6IChnc3RfcHVsc2VtaXhlcl90cmFja19uZXcpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9vcGVuKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19pbml0KSwgKGdzdF9wdWxzZXNpbmtfb3BlbiksCgkgIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpLCAoZ3N0X3B1bHNlc2lua193cml0ZSksCgkgIChnc3RfcHVsc2VzaW5rX2RlbGF5KSwgKGdzdF9wdWxzZXNpbmtfcmVzZXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2luaXQpOgoJICBVc2UgR1NUX0JPSUxFUlBMQVRFIGV2ZXJ5d2hlcmUgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYXQgc29tZSBwbGFjZXMuCgkgIEZpeCBhIGxvY2tpbmcgaXNzdWUgaW4gcHVsc2VzaW5rJ3MgcHJlcGFyZSBmdW5jdGlvbi4KCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6IChnc3RfcHVsc2VfY2hhbm5lbF9tYXBfdG9fZ3N0KToKCSAgQ2hlY2sgaWYgdGhlIGNyZWF0ZWQgY2hhbm5lbCBsYXlvdXQgaXMgdmFsaWQgZm9yIEdTdHJlYW1lci4KCjIwMDgtMDgtMjAgMTc6NDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6IFRoaW5ncyB0aGF0IGNhbiBoYXBwZW4gd2hlbiB5b3VyIGJyYWluIGlzIGluIGdvb2dsZSBtb2RlIHRyeWluZyB0byBkZWFsIHdpdGggdGhlaXIgZ29vZ2xlIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJICBUaGluZ3MgdGhhdCBjYW4gaGFwcGVuIHdoZW4geW91ciBicmFpbiBpcyBpbiBnb29nbGUgbW9kZSB0cnlpbmcgdG8KCSAgZGVhbCB3aXRoIHRoZWlyIGdvb2dsZSBydHNwIHNlcnZlciBleHRlbnNpb25zIGFuZCB0cnlpbmcgdG8gdHlwZSB5b3VyCgkgIGdvb2dsZSBtYWlsIGFjY291bnQuCgoyMDA4LTA4LTIwIDE3OjMwOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgZ29vZ2xlIFJUU1AgZXh0ZW5zaW9uLCBpdCBjYW4gb25seSBoYW5kbGUgdWRwIGFuZCByZXNwb25kcyB3aXRoIHVuc3VwcG9ydGVkIGlmIHdlIGRvIGFueXRoaW5nIGVsc2UuIEZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6IChnc3RfcnRzcF9nb29nbGVfYmVmb3JlX3NlbmQpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2FmdGVyX3NlbmQpLCAoZ3N0X3J0c3BfZ29vZ2xlX2dldF90cmFuc3BvcnRzKSwKCSAgKF9kb19pbml0KSwgKGdzdF9ydHNwX2dvb2dsZV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BfZ29vZ2xlX2luaXQpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2ZpbmFsaXplKSwgKGdzdF9ydHNwX2dvb2dsZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2V4dGVuc2lvbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIEFkZCBnb29nbGUgUlRTUCBleHRlbnNpb24sIGl0IGNhbiBvbmx5IGhhbmRsZSB1ZHAgYW5kIHJlc3BvbmRzIHdpdGgKCSAgdW5zdXBwb3J0ZWQgaWYgd2UgZG8gYW55dGhpbmcgZWxzZS4gRml4ZXMgIzU0NjQ2NS4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9yZWNlaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgIE1ha2UgdHJhbnNwb3J0IHNldHVwIGNvZGUgYSBiaXQgYmV0dGVyIHVzaW5nIEdTdHJpbmcuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgkgIENoZWNrIGZvciBjbG9zZWQgY29ubmVjdGlvbnMgYmVmb3JlIGRvaW5nIGFueXRoaW5nIG9uIHRoZW0uCgoyMDA4LTA4LTIwIDE3OjE3OjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBJZiBkb3duc3RyZWFtIHByb3ZpZGVzIG5vIGNoYW5uZWwgbGF5b3V0IGFuZCA+MiBjaGFubmVscyBzaG91bGQgYmUgdXNlZCB1c2UgdGhlIGRlZmF1bHQgbGF5b3V0IHRoYXQgcHVsc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcHVsc2VzcmNfbmVnb3RpYXRlKSwKCSAgKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6IChnc3RfcHVsc2VfZ3N0X3RvX2NoYW5uZWxfbWFwKSwKCSAgKGdzdF9wdWxzZV9jaGFubmVsX21hcF90b19nc3QpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgSWYgZG93bnN0cmVhbSBwcm92aWRlcyBubyBjaGFubmVsIGxheW91dCBhbmQgPjIgY2hhbm5lbHMgc2hvdWxkIGJlCgkgIHVzZWQgdXNlIHRoZSBkZWZhdWx0IGxheW91dCB0aGF0IHB1bHNlYXVkaW8gY2hvb3NlcyBhbmQgYWxzbwoJICBhZGQgdGhpcyBsYXlvdXQgdG8gdGhlIGNhcHMuIEZpeGVzIGJ1ZyAjNTQ3MjU4LgoKMjAwOC0wOC0yMCAxMTo1MTozOCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwLzogQXZvaWQgbGVha2luZyBpbnRlcm5hbGx5IGFsbG9jYXRlZCBmaWxlIGRlc2NyaXB0b3JzIHdoZW4gc2V0dGluZyBjdXN0b20gZmlsZSBkZXNjcmlwdG9ycy4gRml4ZXMgIzU0MzEwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2luaXQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X2R5bnVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9keW51ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19maW5hbGl6ZSksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEF2b2lkIGxlYWtpbmcgaW50ZXJuYWxseSBhbGxvY2F0ZWQgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIHNldHRpbmcKCSAgY3VzdG9tIGZpbGUgZGVzY3JpcHRvcnMuIEZpeGVzICM1NDMxMDEuCgoyMDA4LTA4LTIwIDExOjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCB0cnkgdG8gY29uZmlndXJlIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyIHdoZW4gdGhlIHNlcnZlciBkaWQgbm90IGdpdmUgdXMgYSB2YWxpZCBwb3J0IG51Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBEb24ndCB0cnkgdG8gY29uZmlndXJlIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyIHdoZW4gdGhlIHNlcnZlciBkaWQgbm90CgkgIGdpdmUgdXMgYSB2YWxpZCBwb3J0IG51bWJlci4KCjIwMDgtMDgtMjAgMTA6NTk6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogVXNlIG5ldyBiYXNldHJhbnNmb3JtIG1ldGhvZCB0byByZW5lZ290aWF0ZS4gRml4ZXMgIzU0NDk1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgYmFzZXRyYW5zZm9ybSBtZXRob2QgdG8gcmVuZWdvdGlhdGUuIEZpeGVzICM1NDQ5NTYuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOiAobWFrZV9waXBlbGluZSksIChtYWluKToKCSAgQWRkIHZpZGVvYm94IHJlbmVnb3RpYXRpb24gZXhhbXBsZS4KCjIwMDgtMDgtMTkgMjE6MDM6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogUmVtb3ZlIGRlcHRoIHJhbmdlcyBhbmQgcmVwbGFjZSB3aXRoIHNhbmUgdmFsdWVzLiAgRml4ZXMgIzU0ODUzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogUmVtb3ZlIGRlcHRoIHJhbmdlcyBhbmQgcmVwbGFjZQoJICB3aXRoIHNhbmUgdmFsdWVzLiAgRml4ZXMgIzU0ODUzMC4KCjIwMDgtMDgtMTggMTU6MDU6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFRoZSBieXRlc19wZXJfc2FtcGxlIGFuZCBzaWxlbmNlX3NhbXBsZSBmaWVsZHMgb2YgdGhlIEdzdFJpbmdCdWZmZXJTcGVjIGFyZSBhbHJlYWR5IGZpbGxlZCB3aXRoIHRoZSBjb3JyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpOgoJICBUaGUgYnl0ZXNfcGVyX3NhbXBsZSBhbmQgc2lsZW5jZV9zYW1wbGUgZmllbGRzIG9mIHRoZSBHc3RSaW5nQnVmZmVyU3BlYwoJICBhcmUgYWxyZWFkeSBmaWxsZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMgYnkKCSAgZ3N0X3JpbmdfYnVmZmVyX3BhcnNlX2NhcHMoKSBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc2V0IHRoZW0gYWdhaW4KCSAgd2l0aCB3cm9uZyB2YWx1ZXMuCgoyMDA4LTA4LTE2IDE0OjU0OjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTb21lIEFWSSAyLjAgKE9ETUwpIGZpbGVzIGRvbid0IHJlc3BlY3QgdGhlICdzcGVjaWZpY2F0aW9ucycgY29tcGxldGVseSBhbmQgaW5zdGVhZCBvZiB1c2luZyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCk6CgkgIFNvbWUgQVZJIDIuMCAoT0RNTCkgZmlsZXMgZG9uJ3QgcmVzcGVjdCB0aGUgJ3NwZWNpZmljYXRpb25zJyBjb21wbGV0ZWx5CgkgIGFuZCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSAnaXgjIycgbm9tZW5jbGF0dXJlLCB1c2UgJyMjaXgnLgoJICBUaGV5J3JlIHN0aWxsIHZhbGlkIHRob3VnaCwgdGhpcyBmaXhlcyB0aGUgZHVyYXRpb24gYW5kIGluZGV4ZXMgZm9yCgkgIHZpcnR1YWxseSBhbGwgdGhlIE9ETUwgZmlsZXMgSSBoYXZlLgoKMjAwOC0wOC0xNSAxNzoyNjoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBVcGRhdGUgdGhlIHZvcmJpcyBSVFAgcGF5L2RlcGF5IHRvIFJGQyA1MjE1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIFVwZGF0ZSB0aGUgdm9yYmlzIFJUUCBwYXkvZGVwYXkgdG8gUkZDIDUyMTUuCgkgIEZpeGVzICM1NDc4NDIuCgoyMDA4LTA4LTE0IDIyOjA3OjAyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdoZHY2JyBhcyBhIEhEViBmb3JtYXQgZm9yIDEwODBpLzYwIHdpdGggMzoyIHB1bGxkb3duLCBpLmUuLCAyNHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdoZHY2JyBhcyBhIEhEViBmb3JtYXQgZm9yIDEwODBpLzYwCgkgIHdpdGggMzoyIHB1bGxkb3duLCBpLmUuLCAyNHAuCgoyMDA4LTA4LTE0IDEyOjQ3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogRml4IGNvbXBpbGF0aW9uIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGNvbXBpbGF0aW9uIHNvbWUgbW9yZS4KCjIwMDgtMDgtMTQgMTE6NDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgLWJhc2UgQ1ZTIGZvciB3YXZwYXJzZSBhY2lkIGNodW5rIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzo6CgkgIFJlcXVpcmUgLWJhc2UgQ1ZTIGZvciB3YXZwYXJzZSBhY2lkIGNodW5rIHBhcnNpbmcuCgoyMDA4LTA4LTEzIDEzOjU3OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLio6IEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5IHRvIHB1bHNlc2luayB0b28gYW5kIGN1cnJlbnRseSBjb21tZW50ZWQgb3V0IGFuZCBub3Qgd29ya2luZyBzdXBwb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdCksIChnc3RfcHVsc2VzaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3ZvbHVtZSksIChnc3RfcHVsc2VzaW5rX2dldF92b2x1bWUpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5IHRvIHB1bHNlc2luayB0b28gYW5kIGN1cnJlbnRseSBjb21tZW50ZWQKCSAgb3V0IGFuZCBub3Qgd29ya2luZyBzdXBwb3J0IGZvciBhICJ2b2x1bWUiIHByb3BlcnR5LgoKMjAwOC0wOC0xMyAxMzoxNzoxNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIG1vcmUgY2RpbyBzdHVmZiAobW92ZWQgdG8gdWdseSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgbW9yZSBjZGlvIHN0dWZmIChtb3ZlZCB0byB1Z2x5KQoKMjAwOC0wOC0xMyAxMjozNzoyNiArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYzogQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksIHdoaWNoIHByb3ZpZGVzIGEgaHVtYW4gcmVhZGFibGUgc3RyaW5nIGZvciB0aGUgYXVkaW8gZGV2aWNlLCB0byBtYWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksIHdoaWNoIHByb3ZpZGVzIGEgaHVtYW4gcmVhZGFibGUgc3RyaW5nCgkgIGZvciB0aGUgYXVkaW8gZGV2aWNlLCB0byBtYWtlIGl0IG1vcmUgY29uc2lzdGVuIHdpdGggb3RoZXIgYXVkaW8KCSAgc291cmNlcy4gRml4ZXMgYnVnICM1NDc1MTkuCgoyMDA4LTA4LTEzIDEyOjM0OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBieSBpbmNsdWRpbmcgdGhlIHBhcmVudCBvYmplY3QgaW4gcHVsc2VtaXhlcmN0cmwgYW5kIHB1bHNlcHJvYmUgb2JqZWN0cyBhbmQgdXNpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9uZXcpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9mcmVlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX29wZW4pLAoJICAoZ3N0X3B1bHNlcHJvYmVfZW51bWVyYXRlKSwgKGdzdF9wdWxzZXByb2JlX25ldyksCgkgIChnc3RfcHVsc2Vwcm9iZV9mcmVlKSwgKGdzdF9wdWxzZXByb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF9wdWxzZXByb2JlX3Byb2JlX3Byb3BlcnR5KSwgKGdzdF9wdWxzZXByb2JlX2dldF92YWx1ZXMpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbml0KSwgKGdzdF9wdWxzZXNyY19kZWxheSksCgkgIChnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYnkgaW5jbHVkaW5nIHRoZSBwYXJlbnQgb2JqZWN0IGluIHB1bHNlbWl4ZXJjdHJsCgkgIGFuZCBwdWxzZXByb2JlIG9iamVjdHMgYW5kIHVzaW5nIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9XQVJOSU5HLgoJICBVc2UgdGhlIHBhcmVudCBHT2JqZWN0IHN1YmNsYXNzIGluc3RlYWQgb2YgYSByYW5kb20gc3RydWN0IGFzIEdPYmplY3QKCSAgcGFyYW1ldGVyIGZvciBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQuIFRoaXMgZml4ZXMgYSBjcmFzaAoJICB3aGVuIHByb2JpbmcgZm9yIGFub3RoZXIgcHJvcGVydHkgdGhhbiAiZGV2aWNlIi4KCjIwMDgtMDgtMTMgMTI6MjE6MjIgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZyBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpOgoJICBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nCgkgIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHByb3BlcnR5IGNoYW5nZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE4LgoKMjAwOC0wOC0xMyAxMjoxMTozNCArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcKCSAgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcHJvcGVydHkgY2hhbmdlcy4gRml4ZXMgYnVnICM1NDc1MTguCgoyMDA4LTA4LTEzIDEyOjAxOjAxICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS86IEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBvbiBwdWxzZXNpbmsgZm9yIGRldGVjdGluZyBzaW5rIGRldmljZXMgYW5kIG9uIHB1bHNlc3JjIGZvciBkZXRlY3Rpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc2lua19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNpbmtfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc3JjX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2Ugb24gcHVsc2VzaW5rIGZvciBkZXRlY3RpbmcKCSAgc2luayBkZXZpY2VzIGFuZCBvbiBwdWxzZXNyYyBmb3IgZGV0ZWN0aW5nIHNvdXJjZSBkZXZpY2VzLgoJICBGaXhlcyBidWdzICM1NDcyMjcgYW5kICM1NDcyMTcuCgoyMDA4LTA4LTEzIDA5OjE3OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRG9uJ3QgdGVybWluYXRlIG9uIGZhYnMoaW4pPjEuMC4gSW5pdCBkb3VibGVzIGFzIGRvdWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBEb24ndCB0ZXJtaW5hdGUgb24gZmFicyhpbik+MS4wLiBJbml0IGRvdWJsZXMgYXMgZG91Ymxlcy4KCjIwMDgtMDgtMTMgMDg6MzM6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFByb3Blcmx5IHNldCB0aGUgbWF4aW11bSBsYXRlbmN5IHZhbHVlLCBpbiB0aGUgc2FtZSB3YXkgaXQgaXMgZG9uZSBpbiB2NGxzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgc2V0IHRoZSBtYXhpbXVtIGxhdGVuY3kgdmFsdWUsIGluIHRoZSBzYW1lIHdheSBpdCBpcyBkb25lIGluCgkgIHY0bHNyYy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNpbXBsaWZ5IGZyYWN0aW9uIGVxdWFsaXR5IGNoZWNrLCBubyBuZWVkIHRvIHVzZSBHVmFsdWVzIGZvciB0aGlzLgoKMjAwOC0wOC0xMiAxMjowNDoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHdhcm5pbmcgbWVzc2FnZXMgc3RhdGluZyBleGFjdGx5IHdoeSB0aGUgbGF0ZW5jeSBxdWVyeSBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3F1ZXJ5KToKCSAgQWRkIHdhcm5pbmcgbWVzc2FnZXMgc3RhdGluZyBleGFjdGx5IHdoeSB0aGUgbGF0ZW5jeSBxdWVyeSBmYWlsZWQuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBJbiBzb21lIGNhc2VzLCB0aGUgbmVnb3RpYXRlZCBmcmFtZXJhdGUgbWlnaHQgYmUgdGhlIGRlZmF1bHQgb25lIHdoaWNoCgkgIGlzIGFscmVhZHkgc2V0IGludGVybmFsbHkuIEJ1dCB3ZSBzdGlsbCBuZWVkIHRvIG1hcmsgaXQgZG93biBpbiBmcHNfbgoJICBhbmQgZnBzX2Qgc28gdGhhdCB0aGUgbGF0ZW5jeSBxdWVyeSBjYW4gaGFwcGVuIHByb3Blcmx5LgoKMjAwOC0wOC0xMiAxMToyODo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDogV2hvb3BzLCBmb3Jnb3Qgb25lIGRvYyBmaWxlIGZvciBwZW9wbGUgd2hvIGNhbid0L2Rvbid0IGJ1aWxkIHRoZSByYXcxMzk0IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICBXaG9vcHMsIGZvcmdvdCBvbmUgZG9jIGZpbGUgZm9yIHBlb3BsZSB3aG8gY2FuJ3QvZG9uJ3QgYnVpbGQgdGhlCgkgIHJhdzEzOTQgcGx1Z2luLgoKMjAwOC0wOC0xMiAwOToyMjoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQdWxsIGNoYW5nZXMgZnJvbSAwLjEwLjkuMiBwcmUtcmVsZWFzZSBicmFuY2ggbW92aW5nIHRoZSBsaWJjZGlvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5oOgoJICBQdWxsIGNoYW5nZXMgZnJvbSAwLjEwLjkuMiBwcmUtcmVsZWFzZSBicmFuY2ggbW92aW5nIHRoZSBsaWJjZGlvCgkgIENEREEgc291cmNlIHRvIC11Z2x5LgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vaWQucG86CgkgIFB1bGwgaW4gbmV3IHRyYW5zbGF0aW9uIGZyb20gMC4xMC45LjIgcmVsZWFzZSBicmFuY2guCgoyMDA4LTA4LTExIDE1OjA1OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogSW50ZWdyYXRlIGRvY3VtZW50YXRpb24gZm9yIG5ldyBoZHYxMzk0c3JjIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBJbnRlZ3JhdGUgZG9jdW1lbnRhdGlvbiBmb3IgbmV3IGhkdjEzOTRzcmMgZWxlbWVudC4KCjIwMDgtMDgtMTEgMTQ6MzY6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvcmF3MTM5NC86IG1wZWcyLXRzIChIRFYpIHZhcmlhbnQgb2YgZmlyZXdpcmUgY2FwdHVyZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2hkdjEzOTRzcmNfYmFzZV9pbml0KSwgKGdzdF9oZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2hkdjEzOTRzcmNfaW5pdCksIChnc3RfaGR2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfaGR2MTM5NHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hkdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKSwKCSAgKGdzdF9oZHYxMzk0c3JjX2llYzYxODgzX3JlY2VpdmUpLCAoZ3N0X2hkdjEzOTRzcmNfYnVzX3Jlc2V0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2NyZWF0ZSksIChnc3RfaGR2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksCgkgIChnc3RfaGR2MTM5NHNyY19zdGFydCksIChnc3RfaGR2MTM5NHNyY19zdG9wKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VubG9jayksIChnc3RfaGR2MTM5NHNyY191cGRhdGVfZGV2aWNlX25hbWUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfdXJpX2dldF90eXBlKSwgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9oZHYxMzk0c3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuaDoKCSAgbXBlZzItdHMgKEhEVikgdmFyaWFudCBvZiBmaXJld2lyZSBjYXB0dXJlIGVsZW1lbnQuCgkgIEZpeGVzICMzNTA4MzAKCjIwMDgtMDgtMTEgMTA6NTM6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRml4IGNvbXBpbGF0aW9uIChhbHNvIGtub3duIGFzIHRoZSBjbGFzc2ljICdmaXggY29kZSB0aGF0IHNvbWVvbmUgY29tbWl0dGVkIHdpdGhvdXQgY29tcGlsaW5nIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfbWVzc2FnZV9uZXcpOgoJICBGaXggY29tcGlsYXRpb24gKGFsc28ga25vd24gYXMgdGhlIGNsYXNzaWMgJ2ZpeCBjb2RlIHRoYXQgc29tZW9uZQoJICBjb21taXR0ZWQgd2l0aG91dCBjb21waWxpbmcgaXQgZmlyc3QnKS4KCjIwMDgtMDgtMTAgMTk6NDA6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEFkZCBhIHRlc3QgZm9yIGxldmVsIGluIHN0ZXJlbyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBZGQgYSB0ZXN0IGZvciBsZXZlbCBpbiBzdGVyZW8gbW9kZS4KCjIwMDgtMDgtMTAgMTk6MzU6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLzogRGVtbyBob3cgdG8gZHJhdyBhbmFseXplciByZXN1bHRzIHN5bmNlZCB0byB0aGUgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgRGVtbyBob3cgdG8gZHJhdyBhbmFseXplciByZXN1bHRzIHN5bmNlZCB0byB0aGUgY2xvY2suCgoyMDA4LTA4LTEwIDE1OjUyOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogTGl0dGxlIHJlbmFtaW5nIChsIC0+IGxldmVsKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIExpdHRsZSByZW5hbWluZyAobCAtPiBsZXZlbCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEFsc28gc2VuZCBmdWxsIHRpbWVzdGFtcC9kdXJhdGlvbiBkZXRhaWxzIGhlcmUuCgoyMDA4LTA4LTEwIDExOjMyOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogU2VuZCBzYW1lIHRpbWVzdGFtcC9kdXJhdGlvbiBkZXRhaWxzIGFzIHZpZGVvYW5hbHlzaXMuIFRoaXMgZ2l2ZXMgYXBwbGljYXRpb25zIGJldHRlciBjaGFuY2UgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFNlbmQgc2FtZSB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBhcyB2aWRlb2FuYWx5c2lzLiBUaGlzIGdpdmVzCgkgIGFwcGxpY2F0aW9ucyBiZXR0ZXIgY2hhbmNlIHRvIHN5bmMgYW5hbHlzaXMgcmVzdWx0cyB3aXRoIHBsYXliYWNrLgoKMjAwOC0wOC0wOSAxNDowMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBXZSBuZWVkIHRvIGRyb3Agb25lIGFkZGl0aW9uYWwgYnVmZmVyIGZvciBGTEFDIGFzIHRoZSBmTGFDIG1hcmtlciBhbmQgU1RSRUFNSU5GTyBibG9jayBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZmxhY19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKToKCSAgV2UgbmVlZCB0byBkcm9wIG9uZSBhZGRpdGlvbmFsIGJ1ZmZlciBmb3IgRkxBQyBhcyB0aGUgZkxhQwoJICBtYXJrZXIgYW5kIFNUUkVBTUlORk8gYmxvY2sgYXJlIG1lcmdlZCBpbnRvIG9uZSBidWZmZXIgaW4gdGhlIGNhcHMuCgkgIEFsc28gZG9uJ3QgcHJldGVuZCB0byBzdXBwb3J0IE5FV1NFR01FTlQgZXZlbnRzLCBvdGhlcndpc2Ugd2UKCSAgd2lsbCBtb3N0IHByb2JhYmx5IHdyaXRlIHNvbWUgaW52YWxpZCBkYXRhLgoKMjAwOC0wOC0wOSAxMzo0ODoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEZMQUMgaW50byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChmbGFjX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgRkxBQyBpbnRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIEZpeGVzIGJ1ZyAjMzExNTg2LgoKMjAwOC0wOC0wOSAwODo1ODoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBBY3R1YWxseSBwcm92aWRlIHRoZSB2YXJpYWJsZXMgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfY2hlY2tfZGlzY29udCk6CgkgIEFjdHVhbGx5IHByb3ZpZGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcuCgoyMDA4LTA4LTA4IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogQ2xvc2UgdGhlIGN1cnJlbnQgc2VnbWVudCBpZiB3ZSdyZSBkb2luZyBhIG5vbi1mbHVzaGluZyBzZWVrIGFuZCBzZW5kIHRoZSBjbG9zZS1zZWdtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBDbG9zZSB0aGUgY3VycmVudCBzZWdtZW50IGlmIHdlJ3JlIGRvaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWsgYW5kIHNlbmQKCSAgdGhlIGNsb3NlLXNlZ21lbnQgYW5kIHRoZSBuZXcgc2VnbWVudCBvZiB0aGUgc2VlayBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkLgoKMjAwOC0wOC0wOCAxNToyMDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBjb3JyZWN0bHksIG1hcmsgaGVhZGVyIHBhY2tldHMgYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2VuY19jaGVja19kaXNjb250KSwgKGdzdF9mbGFjX2VuY19jaGFpbiksCgkgIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGNvcnJlY3RseSwgbWFyayBoZWFkZXIgcGFja2V0cyBhcwoJICBJTl9DQVBTIGFuZCBwcmludCBhIHdhcm5pbmcgYW5kIHN1Z2dlc3QgdXNpbmcgYXVkaW9yYXRlIGlmIHN0cmVhbQoJICBkaXNjb250aW51aXRpZXMgYXJlIGRldGVjdGVkLiBXaGVuIEZMQUMgc3VwcG9ydHMgZmx1c2hpbmcgdGhlIGVuY29kZXIKCSAgc29tZWhvdyB0aGlzIHNob3VsZCBiZSBkb25lIGZvciBkaXNjb250aW51aXRpZXMgaW5zdGVhZC4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDA4LTA4LTA3IDE3OjE0OjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBwdWxzZWF1ZGlvIHRvIHBsdWdpbnMgbGlzdCBpbiBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBwdWxzZWF1ZGlvIHRvIHBsdWdpbnMgbGlzdCBpbiBzcGVjIGZpbGUKCjIwMDgtMDgtMDcgMTY6MTM6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogSWYgc2Vla2luZyBmYWlsZWQgcmV0dXJuIHRoZSBhcHByb3BpYXRlIHJldHVybiB2YWx1ZSB0byBGTEFDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayk6CgkgIElmIHNlZWtpbmcgZmFpbGVkIHJldHVybiB0aGUgYXBwcm9waWF0ZSByZXR1cm4gdmFsdWUgdG8gRkxBQy4KCSAgT3RoZXJ3aXNlIGl0IHRoaW5rcyBzZWVraW5nIHdhcyBzdWNjZXNzZnVsbCBhbmQgdHJpZXMgdG8gcmV3cml0ZQoJICBwYXJ0cyBvZiB0aGUgaGVhZGVycyB3aGljaCB0aGVuIGdldCBhcHBlbmRlZCB0byB0aGUgb3V0cHV0LgoKMjAwOC0wOC0wNyAxNjoxMTowMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wOC0wNyAxNDo0MDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBZGQgRklYTUUgZm9yIDAuMTEgdG8gc2ltcGx5IG91dHB1dCBldmVyeXRoaW5nIHdpdGggd2lkdGg9MzIgYXMgZ2l2ZW4gYnkgRkxBQyBhbmQgbGV0IGF1ZGlvY29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgQWRkIEZJWE1FIGZvciAwLjExIHRvIHNpbXBseSBvdXRwdXQgZXZlcnl0aGluZyB3aXRoIHdpZHRoPTMyIGFzIGdpdmVuCgkgIGJ5IEZMQUMgYW5kIGxldCBhdWRpb2NvbnZlcnQgaGFuZGxlIHRoZSBjb252ZXJzaW9ucyBpbnN0ZWFkIG9mIGRvaW5nCgkgIHRoZW0gaW4gZmxhY2RlYy4KCjIwMDgtMDgtMDcgMTA6MjI6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBXaGVuIG91dHB1dHRpbmcgYSBwYWQgdGVtcGxhdGUgcmFuZ2UgZm9yIHRoZSBzaXplLCBpbmNsdWRlIGEgZnJhbWVyYXRlIHJhbmdlIHRvbywgdG8gYXZvaWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIFdoZW4gb3V0cHV0dGluZyBhIHBhZCB0ZW1wbGF0ZSByYW5nZSBmb3IgdGhlIHNpemUsIGluY2x1ZGUgYSBmcmFtZXJhdGUKCSAgcmFuZ2UgdG9vLCB0byBhdm9pZCAnbm90IGEgcmVhbCBzdWJzZXQgb2YgdGVtcGxhdGUgY2FwcycgZXJyb3JzLgoKMjAwOC0wOC0wNiAxNTozNDo1NSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjLzogUG9ydCBmbGFjdGFnIHRvIDAuMTAsIGFkZCBkb2N1bWVudGF0aW9uIGZvciBpdCBhbmQgY2xlYW4gaXQgdXAgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X2ZsYWNfdGFnX2Jhc2VfaW5pdCksIChnc3RfZmxhY190YWdfY2xhc3NfaW5pdCksCgkgIChnc3RfZmxhY190YWdfZGlzcG9zZSksIChnc3RfZmxhY190YWdfaW5pdCksCgkgIChnc3RfZmxhY190YWdfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX3RhZ19jaGFpbiksCgkgIChnc3RfZmxhY190YWdfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmg6CgkgIFBvcnQgZmxhY3RhZyB0byAwLjEwLCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgaXQgYW5kIGNsZWFuIGl0IHVwIGEgYml0LgoJICBGaXhlcyBidWcgIzQxMzg0MS4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19iYXNlX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQWRkIGZsYWN0YWcgYW5kIGZsYWNlbmMgdG8gdGhlIGRvY3VtZW50YXRpb24gYW5kIG1hcmsKCSAgdGhlIHByaXZhdGUgcGFydHMgb2YgdGhlIGZsYWNkZWMgaW5zdGFuY2Ugc3RydWN0dXJlIGFzIHByaXZhdGUuCgkgIEFsc28gdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGluIGZsYWNkZWMgYW5kCgkgIGZsYWNlbmMuCgoyMDA4LTA4LTA2IDEzOjEyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBhdWRpby94LXFkbSBmb3IgY2Fwcy4gQ29sbGVjdCBzb21lIGluZm8gLSBtcGxheWVyIGhhcyBhIGRlY29kZXIgZm9yIGl0IGJ1dCBmZm1wZWcgZG9lcyBub3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgVXNlIGF1ZGlvL3gtcWRtIGZvciBjYXBzLiBDb2xsZWN0IHNvbWUgaW5mbyAtIG1wbGF5ZXIgaGFzIGEgZGVjb2RlcgoJICBmb3IgaXQgYnV0IGZmbXBlZyBkb2VzIG5vdC4KCjIwMDgtMDgtMDUgMTU6MDU6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgdGhlIGxpc3QgY2h1bmsgYW5kIHVzZSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgdG8gcGFyc2UgdGhlIGluZm8gc3ViLWNodW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgSGFuZGxlIHRoZSBsaXN0IGNodW5rIGFuZCB1c2UgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIHRvIHBhcnNlIHRoZSBpbmZvCgkgIHN1Yi1jaHVuay4KCjIwMDgtMDgtMDUgMTQ6MjI6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgdGhlIGFjaWQgY2h1bmsgYW5kIHNlbmQgdGVtcG8gYXMgcGFydCBvZiB0YWdzLiBPdGhlciBmaWVsZHMgYXJlIGludGVyZXN0aW5nIHRvbywgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgSGFuZGxlIHRoZSBhY2lkIGNodW5rIGFuZCBzZW5kIHRlbXBvIGFzIHBhcnQgb2YgdGFncy4gT3RoZXIgZmllbGRzIGFyZQoJICBpbnRlcmVzdGluZyB0b28sIGJ1dCBuZWVkIG1vcmUgdGFnLWRlZmluaXRpb25zLiBGaXhlcyAjNTQ1NDMzLgoKMjAwOC0wOC0wNSAxNDoxNjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlZmFjdG9yIHdhdnBhcnNlLiBDYWxsIF9yZXNldCgpIGZyb20gZGlzcG9zZSgpIGFuZCBtb3ZlIG9sZCBjb2RlIGZyb20gZGlzcG9zZSBpbnRvIHJlc2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZWZhY3RvciB3YXZwYXJzZS4gQ2FsbCBfcmVzZXQoKSBmcm9tIGRpc3Bvc2UoKSBhbmQgbW92ZSBvbGQgY29kZSBmcm9tCgkgIGRpc3Bvc2UgaW50byByZXNldC4gVGhpcyB3YXkgd2UgZG9uJ3QgbGVhayB0YWdsaXN0cyB3aGVuIHdlIGFib3J0CgkgIHBhcnNpbmcuIEZpeCBzb21lIGNvbW1lbnRzLiBNb3ZlIGNvZGUgZm9yIHNraXBwaW5nIGEgY2h1bmsgaW50byBleHRyYQoJICBmdW5jdGlvbi4gUmVwbGFjZSBjaHVuayBzaXplcyB3aXRoIGEgY29uc3QgdG8gZWFzZSByZWFkYWJpbGl0eS4KCjIwMDgtMDgtMDUgMTM6NTc6NTcgKzAwMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenpAeWFob28uZnI+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEltcHJvdmUgdWRwIHBvcnQgc2V0dXAuIEZpeGVzICM1NDU3MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKToKCSAgSW1wcm92ZSB1ZHAgcG9ydCBzZXR1cC4gRml4ZXMgIzU0NTcxMC4KCjIwMDgtMDgtMDUgMTM6NTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIE1QMVMgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMXNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMXNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkgIEFkZCBNUDFTIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIFNvbWUgbW9yZSBzYW1wbGUgcnRzcCBzdHJlYW1zLgoKMjAwOC0wOC0wNSAwODo0Mzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBhbm90aGVyIFVSTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGFub3RoZXIgVVJMLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0wOC0wNCAwOToxNjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBQcm92aWRlIGNiU2l6ZSBmaWVsZCBmb3IgYXVkaW8gZXh0cmFfZGF0YSBzaXplLCBhbmQgdGFrZSBjYXJlIHRvIHBhZCBleHRyYV9kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIFByb3ZpZGUgY2JTaXplIGZpZWxkIGZvciBhdWRpbyBleHRyYV9kYXRhIHNpemUsIGFuZCB0YWtlIGNhcmUgdG8KCSAgcGFkIGV4dHJhX2RhdGEuCgoyMDA4LTA4LTA0IDA3OjIzOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfe3N0YXJ0LHN0b3B9X3Rhc2sgaW5zdGVhZCBvZiBoYXJkLWNvZGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF97c3RhcnQsc3RvcH1fdGFzayBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCSAgVFJVRS4KCjIwMDgtMDgtMDQgMDc6MTc6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIGtleXdvcmQgdGFnIHN1cHBvcnQuIEZpeGVzICM1MjA2OTQgZm9yIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBBZGQga2V5d29yZCB0YWcgc3VwcG9ydC4gRml4ZXMgIzUyMDY5NCBmb3IgcXRkZW11eC4KCjIwMDgtMDgtMDQgMDc6MDU6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHRtcG8gdGFnIChCUE0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0bXBvIHRhZyAoQlBNKS4KCjIwMDgtMDgtMDMgMTI6MjM6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogU2V0IGFuIGVzdGltYXRlIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIGVuY29kZWQgaWYgcG9zc2libGUgdG8gaGVscCBkZWNvZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfcXVlcnlfcGVlcl90b3RhbF9zYW1wbGVzKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgU2V0IGFuIGVzdGltYXRlIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIGVuY29kZWQKCSAgaWYgcG9zc2libGUgdG8gaGVscCBkZWNvZGVycyBpZiB0aGUgc3RyZWFtaW5mbyBjYW4ndCBiZSByZXdyaXR0ZW4KCSAgbGF0ZXIgKGxpa2Ugd2hlbiBtdXhpbmcgaW50byBPZ2cgY29udGFpbmVycykuCgkgIEFkZCBhIHdhcm5pbmcgaWYgd2UgZ2V0IGhlYWRlciBwYWNrZXRzIGFmdGVyIGRhdGEgcGFja2V0cyBhcyB0aG9zZQoJICB3aWxsIGdldCBsb3N0IHdoZW4gbXV4aW5nIGludG8gT2dnLCBpLmUuIHJld3JpdGluZyB0aGUgaGVhZGVycyBkb2Vzbid0CgkgIHdvcmsuCgoyMDA4LTA4LTAzIDExOjM4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFN1cHBvcnQgZGVjb2Rpbmcgb2YgYWxsIGRlcHRocyBiZXR3ZWVuIDQgYW5kIDMyIGJpdHMgYW5kIHJlYWQgdGhlIGRlcHRoIGZyb20gdGhlIHN0cmVhbWluZm8gaGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFN1cHBvcnQgZGVjb2Rpbmcgb2YgYWxsIGRlcHRocyBiZXR3ZWVuIDQgYW5kIDMyIGJpdHMgYW5kIHJlYWQgdGhlCgkgIGRlcHRoIGZyb20gdGhlIHN0cmVhbWluZm8gaGVhZGVyIGlmIG5lZWRlZC4gQWxzbyBzdXBwb3J0IGFsbCBzYW1wbGluZwoJICByYXRlcyBiZXR3ZWVuIDEgYW5kIDY1NTM1MCBIei4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIChnc3RfZmxhY19lbmNfY2Fwc19hcHBlbmRfc3RydWN0dXJlX3dpdGhfd2lkdGhzKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX2dldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU3VwcG9ydCBlbmNvZGluZyBpbiBhbGwgYml0IGRlcHRocyBzdXBwb3J0ZWQgYnkgdGhlIHN0cmVhbWFibGUKCSAgc3ViZm9ybWF0IChpLmUuIDgsIDEyLCAxNiwgMjAgYW5kIDI0IGJpdHMpIGFuZCBhbGwgc2FtcGxpbmcgcmF0ZXMKCSAgYmV0d2VlbiAxIEh6IGFuZCA2NTUzNTAgSHouCgoyMDA4LTA4LTAzIDA5OjIzOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFN1cHBvcnQgZW5jb2Rpbmcgb2YgdXAgdG8gOCBjaGFubmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAoZ3N0X2ZsYWNfZW5jX3NpbmtfZ2V0Y2Fwcyk6CgkgIFN1cHBvcnQgZW5jb2Rpbmcgb2YgdXAgdG8gOCBjaGFubmVscy4KCjIwMDgtMDgtMDIgMjE6Mzk6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBGaXggc2Vla2luZyByYWNlIGNvbmRpdGlvbiBpbiAjNTQwMzAwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRml4IHNlZWtpbmcgcmFjZSBjb25kaXRpb24gaW4gIzU0MDMwMAoJICBQYXRjaCBCeTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgoyMDA4LTA4LTAyIDE4OjM1OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiByZWNlaXZpbmcgYSBTRUVLIGV2ZW50IG9uIGEgc3BlY2lmaWMgcGFkIGZpcnN0IHNlYXJjaCBmb3IgYSBzZWVrIHRhYmxlIGVudHJ5IGZvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2hlbiByZWNlaXZpbmcgYSBTRUVLIGV2ZW50IG9uIGEgc3BlY2lmaWMgcGFkIGZpcnN0IHNlYXJjaCBmb3IgYSBzZWVrCgkgIHRhYmxlIGVudHJ5IGZvciB0aGUgc3RyZWFtIG9mIHRoZSBwYWQgYW5kIHRoZW4gZmFsbCBiYWNrIHRvIGFuIGVudHJ5CgkgIGZvciBhIGRpZmZlcmVudCBzdHJlYW0uCgoyMDA4LTA4LTAyIDE4OjIwOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBCdWlsZCBkZXBlbmQgb24gY29yZSBDVlMgZm9yIHRoZSBhdHRhY2htZW50IHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzogKGdzdF9tYXRyb3NrYV9yZWdpc3Rlcl90YWdzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEJ1aWxkIGRlcGVuZCBvbiBjb3JlIENWUyBmb3IgdGhlIGF0dGFjaG1lbnQgdGFnLgoKMjAwOC0wOC0wMiAxODoxODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRGVjb2RlIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgYW5kIGZvbGxvd2luZyBDb250ZW50RW5jb2RpbmcgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9sem8uYzogKGdldF9ieXRlKSwgKGdldF9sZW4pLCAoY29weSksCgkgIChjb3B5X2JhY2twdHIpLCAobHpvMXhfZGVjb2RlKSwgKG1haW4pOgoJICAqIGdzdC9tYXRyb3NrYS9sem8uaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvbXByZXNzX2RhdGEpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfY29udGVudF9lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIERlY29kZSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIGFuZCBmb2xsb3dpbmcgQ29udGVudEVuY29kaW5nIGlmCgkgIG5lY2Vzc2FyeS4KCSAgU3VwcG9ydCBiemlwMiwgbHpvIGFuZCBoZWFkZXIgc3RyaXBwZWQgY29tcHJlc3Npb24uIEZvciBsem8gdXNlIHRoZQoJICBmZm1wZWcgbHpvIGltcGxlbWVudGF0aW9uIGFzIGxpYmx6byBpcyBHUEwgbGljZW5zZWQuCgkgIEZpeCB6bGliIGRlY29tcHJlc3Npb24uCgoyMDA4LTA4LTAyIDE4OjExOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtdXhpbmcgb2YgTVAzL01QMiB3aXRoIGRpZmZlcmVudCBNUEVHIHZlcnNpb25zIGJ5IGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiBvZiBhIGZyYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtdXhpbmcgb2YgTVAzL01QMiB3aXRoIGRpZmZlcmVudCBNUEVHIHZlcnNpb25zIGJ5IGNhbGN1bGF0aW5nIHRoZQoJICBkdXJhdGlvbiBvZiBhIGZyYW1lIHdpdGggdGhlIG5ldyBtcGVnYXVkaW92ZXJzaW9uIGNhcHMgZmllbGQuCgoyMDA4LTA4LTAyIDE4OjA2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogQWxsb3cgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHN0cmVhbSBpbnNpZGUgTWF0cm9za2EgY29udGFpbmVycyBhbmQgdXNlIGEgR1B0ckFycmF5IGZvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdHJlYW1fZnJvbV9udW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3RyYWNrbnVtYmVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIEFsbG93IGFuIGluZmluaXRlIG51bWJlciBvZiBzdHJlYW0gaW5zaWRlIE1hdHJvc2thIGNvbnRhaW5lcnMgYW5kIHVzZQoJICBhIEdQdHJBcnJheSBmb3Igc3RvcmluZyB0aGVtIGluc3RlYWQgb2YgYWxsb3dpbmcgIm9ubHkiIDEyNyBzdHJlYW1zLgoKMjAwOC0wOC0wMiAxODowMTozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IGluZGVudGlvbiBldmVyeXdoZXJlLiBBIGJyb2tlbiBpbmRlbnQgdmVyc2lvbiBoYXMgYWRkZWQgbmV3bGluZXMgYWZ0ZXIgZXZlcnkgc2luZ2xlIGRlY2xhcmF0aW9uIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfZWJtbF9yZWFkX2NoYW5nZV9zdGF0ZSksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGV2ZWxfdXApLAoJICAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfc2tpcCksCgkgIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLCAoX2V4dDJkYmwpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwgKGdzdF9lYm1sX3JlYWRfZGF0ZSksCgkgIChnc3RfZWJtbF9yZWFkX21hc3RlciksIChnc3RfZWJtbF9yZWFkX2JpbmFyeSksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9zaXplKSwgKGdzdF9lYm1sX3dyaXRlX3VpbnQpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2ludCksIChnc3RfZWJtbF93cml0ZV9hc2NpaSksCgkgIChnc3RfZWJtbF93cml0ZV9tYXN0ZXJfc3RhcnQpLCAoZ3N0X2VibWxfd3JpdGVfbWFzdGVyX2ZpbmlzaCksCgkgIChnc3RfZWJtbF9yZXBsYWNlX3VpbnQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksIChnc3RfbWF0cm9za2FfZWJtbG51bV91aW50KSwKCSAgKGdzdF9tYXRyb3NrYV9lYm1sbnVtX3NpbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9tcGVnX3NlcV9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgICh4aXBoM19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHZvcmJpc19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHRoZW9yYV9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCksIChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBpbmRlbnRpb24gZXZlcnl3aGVyZS4gQSBicm9rZW4gaW5kZW50IHZlcnNpb24gaGFzIGFkZGVkIG5ld2xpbmVzCgkgIGFmdGVyIGV2ZXJ5IHNpbmdsZSBkZWNsYXJhdGlvbiBzb21lIHRpbWUgYWdvLgoKMjAwOC0wOC0wMiAxNzo1OTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIG5vIFRyYWNrcyBhcmUgZm91bmQgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIGl0IGFnYWluIHVudGlsIHRoZSBlbmQgb2YgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBJZiBubyBUcmFja3MgYXJlIGZvdW5kIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyBpdCBhZ2FpbiB1bnRpbCB0aGUKCSAgZW5kIG9mIHRpbWUuCgoyMDA4LTA4LTAyIDE3OjU3OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGRlbXV4aW5nIG9mIHJhdyBpbnRlZ2VyIGF1ZGlvLiBUaGUgc2FtcGxlcyBhcmUgdW5zaWduZWQgb25seSBmb3IgOCBiaXQgYW5kIHNpZ25lZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBkZW11eGluZyBvZiByYXcgaW50ZWdlciBhdWRpby4gVGhlIHNhbXBsZXMgYXJlIHVuc2lnbmVkIG9ubHkgZm9yIDgKCSAgYml0IGFuZCBzaWduZWQgb3RoZXJ3aXNlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgoyMDA4LTA4LTAyIDE3OjU0OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBtb3JlIHJhdyBZVVYgZm9ybWF0cyB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgbW9yZSByYXcgWVVWIGZvcm1hdHMgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA4LTA4LTAyIDE3OjUyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGZsb2F0IGF1ZGlvIG5vdyB0aGF0IHRoZSBzcGVjIGRlZmluZXMgdGhlIGVuZGlhbm5lc3MgYW5kIGFkZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGZsb2F0IGF1ZGlvIG5vdyB0aGF0IHRoZSBzcGVjIGRlZmluZXMgdGhlCgkgIGVuZGlhbm5lc3MgYW5kIGFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGludGVnZXIgYXVkaW8gd2l0aCAyNCBhbmQKCSAgMzIgYml0cy4KCSAgQWxsb3cgbXV4aW5nIG9mIG1vcmUgdGhhbiA4IGF1ZGlvIGNoYW5uZWxzLgoKMjAwOC0wOC0wMiAxNzo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgbG9ja2luZyB0byB0aGUgZ2xvYmFsIGFycmF5IG9mIHVzZWQgdHJhY2sgVUlEcyB0byBwcmV2ZW50IHJhbmRvbSBjcmFzaGVzIGlmIG1vcmUgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX3VpZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBBZGQgbG9ja2luZyB0byB0aGUgZ2xvYmFsIGFycmF5IG9mIHVzZWQgdHJhY2sgVUlEcyB0byBwcmV2ZW50IHJhbmRvbQoJICBjcmFzaGVzIGlmIG1vcmUgdGhhbiBhIHNpbmdsZSBtYXRyb3NtdXggaW5zdGFuY2UgaXMgdXNlZC4KCSAgVXNlIDY0IGJpdCB2YWx1ZXMgZm9yIHRoZSB0cmFjayBVSURzLgoJICBVc2UgdGhlIGdsb2JhbCBHUmFuZG9tIG9mIEdMaWIgaW5zdGVhZCBvZiBjcmVhdGluZyBvdXIgb3duIG9uZQoJICBmb3IgdGhlIGZldyByYW5kb20gbnVtYmVycyB3ZSBuZWVkIGV2ZXJ5IHNpbmdsZSB0aW1lLgoKMjAwOC0wOC0wMiAxNzoxODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBbHdheXMgcG9zdCB0aGUgYXVkaW8tY29kZWMgdGFnLCBub3Qgb25seSBpZiBvdGhlciB0YWdzIGFyZSBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSk6CgkgIEFsd2F5cyBwb3N0IHRoZSBhdWRpby1jb2RlYyB0YWcsIG5vdCBvbmx5IGlmIG90aGVyIHRhZ3MgYXJlIHByZXNlbnQuCgoyMDA4LTA4LTAxIDIzOjI2OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCjIwMDgtMDgtMDEgMTU6NTg6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIG1pc3NpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBnc3RyZWFtZXIgcGx1Z2lucyB0byBzcGVjIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuOSA9PT0KCjIwMDgtMDctMzEgMjI6MTA6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjkKCjIwMDgtMDctMzEgMjE6NTA6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA3LTMxIDIxOjI2OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IHRocm93IGFuIGVycm9yIHdoZW4gc291cCBjb21wbGV0ZXMgYSBtc2cgd2l0aCBzdGF0dXMgJ2NhbmNlbGxlZCcsIGFzIHRoYXQgaW5kaWNhdGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBEb24ndCB0aHJvdyBhbiBlcnJvciB3aGVuIHNvdXAgY29tcGxldGVzIGEgbXNnIHdpdGggc3RhdHVzCgkgICdjYW5jZWxsZWQnLCBhcyB0aGF0IGluZGljYXRlcyB3ZSBjYW5jZWxsZWQgYSByZXF1ZXN0IHdoaWxlCgkgIHNodXR0aW5nIGRvd24gb3Igc2Vla2luZywgYW5kIGl0J3Mgbm90IGFuIGVycm9yLgoJICBGaXhlczogIzU0MDMwMCBhZ2Fpbi4KCjIwMDgtMDctMjggMjA6MTc6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC40IHByZS1yZWxlYXNlCgoyMDA4LTA3LTI1IDE0OjUwOjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2VnbWVudC1zdG9wIHJlZ3Jlc3Npb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBGaXggc2VnbWVudC1zdG9wIHJlZ3Jlc3Npb24uCgkgIEFkZCBkb2N1bWVudGF0aW9uIHJlZ2FyZGluZyBzZWdtZW50cyBpbiBxdWlja3RpbWUgZmlsZXMgYnkgV2ltIFRheW1hbnMuCgkgIEZpeGVzICM1NDQ1MDkKCjIwMDgtMDctMjQgMjM6NTU6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9wdF9CUi5wbzoKCSAgQWRkIHB0X0JSIHRyYW5zbGF0aW9uCgoyMDA4LTA3LTIzIDIyOjAxOjIwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ29vbS86IEZpeCBidWlsZCB3aXRoIE1TVkM6IGluY2x1ZGUgZ2xpYi5oIHRvIGRlZmluZSBpbmxpbmUgYXBwcm9wcmlhdGVseSwgdXNlIGhlYWRlciBndWFyZHMgd2hlcmUgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgRml4IGJ1aWxkIHdpdGggTVNWQzogaW5jbHVkZSBnbGliLmggdG8gZGVmaW5lIGlubGluZSBhcHByb3ByaWF0ZWx5LAoJICB1c2UgaGVhZGVyIGd1YXJkcyB3aGVyZSBuZWVkZWQuCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBidWlsZCB3aXRoIE1TVkM6IHVzZSBXU0EqIGNvbnN0YW50cy9mdW5jdGlvbnMgd2hlcmUgYXBwcm9wcmlhdGUsIHVzZQoJICBnX3NucHJpbnRmIHJhdGhlciB0aGFuIHNucHJpbnRmLgoJICBGaXhlcyAjNTQ0NDMzLgoKMjAwOC0wNy0yMiAwNjozMjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC4qOiBTZW50IHRhZ3MgaW4gX3RyYW5zZm9ybV9pcCgpIGluc3RlYWQgb2YgX3N0YXJ0KCkuIEZpeGVzICM1NDM0MDQgcGFydGlhbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJICBTZW50IHRhZ3MgaW4gX3RyYW5zZm9ybV9pcCgpIGluc3RlYWQgb2YgX3N0YXJ0KCkuIEZpeGVzICM1NDM0MDQKCSAgcGFydGlhbGx5LgoKMjAwOC0wNy0xOSAxNDoxMjozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4yIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjIgcHJlLXJlbGVhc2UKCjIwMDgtMDctMTkgMTM6NTA6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaW5pc2ggaG9va2luZyB1cCBwdWxzZWF1ZGlvIHBsdWdpbiB0byB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRmluaXNoIGhvb2tpbmcgdXAgcHVsc2VhdWRpbyBwbHVnaW4gdG8gdGhlIGJ1aWxkLgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBGaXggY29tcGlsYXRpb24gZXJyb3IuCgoyMDA4LTA3LTE5IDEzOjIzOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvLzogQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbHQucG86CgkgIEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUwoJICBmaWxlLgoKMjAwOC0wNy0xOSAxMzowODo0MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBTb3VwIEhUVFAgc291cmNlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIEZpeCBTb3VwIEhUVFAgc291cmNlIHNlZWtpbmcuCgkgIFBhdGNoIEJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgRml4ZXM6ICM1NDAzMDAKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbmV3IGNoZWNrIHByb2dyYW1zLgoKMjAwOC0wNy0xOSAwMTowMToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHJlcGxheWdhaW4gYW5kIGludGVybGVhdmUgcGx1Z2lucyBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSByZXBsYXlnYWluIGFuZCBpbnRlcmxlYXZlIHBsdWdpbnMgZnJvbSAtYmFkLgoJICBGaXhlczogIzU0MzQwNgoJICBGaXhlczogIzUzNjIyOAoKMjAwOC0wNy0xOCAyMDowMzowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJldmVydCBJU08gYmFzZSBtZWRpYSBzcGVjIGJhc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZXZlcnQgSVNPIGJhc2UgbWVkaWEgc3BlYyBiYXNlZCBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24uCgkgIEZpeGVzICM1NDMzMDAuCgoyMDA4LTA3LTE3IDE2OjQyOjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggbWlub3IgYnVpbGQgaXNzdWVzIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbWlub3IgYnVpbGQgaXNzdWVzIG9uIG1hY29zeC4KCSAgRml4ZXMgIzU0MzA1NAoKMjAwOC0wNy0xNyAxNDo0MDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE9ubHkgdXNlIC1Xbm8tYXR0cmlidXRlcyAod2hpY2ggaXMgdGhlcmUgdG8gd29yayBhcm91bmQgYSBidWcgaW4gdGhlIHRhZ2xpYiAxLjUgaGVhZGVycykgaWYgdGhlIGMrKyBjb21waWxlciBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06OgoJICBPbmx5IHVzZSAtV25vLWF0dHJpYnV0ZXMgKHdoaWNoIGlzIHRoZXJlIHRvIHdvcmsgYXJvdW5kIGEKCSAgYnVnIGluIHRoZSB0YWdsaWIgMS41IGhlYWRlcnMpIGlmIHRoZSBjKysgY29tcGlsZXIgYWN0dWFsbHkKCSAgc3VwcG9ydHMgaXQgKCM1NDMyNTUpLgoKMjAwOC0wNy0xNyAxMzo1NDozOCArMDAwMCAgQmVub2l0IEZvdWV0IDxiZW5vaXQuZm91ZXRAcHVycGxlbGFicy5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgYnkgaW5pdGlhbGlzaW5nIHZhcmlhYmxlIHRvIE5VTEwgKCM1NDMyNTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJlbm9pdCBGb3VldCA8YmVub2l0LmZvdWV0IHB1cnBsZWxhYnMgY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX25lZ290aWF0ZSk6CgkgIEF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgYnkgaW5pdGlhbGlzaW5nIHZhcmlhYmxlIHRvIE5VTEwgKCM1NDMyNTkpLgoKMjAwOC0wNy0xNCAxNzoxNzo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBEb24ndCBwYXNzIE5VTEwgdGFnbGlzdHMgdG8gZ3N0X3RhZ19saXN0X2lzX2VtcHR5KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogKGdzdF90YWdfaW5qZWN0X3N0YXJ0KToKCSAgRG9uJ3QgcGFzcyBOVUxMIHRhZ2xpc3RzIHRvIGdzdF90YWdfbGlzdF9pc19lbXB0eSgpLgoKMjAwOC0wNy0xNCAxNzoxNTo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOiAocnRwX3BpcGVsaW5lX2NyZWF0ZSksCgkgIChydHBfcGlwZWxpbmVfcnVuKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgoyMDA4LTA3LTE0IDE2OjI4OjI1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWxpZ24gZG9jdW1lbnRhdGlvbiB3aXRoIHJlYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgQWxpZ24gZG9jdW1lbnRhdGlvbiB3aXRoIHJlYWxpdHkuCgoyMDA4LTA3LTE0IDEzOjExOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IEVBSV9BRERSRkFNSUxZIHdhcyBvYnNvbGV0ZWQgaW4gQlNEIGF0IHNvbWUgcG9pbnQuIERlZmluZSBpdCB0byB0aGUgb2xkIHZhbHVlICgxKSBpZiBpdCdzIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICBFQUlfQUREUkZBTUlMWSB3YXMgb2Jzb2xldGVkIGluIEJTRCBhdCBzb21lIHBvaW50LiBEZWZpbmUgaXQgdG8gdGhlCgkgIG9sZCB2YWx1ZSAoMSkgaWYgaXQncyBub3QgZGVmaW5lZCB3aGljaCBzaG91bGQgbm90IGNhdXNlIGFueSBwcm9ibGVtcwoJICBhcyB3ZSdyZSB1c2luZyBpdCBpbnRlcm5hbCBvbmx5IGFueXdheS4KCjIwMDgtMDctMTQgMTM6MDI6NDggKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggYnVpbGQgb2YgYXZpZGVtdXggb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JpZmZfcGFyc2VfdnBycCk6CgkgIEZpeCBidWlsZCBvZiBhdmlkZW11eCBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuCgoyMDA4LTA3LTEwIDIwOjQ3OjU2ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BsY2MudWZjZy5lZHUuYnI+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvcnJlY3RseSBkaXN0aW5ndWlzaCA4Yml0IHZzIDE2Yml0IHJhdyBhdWRpby4gIEZpeGVzICM1NDI0MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3MgYXQgbGNjIGRvdCB1ZmNnIGRvdCBlZHUgZG90IGJyPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIENvcnJlY3RseSBkaXN0aW5ndWlzaCA4Yml0IHZzIDE2Yml0IHJhdyBhdWRpby4gIEZpeGVzICM1NDI0MTAuCgoyMDA4LTA3LTA4IDIxOjA1OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzIHVzaW5nIGRpc3BsYXkgd2lkdGggYW5kIGhlaWdodCBwcm92aWRlZCBpbiB0cmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMgdXNpbmcgZGlzcGxheSB3aWR0aCBhbmQgaGVpZ2h0CgkgIHByb3ZpZGVkIGluIHRyYWNrLgoKMjAwOC0wNy0wOCAxMzo1OTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZSBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuIEZpeGVzIGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUKCSAgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLiBGaXhlcyBidWcgIzUxNjUwOS4KCjIwMDgtMDctMDggMTI6NTE6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBhbmQgdmFyaWFibGUgbGVuZ3RoIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgYW5kIHZhcmlhYmxlIGxlbmd0aCBhcnJheXMuCgoyMDA4LTA3LTA3IDIxOjI4OjU4ICswMDAwICBEYW5pZWwgRHJha2UgPGRzZEBnZW50b28ub3JnPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBUcnkgcHJvZ3Jlc3NpdmUgdmlkZW8gaWYgaW50ZXJsYWNlZCBmYWlscy4gRml4ZXMgYnVnICM1NDE5NTYgYW5kIHRoZSB1c2FnZSBvZiB2NGwyc3JjIG9uIE9MUEMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIERyYWtlIDxkc2QgYXQgZ2VudG9vIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIFRyeSBwcm9ncmVzc2l2ZSB2aWRlbyBpZiBpbnRlcmxhY2VkIGZhaWxzLiBGaXhlcyBidWcgIzU0MTk1NgoJICBhbmQgdGhlIHVzYWdlIG9mIHY0bDJzcmMgb24gT0xQQy4KCjIwMDgtMDctMDcgMTU6MzQ6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS4qOiBSZXZlcnQgbGFzdCBjaGFuZ2U6IE9ubHkgdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIGNvbnZlcnQgUlRQIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgIFJldmVydCBsYXN0IGNoYW5nZTogT25seSB0aGUgaml0dGVyYnVmZmVyIGlzIGFibGUgdG8gY29udmVydCBSVFAgdG8KCSAgR3N0cmVhbWVyIHRpbWVzdGFtcHMgYW5kIG5vcm1hbCAoZGUpcGF5bG9hZGVycyBzaG91bGQgc2ltcGx5IGNvcHkgaXQuCgkgIFJlb3BlbnMgYnVnICM1NDE3ODcuCgoyMDA4LTA3LTA3IDEwOjMwOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIEluY2x1ZGUgc3RkbGliLmggZm9yIGF0b2koKS4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoKMjAwOC0wNy0wNyAxMDoxNjowNyArMDAwMCAgVG9tYXN6IEdyb2JlbG55IDx0b21hc3pAZ3JvYmVsbnkub3N3aWVjZW5pYS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuKjogVGFrZSB0aW1lc3RhbXAgZnJvbSB0aGUgUlRQIHBhY2tldCBhcyBhIGZpcnN0IHN0ZXAgdG8gZml4IHByb2JsZW1zIHdpdGggdHJhbnNtaXNzaW9uIG92ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21hc3ogR3JvYmVsbnkgPHRvbWFzeiBhdCBncm9iZWxueSBkb3Qgb3N3aWVjZW5pYSBkb3QgbmV0PgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgIFRha2UgdGltZXN0YW1wIGZyb20gdGhlIFJUUCBwYWNrZXQgYXMgYSBmaXJzdCBzdGVwIHRvIGZpeCBwcm9ibGVtcwoJICB3aXRoIHRyYW5zbWlzc2lvbiBvdmVyIFJUUCB3aGVuIHRoZSBuZXR3b3JrIGlzIG5vdCByZWxpYWJsZS4KCSAgRml4ZXMgYnVnICM1NDE3ODcuCgoyMDA4LTA3LTA1IDE5OjAxOjI4ICswMDAwICBUZXJvIFNhYXJuaSA8dGVyby5zYWFybmlAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IHBhcnNpbmcgb2YgdWRwOi8vIFVSSXMgY29udGFpbmluZyBJUHY2IGFkZHJlc3Nlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUZXJvIFNhYXJuaSA8dGVybyBkb3Qgc2Fhcm5pIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3VyaSk6CgkgIEZpeCBwYXJzaW5nIG9mIHVkcDovLyBVUklzIGNvbnRhaW5pbmcgSVB2NiBhZGRyZXNzZXMuCgkgIEZpeGVzIGJ1ZyAjNTQxNjUwLgoKMjAwOC0wNy0wNCAyMDo0MzowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogRG8gbm90IGxlYWsgaW5jb21pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgIERvIG5vdCBsZWFrIGluY29taW5nIGJ1ZmZlcnMuCgoyMDA4LTA3LTAzIDE5OjI3OjUzICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgb2YgdGhlIFJUUCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyIGZvciBodG9ucygpIGFuZCBodG9ubCgpLiBGaXhlcyBidWcgIzU0MTQxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQgb2YgdGhlIFJUUCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyCgkgIGZvciBodG9ucygpIGFuZCBodG9ubCgpLiBGaXhlcyBidWcgIzU0MTQxMi4KCjIwMDgtMDctMDIgMDk6NTE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IGlmIHRoZSBwYWQncyB0cmFjayBoYXMgYSBkZWZhdWx0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IGlmIHRoZQoJICBwYWQncyB0cmFjayBoYXMgYSBkZWZhdWx0IGZyYW1lIGR1cmF0aW9uIHNldC4KCSAgRml4IHNlZWtpbmcgbm93IHRoYXQgdGhlIHNlZ21lbnQncyBkdXJhdGlvbiBkb2Vzbid0IGNvbnRhaW4gdGhlCgkgIChwb3NzaWJseSB3cm9uZyBvciBpbmFjY3VyYXRlKSBkdXJhdGlvbiBvZiB0aGUgTWF0cm9za2EgZmlsZS4KCjIwMDgtMDctMDIgMDk6MDQ6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogVXNlIE5BTiBjb25zdGFudCBpbnN0ZWFkIG9mIDAuMC8wLjAgaWYgcG9zc2libGUuIE5BTiBpcyBkZWZpbmVkIGluIG1hdGguaCBleGNlcHQgb24gTVNWQyB3aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChfZXh0MmRibCk6CgkgIFVzZSBOQU4gY29uc3RhbnQgaW5zdGVhZCBvZiAwLjAvMC4wIGlmIHBvc3NpYmxlLiBOQU4gaXMgZGVmaW5lZAoJICBpbiBtYXRoLmggZXhjZXB0IG9uIE1TVkMgd2hlcmUgaXQgaXMgZGVmaW5lZCBpbiB4bWF0aC5oLgoJICBGaXhlcyBjb21waWxhdGlvbiB3aXRoIE1TVkMuCgoyMDA4LTA3LTAyIDA4OjU3OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IGR1cmF0aW9uIHRvIHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBNYXRyb3NrYSBoZWFkZXIgYXMgdGhpcyB2YWx1ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IGR1cmF0aW9uIHRvIHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBNYXRyb3NrYQoJICBoZWFkZXIgYXMgdGhpcyB2YWx1ZSBjb3VsZCBiZSB3cm9uZyBhbmQgaXMganVzdCBpbmZvcm1hdGlvbmFsLgoKMjAwOC0wNy0wMiAwODo0NzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIG5vIFRyYWNrcyBlbGVtZW50IGlzIGZvdW5kIHVudGlsIHRoZSBmaXJzdCBDbHVzdGVyIGlzIGZvdW5kIHNlYXJjaCBpdCBhbmQgZXJyb3Igb3V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSWYgbm8gVHJhY2tzIGVsZW1lbnQgaXMgZm91bmQgdW50aWwgdGhlIGZpcnN0IENsdXN0ZXIgaXMgZm91bmQKCSAgc2VhcmNoIGl0IGFuZCBlcnJvciBvdXQgaWYgbm9uZSBpcyBmb3VuZCBpbiB0aGUgY29tcGxldGUgZmlsZS4KCjIwMDgtMDctMDIgMDg6MTQ6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBSZXN5bmMgbm9uLXN1YnRpdGxlIHRyYWNrcyB0b28gaWYgYSB0b28gbGFyZ2UgZ2FwIGNvbXBhcmVkIHRvIG90aGVyIHRyYWNrcyBpcyBkZXRlY3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgUmVzeW5jIG5vbi1zdWJ0aXRsZSB0cmFja3MgdG9vIGlmIGEgdG9vIGxhcmdlIGdhcCBjb21wYXJlZCB0byBvdGhlcgoJICB0cmFja3MgaXMgZGV0ZWN0ZWQuCgoyMDA4LTA3LTAxIDEzOjI4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCByYXcgdmlkZW8gcGF5IGFuZCBkZXBheWxvYWRlcnMsIHNlZSBSRkM0MTc1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92cmF3X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF92cmF3X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6IChnc3RfcnRwX3ZyYXdfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfdnJhd19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X2luaXQpLCAoZ3N0X3J0cF92cmF3X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF92cmF3X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBBZGQgcmF3IHZpZGVvIHBheSBhbmQgZGVwYXlsb2FkZXJzLCBzZWUgUkZDNDE3NS4KCjIwMDgtMDYtMzAgMjI6NTM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gYnVmZmVyX2FsbG9jIGZhaWxzIC0gcmV0dXJuIHdoYXRldmVyIGl0IHJldHVybmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBidWZmZXJfYWxsb2MgZmFpbHMgLSByZXR1cm4KCSAgd2hhdGV2ZXIgaXQgcmV0dXJuZWQuCgoyMDA4LTA2LTI5IDE5OjUyOjUxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvYXZpLWlkcy5oOiBBZGQgdnBycCBjaHVuayByZWxhdGVkIHN0cnVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvYXZpLWlkcy5oOgoJICBBZGQgdnBycCBjaHVuayByZWxhdGVkIHN0cnVjdHVyZXMuCgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yaWZmX3BhcnNlX3ZwcnApLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBQYXJzZSBvcHRpb25hbCB2cHJwIGNodW5rIGFuZCBhZGQgY2FsY3VsYXRlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgdG8gY2Fwcy4gIEZpeGVzICM1Mzk0ODIuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIEFkZCBhIHZwcnAgY2h1bmsgaWYgbm9uLXRyaXZhbCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvdmlkZWQgaW4gY2Fwcy4KCjIwMDgtMDYtMjggMTk6MzE6NDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IEFkanVzdCBhdmltdXggdW5pdCB0ZXN0IGFjY29yZGluZyB0byBpbmNyZWFzZWQgc3RyZWFtaGVhZGVyIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoY2hlY2tfYXZpbXV4X3BhZCk6CgkgIEFkanVzdCBhdmltdXggdW5pdCB0ZXN0IGFjY29yZGluZyB0byBpbmNyZWFzZWQgc3RyZWFtaGVhZGVyIHNpemUuCgoyMDA4LTA2LTI3IDE4OjExOjAxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIERpcmFjIHN0cmVhbSB0eXBlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIERpcmFjIHN0cmVhbSB0eXBlCgoyMDA4LTA2LTI3IDE1OjI1OjAwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEFkZCA4IGJ5dGVzIHRvIGN1cnJlbnQgc3RyZWFtaGVhZGVyIHRvIG1ha2UgZm9yIGEgY29tcGxldGUgb25lIGFuZCB0byBtYWtlIG1vcmUgcGxheWVycyBoYXBweS4gIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgQWRkIDggYnl0ZXMgdG8gY3VycmVudCBzdHJlYW1oZWFkZXIgdG8gbWFrZSBmb3IgYSBjb21wbGV0ZSBvbmUKCSAgYW5kIHRvIG1ha2UgbW9yZSBwbGF5ZXJzIGhhcHB5LiAgRml4ZXMgIzUxOTQ2MC4KCjIwMDgtMDYtMjYgMTY6MzY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IERvbid0IGluY2x1ZGUgdW51c2VkIGdzdHY0bDJ4b3ZlcmxheS5oLiBGaXhlcyBidWlsZCBpbiBjYXNlIHdoZXJlIFgxMSBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6OgoJICBEb24ndCBpbmNsdWRlIHVudXNlZCBnc3R2NGwyeG92ZXJsYXkuaC4gRml4ZXMgYnVpbGQKCSAgaW4gY2FzZSB3aGVyZSBYMTEgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZC4KCjIwMDgtMDYtMjYgMTA6MDc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwOC0wNi0yNiAwOTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBNYXJraW5nIHJhbmsgb2YgZHZkZWMgYXMgR1NUX1JBTktfTUFSR0lOQUwgc2luY2UgaXQncyB0aGUgc2xvd2VzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgTWFya2luZyByYW5rIG9mIGR2ZGVjIGFzIEdTVF9SQU5LX01BUkdJTkFMIHNpbmNlIGl0J3MgdGhlIHNsb3dlc3QKCSAgRFYgZGVjb2RlciBhdmFpbGFibGUuCgkgIEZpeGVzICM1MzIzOTMKCjIwMDgtMDYtMjUgMDg6MTI6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENhbGwgZ2V0c29ja25hbWUoKSBhZnRlciB0aGUgY2FsbCB0byBiaW5kKCkgdG8gZ2V0IHVwZGF0ZWQgdmFsdWVzIGZvciB0aGUgcG9ydCwgZXRjLiBUaGlzIGZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIENhbGwgZ2V0c29ja25hbWUoKSBhZnRlciB0aGUgY2FsbCB0byBiaW5kKCkgdG8gZ2V0IHVwZGF0ZWQgdmFsdWVzCgkgIGZvciB0aGUgcG9ydCwgZXRjLiBUaGlzIGZpeGVzIHRoZSB1c2FnZSBvZiB1ZHBzcmMgb24gYW5vbnltb3VzCgkgIGJpbmRpbmcgYW5kIGl0J3MgdXNhZ2UgYnkgcnRzcHNyYy4gRml4ZXMgYnVncyAjNTM5MzcyLCAjNTM5NTQ4LgoJICBUaGFua3MgdG8gQXVyZWxpZW4gR3JpbWF1ZCBmb3IgcG9pbnRpbmcgb3V0IHRoZSBvYnZpb3VzIGZpeC4KCjIwMDgtMDYtMjUgMDc6NTc6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiBpZGVudGl0eSB0aGF0IGlzIGZpeGVkIGluIDAuMTAuMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IChidXNfaGFuZGxlcik6CgkgIFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiBpZGVudGl0eSB0aGF0IGlzIGZpeGVkIGluIDAuMTAuMjAuCgoyMDA4LTA2LTI1IDA2OjM2OjU4ICswMDAwICBKYXNvbiBEb25lbmZlbGQgPEJ1Z1ppbGxhQHp4MmM0LmNvbT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBIVFRQIGF1dGggc3VwcG9ydCB3aXRoIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphc29uIERvbmVuZmVsZCA8QnVnWmlsbGEgYXQgengyYzQgZG90IGNvbT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpOgoJICBGaXggSFRUUCBhdXRoIHN1cHBvcnQgd2l0aCB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSS4KCSAgRml4ZXMgYnVnICM1NDAwNjcuCgoyMDA4LTA2LTI0IDE1OjQyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoKMjAwOC0wNi0yMyAxNjoxMzo0MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGJ1Z2d5IGZvcm1hdCBzdHJpbmdzIGluIG1hY3Jvcy4gKG1ha2VzIGl0IGJ1aWxkIG9uIE9TIFggYWdhaW4uLi4pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTIzICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOiBGaXggYnVnZ3kKCSAgZm9ybWF0IHN0cmluZ3MgaW4gbWFjcm9zLiAobWFrZXMgaXQgYnVpbGQgb24gT1MgWCBhZ2Fpbi4uLikKCjIwMDgtMDYtMjAgMTY6MjQ6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogQWRkZWQgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgQWRkZWQgZGVidWcuCgoyMDA4LTA2LTIwIDE1OjIxOjU5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBzd2l0Y2ggdjRsMnNyYyBmcm9tIGV4cGVyaW1lbnRhbCB0byBub3JtYWwgYnVpbGQuIEZpeGVzICM1MzY4MzEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN3aXRjaCB2NGwyc3JjIGZyb20gZXhwZXJpbWVudGFsIHRvIG5vcm1hbCBidWlsZC4gRml4ZXMgIzUzNjgzMQoKMjAwOC0wNi0xOSAxMToyNDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9zZXRjYXBzKToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBzbyB0aGF0IHdlIGNhbiBjb21waWxlIGFnYWluLgoKMjAwOC0wNi0xOSAxMTowNjoyOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogTm8gbmVlZCB0byBjaGVjayBmb3IgYXVkaW8vRzcyMyBhbmQgYXVkaW8vMzJLQURQQ00gaGVyZSBhcyB0aGV5IGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2Fwcyk6CgkgIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGF1ZGlvL0c3MjMgYW5kIGF1ZGlvLzMyS0FEUENNIGhlcmUgYXMgdGhleSBhcmUKCSAgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCjIwMDgtMDYtMTkgMTA6NTg6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBVc2UgR19HSU5UNjRfQ09OU1RBTlQsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIHF1ZXJ5IG9uIGZpbGVzIHdpdGhvdXQga25vd24gbGVuZ3RoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIFVzZSBHX0dJTlQ2NF9DT05TVEFOVCwgdGhpcyBmaXhlcyB0aGUgZHVyYXRpb24gcXVlcnkgb24gZmlsZXMgd2l0aG91dAoJICBrbm93biBsZW5ndGguCgoyMDA4LTA2LTE5IDEwOjQ4OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggZGVtdXhpbmcgb2YgV2F2UGFjayBmaWxlcy4gTXV4aW5nIGlzIHN0aWxsIGJyb2tlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEZpeCBkZW11eGluZyBvZiBXYXZQYWNrIGZpbGVzLiBNdXhpbmcgaXMgc3RpbGwgYnJva2VuLgoKMjAwOC0wNi0xOSAwOToxMjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIGEgInZmdW5jIiB0byB0aGUgdHJhY2sgY29udGV4dCBmb3IgcG9zdHByb2Nlc3NpbmcgZnJhbWVzIGFuZCBjb252ZXJ0IHRoZSB3YXZwYWNrIGFuZCBzdWJ0aXRsZSBwb3N0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX3RyYWNrX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9tcGVnX3NlcV9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBhICJ2ZnVuYyIgdG8gdGhlIHRyYWNrIGNvbnRleHQgZm9yIHBvc3Rwcm9jZXNzaW5nIGZyYW1lcyBhbmQKCSAgY29udmVydCB0aGUgd2F2cGFjayBhbmQgc3VidGl0bGUgcG9zdHByb2Nlc3NpbmcgdG8gdGhpcyB2ZnVuYy4KCSAgQ29weSBidWZmZXIgZmxhZ3MgaW4gdGhvc2UgZnVuY3Rpb25zIHRvIHRoZSBuZXcgYnVmZmVycyB0b28uCgkgIFBhcnNlIENvZGVjU3RhdGUgZWxlbWVudHMgb2YgQmxvY2tzLgoJICBBZGQgYSBwb3N0cHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgTVBFRyB2aWRlbyB0aGF0IGFkZHMgdGhlIHNlcXVlbmNlCgkgIGhlYWRlciBmcm9tIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgb3IgY29kZWMgc3RhdGUgdG8gdGhlIGZyYW1lcyBpZgoJICBpdCdzIG5vdCBhbHJlYWR5IHRoZXJlLgoKMjAwOC0wNi0xOSAwODoyMjoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIGEgZ2FwIG9mIG1vcmUgdGhhbiAxLzIgc2Vjb25kIGlzIGZvdW5kIGluIG9uZSBzdHJlYW0gc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBJZiBhIGdhcCBvZiBtb3JlIHRoYW4gMS8yIHNlY29uZCBpcyBmb3VuZCBpbiBvbmUgc3RyZWFtIHNlbmQgYQoJICBORVdTRUdNRU5UIGV2ZW50IHRvIG5vdCBzdGFsbCB0aGUgcGlwZWxpbmUgaWYgdGhlIGdhcCBpcyB0b28gbGFyZ2UuCgkgIFRoaXMgYWxzbyBmaXhlcyBNYXRyb3NrYSBmaWxlcyB3aGVyZSB0aGUgZmlyc3QgYnVmZmVyIGRvZXNuJ3Qgc3RhcnQKCSAgYXQgdGltZXN0YW1wIDAuIEZpeGVzIGJ1ZyAjNDI5MzIyLgoJICBUaGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB0aGUgZGVmYXVsdCBkdXJhdGlvbiBtdWx0aXBsaWVkIHdpdGggdGhlCgkgIG51bWJlciBvZiBsYWNlcy4gRXZlcnkgbGFjZSBpcyBvbmUgZnJhbWUgYW5kIHRoZSBkZWZhdWx0IGR1cmF0aW9uCgkgIGlzIHRoZSBkdXJhdGlvbiBvZiBvbmUgZnJhbWUuIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCB1c2UKCSAgbGFjaW5nIGZvciBzb21lIHRyYWNrcy4KCjIwMDgtMDYtMTggMjA6MDk6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVcGRhdGUgRklYTUUvVE9ET3MgYW5kIG9ubHkgaWdub3JlIEVPUyBhdCB0aGUgY2VudHJhbCwgaW1wb3J0YW50IHBsYWNlIGluc3RlYWQgb2Ygc2V2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpOgoJICBVcGRhdGUgRklYTUUvVE9ET3MgYW5kIG9ubHkgaWdub3JlIEVPUyBhdCB0aGUgY2VudHJhbCwgaW1wb3J0YW50IHBsYWNlCgkgIGluc3RlYWQgb2Ygc2V2ZXJhbCBwbGFjZXMuCgoyMDA4LTA2LTE4IDE2OjU1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IEZpeCBjYXBzLCBTZWUgIzUzODg5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIEZpeCBjYXBzLCBTZWUgIzUzODg5MS4KCjIwMDgtMDYtMTggMTA6Mjg6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBldmVyeXdoZXJlIGFuZCBmaXggdGhlIEVPUyBsb2dpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N0cmVhbV9mcm9tX251bSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19vcmRlcl91bmlxdWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF90cmFja251bWJlcl91bmlxdWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZXZlcnl3aGVyZSBhbmQgZml4IHRoZSBFT1MgbG9naWMuCgkgIENoZWNrIHRoZSB2YWx1ZXMgb2YgdGhlIENvbnRlbnRFbmNvZGluZyBlbGVtZW50cyBtb3JlIHN0cmljdGx5IGFuZAoJICBkb24ndCB1c2UgdHJhY2tzIGZvciB3aGljaCBpdCdzIGludmFsaWQuCgkgIENoZWNrIHRoYXQgdGhlIHRyYWNrIG51bWJlciBpcyB1bmlxdWUgZm9yIHRoaXMgc3RyZWFtLgoJICBDaGVjayB0aGF0IHNlZWsgcG9zaXRpb25zIGFyZSBiZWxvdyBHX01BWElOVDY0IGFzIG91ciBzZWVrcyBhcmUKCSAgaW50NjQtYmFzZWQgYW5kIG92ZXJmbG93cyB3aWxsIGZhaWwgYmFkbHkuCgkgIEFmdGVyIHNlZWtzIGFsc28gZG9uJ3QgcHVzaCBTaW1wbGVCbG9ja3MgdW50aWwgdGhlIGZpcnN0IG9uZQoJICBjb250YWluaW5nIGEga2V5ZnJhbWUgaXMgZm91bmQuIEJlZm9yZSB0aGlzIHdhcyBkb25lIG9ubHkgZm9yIG5vcm1hbAoJICBCbG9ja3MuCgkgIFVwZGF0ZSBzb21lIEZJWE1FL1RPRE9zLgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3V0ZjgpLCAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIFJlbW92ZSBleWUgbW9kZSBhbmQgZG9uJ3QgcGFyc2UgaXQgYW55bW9yZS4gV2UgY2FuJ3QgdXNlIHRoYXQKCSAgaW5mb3JtYXRpb24gaW4gR1N0cmVhbWVyIHlldCBzbyBpdCdzIHVzZWxlc3MuCgoyMDA4LTA2LTE4IDEwOjEyOjU3ICswMDAwICBtZXJzYWQgPG1lcnNhZEBheGlzLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBHNzI2IHBheS9kZXBheWxvYWRlcnMuIEZpeGVzICM1Mzg4OTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogbWVyc2FkIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOiAoZ3N0X3J0cF9nNzI2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI2X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjZfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSAgQWRkZWQgRzcyNiBwYXkvZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTM4ODkxLgoKMjAwOC0wNi0xNyAxMDoxNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IFNvbWUgbW9yZSB1cmxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBTb21lIG1vcmUgdXJscy4KCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgQWRkIGEgY29tbWVudAoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgRml4IHR5cG8sIGFkZCBhdWRpb3Jlc2FtcGxlIHRvIHRoZSBwaXBlbGluZS4KCjIwMDgtMDYtMTcgMTA6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlibW5nLzogU29tZXdoYXQgcG9ydCBtbmdlbmMgYW5kIG1uZ2RlYyB0byAwLjEwLiBEb2VzIG5vdCB3b3JrIHlldCBhbmQgaGFzIG1hbnkgYml0cyBpZmRlZmZlZCBvdXQgc3RpbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9nc3RtbmcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tbmdfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X21uZ19kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tbmdfZGVjX2luaXQpLCAoZ3N0X21uZ19kZWNfc3JjX2dldGNhcHMpLCAoZ3N0X21uZ19kZWNfbG9vcCksCgkgIChnc3RfbW5nX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X21uZ19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKG1uZ2RlY19lcnJvciksIChtbmdkZWNfb3BlbnN0cmVhbSksIChtbmdkZWNfY2xvc2VzdHJlYW0pLAoJICAoZ3N0X21uZ19kZWNfc2lua19ldmVudCksIChtbmdkZWNfcmVhZGRhdGEpLCAobW5nZGVjX3NldHRpbWVyKSwKCSAgKG1uZ2RlY19wcm9jZXNzaGVhZGVyKSwgKG1uZ2RlY19nZXRjYW52YXNsaW5lKSwgKG1uZ2RlY19yZWZyZXNoKSwKCSAgKGdzdF9tbmdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9tbmdfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X21uZ19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tbmdfZW5jX2luaXQpLCAoZ3N0X21uZ19lbmNfY2hhaW4pLAoJICAoZ3N0X21uZ19lbmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tbmdfZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgU29tZXdoYXQgcG9ydCBtbmdlbmMgYW5kIG1uZ2RlYyB0byAwLjEwLiBEb2VzIG5vdCB3b3JrIHlldCBhbmQgaGFzIG1hbnkKCSAgYml0cyBpZmRlZmZlZCBvdXQgc3RpbGwuCgoyMDA4LTA2LTE2IDExOjM0OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiBjb21wYXJpbmcgaW5kZXggZWxlbWVudHMgd2l0aCB0aGUgc2FtZSB0aW1lIGNvbXBhcmUgdGhlaXIgYmxvY2sgbnVtYmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9pbmRleF9jb21wYXJlKToKCSAgV2hlbiBjb21wYXJpbmcgaW5kZXggZWxlbWVudHMgd2l0aCB0aGUgc2FtZSB0aW1lIGNvbXBhcmUgdGhlaXIKCSAgYmxvY2sgbnVtYmVyLgoKMjAwOC0wNi0xNiAxMTozMTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpCgkgIEluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wNi0xNiAxMDo1OTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogUGFyc2UgQXR0YWNobWVudHMgYW5kIHBvc3QgdGhlbSBhcyBHU1RfVEFHX0lNQUdFIGlmIHdlIGRldGVjdCBpdCBhcyBpbWFnZSBhbmQgb3RoZXJ3aXNlIGFzIEdTVF9UQUdfQVRULi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzogKGdzdF9tYXRyb3NrYV9yZWdpc3Rlcl90YWdzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBhcnNlIEF0dGFjaG1lbnRzIGFuZCBwb3N0IHRoZW0gYXMgR1NUX1RBR19JTUFHRSBpZiB3ZSBkZXRlY3QKCSAgaXQgYXMgaW1hZ2UgYW5kIG90aGVyd2lzZSBhcyBHU1RfVEFHX0FUVEFDSE1FTlQuIEluY2x1ZGUgZmlsZW5hbWUKCSAgYW5kIGRlc2NyaXB0aW9uIG9mIHRoZSBhdHRhY2htZW50cyBpbiB0aGUgY2Fwcy4gRml4ZXMgYnVnICM1Mzc2MjIuCgoyMDA4LTA2LTE2IDEwOjA5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEFkZCBtb2RlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlZXhfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X3NwZWV4X2VuY19nZXRfbGF0ZW5jeSksIChnc3Rfc3BlZXhfZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhfZW5jX3NyY19xdWVyeSksIChnc3Rfc3BlZXhfZW5jX2luaXQpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXR1cCksIChnc3Rfc3BlZXhfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhaW4pLCAoZ3N0X3NwZWV4X2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfcHJvcGVydHkpOgoJICBBZGQgbW9kZSBwcm9wZXJ0eS4KCSAgU29tZSBjbGVhbnVwcywgYWRkIG1vcmUgZGVidWcgaW5mby4KCSAgQWRkIGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA2LTE2IDA5OjU0OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIGluc3RlYWQgb2YgR1NUX0ZMT1dfRVJST1Igb24gc2hvcnQgcmVhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyk6CgkgIFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIGluc3RlYWQgb2YgR1NUX0ZMT1dfRVJST1Igb24gc2hvcnQgcmVhZHMuCgkgIElmIHdlIGdldCBsZXNzIGJ5dGVzIHRoYW4gcmVxdWVzdGVkIHdlIGNhbid0IGRvIGFueXRoaW5nIGV4Y2VwdCBkb2luZwoJICBvdXIgRU9TIGxvZ2ljLgoKMjAwOC0wNi0xNSAxOTowOTo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogVXNlIGEgR0FycmF5IGZvciBzdG9yaW5nIHRoZSBDdWUgKGkuZS4gc2VlaykgaW5mb3JtYXRpb24sIHN0b3JlIHRoZSBDdWVUcmFja1Bvc2l0aW9ucyBmb3IgZXZlcnkgdHJhY2ssLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9pbmRleF9jb21wYXJlKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVXNlIGEgR0FycmF5IGZvciBzdG9yaW5nIHRoZSBDdWUgKGkuZS4gc2VlaykgaW5mb3JtYXRpb24sIHN0b3JlCgkgIHRoZSBDdWVUcmFja1Bvc2l0aW9ucyBmb3IgZXZlcnkgdHJhY2ssIHN0b3JlIHRoZSBibG9jayBudW1iZXIKCSAgYW5kIG9wdGltaXplIHNlYXJjaGluZyBpbiB0aGUgYXJyYXkgYnkgc29ydGluZyBpdCBhZnRlciB0aGUgbGFzdAoJICBlbGVtZW50IHdhcyBhZGRlZC4KCSAgRml4IGEgc21hbGwgbWVtb3J5IGxlYWsgd2hlbiB0cnlpbmcgdG8gcGFyc2UgYSB0YWdzIGVsZW1lbnQgdGhhdCB3YXMKCSAgYWxyZWFkeSBwYXJzZWQuCgoyMDA4LTA2LTE1IDE1OjI5OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IERvbid0IHdyaXRlIGFub3RoZXIgU2Vla0hlYWQgd2hpY2ggaW5kZXhlcyBhbGwgQ2x1c3RlcnMgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZS4gVGhpcyBpc24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBEb24ndCB3cml0ZSBhbm90aGVyIFNlZWtIZWFkIHdoaWNoIGluZGV4ZXMgYWxsIENsdXN0ZXJzIHRvIHRoZSBlbmQgb2YKCSAgdGhlIGZpbGUuIFRoaXMgaXNuJ3QgdXNlZnVsIGZvciBhbnl0aGluZyBhbmQganVzdCBpbmNyZWFzZXMgZmlsZXNpemUuCgoyMDA4LTA2LTE1IDE1OjAxOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFByZXZlbnQgdW5hbGlnbmVkIG1lbW9yeSBhY2Nlc3Mgd2hlbiByZWFkaW5nIGZsb2F0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoX2V4dDJkYmwpLCAoZ3N0X2VibWxfcmVhZF9mbG9hdCk6CgkgIFByZXZlbnQgdW5hbGlnbmVkIG1lbW9yeSBhY2Nlc3Mgd2hlbiByZWFkaW5nIGZsb2F0cy4KCjIwMDgtMDYtMTUgMTQ6MDg6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IE1ha2Ugc3VyZSB0aGF0IGV2ZXJ5IFRhZ3MgZWxlbWVudCBpcyBvbmx5IHBhcnNlZCBvbmNlIGFuZCBpdCdzIGNvbnRhaW5pbmcgdGFncyBhcmUgb25seSBwb3N0ZWQgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBNYWtlIHN1cmUgdGhhdCBldmVyeSBUYWdzIGVsZW1lbnQgaXMgb25seSBwYXJzZWQgb25jZSBhbmQgaXQncwoJICBjb250YWluaW5nIHRhZ3MgYXJlIG9ubHkgcG9zdGVkIG9uY2UuCgoyMDA4LTA2LTE1IDA5OjQzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgRUJNTCBlbGVtZW50cyBsaWtlIFZvaWQgb3IgQ1JDMzIgaW4gdGhlIEVibWxSZWFkIGJhc2UgY2xhc3MgYWxyZWFkeS4gVGhleSdyZSBub3QgdXNlZnVsIGluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBIYW5kbGUgRUJNTCBlbGVtZW50cyBsaWtlIFZvaWQgb3IgQ1JDMzIgaW4gdGhlIEVibWxSZWFkIGJhc2UgY2xhc3MKCSAgYWxyZWFkeS4gVGhleSdyZSBub3QgdXNlZnVsIGluIHRoZSBtYXRyb3NrYSBwYXJzZXIgYW5kIG9ubHkgY2F1c2UKCSAgYWRkaXRpb25hbCBjb2RlLgoKMjAwOC0wNi0xNCAxNTo1MToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogUmV2ZXJzZSB0aGUgbGV2ZWwgbGlzdCBhcyB3ZSB1c3VhbGx5IGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIGZpcnN0IGVsZW1lbnQgb3Igd2FudCB0byBhZGQgYSBuZXcgZmlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX2xldmVsX2ZyZWUpLAoJICAoZ3N0X2VibWxfZmluYWxpemUpLCAoZ3N0X2VibWxfcmVhZF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xldmVsX3VwKSwgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpOgoJICBSZXZlcnNlIHRoZSBsZXZlbCBsaXN0IGFzIHdlIHVzdWFsbHkgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUKCSAgZmlyc3QgZWxlbWVudCBvciB3YW50IHRvIGFkZCBhIG5ldyBmaXJzdCBlbGVtZW50LiBIYXZpbmcgdGhlCgkgIGZpcnN0IGVsZW1lbnQgc3RvcmVkIGF0IHRoZSBlbmQgYW5kIGNhbGxpbmcgZ19saXN0X2xhc3QoKSBhbmQKCSAgZ19saXN0X2FwcGVuZCgpIGlzIG1vcmUgZXhwZW5zaXZlLgoJICBBbHNvIHVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgdGhlIEdzdEVibWxMZXZlbCBzdHJ1Y3RzLgoKMjAwOC0wNi0xMyAyMToxMzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogRG9uJ3QgdW5yZWYgTlVMTCB0YWdsaXN0IGluIGZpbmFsaXplLiBEb24ndCB1c2UgYysrIHN0eWxlIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IChnc3RfdGFnX2luamVjdF9maW5hbGl6ZSksCgkgIChnc3RfdGFnX2luamVjdF9jbGFzc19pbml0KSwgKGdzdF90YWdfaW5qZWN0X2luaXQpOgoJICBEb24ndCB1bnJlZiBOVUxMIHRhZ2xpc3QgaW4gZmluYWxpemUuIERvbid0IHVzZSBjKysgc3R5bGUKCSAgY29tbWVudHMuCgoyMDA4LTA2LTEzIDE5OjE0OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBVc2UgZ3N0X3ZhbHVlX3NlcmlhbGl6ZSgpIGFuZCBnc3RfdmFsdWVfZGVzZXJpYWxpemUoKSBmb3IgdHJhbnNmb3JtaW5nIHRhZ3MgZnJvbSBzb21lIEdUeXBlIHRvIGEgc3RyaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFVzZSBnc3RfdmFsdWVfc2VyaWFsaXplKCkgYW5kIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSgpIGZvciB0cmFuc2Zvcm1pbmcKCSAgdGFncyBmcm9tIHNvbWUgR1R5cGUgdG8gYSBzdHJpbmcgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kLiBUaGUgZGVmYXVsdAoJICB0cmFuc2Zvcm1hdGlvbnMgaW4gR0xpYiBkb24ndCBpbmNsdWRlIHRyYW5zZm9ybWF0aW9ucyBmcm9tIHN0cmluZyB0bwoJICBudW1iZXIgdHlwZXMuCgoyMDA4LTA2LTEzIDE5OjA3OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogT25seSBwYXJzZSBUcmFja3MsIFNlZWtIZWFkIGFuZCBTZWdtZW50SW5mbyBlbGVtZW50cyBvbmNlIGJ1dCBhbGxvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgT25seSBwYXJzZSBUcmFja3MsIFNlZWtIZWFkIGFuZCBTZWdtZW50SW5mbyBlbGVtZW50cyBvbmNlIGJ1dCBhbGxvdwoJICBUYWdzIG11bHRpcGxlIHRpbWVzLiBUaGUgZmlyc3Qgb25lcyBjYW4gYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGJ1dCBtdXN0CgkgIGNvbnRhaW4gdGhlIHNhbWUgY29udGVudCBhcyB0aGUgZmlyc3QgZm9yIGJhY2t1cCBwdXJwb3NlcyBzbyB3ZSBpZ25vcmUKCSAgYWxsIGJ1dCB0aGUgZmlyc3Qgb25lLiBUYWdzIGNhbiBhcHBlYXIgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQKCSAgY29udGVudC4KCSAgSnVtcCB0byBhbGwgZWxlbWVudHMgZXhjZXB0IENsdXN0ZXJzIHRoYXQgYXJlIGF2YWlsYWJsZSBmcm9tIGEKCSAgU2Vla0hlYWQgdG8gbWFrZSBpdCBtb3JlIGxpa2VseSB0byBoYXZlIGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbnMKCSAgYmVmb3JlIGdldHRpbmcgdG8gdGhlIGZpcnN0IENsdXN0ZXJzLgoJICBBZGQgZHVtbXkgZnVuY3Rpb25zIGZvciBwYXJzaW5nIEF0dGFjaG1lbnRzIGFuZCBDaGFwdGVycy4KCjIwMDgtMDYtMTMgMTQ6MzM6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluLzogTW9yZSBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTEzIDExOjU5OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXgKCSAgZm9yIGV4YW1wbGVzIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlCgkgIGhhdmUgc2V2ZXJhbCB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMyAxMTo1NDowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGF1dG9tYXRpYyBqb2luL2xlYXZlIG9mIG11bHRpY2FzdCBncm91cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBhdXRvbWF0aWMgam9pbi9sZWF2ZSBvZiBtdWx0aWNhc3QgZ3JvdXBzLgoJICBBZGQgR19MSUtFTFkuCgkgIFJlbW92ZSBzZXR0aW5nIGNhcHMgb24gYnVmZmVycyBleHBsaWNpdGx5LCBiYXNlc3JjIGRvZXMgdGhhdCBmb3IgdXMgbm93LgoJICBJbXByb3ZlIGRlYnVnIGluZm8uCgkgIENvbnZlcnQgc29tZSBub24tZmF0YWwgZXJyb3IgaW50byB3YXJuaW5ncy4KCSAgVXNlIGdfbnRvaHMgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCSAgTGVhdmUgbXVsdGljYXN0IGdyb3VwcyB3aGVuIHN0b3BwaW5nLgoJICBXaGVuIHVzaW5nIGV4dGVybmFsIHNvY2tldHMsIHVzZSBnZXRzb2NrbmFtZSgpIG9uIHRoZW0gdG8gZmlsbCB1cCB0aGUKCSAgYWRkciBzdHJ1Y3R1cmUgYmVmb3JlIGNhbGxpbmcgbWV0aG9kcyB0aGF0IHVzZSB0aGUgc3RydWN0dXJlLgoJICBTaG91bGQgYWxsIGZpeCAjNTM2OTAzLgoJICBBUEk6IEdzdFVEUFNyYzo6YXV0by1tdWx0aWNhc3QgcHJvcGVydHkKCjIwMDgtMDYtMTMgMTE6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IFVzZSBnX250b2hsIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfaXNfbXVsdGljYXN0KToKCSAgVXNlIGdfbnRvaGwgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCjIwMDgtMDYtMTMgMTE6NDU6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggYSB0eXBvIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICBGaXggYSB0eXBvIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwOC0wNi0xMyAwOTozOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogTWFrZSB0aGUgZGVsaXZlcnktbWV0aG9kIG1hbmRhdG9yeSBvbiB0aGUgY2FwcyBhbmQgb25seSBhY2NlcHQgaW5saW5lIGZvciBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBtYW5kYXRvcnkgb24gdGhlIGNhcHMgYW5kIG9ubHkgYWNjZXB0IGlubGluZQoJICBmb3Igbm93LgoJICBSZXZlcnNlIHN0cmNtcCBjaGVja3MgZm9yIGRlbGl2ZXJ5LW1ldGhvZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBkZWxpdmVyeSBtZXRob2Qgb3B0aW9uYWwgd2hlbiBwYXJzaW5nIGNhcHMgYW5kIG5vdGUgdGhpcyBpbiB0aGUKCSAgY2Fwcy4KCSAgUmV2ZXJzZSBzdHJjbXAgY2hlY2tzIGZvciBkZWxpdmVyeS1tZXRob2QuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgVXBkYXRlIGEgY29tbWVudCB0byBub3RlIHRoYXQgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBpcyBvcHRpb25hbCwKCSAgRml4ZXMgIzUzNzY3NS4KCjIwMDgtMDYtMTIgMTc6MzA6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFNldCB1ZHBzcmMgZm9yIHJlY2VpdmluZyBkYXRhIGZyb20gbXVsdGljYXN0IGdyb3VwcyB0byBQQVVTRUQgaW5zdGVhZCBvZiBsZWF2aW5nIHRoZW0gaW4gUkVBRFkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCk6CgkgIFNldCB1ZHBzcmMgZm9yIHJlY2VpdmluZyBkYXRhIGZyb20gbXVsdGljYXN0IGdyb3VwcyB0byBQQVVTRUQgaW5zdGVhZCBvZgoJICBsZWF2aW5nIHRoZW0gaW4gUkVBRFkuIEZpeGVzICM1Mzc4MzIuCgoyMDA4LTA2LTEyIDEyOjE0OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBTaW1wbGlmeSBjb2RlLiBnc3RfdGFnX2xpc3RfbWVyZ2UoKSBkb2VzIHRoZSBOVUxMIGNoZWNrcy4gQWRkIGEgRklYTUUgZm9yIGEgcmFuZG9tIGNvbnN0YW50IGluIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgU2ltcGxpZnkgY29kZS4gZ3N0X3RhZ19saXN0X21lcmdlKCkgZG9lcyB0aGUgTlVMTCBjaGVja3MuIEFkZCBhIEZJWE1FCgkgIGZvciBhIHJhbmRvbSBjb25zdGFudCBpbiB0YWdtdXhpbmcgY29kZS4KCjIwMDgtMDYtMTEgMTQ6Mjg6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuKjogTm93IGFjdHVhbGx5IGFkZGluZyB0aGUgbmV3IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkgIE5vdyBhY3R1YWxseSBhZGRpbmcgdGhlIG5ldyBlbGVtZW50LgoKMjAwOC0wNi0xMSAxNDoxMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVtb3ZlIGR1bW15IHBsdWdpbl9pbml0LiBSZW1vdmUgc29tZSB1bmRlZmluZWQgZW50cmllcyBmcm9tIGRvYy0gc2VjdGlvbiBmaWxlLiBBZGQgdGFnaW5qZWN0IGVsZW1lbnQgYW5kIHJlYnVpbGQgZG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIFJlbW92ZSBkdW1teSBwbHVnaW5faW5pdC4gUmVtb3ZlIHNvbWUgdW5kZWZpbmVkIGVudHJpZXMgZnJvbSBkb2MtCgkgIHNlY3Rpb24gZmlsZS4gQWRkIHRhZ2luamVjdCBlbGVtZW50IGFuZCByZWJ1aWxkIGRvY3MgZm9yIGl0LgoKMjAwOC0wNi0xMSAxMToyNzo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVcGRhdGUgdGhlIGNvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2Ygc3RyZWFtcyB3aGVuIHBhZHMgYXJlIGFkZGVkIG9yIHJlbW92ZWQuIFRoaXMgd2lsbCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgVXBkYXRlIHRoZSBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgd2hlbiBwYWRzIGFyZSBhZGRlZCBvcgoJICByZW1vdmVkLiBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgYSBzZWVrIHRhYmxlIGlzIGdlbmVyYXRlZCBmb3IKCSAgZmlsZXMgd2l0aCBqdXN0IG9uZSBhdWRpbyBzdHJlYW0uCgoyMDA4LTA2LTExIDExOjE4OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgc29tZSBtb3JlIHRhZ3MsIGltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBtYWtlIHN1cmUgdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKToKCSAgQWRkIHNvbWUgbW9yZSB0YWdzLCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQKCSAgR1ZhbHVlIHRyYW5zZm9ybWF0aW9uIGhhcyBzdWNjZWVkZWQgYmVmb3JlIHVzaW5nIHRoZSByZXN1bHQKCSAgYXMgYSB0YWcuCgoyMDA4LTA2LTExIDA4OjU2OjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogVGhlIFRoZW9yYSBSVFAgcGF5bG9hZGVyIG9ubHkgc3VwcG9ydHMgdGhlICJpbmxpbmUiIGRlbGlldmVyeSBtZXRob2Qgc28gbGV0J3MgZGVjbGFyZSB0aGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgVGhlIFRoZW9yYSBSVFAgcGF5bG9hZGVyIG9ubHkgc3VwcG9ydHMgdGhlICJpbmxpbmUiIGRlbGlldmVyeSBtZXRob2QKCSAgc28gbGV0J3MgZGVjbGFyZSB0aGlzIG9uIHRoZSBjYXBzIG9mIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlLgoJICBGaXhlcyBidWcgIzUzNzY3NS4KCjIwMDgtMDYtMTAgMTc6MjA6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFJlbW92ZSBib2d1cyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrLgoKMjAwOC0wNi0xMCAxNjoyNToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogVXNlIHN0cmVhbV90aW1lIHRvIHN5bmNocm9uaXplIHRoZSBvYmplY3QgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgIFVzZSBzdHJlYW1fdGltZSB0byBzeW5jaHJvbml6ZSB0aGUgb2JqZWN0IHByb3BlcnRpZXMuCgkgIFVzZSBydW5uaW5nX3RpbWUgb2YgdGhlIG1hc3RlciBwYWQgdG8gdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeCB0aGUgaW5pdGlhbCBzZWdtZW50IGV2ZW50IHRvIGV4dGVuZCBhbiB1bmtub3duIGFtb3VudCBvZiB0aW1lLgoJICBGaXhlcyAjNTM3MzYxLgoKMjAwOC0wNi0xMCAxMTowNTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVHJ5IHRvIGlnbm9yZSB1bnBhcnNhYmxlL3Vua25vd24gc3RyZWFtcyBhbmQgZ2l2ZSBhIHdhcm5pbmcgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuIEZpeGVzICM1My4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgIFRyeSB0byBpZ25vcmUgdW5wYXJzYWJsZS91bmtub3duIHN0cmVhbXMgYW5kIGdpdmUgYSB3YXJuaW5nIGluc3RlYWQgb2YKCSAgZXJyb3Jpbmcgb3V0LiBGaXhlcyAjNTM3Mzc3LgoKMjAwOC0wNi0xMCAxMDo0NDo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogVXNlIEdET1VCTEVfVE9fQkUoKSBpbnN0ZWFkIG9mIChwcm9iYWJseSBzbG93ZXIpIGN1c3RvbSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZmxvYXQpOgoJICBVc2UgR0RPVUJMRV9UT19CRSgpIGluc3RlYWQgb2YgKHByb2JhYmx5IHNsb3dlcikgY3VzdG9tIGNvZGUuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApLCAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX211eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX3VpZCksIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N1YnRpdGxlX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBtYW55IEZJWE1Fcy9UT0RPcyBhbGwgb3ZlciB0aGUgbWF0cm9za2EgbXV4ZXIgYW5kIGRlbXV4ZXIKCSAgZWxlbWVudHMsIGRvIHNvbWUgY2hlY2tzIGZvciB2YWxpZCB2YWx1ZXMgaW4gdGhlIGRlbXV4ZXIsIGhhbmRsZQoJICB0cmFja3RpbWVjb2Rlc2NhbGUgaW4gdGhlIGRlbXV4ZXIsIHNldCBjb3JyZWN0IGRlZmF1bHQgdmFsdWVzIGZvciBhbGwKCSAgc2V0dGluZ3MgaW4gdGhlIGRlbXV4ZXIsIHJldmlldyBhbmQgYWRkIGFsbCBtaXNzaW5nIG1hdHJvc2thCgkgIElEcyBhbmQgc29tZSBtb3JlIHJhdyBZVVYgZm9ybWF0cywgYW5kIHNvbWUgdHJpdmlhbCBjbGVhbnVwLgoKMjAwOC0wNi0xMCAwODo1OToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogU29tZSBzbWFsbGVyIGNsZWFudXAuIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLCBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSBhbmQgZml4IGNvZGluZyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfYmFzZV9pbml0KSwgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgU29tZSBzbWFsbGVyIGNsZWFudXAuIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLAoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSBhbmQgZml4IGNvZGluZyBzdHlsZSBhIGJpdAoJICBtb3JlLgoKMjAwOC0wNi0xMCAwODoyMjoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gdG8gdGhlIHB1bHNlYXVkaW8gcGx1Z2luIGFuZCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiB0byB0aGUgcHVsc2VhdWRpbyBwbHVnaW4gYW5kIHJ1biBtYWtlIHVwZGF0ZQoJICBpbiBkb2NzL3BsdWdpbnMuCgoyMDA4LTA2LTEwIDA2OjUyOjQ0ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogSW1wcm92ZW1lbnRzIGZvciB0aGUgU3VuQXVkaW8gbWl4ZXIgYnkgaGFuZGxpbmcgbXV0ZSBhcyBubyBnYWluIGZvciB0cmFja3MgdGhhdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgIEltcHJvdmVtZW50cyBmb3IgdGhlIFN1bkF1ZGlvIG1peGVyIGJ5IGhhbmRsaW5nIG11dGUgYXMgbm8gZ2FpbgoJICBmb3IgdHJhY2tzIHRoYXQgaGF2ZSBhIGdhaW4gcHJvcGVydHkgYnV0IG5vIG11dGUgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNTM2MDY3LgoKMjAwOC0wNi0xMCAwNjo0NTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHB1bHNlYXVkaW8gR1N0cmVhbWVyIGVsZW1lbnQgZnJvbSBnc3QtcHVsc2UuIERldmVsb3BtZW50IHdpbGwgY29udGludWUgaGVyZSBpbnN0ZWFkIG9mIHB1bHNlYXVkaW8gU1ZOLiBGaXhlcyBidWcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZW1peGVyX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZW1peGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9jbGFzc19pbml0KSwgKGdzdF9wdWxzZW1peGVyX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfZmluYWxpemUpLCAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZW1peGVyX2dldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VtaXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2NvbnRleHRfc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zaW5rX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zb3VyY2VfaW5mb19jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1Y2Nlc3NfY2IpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfY2xvc2UpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9uZXcpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9mcmVlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbGlzdF90cmFja3MpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KSwgKHJlc3RhcnRfdGltZV9ldmVudCksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF92b2x1bWUpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3JlY29yZCksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF9tdXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmM6IChnc3RfcHVsc2VtaXhlcl90cmFja19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX3RyYWNrX2luaXQpLCAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX2NvbnRleHRfc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlcHJvYmVfc2lua19pbmZvX2NiKSwgKGdzdF9wdWxzZXByb2JlX3NvdXJjZV9pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZXByb2JlX2ludmFsaWRhdGUpLCAoZ3N0X3B1bHNlcHJvYmVfb3BlbiksCgkgIChnc3RfcHVsc2Vwcm9iZV9lbnVtZXJhdGUpLCAoZ3N0X3B1bHNlcHJvYmVfY2xvc2UpLAoJICAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwgKGdzdF9wdWxzZXByb2JlX2ZyZWUpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZ2V0X3Byb3BlcnRpZXMpLCAoZ3N0X3B1bHNlcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3B1bHNlcHJvYmVfcHJvYmVfcHJvcGVydHkpLCAoZ3N0X3B1bHNlcHJvYmVfZ2V0X3ZhbHVlcyksCgkgIChnc3RfcHVsc2Vwcm9iZV9zZXRfc2VydmVyKToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzaW5rX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19kZXN0cm95X3N0cmVhbSksIChnc3RfcHVsc2VzaW5rX2Rlc3Ryb3lfY29udGV4dCksCgkgIChnc3RfcHVsc2VzaW5rX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNpbmtfZGlzcG9zZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX2NvbnRleHRfc3RhdGVfY2IpLCAoZ3N0X3B1bHNlc2lua19zdHJlYW1fc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19zdHJlYW1fcmVxdWVzdF9jYiksCgkgIChnc3RfcHVsc2VzaW5rX3N0cmVhbV9sYXRlbmN5X3VwZGF0ZV9jYiksIChnc3RfcHVsc2VzaW5rX29wZW4pLAoJICAoZ3N0X3B1bHNlc2lua19jbG9zZSksIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpLAoJICAoZ3N0X3B1bHNlc2lua191bnByZXBhcmUpLCAoZ3N0X3B1bHNlc2lua193cml0ZSksCgkgIChnc3RfcHVsc2VzaW5rX2RlbGF5KSwgKGdzdF9wdWxzZXNpbmtfc3VjY2Vzc19jYiksCgkgIChnc3RfcHVsc2VzaW5rX3Jlc2V0KSwgKGdzdF9wdWxzZXNpbmtfY2hhbmdlX3RpdGxlKSwKCSAgKGdzdF9wdWxzZXNpbmtfZXZlbnQpLCAoZ3N0X3B1bHNlc2lua19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwgKGdzdF9wdWxzZXNyY19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19kZXN0cm95X3N0cmVhbSksIChnc3RfcHVsc2VzcmNfZGVzdHJveV9jb250ZXh0KSwKCSAgKGdzdF9wdWxzZXNyY19maW5hbGl6ZSksIChnc3RfcHVsc2VzcmNfZGlzcG9zZSksCgkgIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc3JjX2NvbnRleHRfc3RhdGVfY2IpLCAoZ3N0X3B1bHNlc3JjX3N0cmVhbV9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2VzcmNfc3RyZWFtX3JlcXVlc3RfY2IpLCAoZ3N0X3B1bHNlc3JjX29wZW4pLAoJICAoZ3N0X3B1bHNlc3JjX2Nsb3NlKSwgKGdzdF9wdWxzZXNyY19wcmVwYXJlKSwKCSAgKGdzdF9wdWxzZXNyY191bnByZXBhcmUpLCAoZ3N0X3B1bHNlc3JjX3JlYWQpLAoJICAoZ3N0X3B1bHNlc3JjX2RlbGF5KSwgKGdzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3B1bHNlc3JjX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6IChnc3RfcHVsc2VfZmlsbF9zYW1wbGVfc3BlYyksCgkgIChnc3RfcHVsc2VfY2xpZW50X25hbWUpLCAoZ3N0X3B1bHNlX2dzdF90b19jaGFubmVsX21hcCk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBBZGQgcHVsc2VhdWRpbyBHU3RyZWFtZXIgZWxlbWVudCBmcm9tIGdzdC1wdWxzZS4gRGV2ZWxvcG1lbnQgd2lsbAoJICBjb250aW51ZSBoZXJlIGluc3RlYWQgb2YgcHVsc2VhdWRpbyBTVk4uIEZpeGVzIGJ1ZyAjNDAwNjc5LgoJICBPbmx5IGNoYW5nZXMgb3ZlciBnc3QtcHVsc2UgU1ZOIGFyZSBhZGRlZCBjb3B5cmlnaHQgdG8gdGhlIHRvcCBvZgoJICBmaWxlcyBhbmQgY29kaW5nIHN0eWxlIGNoYW5nZXMuCgoyMDA4LTA2LTA5IDIwOjAyOjA1ICswMDAwICBCZW5qYW1pbiBLYW1wbWFubiA8YmVuamFtaW5AZmx1ZW5kby5jb20+CgoJICBleHQvY2Rpby86IEFsc28gZXh0cmFjdCBhbGJ1bSB0aXRsZSBhbmQgYWxidW0gZ2VucmUgZnJvbSBDRC1URVhUIGlmIGF2YWlsYWJsZSAoIzUzNzAyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmVuamFtaW4gS2FtcG1hbm4gIDxiZW5qYW1pbiBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fZ2V0X2NkdGV4dCksCgkgIChnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIEFsc28gZXh0cmFjdCBhbGJ1bSB0aXRsZSBhbmQgYWxidW0gZ2VucmUgZnJvbSBDRC1URVhUIGlmCgkgIGF2YWlsYWJsZSAoIzUzNzAyMSkuCgoyMDA4LTA2LTA5IDA4OjUyOjA0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEltcHJvdmUgbmVnb3RpYXRpb24gYSBiaXQgbW9yZSBieSBwaWNraW5nIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSByZXNvbHV0aW9uIHRoYXQgaXMgbGFyZ2VyIHRoYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX25lZ290aWF0ZSk6CgkgIEltcHJvdmUgbmVnb3RpYXRpb24gYSBiaXQgbW9yZSBieSBwaWNraW5nIHRoZSBzbWFsbGVzdCBwb3NzaWJsZQoJICByZXNvbHV0aW9uIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlIHJlc29sdXRpb24gc3BlY2lmaWVkIGluIHRoZQoJICBmaXJzdCBjYXBzIGVudHJ5IG9mIHRoZSBwZWVyIGNhcHMuIEZpeGVzIGJ1ZyAjNTM2OTk0LgoKMjAwOC0wNi0wOSAwODo0Mjo0OSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHSVQga2VybmVscyB0aGF0IGRlcHJlY2F0ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0lUIGtlcm5lbHMgdGhhdCBkZXByZWNhdGVkCgkgIFY0TDJfQ0lEX0hDRU5URVIgYW5kIFY0TDJfQ0lEX1ZDRU5URVIuIEZpeGVzIGJ1ZyAjNTM2MzE3LgoKMjAwOC0wNi0wNyAxODo0ODo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlcXVpcmUgbGliY2RpbyA+PSAwLjc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIFJlcXVpcmUgbGliY2RpbyA+PSAwLjc2LgoKMjAwOC0wNi0wNSAxMTowNzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZSBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZQoJICBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5IGFuZCBkaXZpZGUvbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlcgoJICBvZiBjaGFubmVscyB0byBnZXQgdGhlIGNvcnJlY3QgcmVzdWx0LgoKMjAwOC0wNi0wNSAwOTo0NTowMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2F0Y2ggVU5FWFBFQ1RFRCB3aGVuIGRvd25zdHJlYW0gaGFzIHJlYWNoZWQgZW5kIG9mIHNlZ21lbnQgaW4gcmV2ZXJzZSBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIENhdGNoIFVORVhQRUNURUQgd2hlbiBkb3duc3RyZWFtIGhhcyByZWFjaGVkIGVuZCBvZgoJICBzZWdtZW50IGluIHJldmVyc2UgbW9kZS4KCjIwMDgtMDYtMDQgMTg6MDg6MzUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggdHlwbyBpbiBjb21tZW50CgoyMDA4LTA2LTA0IDE4OjAzOjI0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBCZWNhdXNlIHdlIGRvbid0IGtub3cgdGhlIGZyYW1lIG9yZGVyIHdlIG5lZWQgdG8gcHVzaCB0aWxsIHRoZSBuZXh0IGtleWZyYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgQmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBmcmFtZSBvcmRlciB3ZSBuZWVkIHRvIHB1c2ggdGlsbAoJICB0aGUgbmV4dCBrZXlmcmFtZQoKMjAwOC0wNi0wNCAxNzozOTozMSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBQcm92aWRlIGEgY3VzdG9tIG5lZ290aWF0aW9uIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSB0byBwaWNrIHRoZSBoaWdoZXN0IHBvc3NpYmxlIGZyYW1lcmF0ZSBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBQcm92aWRlIGEgY3VzdG9tIG5lZ290aWF0aW9uIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSB0byBwaWNrIHRoZSBoaWdoZXN0CgkgIHBvc3NpYmxlIGZyYW1lcmF0ZSBhbmQgcmVzb2x1dGlvbi4gRml4ZXMgYnVnICM1MzY2NDYuCgoyMDA4LTA2LTA0IDE2OjQ5OjI2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTZXQgRU9TIHdoZW4gZ29pbmcgb3V0IG9mIHRoZSBzZWdtZW50IGluIHJldmVyc2UgcGxheWJhY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBTZXQgRU9TIHdoZW4gZ29pbmcgb3V0IG9mIHRoZSBzZWdtZW50IGluIHJldmVyc2UgcGxheWJhY2sKCjIwMDgtMDYtMDQgMTU6MTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL01ha2VmaWxlLmFtOiBBZGQgLVduby1hdHRyaWJ1dGVzIHRvIENYWEZMQUdTIHRvIHN1cHByZXNzIHdhcm5pbmcgY2F1c2VkIGJ5IHRhZ2xpYiBoZWFkZXJzICh3aXRoIGdjYyA0LjMuMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06OgoJICBBZGQgLVduby1hdHRyaWJ1dGVzIHRvIENYWEZMQUdTIHRvIHN1cHByZXNzIHdhcm5pbmcgY2F1c2VkIGJ5CgkgIHRhZ2xpYiBoZWFkZXJzICh3aXRoIGdjYyA0LjMuMSkuCgoyMDA4LTA2LTA0IDExOjU5OjE4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIHRoZSBuZXcgZ3N0X3J0c3BfY29ubmVjdGlvbl9nZXRfaXAoKSB0byBhY2Nlc3MgdGhlIElQIGFkZHJlc3Mgb2YgYSBHc3RSVFNQQ29ubmVjdGlvbiBzaW5jZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgVXNlIHRoZSBuZXcgZ3N0X3J0c3BfY29ubmVjdGlvbl9nZXRfaXAoKSB0byBhY2Nlc3MgdGhlIElQIGFkZHJlc3MKCSAgb2YgYSBHc3RSVFNQQ29ubmVjdGlvbiBzaW5jZSBpdCBpcyBhIHByaXZhdGUgbWVtYmVyLgoKMjAwOC0wNi0wNCAxMDo0Mjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgdXRpbGl0eSBmdW5jdGlvbnMgaW4gbGliZ3N0dGFnIHRvIHByb2Nlc3MgY292ZXJhcnQgKCM1MTIzMzMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBVc2UgbmV3IHV0aWxpdHkgZnVuY3Rpb25zIGluIGxpYmdzdHRhZyB0byBwcm9jZXNzIGNvdmVyYXJ0ICgjNTEyMzMzKS4KCjIwMDgtMDYtMDQgMDg6NTQ6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogV2UgYWN0dWFsbHkgc3VwcG9ydCBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzLiBUaGUgY29udmVyc2lvbiB0byBub3JtYWwsIGludGVybC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBXZSBhY3R1YWxseSBzdXBwb3J0IGxlZnQvc2lkZSwgcmlnaHQvc2lkZSBhbmQgbWlkL3NpZGUgZmlsZXMuIFRoZQoJICBjb252ZXJzaW9uIHRvIG5vcm1hbCwgaW50ZXJsZWF2ZWQgc3RlcmVvIGlzIGRvbmUgYnkgbGliZmxhYy4KCjIwMDgtMDYtMDQgMDc6MzY6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IFVucmVmIHRoZSB3cml0ZSBjYWNoZSBpbiBmaW5hbGl6ZSBpZiBpdCB3YXMgc2V0IGFuZCBhZGQgYWRkICJGSVhNRSIgdG8gYSBjb21tZW50IHRoYXQgbmVlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZmluYWxpemUpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2V0X2NhY2hlKToKCSAgVW5yZWYgdGhlIHdyaXRlIGNhY2hlIGluIGZpbmFsaXplIGlmIGl0IHdhcyBzZXQgYW5kIGFkZCBhZGQgIkZJWE1FIgoJICB0byBhIGNvbW1lbnQgdGhhdCBuZWVkcyBpdC4KCjIwMDgtMDYtMDQgMDY6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBzaW5rIHBhZHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlCgkgIHJlcXVlc3RlZCBzaW5rIHBhZHMgdG8gZ3VhcmFudHVlZSBhIHVuaXF1ZSBuYW1lLiBBZGQgYSAiY2hhbm5lbCIKCSAgcHJvcGVydHkgdG8gR3N0SW50ZXJsZWF2ZVBhZCB0byBtYWtlIGl0IHBvc3NpYmxlIGZvciBhcHBsaWNhdGlvbnMKCSAgdG8gcmV0cmlldmUgdGhlIGNoYW5uZWwgbnVtYmVyIGluIHRoZSBvdXRwdXQgZm9yIGV2ZXJ5IHBhZC4KCSAgVXNlIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWNfc2ltcGxlKCkgaW5zdGVhZCBvZgoJICBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljKCkgdG8gc2F2ZSBzb21lIHJlbG9jYXRpb25zLgoKMjAwOC0wNi0wMyAxNDozNTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlbiBnb2luZyBmcm9tIFBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWSBhcyB3ZSBvdGhlcndpc2UgZGVhZGxvY2suCgkgIEZpeGVzIGJ1ZyAjNTM2MjU4LgoKMjAwOC0wNi0wMyAwOTowMzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlciB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKGdzdF9pbnRlcmxlYXZlX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIKCSAgdGhlIEdzdEludGVybGVhdmVQYWQgdHlwZSBmcm9tIGEgdGhyZWFkc2FmZSBjb250ZXh0LgoKMjAwOC0wNi0wMiAxNjoxMDowMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2suIEZpeGVzICM1MzUzMDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfcHJldiksIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrLiBGaXhlcyAjNTM1MzAwLgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDgtMDYtMDIgMTI6NDI6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlCgkgIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBpbnB1dCBhcyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb2YgdGhlIG91dHB1dC4KCSAgRml4IHNvbWUgYnJva2VuIGxvZ2ljIGFuZCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoc3JjX2hhbmRvZmZfZmxvYXQzMiksCgkgIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGNvcnJlY3QgaGFuZGxpbmcgb2YgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTA2LTAyIDEyOjIyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFdoZW4gdXNpbmcgZ3N0X2VsZW1lbnRfaXRlcmF0ZV9wYWRzKCkgb25lIGhhcyB0byB1bnJlZiBldmVyeSBwYWQgYWZ0ZXIgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF92aWRlb21peGVyX3F1ZXJ5X2xhdGVuY3kpOgoJICBXaGVuIHVzaW5nIGdzdF9lbGVtZW50X2l0ZXJhdGVfcGFkcygpIG9uZSBoYXMgdG8gdW5yZWYgZXZlcnkgcGFkCgkgIGFmdGVyIHVzYWdlLgoKMjAwOC0wNS0zMSAxNjo1MzoyMyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBJbXByb3ZlIG1ldGEtZGF0YSBoYW5kbGluZywgYWRkICdjb21tZW50JywgJ2Rlc2NyaXB0aW9uJyBhbmQgJ2NvcHlyaWdodCcgdGFnIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEltcHJvdmUgbWV0YS1kYXRhIGhhbmRsaW5nLCBhZGQgJ2NvbW1lbnQnLCAnZGVzY3JpcHRpb24nIGFuZAoJICAnY29weXJpZ2h0JyB0YWcgaGFuZGxpbmcuCgkgIEZpeGVzICM1MzU5MzUKCjIwMDgtMDUtMzEgMTU6MzA6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgd2Ugd2UgZG9uJ3QgY2xpcCB0aGUgc2VnbWVudCdzIHN0b3AgdXNpbmcgdGhlIG1haW4gc2VnbWVudCBkdXJhdGlvbiBhcyB0aGF0IGNvdWxkIGNyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA1LTMxICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9zZWVrX3RvX3ByZXZpb3VzX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcCk6IE1ha2Ugc3VyZSB3ZQoJICB3ZSBkb24ndCBjbGlwIHRoZSBzZWdtZW50J3Mgc3RvcCB1c2luZyB0aGUgbWFpbiBzZWdtZW50IGR1cmF0aW9uCgkgIGFzCgkgIHRoYXQgY291bGQgY3JvcCBxdWl0ZSBzb21lIHZpZGVvIGZyYW1lcy4gTWFrZSByZXZlcnNlIHBsYXliYWNrCgkgIHN1cHBvcnQKCSAgbW9yZSByb2J1c3QgYW5kIHN1cHBvcnQgZWRpdCBsaXN0cy4gU3VwcG9ydCBzZWVraW5nIHRvIHRoZSBsYXN0CgkgIGZyYW1lLAoJICBhbmQgZml4IHJldmVyc2UgbG9vcGluZyBwbGF5YmFjay4gQWRkIHNvbWUgZGVidWdnaW5nLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDogVXBkYXRlZC4KCjIwMDgtMDUtMzEgMDg6Mzc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IGNsaXAgZmxvYXQvZG91YmxlIHNhbXBsZXMsIGNvcnJlY3RseSB1bnNldCBwYXNzdGhyb3VnaCBtb2RlIGFuZCB1c2UgYmV0dGVyIHJvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgY2xpcCBmbG9hdC9kb3VibGUgc2FtcGxlcywgY29ycmVjdGx5IHVuc2V0IHBhc3N0aHJvdWdoIG1vZGUKCSAgYW5kIHVzZSBiZXR0ZXIgcm91bmRpbmcgZm9yIGludGVnZXIgc2FtcGxlcy4KCjIwMDgtMDUtMzAgMTE6MDM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IFVwZGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBvbmx5IHdoZW4gbmVlZGVkIGluIHRoZSB0cmFuc2Zvcm1faXAgZnVuY3Rpb24gYW5kIGNvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoc2V0X3Bhc3N0aHJvdWdoKSwgKHVwZGF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIFVwZGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBvbmx5IHdoZW4gbmVlZGVkIGluIHRoZSB0cmFuc2Zvcm1faXAKCSAgZnVuY3Rpb24gYW5kIGNvcnJlY3RseSBzZXQgdGhlIGVsZW1lbnQgaW50byBwYXNzdGhyb3VnaCBtb2RlIGlmIHRoZQoJICBnYWluIG9mIGFsbCBiYW5kcyBpcyAwLgoKMjAwOC0wNS0yOSAxMTozMDoxNiArMDAwMCAgU2ViYXN0aWFuIEtlbGxlciA8c2ViYXN0aWFuLWtlbGxlckBnbXguZGU+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogVHJ5IHRvIHNraXAgcGl4ZWxzIG9yIGFyZWFzIHRoYXQgYXJlIHRvbyBkYXJrIG9yIHRvbyBicmlnaHQgZm9yIHVzIHRvIGRvIG1lYW5pbmdmdWxsIGNvbG9yIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gS2VsbGVyIDxzZWJhc3RpYW4ta2VsbGVyIGF0IGdteCBkb3QgZGU+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfaW5pdCksCgkgIChnc3RfYWxwaGFfc2V0X3Byb3BlcnR5KSwgKGdzdF9hbHBoYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FscGhhX2Nocm9tYV9rZXlfYXl1diksIChnc3RfYWxwaGFfY2hyb21ha2V5X3Jvd19pNDIwKToKCSAgVHJ5IHRvIHNraXAgcGl4ZWxzIG9yIGFyZWFzIHRoYXQgYXJlIHRvbyBkYXJrIG9yIHRvbyBicmlnaHQgZm9yIHVzIHRvIGRvCgkgIG1lYW5pbmdmdWxsIGNvbG9yIGRldGVjdGlvbi4KCSAgQWRkZWQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBzZW5zaXRpdml0eSB0byBsaWdodCBhbmQgZGFya25lc3MuCgkgIEFkZGVkIHNvbWUgc21hbGwgY2xlYW51cHMuIEZpeGVzICM1MTIzNDUuCgoyMDA4LTA1LTI4IDIwOjAxOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIHRoaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCB0aGluZ3MKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIE9TUyBlbGVtZW50cyBpbiB0aGUgc3RhdGUgY2hhbmdlcyB0ZXN0IHRvby4KCjIwMDgtMDUtMjggMTY6MjI6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgU01QVEUgZWZmZWN0IGVsZW1lbnRzIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIFNNUFRFIGVmZmVjdCBlbGVtZW50cyB0byBkb2NzLgoKMjAwOC0wNS0yOCAxNDozMTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9jdW1lbnQgd2hhdHMgZmlyc3Qgc2hvd24gb24gdGhlIGZkbyBwbHVnaW4gZG9jcyBwYWdlIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgRG9jdW1lbnQgd2hhdHMgZmlyc3Qgc2hvd24gb24gdGhlIGZkbyBwbHVnaW4gZG9jcyBwYWdlIDopCgoyMDA4LTA1LTI4IDE0OjA3OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW5hbWUgYXVkaW92b2ljZSB0byBhdWRpb2thcmFva2UgYW5kIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmg6CgkgIFJlbmFtZSBhdWRpb3ZvaWNlIHRvIGF1ZGlva2FyYW9rZSBhbmQgYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yOCAxMzoyODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9jdW1lbnQgYWFzaW5rIGFuZCBjYWNhc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBEb2N1bWVudCBhYXNpbmsgYW5kIGNhY2FzaW5rLgoKMjAwOC0wNS0yOCAwODozNjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci4qOiBkdXJhdGlvbiBhbmQgbGF0ZW5jeSBxdWVyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF92aWRlb21peGVyX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gKGluIHRpbWUpLCBkdXJhdGlvbiBhbmQgbGF0ZW5jeSBxdWVyaWVzLgoKMjAwOC0wNS0yOCAwODoxNDoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNS0yNyAxNzo1NTozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogSW1wbGVtZW50IHByb3BlciBzZWVrL25ld3NlZ21lbnQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwgKGZvcndhcmRfZXZlbnRfZnVuYyksCgkgIChmb3J3YXJkX2V2ZW50KSwgKGdzdF92aWRlb21peGVyX3NyY19ldmVudCksCgkgIChnc3RfdmlkZW9taXhlcl9zaW5rX2V2ZW50KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIEltcGxlbWVudCBwcm9wZXIgc2Vlay9uZXdzZWdtZW50IGhhbmRsaW5nLgoJICBCYXNlZCBvbiBhZGRlcidzIGltcGxlbWVudGF0aW9uLgoJICBGaXhlcyAjNTM1MTIxCgoyMDA4LTA1LTI2IDE2OjI1OjE1ICswMDAwICBqXiA8akBvaWwyMS5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjYXBzIGZvciBEVkNQUk81MCBhbmQgRFZDUFJPIEhEIFBBTC9OVFNDLiBTZWUgIzUyNjQ4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBvaWwyMSBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBjYXBzIGZvciBEVkNQUk81MCBhbmQgRFZDUFJPIEhEIFBBTC9OVFNDLiBTZWUgIzUyNjQ4MS4KCjIwMDgtMDUtMjYgMTU6NTE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9meC86IEFkZCBzaW1wbGUgdm9pY2UgcmVtb3ZhbCBlbGVtZW50LiBZYXkga2FyYW9rZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuYzogKGdzdF9hdWRpb192b2ljZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3ZvaWNlX2luaXQpLAoJICAodXBkYXRlX2ZpbHRlciksIChnc3RfYXVkaW9fdm9pY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb192b2ljZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3NldHVwKSwKCSAgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1faW50KSwgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1fZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5oOgoJICBBZGQgc2ltcGxlIHZvaWNlIHJlbW92YWwgZWxlbWVudC4gWWF5IGthcmFva2UuCgoyMDA4LTA1LTI2IDE1OjM5OjI2ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4IHBvdGVudGlhbCBjYXBzIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBkb3QgY29tIGRvdCBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBGaXggcG90ZW50aWFsIGNhcHMgbGVhay4KCSAgSWYgd2UgY2FuJ3QgZ2V0IHRoZSBmcmFtZXJhdGUgd2l0aCBhbiBpb2N0bCwgdHJ5IHRvIGdldCBpdCB3aXRoIHRoZQoJICBjdXJyZW50IG5vcm0uIEZpeGVzICM1MjAwOTIuCgoyMDA4LTA1LTI2IDE1OjE0OjU1ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogSWYgd2UgZmFpbCB0byBnZXQgdGhlIGZyYW1lIGludGVydmFscywgc2ltcGx5IGRvbid0IHRvdWNoIHRoZSBmcmFtZXJhdGVzIG9uIHRoZSB0ZW1wbGF0ZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgSWYgd2UgZmFpbCB0byBnZXQgdGhlIGZyYW1lIGludGVydmFscywgc2ltcGx5IGRvbid0IHRvdWNoIHRoZSBmcmFtZXJhdGVzCgkgIG9uIHRoZSB0ZW1wbGF0ZSBjYXBzIGluc3RlYWQgb2YgZGlzY2FyZGluZyB0aGUgZm9ybWF0LiBTZWUgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTQ6NTI6NTEgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgTlYxMiwgTlYyMSBhbmQgYmF5ZXIgc3VwcG9ydC4gU2VlICM1MjAwOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBkb3QgY29tIGRvdCBoaz4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIE5WMTIsIE5WMjEgYW5kIGJheWVyIHN1cHBvcnQuIFNlZSAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxMzo1MTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVW5icmVhayBzZWdtZW50IGFjdGl2YXRpb24gYWdhaW4uIEZpeGVzICM1MzE2NzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgVW5icmVhayBzZWdtZW50IGFjdGl2YXRpb24gYWdhaW4uIEZpeGVzICM1MzE2NzIuCgoyMDA4LTA1LTI2IDEwOjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpLAoJICAoZm9yd2FyZF9ldmVudF9mdW5jKSwgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X2ludGVybGVhdmVfc3JjX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBNYWpvciByZXdyaXRlIG9mIGludGVybGVhdmUgdXNpbmcgR3N0Q29sbGVjdHBhZHMuIFRoaXMgbmV3IHZlcnNpb24KCSAgYWxzbyBzdXBwb3J0cyBhbG1vc3QgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBoYXMgYmV0dGVyIGNhcHMKCSAgbmVnb3RpYXRpb24uIEZpeGVzIGJ1ZyAjNTA2NTk0LgoJICBBbHNvIHVwZGF0ZSBkb2NzIGFuZCBhZGQgc29tZSBtb3JlIGV4YW1wbGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhaW5fZnVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzcmNfaGFuZG9mZl9mbG9hdDMyKSwgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGV4dGVuc2l2ZSB1bml0IHRlc3RzIGZvciBpbnRlcmxlYXZlLgoKMjAwOC0wNS0yNiAwOTo1Nzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogKHN3aXRjaF90aW1lcik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoc2VuZF90YWdfZXZlbnQpOgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCjIwMDgtMDUtMjUgMTY6MDk6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjLzogU2V0IHRoZSBjaGFubmVsIGxheW91dCB3aGVuIGRlY29kaW5nIEZMQUMgZmlsZXMgd2l0aCBtb3JlIHRoYW4gMiBjaGFubmVscyBhcyBkZWZpbmVkIGJ5IHRoZSBGTEFDIHNwZWMuIEZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBTZXQgdGhlIGNoYW5uZWwgbGF5b3V0IHdoZW4gZGVjb2RpbmcgRkxBQyBmaWxlcyB3aXRoIG1vcmUgdGhhbiAyCgkgIGNoYW5uZWxzIGFzIGRlZmluZWQgYnkgdGhlIEZMQUMgc3BlYy4gRml4ZXMgYnVnICM1MzQ1NzAuCgkgIEFsc28gZG9uJ3QgdHJ5IHRvIGRlY29kZSBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzCgkgIGFzIHdlIGRvbid0IHN1cHBvcnQgdGhpcyBhdCBhbGwuCgoyMDA4LTA1LTI0IDEyOjU1OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBXZSBuZWVkIC1iYXNlIENWUyAocnRzcCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCAtYmFzZSBDVlMgKHJ0c3ApLgoKMjAwOC0wNS0yMiAxOTo0Nzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0CgkgIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHBhcmFwcmFwaCBhYm91dCB1c2luZyBhIHF1ZXVlIGFuZCBhdWRpb2NvbnZlcnQgYWZ0ZXIgdGhlIHNvdXJjZQoJICBwYWRzIHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yMiAxODo1NTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQgYW5kIHRoZSBkZWZhdWx0IGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQKCSAgYW5kIHRoZSBkZWZhdWx0IGdldGNhcHMoKSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb3JyZWN0IHJlc3VsdHMgZm9yCgkgIG91ciBzcmMgcGFkcy4KCSAgQ29tcGxldGUgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDUtMjIgMTQ6NDk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdWRwL01ha2VmaWxlLmFtOiBBZGQgLURfR05VX1NPVVJDRSB0byBDRkxBR1Mgc28gd2UgZ2V0IHRoaW5ncyBsaWtlIEVBSV9BRERSRkFNSUxZIHdoZW4gaW5jbHVkaW5nIG5ldGRiLmggd2hlbiBidWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgQWRkIC1EX0dOVV9TT1VSQ0UgdG8gQ0ZMQUdTIHNvIHdlIGdldCB0aGluZ3MgbGlrZSBFQUlfQUREUkZBTUlMWQoJICB3aGVuIGluY2x1ZGluZyBuZXRkYi5oIHdoZW4gYnVpbGRpbmcgYWdhaW5zdCBnbGliYyA+PSAyLjguCgoyMDA4LTA1LTIyIDExOjE5OjAzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQgYXJndW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNS0yMiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOiAoZ3N0X3NtcHRlX2FscGhhX3NldGNhcHMpOiBGaXgKCSAgZGVidWcgc3RhdGVtZW50IGFyZ3VtZW50cy4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19zZXR1cF9xb3NfZHNjcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9qb2luX2dyb3VwKSwKCSAgKGdzdF91ZHBfbGVhdmVfZ3JvdXApOiBGaXggSVAgYW5kIElQVjYgb3B0aW9ucyB0byBtYWtlIGl0IHdvcmsKCSAgb24gbW9yZSBwbGF0Zm9ybXMuCgoyMDA4LTA1LTIxIDE3OjUxOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkLCBiYWQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCksICh0ZWFyZG93bl9zaW5rX3BhZCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpOgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkLCBiYWQgbWV0aG9kLgoKMjAwOC0wNS0yMSAxNzozOTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwgKGdzdF9ydHNwc3JjX3NraXBfbHdzKSwKCSAgKGdzdF9ydHNwc3JjX3Vuc2tpcF9sd3MpLCAoZ3N0X3J0c3BzcmNfc2tpcF9jb21tYXMpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9pdGVtKSwgKGdzdF9ydHNwX2RlY29kZV9xdW90ZWRfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2FwcyksCgkgICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpOgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkIG1ldGhvZC4KCjIwMDgtMDUtMjEgMTc6MzU6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwLzogSm9pbmluZyBhIG11bHRpY2FzdCBncm91cCBhbmQgc2V0dGluZyB0aGUgbG9vcC90dGwgcHJvcGVydGllcyBhcmUgdG90YWxseSB1bnJlbGF0ZWQgdGFza3MgYXJlIG11c3QgYmUgc2VwYXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX3NldF9sb29wX3R0bCksCgkgIChnc3RfdWRwX2pvaW5fZ3JvdXApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIEpvaW5pbmcgYSBtdWx0aWNhc3QgZ3JvdXAgYW5kIHNldHRpbmcgdGhlIGxvb3AvdHRsIHByb3BlcnRpZXMgYXJlCgkgIHRvdGFsbHkgdW5yZWxhdGVkIHRhc2tzIGFyZSBtdXN0IGJlIHNlcGFyYXRlZC4KCjIwMDgtMDUtMjEgMTQ6MDk6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFsc28gc3VwcG9ydCBhbGF3L211bGF3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBBbHNvIHN1cHBvcnQgYWxhdy9tdWxhdy4KCjIwMDgtMDUtMjEgMTM6NDc6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgYSBmaXhtZSBmb3IgdGhlIGF1dG8tbXVsdGljYXN0IHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBhIGZpeG1lIGZvciB0aGUgYXV0by1tdWx0aWNhc3QgcHJvcGVydHkuCgkgIEZpeCBzb21lIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlcy4KCSAgRGlzYWJsZSBzZXR0aW5nIGEgcW9zIHZhbHVlIGJ5IGRlZmF1bHQuCgoyMDA4LTA1LTIxIDExOjM4OjE3ICswMDAwICBHdXN0YWYgUsOkbnRpbMOkIDxnLnJhbnRpbGFAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogSWdub3JlIEVQRVJNIGVycm9ycyBmcm9tIHNlbmR0by4gRml4ZXMgIzUzMzYxOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHdXN0YWYgUsOkbnRpbMOkIDxnIGRvdCByYW50aWxhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgSWdub3JlIEVQRVJNIGVycm9ycyBmcm9tIHNlbmR0by4gRml4ZXMgIzUzMzYxOS4KCjIwMDgtMDUtMjEgMTA6NTE6NTIgKzAwMDAgIEhlbnJpayBFcmlrc3NvbiA8aGVucmlrZW5AYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgcW9zLWRzY3AgcHJvcGVydHkgdG8gbWFuYWdlIHRoZSBRdWFsaXR5IG9mIHNlcnZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGVucmlrIEVyaWtzc29uIDxoZW5yaWtlbiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXR1cF9xb3NfZHNjcCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHFvcy1kc2NwIHByb3BlcnR5IHRvIG1hbmFnZSB0aGUgUXVhbGl0eSBvZiBzZXJ2aWNlLgoKMjAwOC0wNS0yMSAxMDowOToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogSW1wcm92ZSBkZWJ1Z2dpbmcgb2YgdGhlIGlkZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgb2YgdGhlIGlkZW50LgoKMjAwOC0wNS0yMSAwOTo1NjowMiArMDAwMCAgQnJ1bm8gU2FudG9zIDxicnVub2ZAdWEucHQ+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLio6IFByb3ZpZGUgYSBidW5jaCBvZiBoZWxwZXIgbWV0aG9kcyB0byBkZWFsIHdpdGggSVB2NCBhbmQgSVB2NiB0cmFuc3BhcmVudGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJydW5vIFNhbnRvcyA8YnJ1bm9mIGF0IHVhIGRvdCBwdD4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2dldF9hZGRyKSwKCSAgKGdzdF91ZHBfam9pbl9ncm91cCksIChnc3RfdWRwX2xlYXZlX2dyb3VwKSwKCSAgKGdzdF91ZHBfaXNfbXVsdGljYXN0KToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIFByb3ZpZGUgYSBidW5jaCBvZiBoZWxwZXIgbWV0aG9kcyB0byBkZWFsIHdpdGggSVB2NCBhbmQgSVB2NgoJICB0cmFuc3BhcmVudGx5LgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGpvaW5fbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgbXVsdGljYXN0IFRUTCBhbmQgbG9vcGJhY2sgcHJvcGVydGllcy4KCSAgVXNlIHRoZSBoZWxwZXIgbWV0aG9kcyB0byBpbXBsZW1lbnQgaXA0IGFuZCBpcDYuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFVzZSB0aGUgaGVscGVyIG1ldGhvZHMgdG8gaW1wbGVtZW50IGlwNCBhbmQgaXA2LgoJICBGaXhlcyAjNTE1OTYyLgoKMjAwOC0wNS0yMSAwOTozODo0OCArMDAwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC4qOiBEb24ndCBibGluZGx5IGNvcHkgdGhlIG1pbWUtdHlwZSBhcyB0aGUgY2FwcyBuYW1lIGJlY2F1c2UgdGhleSBub3QgYWx3YXlzIG1hcCBkaXJlY3RsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfZ2V0X2dzdG5hbWUpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgRG9uJ3QgYmxpbmRseSBjb3B5IHRoZSBtaW1lLXR5cGUgYXMgdGhlIGNhcHMgbmFtZSBiZWNhdXNlIHRoZXkgbm90CgkgIGFsd2F5cyBtYXAgZGlyZWN0bHkuIEluc3RlYWQgdXNlIGEgaGFzaHRhYmxlIHdpdGggY29tbW9uIG1hcHBpbmdzLgoJICBGaXhlcyAjNTMzMjg3LgoKMjAwOC0wNS0yMCAxNzoyNzozNSArMDAwMCAgTWljaGFlbCBNZWVrcyA8bW1lZWtzQHhpbWlhbi5vcmc+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogV2hlbiB3ZSBwb3N0IGFuIGVycm9yLCB3ZSBtdXN0IHJldHVybiAtMSB0byBsZXQgdGhlIHBhcmVudCBrbm93IHRoYXQgd2UgY2Fubm90IHdyaXRlIHRoZSBzZWdtZW50IGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua193cml0ZSk6CgkgIFdoZW4gd2UgcG9zdCBhbiBlcnJvciwgd2UgbXVzdCByZXR1cm4gLTEgdG8gbGV0IHRoZSBwYXJlbnQga25vdyB0aGF0IHdlCgkgIGNhbm5vdCB3cml0ZSB0aGUgc2VnbWVudCBlbHNlIGl0IHdpbGwgbG9vcCBhbmQgY29udGludWUgdG8gY2FsbCB1cyBhZ2FpbgoJICBmb3JldmVyLiBQYXRjaCBieSBNaWNoYWVsIE1lZWtzLgoKMjAwOC0wNS0yMCAxNDoyNDoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBBZGQgbWlzc2luZyBpbmN1ZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEFkZCBtaXNzaW5nIGluY3VkZXMuCgoyMDA4LTA1LTIwIDEzOjU3OjQ0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBDb3JyZWN0IGEgdHlwbyAoc2lubGUgLT4gc2luZ2xlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfaDI2NF9zY2FuX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgQ29ycmVjdCBhIHR5cG8gKHNpbmxlIC0+IHNpbmdsZSkuCgoyMDA4LTA1LTIwIDExOjMzOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuKjogQWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHF1aWNrdGltZS1saWtlIEFWQyBvdXRwdXQgaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfaW5pdCksIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIEFkZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBxdWlja3RpbWUtbGlrZSBBVkMgb3V0cHV0IGluCgkgIGFkZGl0aW9uIHRvIHRoZSBleGlzdGluZyBieXRlc3RyZWFtIG91dHB1dC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9oMjY0X3NjYW5fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfcGF5X3BheWxvYWRfbmFsKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIE1ha2UgdGhlIHBhcnNpbmcgbW9kZSBjb25maWd1cmFibGUsIGZvciBzb21lIGlucHV0cyB3ZSBkb24ndCBuZWVkIHRvCgkgIHNjYW4gZXZlcnkgYnl0ZSBmb3Igc3RhcnQgY29kZXMuCgkgIE9ubHkgc2V0IHRoZSBtYXJrZXIgYml0IG9uIEFDQ0VTUyB1bml0cy4KCjIwMDgtMDUtMjAgMTA6NDc6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVzZSBhIGJpZ2dlciB0eXBlIGluIGludGVnZXIgbW9kZSBmb3IgdGhlIGludGVybWVkaWF0ZSByZXN1bHRzIHRvIHByZXZlbnQgb3ZlcmZsb3dzLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBVc2UgYSBiaWdnZXIgdHlwZSBpbiBpbnRlZ2VyIG1vZGUgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyB0bwoJICBwcmV2ZW50IG92ZXJmbG93cy4gVGhpcyBmaXhlcyB0aGUgY3JpcHBsZWQgc291bmQgd2hlbiB1c2luZyB0aGUKCSAgZXF1YWxpemVyIGluIGludGVnZXIgbW9kZS4gRml4ZXMgYnVnICM1MTA4NjUuCgoyMDA4LTA1LTIwIDEwOjQyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogSW5zdGVhZCBvZiBhIHJhbmRvbSBudW1iZXIgZm9yIHRoZSByZXF1ZXN0IHBhZCBpZCdzLCB1c2UgYSBjb3VudGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbnN0ZWFkIG9mIGEgcmFuZG9tIG51bWJlciBmb3IgdGhlIHJlcXVlc3QgcGFkIGlkJ3MsCgkgIHVzZSBhIGNvdW50ZXIuCgkgIFJlZ2lzdGVyIHRoZSB2aWRlb21peGVycGFkIGNsYXNzIGZyb20gdGhlIGVsZW1lbnQncyBjbGFzc19pbml0CgkgIHdoZXJlIGl0J3Mgc2FmZXIsIGFuZCBhbGxvd3MgdGhlIGRvY3MgZ2VuZXJhdG9yIHRvIHNjYW4gaXQuCgoyMDA4LTA1LTIwIDA5OjI5OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlLzogQWRkIG5ldyBwbHVnaW4gdGhhdCBhZGRzIHRoZSBTTVBURSB0cmFuc2l0aW9uIGluIHRoZSBhbHBoYSBjaGFubmVsIG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgKGdzdF9zbXB0ZV9hbHBoYV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2dldF90eXBlKSwgKGdzdF9zbXB0ZV9hbHBoYV9iYXNlX2luaXQpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X3NtcHRlX2FscGhhX3VwZGF0ZV9tYXNrKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9zZXRjYXBzKSwgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9pbml0KSwgKGdzdF9zbXB0ZV9hbHBoYV9maW5hbGl6ZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfZG9fYXl1diksIChnc3Rfc21wdGVfYWxwaGFfZG9faTQyMCksCgkgIChnc3Rfc21wdGVfYWxwaGFfdHJhbnNmb3JtKSwgKGdzdF9zbXB0ZV9hbHBoYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2dldF9wcm9wZXJ0eSksIChnc3Rfc21wdGVfYWxwaGFfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgICogZ3N0L3NtcHRlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IHBsdWdpbiB0aGF0IGFkZHMgdGhlIFNNUFRFIHRyYW5zaXRpb24gaW4gdGhlIGFscGhhIGNoYW5uZWwgb2YKCSAgSTQyMCBhbmQgQVlVViBmcmFtZXMgc28gdGhhdCB0aGV5IGNhbiBiZSBibGVuZGVkIHdpdGggdmlkZW9taXhlciBsYXRlcgoJICBvbi4gVXNlcyBhbGwgbmljZXRpZXMgc3VjaCBhcyB1c2luZyBiYXNlIHRyYW5zZm9ybSBmb3IgZWZmaWNpZW50IGFsbG9jCgkgIGFuZCBuZWdvdGlhdGlvbi4gSXQgY3VycmVudGx5IHJlcXVpcmVzIEdzdENvbnRyb2xsZXIgdG8gY29udHJvbCB0aGUKCSAgcG9zaXRpb24gaW4gdGhlIHRyYW5zaXRpb24gZWZmZWN0LgoKMjAwOC0wNS0xOSAyMTowNTowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVHJ5IHVzaW5nIHRoYXl0YW5zIG5ldyBtZWNoYW5pc20gdG8gZ2V0IGV4dHJhIGNsYXNzZXMgaW50byBwbHVnaW4gZG9jcy4gQXBhcmVudGx5IHdvcmtzIGZvciB0aGUgRXEuIEZvciBWaWRlb01peGVyIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIFRyeSB1c2luZyB0aGF5dGFucyBuZXcgbWVjaGFuaXNtIHRvIGdldCBleHRyYSBjbGFzc2VzIGludG8gcGx1Z2luCgkgIGRvY3MuIEFwYXJlbnRseSB3b3JrcyBmb3IgdGhlIEVxLiBGb3IgVmlkZW9NaXhlciB0aGUgR09iamVjdCBzdHVmZiBpcwoJICBtaXNzaW5nIHN0aWxsLgoKMjAwOC0wNS0xOSAxMjozMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlIHRoYXQgdGhlIG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZQoJICB0aGF0IHRoZSBvcmlnaW5hbCBjaGFubmVsIHBvc2l0aW9uIGlzIHNldCBvbiB0aGUgb3V0cHV0LgoKMjAwOC0wNS0xOSAwNzo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uIHRoZSBtb25vIG91dHB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbgoJICB0aGUgbW9ubyBvdXRwdXQgYnVmZmVycyBvciBzaG91bGQgYmUgZHJvcHBlZC4KCjIwMDgtMDUtMTggMTk6Mjc6NTkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2V0IHByb3BlciByYXRlIGluIGF2aSBzdHJlYW0gaGVhZGVyIGZvciBQQ00gYXVkaW8sIGFuZCBhbHNvIGRvIHNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIG9uIGNhcHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKToKCSAgU2V0IHByb3BlciByYXRlIGluIGF2aSBzdHJlYW0gaGVhZGVyIGZvciBQQ00gYXVkaW8sIGFuZCBhbHNvIGRvIHNvbWUKCSAgbW9yZSBzYW5pdHkgY2hlY2tzIG9uIGNhcHMgaW4gdGhpcyBjYXNlLiAgRml4ZXMgIzUxMTQ4OS4KCjIwMDgtMDUtMTcgMTk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlCgkgIGRvd25zdHJlYW0gd2lsbCBuZXZlciBnZXQgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTA1LTE3IDE0OjA1OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkgcmV0dXJucyBzb21ldGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpOgoJICBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKQoJICByZXR1cm5zIHNvbWV0aGluZywgZXZlbiBpZiB0aGV5J3JlIG5vdCBzZXQgaW4gdGhlIGNhcHMuIFRoaXMgbWFrZXMKCSAgc3VyZSB0aGF0IHRoZSBvdXRwdXQgY2hhbm5lbHMgY2FuIGJlIGludGVybGVhdmVkIGFnYWluIGNvcnJlY3RseQoJICBpbiB0aGUgbW9uby9zdGVyZW8gY2FzZXMgdG9vLgoJICBEb24ndCBhc2sgZm9yIHRoZSBwZWVyY2FwcyBvZiB0aGUgY3VycmVudCBwYWQgaW4gZ2V0Y2FwcygpIGFzIHRoaXMKCSAgbWlnaHQgY2FsbCBnZXRjYXBzKCkgYWdhaW4gYW5kIGRlYWRsb2NrLgoKMjAwOC0wNS0xNyAxMDozODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBEb24ndCBpbmNsdWRlIHRoZSBnc3R2NGwyeG92ZXJsYXkuaCBoZWFkZXIgYXMgdGhlIFhPdmVybGF5IHN1cHBvcnQgaXNuJ3QgaW1wbGVtZW50ZWQgYXQgYWxsIHllLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRG9uJ3QgaW5jbHVkZSB0aGUgZ3N0djRsMnhvdmVybGF5LmggaGVhZGVyIGFzIHRoZSBYT3ZlcmxheSBzdXBwb3J0CgkgIGlzbid0IGltcGxlbWVudGVkIGF0IGFsbCB5ZXQgYW5kIHRoaXMgcmVxdWlyZXMgWCBoZWFkZXJzIHRvIGJlCgkgIGluc3RhbGxlZC4gRml4ZXMgYnVnICM1MzMyNjQuCgoyMDA4LTA1LTE2IDIxOjU2OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfMjQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uCgkgIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgRG9uJ3QgYWxsb3cgY2hhbmdlcyBvZiB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgYW5kIHNldCB0aGUgcG9zaXRpb24gb2YKCSAgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbm5lbCBvbiB0aGUgc3JjIHBhZCBjYXBzLgoJICBHZW5lcmFsIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpOgoJICBDaGVjayB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIG91dHB1dCBidWZmZXIgY2Fwcy4KCjIwMDgtMDUtMTYgMTc6NTA6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wNS0xNCAxODoyODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFNtYWxsIGNvbW1lbnQgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNtYWxsIGNvbW1lbnQgYWRkZWQuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9kZWNvZGVfbmFsKSwgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3BwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3BheWxvYWRfbmFsKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIERlYnVnIHN0cmluZyBjbGVhbnVwcyAocmVtb3ZlIHRyYWlsaW5nIFxuKQoJICBSZWZhY3RvciBhbmQgY2xlYW4gdXAgdGhlIHBheWxvYWRlciBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQgd2Ugb25seQoJICBwdXQgb25lIE5BTCB1bml0IGluIGFuIFJUUCBwYWNrZXQgZXZlbiBpZiB0aGUgaW5wdXQgYnVmZmVyIGNvbnRhaW5zCgkgIG11bHRpcGxlIE5BTCB1bml0cy4KCSAgQWRkIHN1cG9ydCBmb3IgQVZDIGZvcm1hdCBpbnB1dC4KCjIwMDgtMDUtMTQgMTc6NTg6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IE1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeSBwcm9maWxlLWxldmVsLWlkIGFuZCBzcHJvcC1wYXJhbWV0ZXItc2V0cyB1c2luZyBwcm9wZXJ0aWVzIGluIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IHByb2ZpbGUtbGV2ZWwtaWQgYW5kIHNwcm9wLXBhcmFtZXRlci1zZXRzCgkgIHVzaW5nIHByb3BlcnRpZXMgaW4gY2FzZSB0aGV5IGFyZSBub3QgYXZhaWxhYmxlIGluLXN0cmVhbS4KCjIwMDgtMDUtMTQgMTQ6MTk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzCgkgIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gdmFsZ3JpbmQvbGliYyBhZnRlciBfZXhpdCBmb3Igc29tZQoJICByZWFzb24uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChwYWRzX2NyZWF0ZWQpLAoJICAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzJfOGNoKSwKCSAgKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYiksCgkgIChtYWtlX2Zha2Vfc3JjXzhjaGFuc19mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCBiaXRzIEkgaGFkIGxvY2FsbHkuCgoyMDA4LTA1LTE0IDEyOjUyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgbGFkc3BhIGZybyBwbHVnaW4tZG9jcywgaXRzIGluIGdzdC1wbHVnaW5zLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICBSZW1vdmUgbGFkc3BhIGZybyBwbHVnaW4tZG9jcywgaXRzIGluIGdzdC1wbHVnaW5zLWJhZC4KCjIwMDgtMDUtMTQgMDc6MzI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uCgkgIGdlbmVyYXRpb24uCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgRG9uJ3QgdXNlIGFsbG9jYSwgYWxsb3cgY2FwcyBjaGFuZ2VzIGFzIGxvbmcgYXMgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICBkb2VzIG5vdCBjaGFuZ2UsIGRvbid0IHVzZSBnX3dhcm5pbmcsIHJldHVybiBOT1RfTkVHT1RJQVRFRCBhcyBlYXJseQoJICBhcyBwb3NzaWJsZSBhbmQgc29tZSBvdGhlciBjbGVhbnVwLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgRG8gc29tZSByYW5kb20gY2xlYW51cC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwgKGRlaW50ZXJsZWF2ZV9wYWRfYWRkZWQpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBkZWludGVybGVhdmUgZWxlbWVudC4KCjIwMDgtMDUtMTMgMjA6MjU6MjAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2VuZCBhbiBpbml0aWFsIEJZVEUgc2VnbWVudCB0byBpbmZvcm0gZG93bnN0cmVhbSBvZiBsYXRlciBzZWVraW5nLCBhbmQgdG8gZm9yZWdvIHN5bmMgYXR0ZW1wdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9zdGFydF9maWxlKToKCSAgU2VuZCBhbiBpbml0aWFsIEJZVEUgc2VnbWVudCB0byBpbmZvcm0gZG93bnN0cmVhbSBvZiBsYXRlciBzZWVraW5nLAoJICBhbmQgdG8gZm9yZWdvIHN5bmMgYXR0ZW1wdHMuCgoyMDA4LTA1LTEzIDA4OjU5OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogRml4IHdyb25nIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpOgoJICBGaXggd3JvbmcgY2FwcyBzdHJpbmcuCgoyMDA4LTA1LTEzIDA4OjM1OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEc3MjkgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IChnc3RfcnRwX2c3MjlfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyOV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyOV9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBnNzI5cGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwZzcyOXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBnNzI5cGF5X2luaXQpLAoJICAoZ3N0X3J0cGc3MjlwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgQWRkZWQgRzcyOSBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQwOS4KCjIwMDgtMDUtMTMgMDg6MjE6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogRml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZHVyYXRpb24gb2YgdGhlIGNvbmNlYWxtZW50IHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpOgoJICBGaXggdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBkdXJhdGlvbiBvZiB0aGUgY29uY2VhbG1lbnQgcGFja2V0cy4KCjIwMDgtMDUtMTIgMTg6Mjc6MjQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogQWRkIERWIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDIzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2R2X2RlcGF5X2luaXQpLAoJICAocGFyc2VfZW5jb2RlKSwgKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2FwcyksCgkgIChjYWxjdWxhdGVfZGlmYmxvY2tfbG9jYXRpb24pLCAoZ3N0X3J0cF9kdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcmVzZXQpLCAoZ3N0X3J0cF9kdl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkdnBheS5jOiAoZ3N0X2R2X3BheV9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfZHZfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX2R2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZHZfcGF5X2luaXQpLCAoZ3N0X2R2X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2X3BheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9kdl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfZHZfcGF5X25lZ290aWF0ZSksIChpbmNsdWRlX2RpZiksCgkgIChnc3RfcnRwX2R2X3BheV9oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBfZHZfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkgIEFkZCBEViBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQyMy4KCjIwMDgtMDUtMTIgMTY6MzU6MzkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IENvbnZlcnQgc3VidGl0bGUgcGFsZXR0ZSBpbmZvIGluIFZvYlN1YiBwcml2YXRlIGRhdGEgZnJvbSBWb2JTdWIncyAoYnVnZ3kpIFJHQiB0byBZVVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KToKCSAgQ29udmVydCBzdWJ0aXRsZSBwYWxldHRlIGluZm8gaW4gVm9iU3ViIHByaXZhdGUgZGF0YSBmcm9tIFZvYlN1YidzCgkgIChidWdneSkgUkdCIHRvIFlVVi4KCjIwMDgtMDUtMTIgMTU6MjY6MDEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRG8gbm90IGxlYXZlIGZvdXJjYyBzdHJlYW0gaGVhZGVyIGZpZWxkIGVtcHR5IHVwb24gcmVzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9wYWRfcmVzZXQpOgoJICBEbyBub3QgbGVhdmUgZm91cmNjIHN0cmVhbSBoZWFkZXIgZmllbGQgZW1wdHkgdXBvbiByZXNldC4KCSAgRml4ZXMgIzUxOTMwMS4KCjIwMDgtMDUtMTEgMTQ6NDM6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGdvb20yazEgaW50byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBBZGQgZ29vbTJrMSBpbnRvIHRoZSBkb2NzLgoKMjAwOC0wNS0wOCAxNjo1ODowMiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU3VwcG9ydCBEaWdlc3QgYXV0aGVudGljYXRpb24uIEZpeGVzICM1MzIwNjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19za2lwX2x3cyksIChnc3RfcnRzcHNyY191bnNraXBfbHdzKSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfY29tbWFzKSwgKGdzdF9ydHNwc3JjX3NraXBfaXRlbSksCgkgIChnc3RfcnRzcF9kZWNvZGVfcXVvdGVkX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKSwgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpOgoJICBTdXBwb3J0IERpZ2VzdCBhdXRoZW50aWNhdGlvbi4gRml4ZXMgIzUzMjA2NS4KCjIwMDgtMDUtMDggMTA6MjA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBBbHNvIHN1cHBvcnQgMzJiaXQgKGUuZy4gd2hlIGhhdmluZyBpdCBhZnRlciAnbWFkJykuIEFkZCBtb3JlIG5vdGVzIGFib3V0IHdoYXRzIG5lZWRlZCBmb3IgbGliby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgQWxzbyBzdXBwb3J0IDMyYml0IChlLmcuIHdoZSBoYXZpbmcgaXQgYWZ0ZXIgJ21hZCcpLiBBZGQgbW9yZSBub3RlcwoJICBhYm91dCB3aGF0cyBuZWVkZWQgZm9yIGxpYm9pbCBhY2NlbGVyYXRpb24uIFNpbXBsaWZ5IGRvY3MgYSBiaXQuCgoyMDA4LTA1LTA4IDA4OjE1OjM0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFVwZGF0ZSB0aGUgdHJhY2sgZHVyYXRpb24gaWYgdGhlIG9sZCBvbmUgd2FzIGludmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIFVwZGF0ZSB0aGUgdHJhY2sgZHVyYXRpb24gaWYgdGhlIG9sZCBvbmUgd2FzIGludmFsaWQuCgkgIEZpeGVzIGJ1ZyAjNTMyMTE3LgoKMjAwOC0wNS0wNyAxNjozNjowNCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpOiBVc2UgR1NUX1NUUl9OVUxMIHdoZW4gdHJ5aW5nIHRvIHByaW50IHNwcyBhbmQgcHBzIHN0cmluZ3MgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYyAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKToKCSAgVXNlIEdTVF9TVFJfTlVMTCB3aGVuIHRyeWluZyB0byBwcmludCBzcHMgYW5kIHBwcyBzdHJpbmdzIHRoYXQgY291bGQKCSAgYmUgTlVMTCwgYXMgdGhpcyBtaWdodCBjcmFzaCBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDgtMDUtMDcgMTU6MzM6NTIgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6IERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6CgkgIERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJRCBoYXMgYWxyZWFkeSBiZWVuCgkgIHNldCBhZnRlciBjcmVhdGluZyB0aGUgY2xpcHBlci4KCjIwMDgtMDUtMDcgMTU6Mjg6MDYgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKTogQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zdWNjZXNzZnVsCgkgIElEaXJlY3REcmF3U3VyZmFjZTdfTG9jaygpIGNhbGwuCgkgIElmIHN1cmZhY2UgaXMgbG9zdCwgcmV0dXJuIEdTVF9GTE9XX09LLgoKMjAwOC0wNS0wNyAxNToxOTo0NyArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIFduZFByb2MsIGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEltcHJvdmVkIFdpbmRvd3MgbWVzc2FnZSBsb29wIGFuZCBmaXhlZCB3aW5kb3cgZGVzdHJ1Y3Rpb24gaXNzdWUuCgkgIFdoZW4gdGhlIHdpbmRvdyB3aGljaCBEaXJlY3REcmF3IGlzIHJlbmRlcmluZyB0byBpcyBkZXN0cm95ZWQsIHRoZQoJICByZW5kZXIvc2hvd19mcmFtZSBmdW5jdGlvbiB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE1OjA5OjEwICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOiBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOgoJICBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGlzIG5vdwoJICByZWxlYXNlZCB3aGVuIHNldF9jYXBzIGlzIGNhbGxlZC4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE0OjU2OjIyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCBzbyB0aGF0IGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jIHVzZXMgdGhlIHJpZ2h0CgkgIHdpZHRoL2hlaWdodC4KCSAgRXNwZWNpYWxseSB3aGVuIGxvb2tpbmcgdGhyb3VnaCB0aGUgcG9vbCBvZiBidWZmZXJzLCBtYWtlIHN1cmUgdGhhdAoJICB0aGUgd2lkdGgvaGVpZ2h0IG9mIGNhcHMgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBhbHJlYWR5IG5lZ290aWF0ZWQKCSAgZGltZW5zaW9ucy4KCSAgRm9yIGV4YW1wbGUgaWYgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQgY2FwcyBpcyByZXF1ZXN0ZWQsIGkuZS4KCSAgaGlnaGVyIHJlc29sdXRpb24sIHRoZSBjYWxsZXIgd291bGQgZ2V0IGEgYnVmZmVyIHdpdGggdGhlIG9sZAoJICBkaW1lbnNpb25zIGFuZCB0aHVzIGNvcnJ1cHQgdGhlIGhlYXAuCgoyMDA4LTA1LTA3IDE0OjQzOjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCSAgVGhlIHJpZ2h0IGZpeCB0aGlzIHRpbWUuCgoyMDA4LTA1LTA3IDE0OjM5OjQ1ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIFJldmVydGluZyBwcmV2aW91cyBjb21taXQsIGl0IGhhZCBpdCBhbGwgbWl4ZWQgdXAsIHdhcyBmb3IgYSBkaWZmZXJlbnQKCSAgcGF0Y2ggKG1ham9yIGF1dG9tYXRpb24gc2NyZXctdXApLiBTb3JyeSEKCjIwMDgtMDUtMDcgMTM6NDg6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDExOjIyOjUxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kIHN0eWxlIGNvbnNpc3RlbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZAoJICBzdHlsZSBjb25zaXN0ZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGVwYXlsb2FkZXIuCgoyMDA4LTA1LTA3IDA5OjUyOjM0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kIHN0eWxlIGNvbnNpc3RlbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZAoJICBzdHlsZSBjb25zaXN0ZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGVwYXlsb2FkZXIuCgoyMDA4LTA1LTA3IDA4OjAzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgY29yZS9iYXNlIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCBjb3JlL2Jhc2UgdmVyc2lvbnMuCgoyMDA4LTA1LTA2IDA5OjMzOjQ2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBQUEM2NC4gRml4ZXMgYnVnICM0OTkzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBQUEM2NC4gRml4ZXMgYnVnICM0OTkzMTguCgoyMDA4LTA1LTA1IDExOjE5OjEzICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgZmlsZSBkZXNjcmlwdG9ycyBvbiBlcnJvci4gRml4ZXMgIzUzMTUzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIERvbid0IGxlYWsgZmlsZSBkZXNjcmlwdG9ycyBvbiBlcnJvci4gRml4ZXMgIzUzMTUzMi4KCjIwMDgtMDUtMDMgMDk6MTg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9nY29uZi86IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGEgZmFrZXNpbmsvZmFrZXNyYyBjb21wbGFpbiBpbnN0ZWFkIG9mIHVucmVmZmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGEgZmFrZXNpbmsvZmFrZXNyYyBjb21wbGFpbiBpbnN0ZWFkIG9mIHVucmVmZmluZwoJICBOVUxMIHBvaW50ZXJzIGFuZCBjcmFzaGluZyBsYXRlci4gU2VlIGJ1ZyAjNTMwNTM1LgoKMjAwOC0wNS0wMiAxMjo0NDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGd1YXJkIGFnYWluc3Qgc21hbGwgcGF5bG9hZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBndWFyZCBhZ2FpbnN0IHNtYWxsIHBheWxvYWRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzIGJlY2F1c2Ugd2UgY2FuLgoKMjAwOC0wNS0wMiAxMjozOTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVleCBjaGFubmVscyBhbmQgcmF0ZS4gRml4ZXMgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9zcGVleF9lbmNfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2NoYWluKToKCSAgQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZXggY2hhbm5lbHMgYW5kIHJhdGUuIEZpeGVzICM0NjUxNDYuCgoyMDA4LTA1LTAyIDEyOjM0OjIyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVlYyBjaGFubmVscyBhbmQgcmF0ZS4gU2VlICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9nZXRjYXBzKToKCSAgQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZWMgY2hhbm5lbHMgYW5kIHJhdGUuIFNlZSAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMjoyNDo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBJTEJDIG1vZGUuIFNlZSAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwaWxiY3BheV9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cGlsYmNwYXlfc2lua19nZXRjYXBzKToKCSAgQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgSUxCQyBtb2RlLiBTZWUgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTE6MzI6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEluY2x1ZGUgc3RkbGliIHRvIGZpeCB0aGUgYnVpbGQuIFVzZSBnX2ZyZWUgaW5zdGVhZCBvZiBmcmVlLCBsaWJzb3VwIHVzZXMgZ2xpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBzdGRsaWIgdG8gZml4IHRoZSBidWlsZC4gVXNlIGdfZnJlZSBpbnN0ZWFkIG9mIGZyZWUsIGxpYnNvdXAKCSAgdXNlcyBnbGliLgoKMjAwOC0wNS0wMiAwOTowOTo1OCArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBtb3JlIG1wZWcyIHZhcmlhbnRzLiBGaXhlcyAjNTMwODg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqQGJvb3RsYWIub3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBtb3JlIG1wZWcyIHZhcmlhbnRzLiBGaXhlcyAjNTMwODg2LgoKMjAwOC0wNS0wMSAxMDo1MjoxMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZSBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cyBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEgY28gdWs+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGdldCBhbiBJQ01QIGRlc3RpbmF0aW9uLXVucmVhY2hhYmxlCgkgIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVhZCBwYWNrZXRzIG9uIHdpbjMyICgjNTI5NDU0KS4KCjIwMDgtMDQtMzAgMTI6MTg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGVycm9yIGNvZGUgZm9yIGVuY3J5cHRlZCBzdHJlYW1zICh3aGljaCByZXF1aXJlcyBjb3JlIENWUykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgbmV3IGVycm9yIGNvZGUgZm9yIGVuY3J5cHRlZCBzdHJlYW1zICh3aGljaCByZXF1aXJlcyBjb3JlIENWUykuCgoyMDA4LTA0LTMwIDEyOjEwOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc3dhcHBlZCBwYWQgdGVtcGxhdGUgbmFtZXMsIHNwb3R0ZWQgYnkgVGhpYWdvIFNvdXNhIFNhbnRvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfdmlkZW9zcmNfdGVtcGxhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYXVkaW9zcmNfdGVtcGxhdGUpOgoJICBGaXggc3dhcHBlZCBwYWQgdGVtcGxhdGUgbmFtZXMsIHNwb3R0ZWQgYnkgVGhpYWdvIFNvdXNhIFNhbnRvcy4KCjIwMDgtMDQtMzAgMDk6NDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogUHJvZHVjZSBjb25jZWFsbWVudCBkYXRhIHdoZW4gdGltZSBwcm9ncmVzc2VzIGluIGEgc2VnbWVudCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLAoJICAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBQcm9kdWNlIGNvbmNlYWxtZW50IGRhdGEgd2hlbiB0aW1lIHByb2dyZXNzZXMgaW4gYSBzZWdtZW50IHVwZGF0ZS4KCjIwMDgtMDQtMjkgMTQ6MTE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogVHJ5IHRvIHByZXNlcnZlIGlucHV0IHRpbWVzdGFtcHMgd2hlbiB3ZSBjYW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpLAoJICAoc3BlZXhfZGVjX2NoYWluKToKCSAgVHJ5IHRvIHByZXNlcnZlIGlucHV0IHRpbWVzdGFtcHMgd2hlbiB3ZSBjYW4uCgkgIERvIGJlZ2lubmluZ3Mgb2YgZXJyb3IgY29uY2VhbG1lbnQuCgoyMDA4LTA0LTI4IDIyOjM4OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogTVNWQyBkb2Vzbid0IHByb3ZpZGUgcmludCgpLCBkZWZpbmUgYW4gYWRlcXVhdGUgcmVwbGFjZW1lbnQgbG9jYWxseSBhcyBlbHNld2hlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICBNU1ZDIGRvZXNuJ3QgcHJvdmlkZSByaW50KCksIGRlZmluZSBhbiBhZGVxdWF0ZSByZXBsYWNlbWVudCBsb2NhbGx5IGFzCgkgIGVsc2V3aGVyZS4KCjIwMDgtMDQtMjggMTE6MTY6MzIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IHByaW50ZiBmb3JtYXQgdG8gcGFjaWZ5IE1hYyBPU1gncyBnY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTI4ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChnc3Rfcm5kX2J1ZmZlcl9zaXplX2xvb3ApOiBGaXggcHJpbnRmCgkgIGZvcm1hdCB0byBwYWNpZnkgTWFjIE9TWCdzIGdjYy4KCjIwMDgtMDQtMjUgMTk6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBCcmluZyBybmRidWZmZXJzaXplIGVsZW1lbnQgaW50byBhIHN0YXRlIHRoYXQgZG9lc24ndCByZXF1aXJlIHVzIHRvIG1vdmUgaXQgdG8gLWJhZCBpbW1lZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKERFRkFVTFRfU0VFRCksIChERUZBVUxUX01JTiksCgkgIChERUZBVUxUX01BWCksIChzcmNfdGVtcGxhdGUpLCAoc2lua190ZW1wbGF0ZSksCgkgIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2Jhc2VfaW5pdCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9pbml0KSwgKGdzdF9ybmRfYnVmZmVyX3NpemVfYWN0aXZhdGUpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKSwgKGdzdF9ybmRfYnVmZmVyX3NpemVfcGx1Z2luX2luaXQpOgoJICBCcmluZyBybmRidWZmZXJzaXplIGVsZW1lbnQgaW50byBhIHN0YXRlIHRoYXQgZG9lc24ndCByZXF1aXJlIHVzCgkgIHRvIG1vdmUgaXQgdG8gLWJhZCBpbW1lZGlhdGVseS4gRm9yIG9uZSwgZml4IHVwIGRlZmF1bHQgbWluL21heAoJICB2YWx1ZXMgc28gdGhhdCB0aGUgZWxlbWVudCBhY3R1YWxsIHdvcmtzIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcy4KCSAgQWxzbywgZG9uJ3QgaWdub3JlIGZsb3cgcmV0dXJuIHZhbHVlcyBhbmQgZG8gc29tZSBraW5kIG9mIG1pbmltYWwKCSAgZW9zIGxvZ2ljLiBBbGxvdyBtaW49bWF4IHRvIHB1bGwgZml4ZWQtc2l6ZWQgYnVmZmVycy4gQnVuY2ggb2YKCSAgb3RoZXIgZ3JhdHVpdGlvdXMgY2xlYW4tdXBzLgoKMjAwOC0wNC0yNSAxOToyNDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2NzIGZvciBnZGtwaXhidWZzaW5rOyB1cGRhdGUgZG9jcyB0byBDVlMgdmVyc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIEFkZCBkb2NzIGZvciBnZGtwaXhidWZzaW5rOyB1cGRhdGUgZG9jcyB0byBDVlMgdmVyc2lvbi4KCjIwMDgtMDQtMjUgMTg6NDU6MzMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6IFJlbW92ZSB0ZXN0IHN5bmMtb2Zmc2V0IGJ5IGRlZmF1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgUmVtb3ZlIHRlc3Qgc3luYy1vZmZzZXQgYnkgZGVmYXVsdC4KCjIwMDgtMDQtMjUgMTM6MzE6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgR0xpYiB2ZXJzaW9ucyBvZiBodG9ubCwgaHRvbnMsIG50b2hsIGFuZCBudG9ocyBpbiBvcmRlciB0byBhdm9pZCBwcm9ibGVtcyBvbiB3aW4zMiAoIzUyOTcwNykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2NoYWluKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXNlIEdMaWIgdmVyc2lvbnMgb2YgaHRvbmwsIGh0b25zLCBudG9obCBhbmQgbnRvaHMgaW4gb3JkZXIKCSAgdG8gYXZvaWQgcHJvYmxlbXMgb24gd2luMzIgKCM1Mjk3MDcpLgoKMjAwOC0wNC0yNSAxMjo1Mjo0NCArMDAwMCAgSmVzw7pzIENvcnJpdXMgPGplc3VzQHNvZnRjYXRhbGEub3JnPgoKCSAgZ3N0L2dvb20vOiBGaXggYnVpbGQgd2l0aCBtaW5ndzMyOiB1c2UgcmFuZCgpIGluc3RlYWQgb2YgcmFuZG9tKCkgYW5kIHJlcGxhY2UgYnplcm8oKSB3aXRoIG1lbXNldCgpLiBGaXhlcyAjNTI5NjkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplc8O6cyBDb3JyaXVzIDxqZXN1cyBhdCBzb2Z0Y2F0YWxhIG9yZz4KCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tVmVjdG9yKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGluaXRfYnVmZmVycyk6CgkgIEZpeCBidWlsZCB3aXRoIG1pbmd3MzI6IHVzZSByYW5kKCkgaW5zdGVhZCBvZiByYW5kb20oKSBhbmQKCSAgcmVwbGFjZSBiemVybygpIHdpdGggbWVtc2V0KCkuIEZpeGVzICM1Mjk2OTIuCgoyMDA4LTA0LTI1IDA3OjU2OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdHlwbyBpbiBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKToKCSAgRml4IHR5cG8gaW4gY29tbWVudHMuCgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEFkZCBzb21lIG1vcmUgZG9jcyBhbmQgZml4IGV4YW1wbGVzLgoKMjAwOC0wNC0yNCAyMjowNDo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6IEluY2x1ZGUgc3RkbGliLmggYW5kIHVuaXN0ZC5oIGZvciBta2R0ZW1wLiBTb21lIHBsYXRmb3JtcyBoYXZlIGl0IGRlY2xhcmVkIGluIHRoZSBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGFuZCB1bmlzdGQuaCBmb3IgbWtkdGVtcC4gU29tZSBwbGF0Zm9ybXMgaGF2ZSBpdAoJICBkZWNsYXJlZCBpbiB0aGUgZm9ybWVyLCBzb21lIGhhdmUgaXQgZGVjbGFyZWQgaW4gdGhlIGxhdHRlci4KCjIwMDgtMDQtMjQgMjI6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlYnVnL3Rlc3RzLmM6IChtZDVfZ2V0X3ZhbHVlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKToKCSAgU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgZnVuY3Rpb25zLgoKMjAwOC0wNC0yNCAyMToxNzo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgID09PSByZWxlYXNlIDAuMTAuOCA9PT0KCj09PSByZWxlYXNlIDAuMTAuOCA9PT0KCjIwMDgtMDQtMjMgMjM6NDA6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSAgUmVsZWFzZSAwLjEwLjggYSBsaXR0bGUgaGFyZGVyIChlZGl0ZWQgdGhlIHJlbGVhc2Ugbm90ZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOCBhIGxpdHRsZSBoYXJkZXIgKGVkaXRlZCB0aGUgcmVsZWFzZSBub3RlcykKCjIwMDgtMDQtMjMgMjM6MjY6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC44CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOAoKMjAwOC0wNC0yMyAyMzoxODo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDQtMjIgMDA6Mjk6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy40IHByZS1yZWxlYXNlCgoyMDA4LTA0LTIyIDAwOjE4OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogRnJlZSBhIGJ1bmNoIG9mIHN0dWZmLCBhbmQgaW5pdGlhbGlzZSB0aGluZ3MgdG8gZml4IGxlYWtzIGFuZCB2YWxncmluZCB3YXJuaW5ncyBpbiB0aGUgdGVzdHN1aXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzogKGdvb21fcGx1Z2luX3BhcmFtZXRlcnNfZnJlZSk6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzogKGNvbnZvbHZlX2luaXQpLCAoY29udm9sdmVfZnJlZSk6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlclZpc3VhbEZYV3JhcHBlcl9mcmVlKToKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzogKGZzX2ZyZWUpOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2luaXQpLCAoZ29vbV9jbG9zZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2ZpbmFsaXplKToKCSAgKiBnc3QvZ29vbS9saW5lcy5jOiAoZ29vbV9saW5lc19mcmVlKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAocGx1Z2luX2luZm9faW5pdCksIChwbHVnaW5faW5mb19mcmVlKToKCSAgKiBnc3QvZ29vbS9zdXJmM2QuYzogKGdyaWQzZF9mcmVlKToKCSAgKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6ICh0ZW50YWNsZV9mcmVlKToKCSAgRnJlZSBhIGJ1bmNoIG9mIHN0dWZmLCBhbmQgaW5pdGlhbGlzZSB0aGluZ3MgdG8gZml4IGxlYWtzCgkgIGFuZCB2YWxncmluZCB3YXJuaW5ncyBpbiB0aGUgdGVzdHN1aXRlLgoJICBGaXhlczogIzUyOTI2OAoKMjAwOC0wNC0yMSAyMTo1NDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgoyMDA4LTA0LTIxIDA4OjIxOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWYgY2FwcyBhcyB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgcmVxdWVzdF9wdF9tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKToKCSAgUmVmIGNhcHMgYXMgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHJlcXVlc3RfcHRfbWFwIHNpZ25hbC4KCSAgUmVtb3ZlIHNvbWUgY2FwcyB3ZWlyZG5lc3Mgd2hlbiBjb25maWd1cmluZyBhIHN0cmVhbS4gU2VlICM1MjgyNDUuCgoyMDA4LTA0LTE4IDE4OjQ3OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6IEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgoyMDA4LTA0LTE3IDIzOjAwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuMyBwcmUtcmVsZWFzZQoKMjAwOC0wNC0xNyAyMjozMjoxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBzb21lIG1vcmUgZWxlbWVudHMgaW4gdGhlIHN0YXRlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHNvbWUgbW9yZSBlbGVtZW50cyBpbiB0aGUgc3RhdGUgdGVzdC4KCSAgQWRkIGEgZGVmaW5lIHNvIHRoZSBzb3VwIHRlc3QgY2FuIGZpbmQgdGhlIHRlc3QgZmlsZXMKCSAgaXQgbmVlZHMgYXQgcnVudGltZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3NlcnZlcik6CgkgIEFkZCBhIGRlZmluZSBzbyB0aGUgc291cCB0ZXN0IGNhbiBmaW5kIHRoZSB0ZXN0IGZpbGVzCgkgIGl0IG5lZWRzIGF0IHJ1bnRpbWUuCgoyMDA4LTA0LTE3IDE4OjA4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IERvbid0IGV2ZXIgZHJhdyB0aGUgR09PTSBsb2dvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiAoY29udm9sdmVfYXBwbHkpOgoJICBEb24ndCBldmVyIGRyYXcgdGhlIEdPT00gbG9nby4KCSAgRml4ZXM6ICM1Mjg2MTUKCjIwMDgtMDQtMTcgMTA6MjQ6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvOiBnc3RfYXRvbWljX2ludF9zZXQgPT0+IGdfYXRvbWljX2ludF9zZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBnc3RfYXRvbWljX2ludF9zZXQgPT0+IGdfYXRvbWljX2ludF9zZXQKCjIwMDgtMDQtMTYgMTA6MzE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBTdHJpcCBvdXQgdGhlIGNvbmZpZy9zY3JpcHQgcGFyc2luZyBzdHVmZiwgd2UgZG9uJ3QgbmVlZCBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZGVmYXVsdF9zY3JpcHRzLmg6CgkgICogZ3N0L2dvb20vZ29vbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoY2hvb3NlX2FfZ29vbV9saW5lKToKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hhc2guYzoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGFzaC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hlYXAuaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfcHJpdmF0ZS5oOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIFN0cmlwIG91dCB0aGUgY29uZmlnL3NjcmlwdCBwYXJzaW5nIHN0dWZmLCB3ZSBkb24ndCBuZWVkIGl0LgoJICBGaXhlcyAjNTI3OTk5LgoKMjAwOC0wNC0xNSAxNjo1ODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IERpc2FibGUgYWx0aXZlYyBvcHRpbWlzYXRpb25zIGZvciAzMi1iaXQgUFBDIGFzIHdlbGwgdG8gbWFrZSB0aGluZ3MgYnVpbGQgcHJvcGVybHkgb24gYWxsIFBQQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIERpc2FibGUgYWx0aXZlYyBvcHRpbWlzYXRpb25zIGZvciAzMi1iaXQgUFBDIGFzIHdlbGwgdG8gbWFrZQoJICB0aGluZ3MgYnVpbGQgcHJvcGVybHkgb24gYWxsIFBQQyBzeXN0ZW1zLiBGaXhlcyAjNTI4MTQzCgoyMDA4LTA0LTE0IDIwOjAxOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOiBVcGRhdGUgZm9yIHNvdXBodHRwc3JjIHBsdWdpbiB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBzb3VwaHR0cHNyYyBwbHVnaW4gd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kLgoKMjAwOC0wNC0xNCAxMzozODozMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggb3Blbi1lbmRlZCBzZWVrcyBpbiBtYXRyb3NrYWRlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgRml4IG9wZW4tZW5kZWQgc2Vla3MgaW4gbWF0cm9za2FkZW11eAoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgRml4ZXM6ICM1MjY1NTcKCjIwMDgtMDQtMTMgMjM6MTM6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIHRvIHRoZSBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgdG8gdGhlIGRpc3QuCgoyMDA4LTA0LTEzIDE3OjQzOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogUmVtb3ZlIExBRFNQQSByZWZlcmVuY2UgSSBtaXNzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIExBRFNQQSByZWZlcmVuY2UgSSBtaXNzZWQuCgoyMDA4LTA0LTEzIDEzOjA2OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBHaXZlIHNvdXBodHRwc3JjIEdTVF9SQU5LX1BSSU1BUlkgdG8gbWFrZSBpdCB0aGUgZGVmYXVsdCBIVFRQIHNvdXJjZSBvdmVyIGdub21lLXZmcyBhbmQgZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHBsdWdpbl9pbml0KToKCSAgR2l2ZSBzb3VwaHR0cHNyYyBHU1RfUkFOS19QUklNQVJZIHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgSFRUUCBzb3VyY2UKCSAgb3ZlciBnbm9tZS12ZnMgYW5kIGV2ZXJ5dGhpbmcgZWxzZS4gRml4ZXMgYnVnICM1Mjc4NDguCgoyMDA4LTA0LTEyIDIzOjQ3OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBMQURTUEEgcGx1Z2luLiBGaXhlczogIzUxNTk3OAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBSZW1vdmUgTEFEU1BBIHBsdWdpbi4gRml4ZXM6ICM1MTU5NzgKCjIwMDgtMDQtMTIgMjM6MzA6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBzb3VwIHBsdWdpbiBmcm9tIC1iYWQgKEZpeGVzOiAjNTIzMTI0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBNb3ZlIHNvdXAgcGx1Z2luIGZyb20gLWJhZCAoRml4ZXM6ICM1MjMxMjQpCgoyMDA4LTA0LTExIDExOjA4OjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IHRoZSBDaGFuZ2Vsb2cgLSBhY3R1YWxseSBzcGVleCA8PSAxLjEuMTIgYXJlIHZ1bG5lcmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdGhlIENoYW5nZWxvZyAtIGFjdHVhbGx5IHNwZWV4IDw9IDEuMS4xMiBhcmUgdnVsbmVyYWJsZS4KCjIwMDgtMDQtMTEgMTA6MzI6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IEZpeCBib3VuZHMgY2hlY2tpbmcgb2YgbW9kZSBpbiBTcGVleCBoZWFkZXIsIHdoaWNoIG1heSBwcm9kdWNlIG5lZ2F0aXZlIG51bWJlcnMgaW4gc3BlZXggPCAxLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlcik6CgkgIEZpeCBib3VuZHMgY2hlY2tpbmcgb2YgbW9kZSBpbiBTcGVleCBoZWFkZXIsIHdoaWNoIG1heQoJICBwcm9kdWNlIG5lZ2F0aXZlIG51bWJlcnMgaW4gc3BlZXggPCAxLjEuMTIKCjIwMDgtMDQtMTAgMDc6MTE6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMgYW5kIGNoZWNrIGZvciBOVUxMIGNhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMKCSAgYW5kIGNoZWNrIGZvciBOVUxMIGNhcHMgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBUaGUgcmVhbCBmaXggd291bGQgYmUgdG8gaW1wbGVtZW50IGFuIHNob3V0Y2FzdCBzZXJ2ZXIgZm9yIHRoZSB1bml0IHRlc3QKCSAgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGEgd29ya2luZyBpbnRlcm5ldCBjb25uZWN0aW9uLgoJICBGaXhlcyBidWcgIzUyMTc0OS4KCjIwMDgtMDQtMDkgMTY6MTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IFJlbW92ZSBhIGJ1bmNoIG9mIGZvbnQvdGV4dCByZWxhdGVkIGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9nZm9udGxpYi5jOgoJICAqIGdzdC9nb29tL2dmb250bGliLmg6CgkgICogZ3N0L2dvb20vZ2ZvbnRybGUuYzoKCSAgKiBnc3QvZ29vbS9nZm9udHJsZS5oOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21fdXBkYXRlKToKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIFJlbW92ZSBhIGJ1bmNoIG9mIGZvbnQvdGV4dCByZWxhdGVkIGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkLgoKMjAwOC0wNC0wOSAxNDowMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogQ2hhbmdlIGxpY2Vuc2Ugb2YgdGhlc2UgZmlsZXMgdG8gTEdQTCwgYXMgcGVybWl0dGVkIGJ5IHRoZSBhdXRob3IsIEd1aWxsYXVtZSBCb3Jpb3MuIFNlZSAjNTE1MDczLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuczoKCSAgKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5zOgoJICBDaGFuZ2UgbGljZW5zZSBvZiB0aGVzZSBmaWxlcyB0byBMR1BMLCBhcyBwZXJtaXR0ZWQgYnkgdGhlCgkgIGF1dGhvciwgR3VpbGxhdW1lIEJvcmlvcy4gU2VlICM1MTUwNzMuCgoyMDA4LTA0LTA5IDEzOjMxOjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS86IEFzIGhpbnRlZCBpbiBCdWcgIzUxODIxMywgcmV2ZXJ0IG9uZSBjaGFuZ2UgYW5kIGZpeCB3YXJuaW5ncyBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20yLmg6CgkgIEFzIGhpbnRlZCBpbiBCdWcgIzUxODIxMywgcmV2ZXJ0IG9uZSBjaGFuZ2UgYW5kIGZpeCB3YXJuaW5ncyBwcm9wZXJseS4KCSAgVGhpcyBmaXhlcyBib3RoICM1MTgyMTMgYW5kICM1MjAwNzMgZm9yIG1lLgoKMjAwOC0wNC0wOSAxMjowMjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggdGhlIEZvcnRlIGJ1aWxkIGJ5IG1ha2luZyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBzaWduYXR1cmVzIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2Vlayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEZpeCB0aGUgRm9ydGUgYnVpbGQgYnkgbWFraW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHNpZ25hdHVyZXMKCSAgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDQtMDggMTk6NDk6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogTW9yZSBsb2dnaW5nIHdoZW4gcHJvYmluZyAoc2VlICM1MTg0NzQpLCBzb21lIGNvbW1lbnRzIGluIF9yZXNldCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiAoZ3N0X29zc19oZWxwZXJfcmF0ZV9jaGVja19yYXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19yZXNldCk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3Jlc2V0KToKCSAgTW9yZSBsb2dnaW5nIHdoZW4gcHJvYmluZyAoc2VlICM1MTg0NzQpLCBzb21lIGNvbW1lbnRzIGluIF9yZXNldCgpLgoKMjAwOC0wNC0wNyAxNzoxODo0OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogRml4IGJ1aWxkIGJlY2F1c2Ugb2YgYSBiYWQgYXJndW1lbnQgbnVtYmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0wNyAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2Fwcyk6IEZpeCBidWlsZAoJICBiZWNhdXNlIG9mIGEgYmFkIGFyZ3VtZW50IG51bWJlci4KCjIwMDgtMDQtMDYgMTg6Mjg6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IEludGVyYWN0aXZlIHRlc3QgYXBwIGZvciBnZGtwaXhidWZzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICBJbnRlcmFjdGl2ZSB0ZXN0IGFwcCBmb3IgZ2RrcGl4YnVmc2luay4KCjIwMDgtMDQtMDYgMDk6MDE6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKToKCSAgT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIEdTVF9TT1VQX0hUVFBfU1JDX1NFU1NJT05fSU9fU1RBVFVTX1JVTk5JTkcuIEZpeGVzIGJ1ZyAjNTI2MzM3LgoKMjAwOC0wNC0wNiAwODo1Nzo1OSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIEZpeGVzIGJ1ZyAjNTI2MjQ3LgoKMjAwOC0wNC0wNSAxMjowMDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9oYWwvaGFsLmM6IERvbid0IG11bmdlIGRldmljZSBzdHJpbmcgdG8gJ2RlZmF1bHQ6eCcgZm9yIGNhcHR1cmUgZGV2aWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X2Fsc2FfZWxlbWVudCk6CgkgIERvbid0IG11bmdlIGRldmljZSBzdHJpbmcgdG8gJ2RlZmF1bHQ6eCcgZm9yIGNhcHR1cmUgZGV2aWNlcy4KCSAgRml4ZXMgIzUyNTgzMy4KCjIwMDgtMDQtMDQgMTk6MDA6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBBbHdheXMgdXNlIEdTbGljZSBhcyB3ZSBhY3R1YWxseSBkZXBlbmQgb24gR0xpYiAyLjEyIGFscmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfZnJlZSk6CgkgIEFsd2F5cyB1c2UgR1NsaWNlIGFzIHdlIGFjdHVhbGx5IGRlcGVuZCBvbiBHTGliIDIuMTIgYWxyZWFkeS4KCjIwMDgtMDQtMDQgMTE6MjY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTAuMTggZm9yIEFSR0IgY2FwcyBwYXJzaW5nIGZpeGVzIGluIGxpYmdzdHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZS9iYXNlIDAuMTAuMTggZm9yIEFSR0IgY2FwcyBwYXJzaW5nIGZpeGVzIGluIGxpYmdzdHZpZGVvLgoJICBBbHNvIGJ1bXAgdGhlIEdMaWIgcmVxdWlyZW1lbnQgdG8gdGhlIGN1cnJlbnQgZGUtZmFjdG8gcmVxdWlyZW1lbnQKCSAgKGllLiAyLjEyKS4KCjIwMDgtMDQtMDQgMTA6MzI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogUGFyc2UgY29kZWNfZGF0YSBmb3IgZnV0dXJlIEFWQyBjb21wYXRpYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIFBhcnNlIGNvZGVjX2RhdGEgZm9yIGZ1dHVyZSBBVkMgY29tcGF0aWJpbGl0eS4KCSAgRmFpbCB3aGVuIHdlIGVuY291bnRlciBBVkMgZGF0YSBmb3Igbm93LgoKMjAwOC0wNC0wNCAwOTo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW5hbWUgcHJvcGVydHkgZW51bXMgYW5kIGRlZmF1bHQgZGVmaW5lcyBmb3IgdGhlIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpOgoJICBSZW5hbWUgcHJvcGVydHkgZW51bXMgYW5kIGRlZmF1bHQgZGVmaW5lcyBmb3IgdGhlIHByb3BlcnRpZXMgdG8gbWF0Y2gKCSAgdGhlIHByb3BlcnR5IG5hbWVzIGFuZCByZXBocmFzZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMgdG8gbWFrZSB0aGVtIGEKCSAgYml0IGNsZWFyZXIgKGhvcGVmdWxseSkuIFNlZSAjNTE4MTg4LgoKMjAwOC0wNC0wMyAyMjo1OTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgZ2RrcGl4YnVmc2luayBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1ZnNpbmsuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgZ2RrcGl4YnVmc2luayBlbGVtZW50LgoKMjAwOC0wNC0wMyAyMjo1MDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmLzogQWRkIGdka3BpeGJ1ZnNpbmsgZWxlbWVudCBmb3IgZWFzeSBzbmFwc2hvdHRpbmcgKCM1MjU5NDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfc2lua19pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc3RhcnQpLCAoZ3N0X2dka19waXhidWZfc2lua19zdG9wKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19waXhidWZfZGVzdHJveV9ub3RpZnkpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRfcGl4YnVmX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfaGFuZGxlX2J1ZmZlciksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3ByZXJvbGwpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19yZW5kZXIpLCAoZ3N0X2dka19waXhidWZfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSAgQWRkIGdka3BpeGJ1ZnNpbmsgZWxlbWVudCBmb3IgZWFzeSBzbmFwc2hvdHRpbmcgKCM1MjU5NDYpLgoKMjAwOC0wNC0wMyAyMDoyNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogQnVtcCB0aW1lb3V0IGZyb20gMyB0byA2MCBzZWNvbmRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAod2F2cGFja19zdWl0ZSk6CgkgIEJ1bXAgdGltZW91dCBmcm9tIDMgdG8gNjAgc2Vjb25kcy4KCjIwMDgtMDQtMDMgMjA6MjE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZpZ25vcmU6IFJlbW92ZSB1c2VsZXNzIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZpZ25vcmU6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUuCgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgIEFkZCBuZXcgdGVzdCB0byAuY3ZzaWdub3JlLgoKMjAwOC0wNC0wMyAyMDowNTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IHRoYXQgZW5jb2RlcyBhbmQgZGVjb2RlcyBzb21lIGRhdGEsIGNoZWNrcyB0aGF0IGl0IGlzIHN0aWxsIHRoZSBzYW1lIGFuZCB0aGF0IGFsbCB0aW1lc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IChidXNfaGFuZGxlciksCgkgIChpZGVudGl0eV9oYW5kb2ZmKSwgKGZha2VzaW5rX2hhbmRvZmYpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCB0aGF0IGVuY29kZXMgYW5kIGRlY29kZXMgc29tZSBkYXRhLCBjaGVja3MgdGhhdCBpdAoJICBpcyBzdGlsbCB0aGUgc2FtZSBhbmQgdGhhdCBhbGwgdGltZXN0YW1wcy9vZmZzZXRzIGFyZSBwZXJmZWN0LgoKMjAwOC0wNC0wMyAxODoyODoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIGluZGV4IGVudHJpZXMgYW5kIHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9lbnRyeV9uZXcpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfZnJlZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KToKCSAgVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBpbmRleCBlbnRyaWVzIGFuZCB1c2UKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgoyMDA4LTA0LTAyIDIyOjM3OjI5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBGaXggdXAgY29weXJpZ2h0cyAoIzUyNTg2MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBGaXggdXAgY29weXJpZ2h0cyAoIzUyNTg2MCkuCgoyMDA4LTA0LTAyIDE2OjEwOjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBuZXcgZ29vbSBwbHVnaW4gdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbmV3IGdvb20gcGx1Z2luIHRvIHNwZWMgZmlsZQoKMjAwOC0wNC0wMiAxNTo0MjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tL2dvb21zbC5jOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgZnJlYWQoKSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6IChnc2xfcmVhZF9maWxlKToKCSAgQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZyZWFkKCkgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTA0LTAxIDExOjAwOjQzICswMDAwICBtZXJzYWQgPG1lcnNhZEBheGlzLmNvbT4KCgkgIGdzdC9sYXcvOiBNYWtlIG5lZ290aWF0aW9uIGEgYml0IG1vZGVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBtZXJzYWQgPG1lcnNhZCBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfYWxhd19kZWNfY2hhaW4pLCAoZ3N0X2FsYXdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pLCAoZ3N0X211bGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgTWFrZSBuZWdvdGlhdGlvbiBhIGJpdCBtb2Rlcm4uCgkgIFVzZSBwYWRfYWxsb2MuIEZpeGVzICM1MjUzNTkuCgoyMDA4LTAzLTMxIDIyOjA2OjE0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9nb29tL3htbXguYzogRml4IGNvbnN0cmFpbnRzIG9uIGFzbSBjb2RlIHNvIHRoYXQgaXQgY29tcGlsZXMgY29uc2lzdGVudGx5LiAgRml4ZXMgIzUyMjI3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20veG1teC5jOiBGaXggY29uc3RyYWludHMgb24gYXNtIGNvZGUgc28gdGhhdCBpdAoJICBjb21waWxlcyBjb25zaXN0ZW50bHkuICBGaXhlcyAjNTIyMjc4LgoKMjAwOC0wMy0yNyAwOTozNjo1OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IHVwIHRoZSBtaXhlciB0cmFja3MgdG8gdXNlIGEgdm9sdW1lIHJhbmdlIG9mIDAtMjU1LCB3aGljaCBpcyB3aGF0IHRoZSBzdW4gYXVkaW8gQVBJIHVzZXMuIFRoaXMgc2ltLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzogKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIEZpeCB1cCB0aGUgbWl4ZXIgdHJhY2tzIHRvIHVzZSBhIHZvbHVtZSByYW5nZSBvZiAwLTI1NSwgd2hpY2ggaXMgd2hhdAoJICB0aGUgc3VuIGF1ZGlvIEFQSSB1c2VzLiBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYW5kIGF2b2lkcyByb3VuZGluZwoJICBlcnJvcnMuIEZpeGVzICM1MjQ1OTMuCgoyMDA4LTAzLTI2IDE1OjEwOjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBBZGQgZGV2aWNlLWZkIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYXBwcyB0byBjYWxsIGlvY3RsJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZGV2aWNlLWZkIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYXBwcyB0byBjYWxsIGlvY3RsJ3MuCgoyMDA4LTAzLTI1IDE2OjQ0OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVbmJyZWFrIHN0cmVhbWluZyBtb2RlIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpOgoJICBVbmJyZWFrIHN0cmVhbWluZyBtb2RlIGFnYWluLgoKMjAwOC0wMy0yNSAxMjozOToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogUmVtb3ZlIHN1cGVyZmx1b3VzIERFQlVHIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyBERUJVRyBtYWNyby4KCjIwMDgtMDMtMjUgMTI6MzM6MDkgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2Ugc3VwcG9ydHMgc2V0dGluZyB0aGUgZnJhbWVyYXRlIGJlZm9yZSB0cnlpbmcgdG8gc2V0IGl0IGFuZCB0aGVuIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBjb20gaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZnJhY3Rpb25zX2FyZV9lcXVhbCksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6CgkgIENoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBzdXBwb3J0cyBzZXR0aW5nIHRoZSBmcmFtZXJhdGUgYmVmb3JlCgkgIHRyeWluZyB0byBzZXQgaXQgYW5kIHRoZW4gcG9zdGluZyBhIHdhcm5pbmcgb3IgZXJyb3IgaWYgaXQgZG9lc24ndAoJICB3b3JrICgjNTE2NjQ5LCAjNTIwMDkyKS4gQWxzbyBjb21wYXJlIGZyYWN0aW9ucyBtb3JlIGNvcnJlY3RseS4KCjIwMDgtMDMtMjQgMTI6MzI6NTkgKzAwMDAgIFJlbmUgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmMgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfZ2FwX2J1ZmZlcnMpLAoJICAocmdhbmFseXNpc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmMgKHRlc3RfZ2FwKSwgKHJnbGltaXRlcl9zdWl0ZSk6CgkgIEFkZCB0ZXN0cyB0byB2ZXJpZnkgZ2FwLWF3YXJlbmVzcy4KCjIwMDgtMDMtMjMgMTM6MzE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHBwYyBhc3NlbWJsZXIgb3B0aW1pc2F0aW9ucyBmcm9tIHRoZSBidWlsZCB1bnRpbCB0aGV5IGFjdHVhbGx5IGJ1aWxkICh0aGV5IGFsc28gc2VlbSB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBwcGMgYXNzZW1ibGVyIG9wdGltaXNhdGlvbnMgZnJvbSB0aGUgYnVpbGQgdW50aWwgdGhleQoJICBhY3R1YWxseSBidWlsZCAodGhleSBhbHNvIHNlZW0gdG8gaGF2ZSBHUEwgaGVhZGVycykuCgoyMDA4LTAzLTIzIDEyOjQ4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgbTQvTWFrZWZpbGUuYW06IEJldHRlciBub3QgZGlzdCBmaWxlcyB0aGF0IGRvbid0IGV4aXN0IGFueSBsb25nZXIgKGxyaW50Km00KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIEJldHRlciBub3QgZGlzdCBmaWxlcyB0aGF0IGRvbid0IGV4aXN0IGFueSBsb25nZXIgKGxyaW50Km00KS4KCjIwMDgtMDMtMjIgMTk6MjY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBHSU8gYW5kIEdub21lVkZTIGFzIHRoZXkgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi4KCSAgRG9uJ3QgbGVhayB0aGUgaWN5IGNhcHMgaWYgd2UgYWxyZWFkeSBzZXQgdGhlbSBhbmQgZ2V0IGEgbmV3CgkgIGljeS1tZXRhaW50IGhlYWRlci4KCSAgVHJ5IGhhcmRlciB0byBzZXQgdGhlIGljeSBjYXBzIG9uIHRoZSBvdXRwdXQgYnVmZmVyIHRvIGhhdmUgY29ycmVjdAoJICBjYXBzIGZvciB0aGUgZmlyc3QgYnVmZmVyIGFscmVhZHkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBDaGVjayB0aGF0IHdlIGdldCBhIGJ1ZmZlciB3aXRoIGFwcGxpY2F0aW9uL3gtaWN5IGNhcHMgaWYgaXJhZGlvLW1vZGUKCSAgaXMgZW5hYmxlZCBhbmQgd2UgaGF2ZSBhbiBpY2VjYXN0IFVSTC4KCjIwMDgtMDMtMjIgMTg6MTg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpOgoJICBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBGaXhlcyBidWcgIzUyMzg1NC4KCjIwMDgtMDMtMjEgMTM6MzY6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBscmludC9scmludGYgY2hlY2tzLiBXZSBkb24ndCB1c2UgaXQgYW55d2hlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBtNC9scmludC5tNDoKCSAgKiBtNC9scmludGYubTQ6CgkgIFJlbW92ZSBscmludC9scmludGYgY2hlY2tzLiBXZSBkb24ndCB1c2UgaXQgYW55d2hlcmUuCgoyMDA4LTAzLTE5IDE5OjU2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZnJlZXplLzogQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZnJlZXplL0ZBUToKCSAgKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgRkFRLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgQWRkIGEgc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iLgoKMjAwOC0wMy0xOCAxNTowMzowNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubQoJICAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19uZXcpOiBBY3R1YWxseSBzZXQgYSBsb2NrIG9uIHRoZQoJICB0YXNrLCB3aG9vcGRlZS4KCSAgKGNvY29hX2V2ZW50X2xvb3ApOiBQYWNpZnkgdGhlIHRheW1hbnMgYnkgdXBwaW5nIHRoZSB1c2xlZXBhZ2UgdG8KCSAgMiBtcy4KCjIwMDgtMDMtMTggMTE6NTA6MDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfbmV3LCBjb2NvYV9ldmVudF9sb29wKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmggKHN0cnVjdCBfR3N0T1NYVmlkZW9TaW5rKTogSWYgd2UKCSAgbmVlZCB0byBydW4gYW4gZXZlbnQgbG9vcCwgZG8gc28gaW4gYSB0YXNrIGluc3RlYWQgb2YgYXNzdW1pbmcKCSAgdGhhdCB0aGVyZSB3aWxsIGJlIGEgR01haW5Mb29wLiBGaXhlcyAjNTIzMTM0LgoKMjAwOC0wMy0xNyAxOTo1MDo1OCArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IE1ha2Ugc3VyZSB0aGUgcHJvYmVkIGZyYW1lIHNpemVzIGFyZSByZXZlcnNlZCBpbiB0aGUgcmVzdWx0aW5nIGNhcHMgYWxzbyB3aGVuIHVzaW5nIFY0TDJfRlIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGNvbSBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgTWFrZSBzdXJlIHRoZSBwcm9iZWQgZnJhbWUgc2l6ZXMgYXJlIHJldmVyc2VkIGluIHRoZSByZXN1bHRpbmcKCSAgY2FwcyBhbHNvIHdoZW4gdXNpbmcgVjRMMl9GUk1TSVpFX1NURVBXSVNFIChzbyB0aGV5IGVuZCB1cAoJICBoaWdoZXN0IHJlc29sdXRpb24gZmlyc3QpOyBhbHNvIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIChQYXJ0bHkgZml4ZXMgIzUyMDA5MikKCjIwMDgtMDMtMTcgMTU6NTY6MDEgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENhbGwgV1NBU3RhcnR1cCgpIGFuZCBXU0FDbGVhbnVwIGJlZm9yZSB1c2luZyB0aGUgV2luc29jayBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSk6CgkgIENhbGwgV1NBU3RhcnR1cCgpIGFuZCBXU0FDbGVhbnVwIGJlZm9yZSB1c2luZyB0aGUgV2luc29jayBBUEkuCgkgIFNlZSAjNTIwODA4LgoKMjAwOC0wMy0xNiAxNTowMTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBFcm0sIHRoZSBidWZmZXItc2l6ZSBpcyBqdXN0IGd1aW50LCBubyBuZWVkIGZvciB0aGUgc3BlY2lhbCBmb3JtYXQgc3BlY2lmaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEVybSwgdGhlIGJ1ZmZlci1zaXplIGlzIGp1c3QgZ3VpbnQsIG5vIG5lZWQgZm9yIHRoZSBzcGVjaWFsIGZvcm1hdAoJICBzcGVjaWZpZXIuCgoyMDA4LTAzLTE2IDE0OjM0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBTbWFsbCBmaXhlcyB0byBidWlsZCBtb3JlIG9uIFBQQzogaWZkZWYgb3V0IGNvZGUgdGhhdCB1c2VzIHVua25vd24gZGVmaW5lOyBhZGQgbmV3bGluZSBhdCBlbmQgb2YgaGVhZGVyIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuaDoKCSAgU21hbGwgZml4ZXMgdG8gYnVpbGQgbW9yZSBvbiBQUEM6IGlmZGVmIG91dCBjb2RlIHRoYXQgdXNlcyB1bmtub3duCgkgIGRlZmluZTsgYWRkIG5ld2xpbmUgYXQgZW5kIG9mIGhlYWRlciBmaWxlIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgkgIEFzc2VtYmxlciBjb2RlIHN0aWxsIGRvZXNuJ3QgYnVpbGQgdGhvdWdoLgoKMjAwOC0wMy0xNiAxNDowNDoxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdXAgbXkgbGFzdCBjb21taXQuIFVzZSBHX0dVSU5UMzJfRk9STUFUIGZvciB0aGUgZ3VpbnQzMiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHVwIG15IGxhc3QgY29tbWl0LiBVc2UgR19HVUlOVDMyX0ZPUk1BVCBmb3IgdGhlIGd1aW50MzIgZGVidWcgbG9nLgoJICBBbHNvIGRvd25ncmFkZSBhIEdTVF9XQVJOSU5HIHRvIEdTVF9ERUJVRyBhbmQgYWRkIGEgY29tbWVudC4KCjIwMDgtMDMtMTUgMjI6MTA6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2h1bmtzaXplIGlzIHVpbnQzMi4gRml4IGZvcm1hdCBzcGVjaWZpZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgQ2h1bmtzaXplIGlzIHVpbnQzMi4gRml4IGZvcm1hdCBzcGVjaWZpZXIuCgoyMDA4LTAzLTE0IDE1OjUzOjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHNwL0NPUFlJTkcuTUlUOgoJICBmaXggbGljZW5zZSBmaWxlLCByZW1vdmUgZXh0cmEgbGluZSBjb3BpZWQgb3ZlciBieSBtaXN0YWtlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbGljZW5zZSBmaWxlLCByZW1vdmUgZXh0cmEgbGluZSBjb3BpZWQgb3ZlciBieSBtaXN0YWtlCgoyMDA4LTAzLTEzIDE0OjMwOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZAoJICBvZiBoYXJkY29kaW5nIHZhbHVlcy4KCjIwMDgtMDMtMTMgMDk6NDU6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgoyMDA4LTAzLTExIDIzOjEyOjA0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuKjogQ2FjaGUgcHJvYmVkIGNhcHMsIHNvIF9nZXRfY2FwcygpIGR1cmluZyByZWNvcmRpbmcgZG9lc24ndCBjYXVzZSBpb2N0bCBjYWxscyB3aGljaCBtYXkgZGlzcnVwdCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfaW5pdCksIChnc3Rfb3NzX3NyY19nZXRjYXBzKSwKCSAgKGdzdF9vc3Nfc3JjX2Nsb3NlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJICBDYWNoZSBwcm9iZWQgY2Fwcywgc28gX2dldF9jYXBzKCkgZHVyaW5nIHJlY29yZGluZyBkb2Vzbid0IGNhdXNlCgkgIGlvY3RsIGNhbGxzIHdoaWNoIG1heSBkaXNydXB0IHRoZSByZWNvcmRpbmcgKGZpeGVzICM1MjE4NzUpLgoKMjAwOC0wMy0xMSAxNjoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIGEgRElTQ09OVCBhZnRlciBhIHNlZWsgYnkgc2V0dGluZyB0aGUgc2FtcGxlIGluZGV4IHRvIGFuIHVuZGVmaW5lZCB2YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIGEgRElTQ09OVCBhZnRlciBhIHNlZWsgYnkgc2V0dGluZyB0aGUgc2FtcGxlCgkgIGluZGV4IHRvIGFuIHVuZGVmaW5lZCB2YWx1ZSBhZnRlciBhIHNlZWsuCgoyMDA4LTAzLTExIDE1OjE4OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOiBGaXggdXAgSVNfRk9PIG1hY3Jvcywgd2hpY2ggbWFrZXMgZ3RrLWRvYyBtdWNoIGhhcHBpZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDogKEdTVF9JU19BVklfU1VCVElUTEUpLAoJICAoR1NUX0lTX0FWSV9TVUJUSVRMRV9DTEFTUyk6CgkgIEZpeCB1cCBJU19GT08gbWFjcm9zLCB3aGljaCBtYWtlcyBndGstZG9jIG11Y2ggaGFwcGllci4KCjIwMDgtMDMtMDggMTk6Mjk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogTW92ZSB0aGUgLWxnc3Rmb28gd2hlcmUgaXQgYmVsb25ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIC1sZ3N0Zm9vIHdoZXJlIGl0IGJlbG9uZ3MuCgoyMDA4LTAzLTA4IDE5OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCjIwMDgtMDMtMDggMDQ6NDA6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOiBBZGQgSUQgZm9yIEVCTUwgQ1JDMzIgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJICBBZGQgSUQgZm9yIEVCTUwgQ1JDMzIgZWxlbWVudHMuCgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX2ZpbmFsaXplKSwKCSAgKGdzdF9lYm1sX3JlYWRfY2xhc3NfaW5pdCksIChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKSwgKF9leHQyZGJsKSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBTdXBwb3J0IHJlYWRpbmcgODBiaXQgZmxvYXRzLCBhZGQgZmluYWxpemUgbWV0aG9kIHRvIGNsZWFuIHVwCgkgIGluIGFueSBjYXNlLCBzdXBwb3J0IHJlYWRpbmcgbGVuZ3RoL2lkIGVsZW1lbnRzIHdpdGggYW55IGxlbmd0aAoJICBhcyBsb25nIGFzIGl0J3Mgc21hbGxlciB0aGFuIG91ciBzdXBwb3J0ZWQgbWF4aW11bSwgZG9uJ3QgbGVhawoJICBidWZmZXJzIGlmIHJlYWRpbmcgYXMgbXVjaCBkYXRhIGFzIHdlIHdhbnRlZCBmYWlsZWQgYW5kIHNvbWUKCSAgc21hbGxlciBjbGVhbnVwLgoKMjAwOC0wMy0wOCAwNDoyMTozNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiBDaGVjayB0aGF0IGEgYnVmZmVyIGlzIGxhcmdlIGVub3VnaCBiZWZvcmUgcmVhZGluZyBmcm9tIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgQ2hlY2sgdGhhdCBhIGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggYmVmb3JlIHJlYWRpbmcgZnJvbSBpdC4KCSAgRml4ZXMgYnVnICM1MjExMDIuCgoyMDA4LTAzLTA3IDE1OjU0OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGNvbXBpbGF0aW9uIGFmdGVyIHJlbW92aW5nIHRoZSBHc3RQb2xsTW9kZSBmcm9tIHRoZSBjb25zdHJ1Y3Rvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBGaXggY29tcGlsYXRpb24gYWZ0ZXIgcmVtb3ZpbmcgdGhlIEdzdFBvbGxNb2RlIGZyb20gdGhlCgkgIGNvbnN0cnVjdG9yLgoKMjAwOC0wMy0wNyAxMzowODo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ2hlY2sgZm9yIHNpbmgoKSwgY29zaCgpIGFuZCBhc2luaCgpIGFuZCBkZWZpbmUgb3VyIG93biBpbXBsZW1lbnRhdGlvbnMgaWYgdGhleSdyZSBub3QgYXZhaWxhYmxlLiBGaXhlcyBidWcgIzUyMDg4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L21hdGhfY29tcGF0Lmg6CgkgIENoZWNrIGZvciBzaW5oKCksIGNvc2goKSBhbmQgYXNpbmgoKSBhbmQgZGVmaW5lIG91ciBvd24KCSAgaW1wbGVtZW50YXRpb25zIGlmIHRoZXkncmUgbm90IGF2YWlsYWJsZS4gRml4ZXMgYnVnICM1MjA4ODAuCgoyMDA4LTAzLTA3IDEyOjQwOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFVucmVmIHRoZSBidWZmZXJzIG9ubHkgb25jZSB3aGVuIGhhbmRsaW5nIG5vdC1uZWdvdGlhdGVkIGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfY2hhaW4pOgoJICBVbnJlZiB0aGUgYnVmZmVycyBvbmx5IG9uY2Ugd2hlbiBoYW5kbGluZyBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgkgIEZpeGVzIGJ1ZyAjNTIwNzY0LgoKMjAwOC0wMy0wNyAxMDowMTo0MCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFByb3Blcmx5IGJhbGFuY2UgV1NBX0NsZWFudXAgd2l0aCBXU0FfU3RhcnR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19maW5hbGl6ZSksIChnc3RfdWRwc3JjX3N0YXJ0KSwKCSAgKGdzdF91ZHBzcmNfc3RvcCk6CgkgIFByb3Blcmx5IGJhbGFuY2UgV1NBX0NsZWFudXAgd2l0aCBXU0FfU3RhcnR1cC4KCSAgQWxzbyBtYWtlIHRoZSBwb2xsIGNvbnRyb2xsYWJsZSBvbiB3aW5kb3dzLiBGaXhlcyAjNTIwODg4LgoKMjAwOC0wMy0wNiAxOTo0Nzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEhhbmRsZSByZXR1cm4gdmFsdWVzIGZyb20gcHVsbF9yYW5nZSBpbiBhIG1vcmUgZ3JhbnVsYXIgd2F5IHRvIHByb3Blcmx5IHNodXQgZG93biBvbiBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfcHVsbF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9wZWVrX2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfc2tpcCksIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwgKGdzdF9lYm1sX3JlYWRfdXRmOCksCgkgIChnc3RfZWJtbF9yZWFkX2RhdGUpLCAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpLCAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEhhbmRsZSByZXR1cm4gdmFsdWVzIGZyb20gcHVsbF9yYW5nZSBpbiBhIG1vcmUgZ3JhbnVsYXIgd2F5IHRvIHByb3Blcmx5CgkgIHNodXQgZG93biBvbiBzZWVrcy4KCSAgQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gcHVzaC4KCSAgSW1wbGVtZW50IHByb3BlciBlcnJvciBoYW5kbGluZy4KCSAgUHJlcGFyZSBmb3IgaGFuZGxpbmcgc2Vla2luZyBjb3JyZWN0bHkuCgoyMDA4LTAzLTAzIDIyOjAxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogVXNlIEdJTlQ2NCBmb3JtYXR0aW5nIGNvbnN0YW50cyBmcm9tIEdMSUIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgVXNlIEdJTlQ2NCBmb3JtYXR0aW5nIGNvbnN0YW50cyBmcm9tIEdMSUIuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIEFkZCBzb21lIGd1YXJkcyB0byBhdm9pZCBhIHBvc3NpYmxlIGRpdmlzaW9uIGJ5IDAgYW5kIGNyYXNoaW5nCgkgIHdpdGggTlVMTCBldmVudHMgb24gc29tZSBzeXN0ZW1zLgoJICBVc2UgZ3N0X2dkb3VibGVfdG9fZ3VpbnQ2NCBzb21ld2hlcmUgaW5zdGVhZCBvZiBhbiBpbXBsaWNpdAoJICBjb252ZXJzaW9uLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQ2hlY2sgZm9yIGludmFsaWQgdGltZXN0YW1wcyBpbiBhIGJ1bmNoIG9mIHBsYWNlcyB0byBhdm9pZAoJICB3cml0aW5nIGJvZ3VzIGR1cmF0aW9ucyBpbnRvIHRoZSBvdXRwdXQgZmlsZS4KCSAgRml4IHNvbWUgZG91YmxlPC0+Z2ludDY0IGNvbnZlcnNpb25zIHRoYXQgd2VyZW4ndCB1c2luZwoJICBnc3RfZ3VpbnQ2NF90b19nZG91YmxlCgoyMDA4LTAzLTAzIDEzOjAzOjQzICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTW92ZSB0aGUgY2hlY2tzIGZvciBiaXNvbiwgZmxleCBhbmQgYXMgdG8gdGhlIHByb2dyYW0gc2VjdGlvbiBhbmQgdGhlIGNoZWNrIGZvciBnY2MgaW5saW5lIGFzbSB0byB0aGUgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1vdmUgdGhlIGNoZWNrcyBmb3IgYmlzb24sIGZsZXggYW5kIGFzIHRvIHRoZSBwcm9ncmFtIHNlY3Rpb24gYW5kIHRoZQoJICBjaGVjayBmb3IgZ2NjIGlubGluZSBhc20gdG8gdGhlIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcyBzZWN0aW9uLgoKMjAwOC0wMy0wMyAxMjoxMDo1NSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2ggcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoCgkgIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0OTgyMjIpCgoyMDA4LTAyLTI5IDEyOjM1OjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IGNhbGwgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpIHVubGVzcyB3ZSBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKToKCSAgRG9uJ3QgY2FsbCBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkgdW5sZXNzIHdlIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA4LTAyLTI5IDA2OjE4OjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCBEaXJhYyBtYXBwaW5nLiAgSSBoYWQgcHJldmlvdXNseSBhZGRlZCBhIFZmVy10eXBlIG1hcHBpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIERpcmFjIHdpbGwgZ2V0IGEgbmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggRGlyYWMgbWFwcGluZy4gIEkgaGFkIHByZXZpb3VzbHkgYWRkZWQgYSBWZlctdHlwZQoJICBtYXBwaW5nLCBidXQgaXQgbG9va3MgbGlrZSBEaXJhYyB3aWxsIGdldCBhIG5hdGl2ZSBNYXRyb3NrYQoJICBtYXBwaW5nLCBhbmQgdGhpcyBpcyB0aGUgbW9zdCBsaWtlbHkgbWV0aG9kLgoKMjAwOC0wMi0yOCAyMzo1NjozMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBZGQgRGlyYWMgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogQWRkIERpcmFjIGVuY29kaW5nCgoyMDA4LTAyLTI4IDExOjUxOjI0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IFBvcnQgdG8gR3N0UG9sbC4gU2VlICM1MDU0MTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfaW5pdCksIChnc3RfdWRwc3JjX2NyZWF0ZSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwKCSAgKGdzdF91ZHBzcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBQb3J0IHRvIEdzdFBvbGwuIFNlZSAjNTA1NDE3LgoKMjAwOC0wMi0yOCAwODozNzo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIHdoZW4gdGhlIGNhcHMgYXJlIG5vdCBzZXQgeWV0IG9uIHRoZSBzcmNwYWQuIFdlIG5lZWQgcmF0ZSBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgd2hlbiB0aGUgY2FwcyBhcmUgbm90IHNldAoJICB5ZXQgb24gdGhlIHNyY3BhZC4gV2UgbmVlZCByYXRlIGFuZCBjaGFubmVscyBiZWZvcmUgd2UKCSAgY2FuIGRvIGFueSBwcm9jZXNzaW5nLiBGaXhlcyBidWcgIzUxOTA4OC4KCjIwMDgtMDItMjYgMTA6MDk6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgYW5kIGluZGljYXRlIGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgc3ludGF4IGlzIGF2YWlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgYW5kIGluZGljYXRlIGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgc3ludGF4IGlzCgkgIGF2YWlsYWJsZS4KCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vaWZzLmM6CgkgICogZ3N0L2dvb20vbW14LmM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIEZpeCB2YXJpb3VzIEdDQy1pc21zLCBhbmQgb25seSBidWlsZCB0aGUgaW5saW5lIGFzc2VtYmx5CgkgIHdpdGggY29tcGlsZXJzIHRoYXQgc3VwcG9ydCBHQ0MgaW5saW5lIGFzc2VtYmx5LgoJICBGaXggYSBjb3VwbGUgb2Ygb3RoZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCjIwMDgtMDItMjYgMDU6MzY6MTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4gdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbgoJICB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCjIwMDgtMDItMjUgMTI6MDM6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tL3htbXguYzogVXNlICdlbW1zJyBpbnN0ZWFkIG9mICdmZW1tcycgdG8gbm90IGNyYXNoIG9uIGNwdXMgdGhhdCBkbyBub3QgaW1wbGVtZW50IHRoaXMgM2Rub3cgc3BlY2lmaWMgaW5zdHJ1Yy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIFVzZSAnZW1tcycgaW5zdGVhZCBvZiAnZmVtbXMnIHRvIG5vdCBjcmFzaCBvbiBjcHVzIHRoYXQgZG8gbm90CgkgIGltcGxlbWVudCB0aGlzIDNkbm93IHNwZWNpZmljIGluc3RydWN0aW9uLgoKMjAwOC0wMi0yNSAxMDozMjozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogVXNlIGV4dGVuZGVkIE1NWCBmb3IgZHJhd19saW5lKCkgdG9vIGlmIGF2YWlsYWJsZSwgbm90IG9ubHkgbm9ybWFsIE1NWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBVc2UgZXh0ZW5kZWQgTU1YIGZvciBkcmF3X2xpbmUoKSB0b28gaWYgYXZhaWxhYmxlLCBub3Qgb25seQoJICBub3JtYWwgTU1YLgoKMjAwOC0wMi0yNSAwNjo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwZWcvZ3N0anBlZy5jOiBSZW1vdmUgKGNvbW1lbnRlZCBvdXQpIHNtb2tlIHR5cGVmaW5kZXIuIFRoaXMgaXMgaW4gYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIChjb21tZW50ZWQgb3V0KSBzbW9rZSB0eXBlZmluZGVyLiBUaGlzIGlzIGluIGJhc2Ugbm93LgoKMjAwOC0wMi0yMyAxNTowMjoxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbTJrMS86IFJlbmFtZSB0aGUgaW5zdGFsbGVkIGxpYnJhcnksIGFuZCBkb24ndCByZWdpc3RlciB0aGUgc2FtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIFJlbmFtZSB0aGUgaW5zdGFsbGVkIGxpYnJhcnksIGFuZCBkb24ndCByZWdpc3RlciB0aGUgc2FtZQoJICBHVHlwZSBuYW1lIGFzIHRoZSBuZXcgZ29vbS4KCjIwMDgtMDItMjMgMTI6MjM6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgdXNlIHRoZW0gd2hlbiBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcKCSAgQysrIGNvZGUgKCM1MTY1MDkpLgoKMjAwOC0wMi0yMyAxMjoxMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogQ2FsbCBvaWxfaW5pdCgpLCBvdGhlcndpc2Ugb2lsX2dldF9jcHVfZmxhZ3MoKSB3b24ndCByZXR1cm4gYW55dGhpbmcgdXNlZnVsLiBFeHBvcnQgZ29vbSBkZWJ1ZyBjYXRlZ29yeSBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnb29tX2RlYnVnKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoZ29vbV9kZWJ1ZyksIChHU1RfQ0FUX0RFRkFVTFQpLAoJICAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIENhbGwgb2lsX2luaXQoKSwgb3RoZXJ3aXNlIG9pbF9nZXRfY3B1X2ZsYWdzKCkgd29uJ3QgcmV0dXJuCgkgIGFueXRoaW5nIHVzZWZ1bC4gRXhwb3J0IGdvb20gZGVidWcgY2F0ZWdvcnkgc28gd2UgY2FuIGdldAoJICByaWQgb2YgdGhlIFZFUkJPU0UgZGVmaW5lIGFuZCB0aGUgcHJpbnRmcy4KCjIwMDgtMDItMjMgMTE6NTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENvbXBpbGUgZml4ZXMgZm9yIHg4Ni02NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hlYXAuYzogKGFsaWduX2l0KToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIENvbXBpbGUgZml4ZXMgZm9yIHg4Ni02NC4KCjIwMDgtMDItMjMgMDM6MTA6NTUgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9nb29tL01ha2VmaWxlLmFtOiBEb24ndCBjb21waWxlIGxleCBvciB5YWNjIG91dHB1dHMgd2l0aCB3YXJuaW5ncywgYnV0IGFkZCBvdGhlciBDRkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06IERvbid0IGNvbXBpbGUgbGV4IG9yIHlhY2Mgb3V0cHV0cwoJICB3aXRoIHdhcm5pbmdzLCBidXQgYWRkIG90aGVyIENGTEFHUwoJICAqIGdzdC9nb29tL2dvb21zbC5jIChnc2xfaW5zdHJfc2V0X25hbWVzcGFjZSksCgkgIChnc2xfaW5zdHJfYWRkX3BhcmFtKSwgKGlmbG93X2V4ZWN1dGUpLCAoZ3NsX2VudGVybmFtZXNwYWNlKSwKCSAgKGNhbGN1bGF0ZV9sYWJlbHMpLCAoZ3NsX3JlYWRfZmlsZSk6CgkgICogZ3N0L2dvb20vZ29vbXNsX2xleC5sOgoJICAqIGdzdC9nb29tL2dvb21zbF95YWNjLnk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogUmVtb3ZlIGEgZmV3IGxpdmUgcHJpbnRmLCBhbmQKCSAgZnByaW50ZiwgcmVwbGFjZSBleGl0KCkgY2FsbHMgd2l0aCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIGlmIGl0IG5vdCBvcHRpbWFsIGZvciBhIGxpYnJhcnkKCjIwMDgtMDItMjMgMDI6Mzg6MDMgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9nb29tL01ha2VmaWxlLmFtOiBSZW1vdmUgdGhlIHdhcm5pbmdzIGJlaW5nIGRpc2FibGVkLCBmaXggbGlua2FnZSBvbiB4ODYsIHNwb3R0ZWQgYnkgU2ViYXN0aWFuIERyw7ZnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHRoZSB3YXJuaW5ncyBiZWluZyBkaXNhYmxlZCwKCSAgZml4IGxpbmthZ2Ugb24geDg2LCBzcG90dGVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UKCSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jIChjb252b2x2ZV9pbml0KSwKCSAgKGNyZWF0ZV9vdXRwdXRfd2l0aF9icmlnaHRuZXNzKSwgKGNvbnZvbHZlX2FwcGx5KToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmMgKHpvb21GaWx0ZXJWaXN1YWxGWFdyYXBwZXJfY3JlYXRlKToKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzoKCSAgKiBnc3QvZ29vbS9pZnMuYyAoaWZzX3VwZGF0ZSksIChpZnNfdmlzdWFsZnhfY3JlYXRlKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuYyAodGVudGFjbGVfZnhfY3JlYXRlKToKCSAgRml4IHdhcm5pbmdzLCBhbmQgZGlzYWJsZSB0aGUgbW90aWZzIGluIHRoZSBjb252b2x2ZV9meAoJICBwbHVnaW4gKHRoZXkgd2VyZSBjYXVzaW5nIHdhcm5pbmdzLCBhbmQgdGhleSB3ZXJlIGp1c3QKCSAgIkdvb20iIGluIGZ1bm55IGxldHRlcnJpbmcpCgoyMDA4LTAyLTIzIDAxOjUxOjM3ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBjaGVja3MgZm9yIEZsZXgvWWFjYy9CaXNvbiBhbmQgb3RoZXIgZnVycnkgYW5pbWFscywgZm9yIHRoZSBuZXcgZ29vbSAyazQgYmFzZWQgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTIzICBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzc0BoYWRlc3MubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIGNoZWNrcyBmb3IgRmxleC9ZYWNjL0Jpc29uIGFuZCBvdGhlcgoJICBmdXJyeSBhbmltYWxzLCBmb3IgdGhlIG5ldyBnb29tIDJrNCBiYXNlZCBwbHVnaW4KCSAgKiBnc3QvZ29vbS8qOiBVcGRhdGUgdG8gdXNlIGdvb20gMms0LCB1c2VzIGxpYm9pbCB0byBkZXRlY3QKCSAgQ1BVIG9wdGltaXNhdGlvbnMgKG5vdCB3b3JraW5nIHlldCksIG1vdmUgdGhlIG9sZCBwbHVnaW4gdG8uLi4KCSAgKiBnc3QvZ29vbTJrMS8qOiAuLi4gaGVyZSwgaW4gY2FzZSBzb21lYm9keSBpcyBzaWNrIGVub3VnaAoJICBGaXhlcyAjNTE1MDczCgoyMDA4LTAyLTIyIDA5OjU2OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQb3N0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgY29kZSBpbiBhbiBlcnJvciBtZXNzYWdlIGluc3RlYWQgb2YgYSBnZW5lcmljICdlcnJvcicgbWVzc2FnZS4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBQb3N0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgY29kZSBpbiBhbiBlcnJvciBtZXNzYWdlIGluc3RlYWQgb2YgYSBnZW5lcmljCgkgICdlcnJvcicgbWVzc2FnZS4gRml4ZXMgIzUxNzIzNy4KCjIwMDgtMDItMjIgMDc6MjA6MDMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19jaHVua19mcmVlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBQcmVmaXggcHJveHkgVVJJcyB3aXRoICJodHRwOi8vIiBpZiB0aGV5IGRvbid0IHN0YXJ0IHdpdGggaXQKCSAgYWxyZWFkeSBhbmQgY2F0Y2ggZXJyb3JzIGVhcmxpZXIsIGZpeGVzIGhhbmdpbmcgaW4gc29tZSBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzUxNDk0OC4KCjIwMDgtMDItMjIgMDY6MjI6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBJZ25vcmUgZ2NvbmZhdWRpb3NyYyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QgdG9vLiBJdCB3aWxsIGZhbGxiYWNrIHRvIGFsc2FzcmMgaWYgdGhlIGdjb25mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIGdjb25mYXVkaW9zcmMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0IHRvby4gSXQgd2lsbCBmYWxsYmFjawoJICB0byBhbHNhc3JjIGlmIHRoZSBnY29uZiBzZXR0aW5ncyBjYW4ndCBiZSByZWFkIGFuZCBub3QgZXZlcnlib2R5IGhhcwoJICBhbHNhLgoKMjAwOC0wMi0yMiAwNjowNjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IEFsd2F5cyByZXBvcnQgdGhlIGR1cmF0aW9uIGlmIHdlIGtub3cgaXQgaW4gcHVzaCBtb2RlIGFuZCBkb24ndCByZXR1cm4gMCBqdXN0IHRvIG1ha2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWx3YXlzIHJlcG9ydCB0aGUgZHVyYXRpb24gaWYgd2Uga25vdyBpdCBpbiBwdXNoIG1vZGUgYW5kIGRvbid0CgkgIHJldHVybiAwIGp1c3QgdG8gbWFrZSB0b3RlbSBiZWxpZXZlIHdlIGNhbid0IHNlZWsgaW4gcHVzaCBtb2RlLgoJICBOZXdlciB0b3RlbSB2ZXJzaW9uIHVzZSB0aGUgU0VFS0lORyBxdWVyeSB3aGljaCBwcm9wZXJseSByZXBvcnRzCgkgIGlmIHdlIGNhbiBzZWVrIG9yIG5vdC4KCjIwMDgtMDItMjIgMDU6Mzk6MDEgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IEM4OSBmaXgsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICBDODkgZml4LCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YKCSAgdGhlIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzMy4KCjIwMDgtMDItMjEgMjM6NDc6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4uLgoKPT09IHJlbGVhc2UgMC4xMC43ID09PQoKMjAwOC0wMi0yMSAwMDowOTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjcgLSBSZWQgRG9vciBCbGFjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjcgLSBSZWQgRG9vciBCbGFjawoKMjAwOC0wMi0yMCAyMjo1MTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDItMTkgMTA6NDc6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hbHBoYS9NYWtlZmlsZS5hbTogTGluayBhbHBoYSBwbHVnaW4gd2l0aCBsaWJnc3RiYXNlLiBGaXhlcyBidWcgIzUxNzM4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICBMaW5rIGFscGhhIHBsdWdpbiB3aXRoIGxpYmdzdGJhc2UuIEZpeGVzIGJ1ZyAjNTE3Mzg2LgoKMjAwOC0wMi0xOCAxMToxMzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5pdCB2YWx1ZXMgdG8gLTEgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAwIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKToKCSAgSW5pdCB2YWx1ZXMgdG8gLTEgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAwIHZhbHVlLgoJICBGaXhlcyAjNTE2NTI0LgoKMjAwOC0wMi0xNCAxNDo1MDozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOiBBZGQgbWlzc2luZyBpbmNsdWRlIHRvIGZpeCBjb21waWxhdGlvbiB3aGVuIGxpYnhtbCB1c2FnZSBpcyBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBBZGQgbWlzc2luZyBpbmNsdWRlIHRvIGZpeCBjb21waWxhdGlvbiB3aGVuIGxpYnhtbCB1c2FnZSBpcyBkaXNhYmxlZC4KCSAgRml4ZXM6ICM1MTYzNzEKCjIwMDgtMDItMTIgMjM6Mzg6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBmaXhlczogIzUxNDg4OQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6ICBXaW0gVGF5bWFucyAgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCSAgZml4ZXM6ICM1MTQ4ODkKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IHZhcmlvdXMgbGVha3Mgc2hvd24gdXAgaW4gdmFsZ3JpbmQKCSAgLSBmcmVlIHNwcm9wcyBhbmQgYnVmZmVyIGluIGVycm9yIGNhc2VzIGluIEgyNjQgcGF5bG9hZGVyCgkgIC0gZml4IGxlYWsgaW4gbXA0ZyBkZXBheWxvYWRlciB3aGVuIGNvbnN0cnVjdGlvbiB0aGUgY2FwcwoJICAtIGRvbid0IGxlYWsgY29uZmlnIHN0cmluZyBpbiB0aGUgbXA0ZyBwYXlsb2FkZXIKCSAgLSBkb24ndCBsZWFrIGJ1ZmZlcnMgYW5kIGhlYWRlcnMgaW4gdGhlb3JhIGFuZCB2b3JiaXMgcGF5bG9hZGVycwoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEZpeCB0aGUgUlRQIGRhdGEgdGVzdAoJICAtIEFjdHVhbGx5IHNlbmQgdmFsaWQgYW1yIGRhdGEgdG8gdGhlIHBheWxvYWRlciBpbnN0ZWFkIG9mIDIwCgkgIHplcm8tYnl0ZXMKCSAgLSBUaGUgbXA0ZyBwYXlsb2FkZXIgZXhwZWN0cyBjb2RlY19kYXRhIG9uIHRoZSBjYXBzCgoyMDA4LTAyLTEyIDIxOjM2OjQwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIGxpYmdzdHBuZy5kc3AgdG8gTUFOSUZFU1QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbGliZ3N0cG5nLmRzcCB0byBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgIEFkZCBuZXcgc291cmNlIGZpbGVzIHRvIFZTIHByb2plY3QgZmlsZS4KCjIwMDgtMDItMTIgMTM6MzQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogSW5pdGlhbGlzZSB2YXJpYWJsZXMgd2hlbiBvcGVuaW5nIHRoZSBYIGRpc3BsYXkgcmF0aGVyIHRoYW4gaW4gX3N0YXJ0KCksIGFzIHRoZSBkaXNwbGF5IGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEluaXRpYWxpc2UgdmFyaWFibGVzIHdoZW4gb3BlbmluZyB0aGUgWCBkaXNwbGF5IHJhdGhlcgoJICB0aGFuIGluIF9zdGFydCgpLCBhcyB0aGUgZGlzcGxheSBjYW4gYmUgb3BlbmVkIGJlZm9yZSB0aGF0LgoJICBGaXhlczogIzUxNTk4NQoKMjAwOC0wMi0xMiAxMjoyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kZHJhd3N1cmZhY2VfY2xhc3NfaW5pdCksIChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZmluYWxpemUpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoKMjAwOC0wMi0xMiAxMTozODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBDaGFpbiB1cCB0aGUgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2NsYXNzX2luaXQpOgoJICBDaGFpbiB1cCB0aGUgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4NC4KCjIwMDgtMDItMTIgMTE6MTQ6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiBDaGFpbiB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24gZm9yIG91ciBjdXN0b20gYnVmZmVyIHN1Yi1jbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIENoYWluIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBmb3Igb3VyIGN1c3RvbQoJICBidWZmZXIgc3ViLWNsYXNzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgRml4ZXM6ICM1MTU3MDYKCjIwMDgtMDItMTIgMTE6MTI6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWJ1Zy9lZmVuY2UuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgbWV0aG9kLiBGaXhlcyBidWcgIzUxNTk3OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2ZlbmNlZF9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIG1ldGhvZC4gRml4ZXMgYnVnICM1MTU5NzkuCgoyMDA4LTAyLTEyIDExOjA5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZyZWUgYWxsb2NhdGVkIERhbWFnZSBtZW1vcnkgYmVmb3JlIGNsb3Npbmcgb3VyIGNvbm5lY3Rpb24gdG8gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEZyZWUgYWxsb2NhdGVkIERhbWFnZSBtZW1vcnkgYmVmb3JlIGNsb3Npbmcgb3VyIGNvbm5lY3Rpb24gdG8gdGhlCgkgIFggc2VydmVyLiBGaXhlczogIzUxNTcwNgoKMjAwOC0wMi0xMiAwNToyMTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoKMjAwOC0wMi0xMiAwNToxNDoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGEgZmV3IGxpYmpwZWcgc3VwcHJlc3Npb25zIGFuZCBpbml0aWFsaXplIGEgdmFyaWFibGUgdG8gbWFrZSBzbW9rZWVuYyB2YWxncmluZCBjbGVhbi4gRml4ZXMgYnVnICM1MTU3MDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSAgQWRkIGEgZmV3IGxpYmpwZWcgc3VwcHJlc3Npb25zIGFuZCBpbml0aWFsaXplIGEgdmFyaWFibGUgdG8KCSAgbWFrZSBzbW9rZWVuYyB2YWxncmluZCBjbGVhbi4gRml4ZXMgYnVnICM1MTU3MDEuCgoyMDA4LTAyLTExIDIxOjI0OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmV2ZXJ0IHBhdGNoIHdoaWNoIHNlbmRzIHRpbWVzdGFtcHMgb25seSBvbiBrZXlmcmFtZXMsIGFzIGl0IGJyZWFrcyBwbGF5YmFjayB3aXRoIGN1cnJlbnQgZ3N0LS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCBwYXRjaCB3aGljaCBzZW5kcyB0aW1lc3RhbXBzIG9ubHkgb24ga2V5ZnJhbWVzLCBhcyBpdAoJICBicmVha3MgcGxheWJhY2sgd2l0aCBjdXJyZW50IGdzdC1mZm1wZWcuCgkgIEZpeGVzOiAjNTE1NTYyCgoyMDA4LTAyLTExIDE0OjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDbG9zZSBzb21lIG1lbW9yeSBsZWFrcyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuIEZpeGVzIGJ1ZyAjNTE1Njk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENsb3NlIHNvbWUgbWVtb3J5IGxlYWtzIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4gRml4ZXMgYnVnICM1MTU2OTcuCgoyMDA4LTAyLTExIDEzOjQ4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogVXNlIGFuZCB1bnNldCB0aGUgR0Vycm9yIHdoZW4gcGlwZWxpbmUgY3JlYXRpb24gZmFpbHMgaW5zdGVhZCBvZiBzaW1wbHkgbGVha2luZyBpdC4gRml4ZXMgYnVnICM1MTUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBVc2UgYW5kIHVuc2V0IHRoZSBHRXJyb3Igd2hlbiBwaXBlbGluZSBjcmVhdGlvbiBmYWlscyBpbnN0ZWFkIG9mCgkgIHNpbXBseSBsZWFraW5nIGl0LiBGaXhlcyBidWcgIzUxNTcwNC4KCjIwMDgtMDItMTAgMTA6NDY6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogRml4IGxvbmcgZGVzY3JpcHRpb24gb2YgYXVkaW9meCBlbGVtZW50cy4gRml4ZXMgYnVnICM1MTU0NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIEZpeCBsb25nIGRlc2NyaXB0aW9uIG9mIGF1ZGlvZnggZWxlbWVudHMuIEZpeGVzIGJ1ZyAjNTE1NDU3LgoKMjAwOC0wMi0wOSAwMTo0NTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgYSBzaW1wbGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdGhlIHNwZWN0cnVtIGVsZW1lbnQsIGluY2x1ZGUgaXQgaW4gdGhlIGRvY3MsIGFuZCBmaXggc29tZSBkb2N1bWVudGF0aW9uIGFtYmlndWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBBZGQgYSBzaW1wbGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdGhlIHNwZWN0cnVtIGVsZW1lbnQsIGluY2x1ZGUgaXQKCSAgaW4gdGhlIGRvY3MsIGFuZCBmaXggc29tZSBkb2N1bWVudGF0aW9uIGFtYmlndWl0aWVzLgoJICBGaXhlczogIzM0ODA4NQoKMjAwOC0wMi0wOSAwMDoxNToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggaW5jbHVkZXMgb3JkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBpbmNsdWRlcyBvcmRlcgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBFeGNsdWRlIHY0bDJzcmMgZnJvbSB0aGUgc3RhdGVzIHRlc3QgLSBpdCB0YWtlcyB0b28gbG9uZyB0byBzdGFydC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBNYWtlIHRoZSB0ZXN0IHJ1biBwcm9wZXJseSB3aXRoIENLX0ZPUks9bm8KCjIwMDgtMDItMDggMTU6MzI6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIDMgbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgMyBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMDgtMDItMDggMTU6Mjc6NTEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA4LTAyLTA4IDE1OjIwOjMxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGbGFnIGtleWZyYW1lIGFuZCBkZWx0YSB1bml0cyBjb3JyZWN0bHkgd2hlbiBkZWFsaWduIHdpdGggYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0wOCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKTogRmxhZwoJICBrZXlmcmFtZSBhbmQgZGVsdGEgdW5pdHMgY29ycmVjdGx5IHdoZW4gZGVhbGlnbiB3aXRoIGEKCSAgQmxvY2tHcm91cC4KCSAgRml4ZXM6ICM1MTQzOTcKCjIwMDgtMDItMDggMTA6MTk6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogU3BlbGwgdGhlIG5ldyB0ZXN0cyBjb3JyZWN0bHkgaW4gLmN2c2lnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBTcGVsbCB0aGUgbmV3IHRlc3RzIGNvcnJlY3RseSBpbiAuY3ZzaWdub3JlCgoyMDA4LTAyLTA4IDEwOjA5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogTmVlZCB0byB1c2UgZ3NpemUgaGVyZSBmb3IgdGhlIHNpemUsIGZpeGVzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgTmVlZCB0byB1c2UgZ3NpemUgaGVyZSBmb3IgdGhlIHNpemUsIGZpeGVzIGNvbXBpbGVyIHdhcm5pbmcuCgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIHRvIGZpeCB0aGUgYnVpbGQuCgoyMDA4LTAyLTA4IDA0OjI1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgbXVsdGlmaWxlIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIE1vdmUgbXVsdGlmaWxlIHBsdWdpbiBmcm9tIC1iYWQuCgkgIEZpeGVzOiAjNDkwMjgzCgoyMDA4LTAyLTA4IDAzOjQ0OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvOiBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBTaG91bGQgYmUgbGVzcyBlcnJvciBwcm9uZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyBzdGFuZGFyZCBmdW5jdGlvbnMgaW5zdGVhZCBvZgoJICBjcmVhdGluZyBhIGRpcmVjdG9yeSBpbiB0aGUgY3VycmVudCBkaXIuCgoyMDA4LTAyLTA4IDAzOjI4OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgc3BlY3RydW0gcGx1Z2luIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSBzcGVjdHJ1bSBwbHVnaW4gZnJvbSAtYmFkLgoJICBNb3ZlIGV4YW1wbGVzIGludG8gdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0uCgoyMDA4LTAyLTA4IDAyOjU2OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWVudGlvbiBidWcgNDE1NjI3IGZpeGVkIHdpdGggcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZW50aW9uIGJ1ZyA0MTU2MjcgZml4ZWQgd2l0aCBwcmV2aW91cyBjb21taXQKCjIwMDgtMDItMDggMDI6NDk6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiBhY3Jvc3MgZnJvbSAtYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luIGFjcm9zcyBmcm9tIC1iYWQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgZXF1YWxpemVyLCBhdWRpb3NpbmN3YmFuZCBhbmQgYXVkaW9zaW5jd2xpbWl0CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwOC0wMi0wOCAwMjo0ODo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUywgdG8gZ2V0IC1XZXJyb3IgLVdhbGwgaW50byB0aGUgdGVzdHMgYXMgZm9yCgkgIG90aGVyIG1vZHVsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgZnJvbSAtV2FsbCAtV2Vycm9yCgoyMDA4LTAyLTA4IDAxOjA3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBidWlsZCB3aXRoIERJU0FCTEVfREVQUkVDQVRFRCBkdXJpbmcgdGhlIENWUyBjeWNsZS4gUHJlLXJlbGVhc2VzIGFyZSB0cmVhdGVkIGxpa2UgcmVsZWFzZXMgYW5kIGJ1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgYnVpbGQgd2l0aCBESVNBQkxFX0RFUFJFQ0FURUQgZHVyaW5nIHRoZSBDVlMgY3ljbGUuIFByZS1yZWxlYXNlcwoJICBhcmUgdHJlYXRlZCBsaWtlIHJlbGVhc2VzIGFuZCBidWlsZCB3aXRob3V0IGl0LgoKMjAwOC0wMi0wNyAyMTo1Nzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHRoZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtYmFkIGludG8gdGhlIGF1ZGlvZnggcGx1Z2luLCBhbmQgcmVuYW1lIHRvIGF1ZGlvd3NpbmNsaW1pdCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBNb3ZlIHRoZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtYmFkIGludG8KCSAgdGhlIGF1ZGlvZnggcGx1Z2luLCBhbmQgcmVuYW1lIHRvIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQKCSAgcmVzcGVjdGl2ZWx5LgoJICBGaXhlczogIzQ2NzY2NgoKMjAwOC0wMi0wNyAyMToxNzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCBpZiB3ZSBnZXQgYSBidWZmZXIgd2l0aG91dCBjYXBzLCBhbmQgYWRkIGEgc29tZXdoYXQgdXNlZnVsIGRlYnVnIG1lc3NhZ2UuIFBsdXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCBpZiB3ZSBnZXQgYSBidWZmZXIgd2l0aG91dAoJICBjYXBzLCBhbmQgYWRkIGEgc29tZXdoYXQgdXNlZnVsIGRlYnVnIG1lc3NhZ2UuIFBsdXMgdGVzdC4KCjIwMDgtMDItMDcgMTk6MTM6NTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIEhBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBIQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEZWZpbmUgc29ja2xlbl90IGFzIGl0IHNlZW1zIGl0J3Mgbm90IGRlZmluZWQgaW4gZGVmYXVsdAoJICBWaXN1YWwgU3R1ZGlvIGhlYWRlcnMuCgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlIGRlcGVuZGVuY2llcyBhbmQgYWRkIG5ldyBzb3VyY2UgZmlsZXMKCjIwMDgtMDItMDcgMTY6Mzg6NTUgKzAwMDAgIEJqYXJuZSBSb3NlbmdyZW4gPGJqYXJuZUBheGlzLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHdlIGRvbid0IHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJqYXJuZSBSb3NlbmdyZW4gPGJqYXJuZSBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCk6CgkgIERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHdlIGRvbid0IHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzUxNDk2NS4KCjIwMDgtMDItMDcgMTM6NDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOiBBZGQgYSBmaXhtZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgQWRkIGEgZml4bWUgY29tbWVudC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHNhbWUgbGVhayBhcyBpbiBpbnB1dC1zZWxlY3Rvci4KCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0LgoKMjAwOC0wMi0wNyAxMzo0MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcHJvdmUgdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBJbXByb3ZlIHRoZSBkb2NzLgoKMjAwOC0wMi0wNyAxMDoxNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gKGdvb2QpIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkIGNvbmZ1c2lvbiBhbmQgbWFrZSBpbXBsaWNpdCBjb3JlIHJlcXVpcmVtZW50IGV4cC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIChnb29kKSByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZAoJICBjb25mdXNpb24gYW5kIG1ha2UgaW1wbGljaXQgY29yZSByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDgtMDItMDcgMTA6MDQ6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wMi0wNiAyMzo0NDo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgYXVkaW9jaGVieXNoZXZmcmVxYmFuZCAtPiBhdWRpb2NoZWJiYW5kIGFuZCBhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCAtPiBhdWRpb2NoZWJsaW1pdCBhbmQgZG8gdGhlIHJlcXVpc2l0ZSBDVlMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIFJlbmFtZSBhdWRpb2NoZWJ5c2hldmZyZXFiYW5kIC0+IGF1ZGlvY2hlYmJhbmQgYW5kCgkgIGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0IC0+IGF1ZGlvY2hlYmxpbWl0IGFuZCBkbyB0aGUgcmVxdWlzaXRlIENWUwoJICBzdXJnZXJ5LgoJICBDbG9zZXM6ICM0OTE4MTEKCjIwMDgtMDItMDYgMTE6MDc6NDcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMDItMDUgMTc6NTk6MjQgKzAwMDAgIG9yamFuIDxvcmphbmZAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBGaXggY2FwcyBtZW1vcnkgbGVhay4gRml4ZXMgIzUxNDU3My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBvcmphbiA8b3JqYW5mIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRml4IGNhcHMgbWVtb3J5IGxlYWsuIEZpeGVzICM1MTQ1NzMuCgoyMDA4LTAyLTA0IDEyOjA3OjE0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJZiB0aGVyZSdzIG5vIGVudHJpZXMgaW4gdGhlIHN1YmluZGV4LCBkb24ndCB0cnkgdG8gZG8gYW55dGhpbmcgc3R1cGlkLCBqdXN0IHJldHVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCk6CgkgIElmIHRoZXJlJ3Mgbm8gZW50cmllcyBpbiB0aGUgc3ViaW5kZXgsIGRvbid0IHRyeSB0byBkbyBhbnl0aGluZyBzdHVwaWQsCgkgIGp1c3QgcmV0dXJuLgoKMjAwOC0wMi0wMiAxOTo0Nzo1MCArMDAwMCAgSm9obiBNaWxsaWtpbiA8am1pbGxpa2luQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRml4IGV4dHJhY3Rpb24gb2YgcGljdHVyZSBibG9ja3Mgd2l0aCBuZXdlciBsaWJmbGFjIHZlcnNpb25zIGFnYWluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zY2FuX2Zvcl9sYXN0X2Jsb2NrKSwKCSAgKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpLCAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgRml4IGV4dHJhY3Rpb24gb2YgcGljdHVyZSBibG9ja3Mgd2l0aCBuZXdlciBsaWJmbGFjIHZlcnNpb25zIGFnYWluOgoJICBGTEFDX19NRVRBREFUQV9UWVBFX1BJQ1RVUkUgaXMgYW4gZW51bSwgbm90IGEgZGVmaW5lICgjNTEzNjI4KS4KCjIwMDgtMDItMDIgMTg6MDY6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIHJ0cC1wYXlsb2FkaW5nIHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIHJ0cC1wYXlsb2FkaW5nIHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9URVNUX0VORCBzbyBnc3QtaW5kZW50IGdldHMgdGhlCgkgIGZvcm1hdHRpbmcgcmlnaHQ7IG1ha2UgdGVzdCBsZXNzIHZlcmJvc2UgaW4gZ2VuZXJhbCwgYnV0CgkgIG1vcmUgdmVyYm9zZSBpbiB0aGUgZXJyb3IgY2FzZSAod2hpY2ggc2hvdWxkIHByb2JhYmx5CgkgIG1ha2UgdGhlIHRlc3QgZmFpbCBhbnl3YXkpLgoKMjAwOC0wMi0wMSAxODoyOToyMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhdmlzdWJ0aXRsZSBhbmQgY2hhbmdlIGNsYXNzIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhdmlzdWJ0aXRsZSBhbmQgY2hhbmdlIGNsYXNzIHRvCgkgIENvZGVjL1BhcnNlci9TdWJ0aXRsZQoKMjAwOC0wMS0zMSAxNjoxMjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IFRyZWF0IEVOT1RUWSAoZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBpb2N0bCkgdGhlIHNhbWUgYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIFRyZWF0IEVOT1RUWSAoZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBpb2N0bCkgdGhlIHNhbWUgYXMKCSAgRUlOVkFMIHNpbmNlIGl0IGltcGxpZXMgdGhlcmUgYXJlIG5vIGF2YWlsYWJsZSBzdGFuZGFyZHMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBSZXBsYWNlIGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyB3aXRoIDIgY2FsbHMgdG8gbmV3IGZ1bmN0aW9uCgkgIGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUsIGFuZCBnZXQgaXQgdG8gdXNlIFZJRElPQ19TX0ZNVCB0bwoJICBwcm9iZSBpZiB0aGUgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgVklESU9DX1RSWV9GTVQgZm9yIHdoYXRldmVyCgkgIHJlYXNvbiwgYW5kIGlmIHdlIGFyZW4ndCB5ZXQgYWN0aXZlbHkgY2FwdHVyaW5nLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgUmVtb3ZlIHJlcGxhY2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgoKMjAwOC0wMS0zMSAxNjowMzo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMTYgZm9yIHRoZSBnc3RfdmlkZW9fZm9ybWF0XyoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjE2IGZvciB0aGUgZ3N0X3ZpZGVvX2Zvcm1hdF8qCgkgIEFQSS4KCjIwMDgtMDEtMzEgMDk6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoKMjAwOC0wMS0zMSAwODo1NzoxNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgoyMDA4LTAxLTMxIDAwOjAzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHR5cG8uCgoyMDA4LTAxLTMxIDAwOjAwOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hbHBoYS86IFJlLXdyaXRlIHRoZSAnYWxwaGEnIHBsdWdpbiB0byBiZSBCYXNlVHJhbnNmb3JtIGJhc2VkLCBzaW1wbGlmeWluZyBzb21lIHN0dWZmLCBhbmQgbWFraW5nIGJ1ZmZlci1hbGxvYyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIFJlLXdyaXRlIHRoZSAnYWxwaGEnIHBsdWdpbiB0byBiZSBCYXNlVHJhbnNmb3JtIGJhc2VkLCBzaW1wbGlmeWluZwoJICBzb21lIHN0dWZmLCBhbmQgbWFraW5nIGJ1ZmZlci1hbGxvYyBhbmQgcmVzaXppbmcgd29yayBhdXRvbWF0aWNhbGx5LgoJICBObyBsb25nZXIgY3Jhc2hlcyBvbiBvZGQgZnJhbWUgd2lkdGhzIGFuZCBoZWlnaHRzLCBhbHRob3VnaCB0aGVyZQoJICBzZWVtcyB0byBiZSBhIGRpc2FncmVlbWVudCB3aXRoIGZmbXBlZ2NvbG9yc3BhY2UgYWJvdXQgd2hhdCBzaXplCgkgIGFuIEFZVVYgZnJhbWUgd2l0aCBvZGQgaGVpZ2h0IHNob3VsZCBiZS4KCjIwMDgtMDEtMzAgMTU6NDA6MzYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlZ2VuZXJhdGUgZXZlcnl0aGluZyBmb3IgdGhlIGRvY3VtZW50YXRpb24gY2hhbmdlcyB3ZSBoYWQuCgoyMDA4LTAxLTMwIDEzOjI5OjE1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19pbml0KToKCSAgTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eQoJICBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCjIwMDgtMDEtMzAgMTM6MDg6NDUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMzAgMTM6MDY6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfYm9keV9jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcmVzcG9uc2VfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291cDIuNCBhbmQgcmVxdWlyZSBpdC4gQWxzbyBpbXBsZW1lbnQgcmVkaXJlY3Rpb24KCSAgYW5kIG1hbnVhbCBwcm94eSBzcGVjaWZpY2F0aW9uLiBGaXhlcyBidWcgIzUxMDcwOC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHNvdXBodHRwc3JjLgoKMjAwOC0wMS0yOSAxODo0MzozMiArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy4qOiBQcmVhbGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzbyB0aGF0IGdfbWVtZHVwKCkgYW5kIGdzdF9idWZmZXJfbWVyZ2UoKSBhcmVuJ3QgbmVlZGVkIGFueW1vcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKHVzZXJfd3JpdGVfZGF0YSksIChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBQcmVhbGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzbyB0aGF0IGdfbWVtZHVwKCkgYW5kCgkgIGdzdF9idWZmZXJfbWVyZ2UoKSBhcmVuJ3QgbmVlZGVkIGFueW1vcmUuIFRoaXMgZ3JlYXRseSBpbXByb3ZlcwoJICBwZXJmb3JtYW5jZXMgYW5kIGZpeGVzICM1MTI1NDQuCgoyMDA4LTAxLTI5IDE4OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBHU3RyZWFtZXIgdGltZXN0YW1wcyBhcmUgUFRTIHZhbHVlcyB3aGlsZSBBVkkgb25seSBrbm93cyBhYm91dCBEVFMgdGltZXN0YW1wcy4gTWFrZSBzdXJlIHdlIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBHU3RyZWFtZXIgdGltZXN0YW1wcyBhcmUgUFRTIHZhbHVlcyB3aGlsZSBBVkkgb25seSBrbm93cyBhYm91dCBEVFMKCSAgdGltZXN0YW1wcy4gTWFrZSBzdXJlIHdlIG9ubHkgY29weSB0aGUgRFRTIGFzIHRoZSBidWZmZXIgdGltZXN0YW1wIHdoZW4KCSAgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIGtleSBmcmFtZS4KCjIwMDgtMDEtMjkgMTU6NDU6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIGFkZCB0ZXN0c3VpdGUgZm9yIHRoZSBydHAtcGF5bG9hZGVyIHRoYXQgdHJpZXMgc2ltdWxhdGluZyBkYXRhZmxvdy4gTmVlZHMgbW9yZSB0ZXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgQWRkIGFkZCB0ZXN0c3VpdGUgZm9yIHRoZSBydHAtcGF5bG9hZGVyIHRoYXQgdHJpZXMgc2ltdWxhdGluZwoJICBkYXRhZmxvdy4gTmVlZHMgbW9yZSB0ZXN0IGRhdGEuCgoyMDA4LTAxLTI5IDE1OjI3OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6IFJlbW92ZSB0d28gdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgoyMDA4LTAxLTI4IDEyOjE3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgZ19hc2NpaV9zdHJ0b2xsKCkgaW5zdGVhZCBvZiBhdG9sbCwgd2hpY2ggaXMgb25seSBhdmFpbGFibGUgaW4gQzk5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIGdfYXNjaWlfc3RydG9sbCgpIGluc3RlYWQgb2YgYXRvbGwsIHdoaWNoIGlzIG9ubHkKCSAgYXZhaWxhYmxlIGluIEM5OS4KCjIwMDgtMDEtMjYgMTY6MTk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZQoJICBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgoyMDA4LTAxLTI1IDEwOjUzOjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBNUEVHMiB2aWRlbyBwYXlsb2FkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSAgQWRkIE1QRUcyIHZpZGVvIHBheWxvYWRlcgoKMjAwOC0wMS0yMyAxNzowNTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSAjaW5jbHVkZSA8bWF0aC5oPiBpbnN0ZWFkIG9mICNpbmNsdWRlICJtYXRoLmgiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgVXNlICNpbmNsdWRlIDxtYXRoLmg+IGluc3RlYWQgb2YgI2luY2x1ZGUgIm1hdGguaCIuCgoyMDA4LTAxLTIxIDE5OjQxOjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGaXggdXAgc29tZSBDRkxBR1Mgc2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBzb21lIENGTEFHUyBzZXRzLgoJICBEb24ndCBpbmNsdWRlIGdjb25mdmlkZW9zcmMgaW4gdGhlIHN0YXRlcyB0ZXN0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHNvbWUgZXJyb3Igc3RyaW5ncyB0byBmYWlsX3VubGVzcyBhcmd1bWVudHMgdG8gZml4IHNvbWUgd2VpcmQKCSAgY29tcGlsZXIgZXJyb3JzIG9uIFNvbGFyaXMuCgoyMDA4LTAxLTIxIDE5OjM1OjU4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCB2aWRlbzRsaW51eCBoZWFkZXJzIG9uIFNvbGFyaXMgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCB2aWRlbzRsaW51eCBoZWFkZXJzIG9uIFNvbGFyaXMgdG9vLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KToKCSAgTWFrZSB2NGwyIGJ1aWxkIG9uIFNvbGFyaXMuCgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICM1MTA1MDUKCjIwMDgtMDEtMjEgMTE6NDY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBVcGRhdGUgbGlzdCBmcm9tIChzdGlsbCBsb2NhbCkgc2Nhbm5pbmcgc2NyaXB0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIGxpc3QgZnJvbSAoc3RpbGwgbG9jYWwpIHNjYW5uaW5nIHNjcmlwdC4KCjIwMDgtMDEtMjEgMDk6NTc6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0IGV2ZW4gbW9yZS4KCjIwMDgtMDEtMjEgMDc6NTQ6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSB4bWwgaW5jbHVkZXMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlZ2VuZXJhdGUgZmlsZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAwOC0wMS0yMCAwNTowNzo1MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZgoJICB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3aGljaCBpcyB3cm9uZyBhZnRlciBhIHNlZWsuCgoyMDA4LTAxLTE5IDE0OjU5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIEFkZCBidWcgbnVtYmVyIHRvIHRoZSBsYXRlc3QgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBidWcgbnVtYmVyIHRvIHRoZSBsYXRlc3QgZW50cnkKCjIwMDgtMDEtMTkgMTQ6NTM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTZXQgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0IHRvIHByZXZlbnQgZG91YmxlIGZyZWVzIG9yIG1ha2UgZmFpbHVyZXMgYnkgYW5vdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgVmljdG9yIFNUSU5ORVIgPHZpY3RvciBkb3Qgc3Rpbm5lciBhdCBoYXlwb2NhbGMgZG90IGNvbT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFNldCB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQgdG8gcHJldmVudCBkb3VibGUgZnJlZXMKCSAgb3IgbWFrZSBmYWlsdXJlcyBieSBhbm90aGVyIHVzZSBvZiBpdCBhZnRlcndhcmRzIG1vcmUgb2J2aW91cwoJICBhbmQgZml4IHVzZSBvZiBpdCBhZnRlciB0aGUgZnJlZWluZy4KCjIwMDgtMDEtMTkgMTQ6MzQ6NTAgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0IHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQKCSAgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aW9uIHF1ZXJ5LgoKMjAwOC0wMS0xOCAxMzo0MDozOCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IHVzZSBHU1RfV0FSTklORyBmb3IgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1c2UgR1NUX1dBUk5JTkcgZm9yIGxvZ2dpbmcKCjIwMDgtMDEtMTggMTA6MDU6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMTggMTA6MDQ6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBEb24ndCB0cnkgdG8gbGVhdmUgYSBtdWx0aWNhc3QgZ3JvdXAgd2l0aCBhbiBpbnZhbGlkIHNvY2tldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBEb24ndCB0cnkgdG8gbGVhdmUgYSBtdWx0aWNhc3QgZ3JvdXAgd2l0aCBhbiBpbnZhbGlkIHNvY2tldAoKMjAwOC0wMS0xOCAwODo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzogKHNldHVwX2VxdWFsaXplciksCgkgIChjbGVhbnVwX2VxdWFsaXplciksIChHU1RfU1RBUlRfVEVTVCksIChlcXVhbGl6ZXJfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoKMjAwOC0wMS0xOCAwNzowMzoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcCBsZWFraW5nCXRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSk6CgkgIFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AKCSAgbGVha2luZwl0aGVtLgoKMjAwOC0wMS0xOCAwNTozMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoKMjAwOC0wMS0xOCAwNToyNDozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChzb3VwX2FkZF9yYW5nZV9oZWFkZXIpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9jaHVuayk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoKMjAwOC0wMS0xNyAyMToyMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogd2hlcmUgdGhlIHBpY3R1cmUgbWV0YWRhdGEgZGVmaW5lcyBhbmQgc3RydWN0cyBkb24ndCBleGlzdCB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGFnYWluc3QgZmxhYyAxLjEuMiAoYXMgb24gZGViaWFuIHN0YWJsZSksIHdoZXJlCgkgIHRoZSBwaWN0dXJlIG1ldGFkYXRhIGRlZmluZXMgYW5kIHN0cnVjdHMgZG9uJ3QgZXhpc3QgeWV0LgoJICBGaXhlcyAjNTA5MzAxLgoKMjAwOC0wMS0xNyAxMToxMzoxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBwcm9wZXJ0eSB0byBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgb3Igbm90LiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiBzaGFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwIG9yIG5vdC4gVGhpcyBjYW4gYmUKCSAgdXNlZnVsIHdoZW4gc2hhcmluZyBhIHNvY2tldCBiZXR3ZWVuIG11bHRpcGxlIGVsZW1lbnRzLgoJICBGaXhlcyAjNTA5NTMxLgoKMjAwOC0wMS0xNiAyMTo1Mzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06IEFkZCBjb250cm9sbGVyIGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgQWRkIGNvbnRyb2xsZXIgZmxhZ3MuCgoyMDA4LTAxLTE2IDIwOjE3OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEFsc28gY29tbWl0IHRoZSBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBBbHNvIGNvbW1pdCB0aGUgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkuCgoyMDA4LTAxLTE2IDA4OjExOjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFJlbW92ZSBkdXBsaWNhdGUgZW50cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeS4KCjIwMDgtMDEtMTUgMTY6NTI6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCAzIG1vcmUgcGx1Z2lucyB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgQWRkIDMgbW9yZSBwbHVnaW5zIHRvIGRvY3MuCgoyMDA4LTAxLTE1IDE2OjA0OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIGNhdXNlZCBieSBhIGZpbGUgdGhhdCBnb3Qgc3R1Y2sgb24gYW4gb2xkIHJldmlzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2UgY2F1c2VkIGJ5IGEgZmlsZSB0aGF0IGdvdCBzdHVjayBvbiBhbiBvbGQKCSAgcmV2aXNpb24uCgoyMDA4LTAxLTE1IDE1OjQwOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZS1hZGQgbXVsdGlwYXJ0ZGVtdXggdG8gdGhlIGRvY3MuIExhc3Qgcm91bmQgb2Ygc2VjdGlvbiBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBSZS1hZGQgbXVsdGlwYXJ0ZGVtdXggdG8gdGhlIGRvY3MuIExhc3Qgcm91bmQgb2Ygc2VjdGlvbiBjbGVhbnVwLgoKMjAwOC0wMS0xNSAxNToyMjo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFuYWdlZCB0byByZXNvbHZlIG1vc3QgdW51c2VkIGRlY2xhcmF0aW9ucy4gRmlsZWQgYSBidWcgZm9yIG9uZSBsZWZ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgTWFuYWdlZCB0byByZXNvbHZlIG1vc3QgdW51c2VkIGRlY2xhcmF0aW9ucy4gRmlsZWQgYSBidWcgZm9yIG9uZSBsZWZ0LgoKMjAwOC0wMS0xNSAwODowMzo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IENsZWFudXAgc2VjdGlvbiBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQ2xlYW51cCBzZWN0aW9uIGZpbGUuCgoyMDA4LTAxLTE1IDA3OjQyOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgcGx1Z2luIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgVXBkYXRlIHBsdWdpbiBkb2NzLgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICBTcGxpdCBvdXQgaGVhZGVyIHRvIGZpeCB3YXJuaW5ncyBmcm9tIHRoZSBkb2MtYnVpbGQuCgoyMDA4LTAxLTE0IDEyOjM1OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQXMgZm91bmQgYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBcyBmb3VuZCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIGF0b2xsIHRvIHBhcnNlIHRoZSBydHB0aW1lIHdpdGggZW5vdWdoIHByZWNpc2lvbi4gRml4ZXMgIzUwOTMyOS4KCjIwMDgtMDEtMTQgMTI6MTE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJbml0aWFsaXNlIHZhcmlhYmxlcyB0byB3b3JrIGFyb3VuZCAoZmFsc2UpICdmb28gbWlnaHQgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIHdhcm5pbmdzIGJ5IGdjYy0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X2ZpbGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlcyB0byB3b3JrIGFyb3VuZCAoZmFsc2UpICdmb28gbWlnaHQgYmUgdXNlZAoJICB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIHdhcm5pbmdzIGJ5IGdjYy0zLjMuMyAoIzUwOTI5OCkuCgoyMDA4LTAxLTEyIDAyOjMyOjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIElnbm9yZSBtb3JlIGZpbGVzIGZvciB0aGUgYnVpbGRib3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZSBmaWxlcyBmb3IgdGhlIGJ1aWxkYm90LgoKMjAwOC0wMS0xMSAyMTowODo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBHZW5lcmF0ZSB0aGUgaW1hZ2UtdHlwZSB2YWx1ZXMgY29ycmVjdGx5LiBMZWF2ZSB0aGVtIG91dCBvZiB0aGUgY2FwcyB3aGVuIG91dHB1dHRpbmcgYSAicHJldmlldyBpbWFnZSIgdGFnLCBzaW5jZSBpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlcik6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgR2VuZXJhdGUgdGhlIGltYWdlLXR5cGUgdmFsdWVzIGNvcnJlY3RseS4gTGVhdmUgdGhlbSBvdXQgb2YgdGhlIGNhcHMKCSAgd2hlbiBvdXRwdXR0aW5nIGEgInByZXZpZXcgaW1hZ2UiIHRhZywgc2luY2UgaXQgb25seSBtYWtlcyBzZW5zZQoJICB0byBoYXZlIG9uZSBvZiB0aG9zZSAtIHRoZSB0eXBlIGlzIGlycmVsZXZhbnQuCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pOgoJICBJZiB3ZSBjYW4sIG1hcmsgdGhlIG1peGVyIG11bHRpcGxlIG9wZW4gd2hlbiB3ZSB1c2UgaXQsIGluIGNhc2UKCSAgKGZvciBzb21lIHJlYXNvbikgdGhlIHByb2Nlc3Mgd2FudHMgdG8gb3BlbiBpdCBhZ2FpbiBlbHNld2hlcmUuCgoyMDA4LTAxLTExIDE5OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoY3JlYXRlX3Rlc3RfYnVmZmVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAodGVzdF9idWZmZXJfbmV3KToKCSAgSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCjIwMDgtMDEtMTEgMTg6NTY6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOgoJICBpZ25vcmUgc29tZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgc29tZSBtb3JlCgoyMDA4LTAxLTExIDE4OjU0OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIHNvbWUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIHNvbWUgbW9yZQoKMjAwOC0wMS0xMSAxNzoyMTozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBGaXggdGhlIGNsb2NrIHJhdGUgdG8gOTAwMDAgYXMgcmVxdWlyZWQgYnkgdGhlIFJGQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBGaXggdGhlIGNsb2NrIHJhdGUgdG8gOTAwMDAgYXMgcmVxdWlyZWQgYnkgdGhlIFJGQy4KCSAgRml4ZXMgIzUwODY0NC4KCjIwMDgtMDEtMTEgMTc6MTI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChHU1RfU1RBUlRfVEVTVCksIChpY3lkZW11eF9zdWl0ZSk6CgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQy4KCjIwMDgtMDEtMTAgMTI6MjU6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzCgkgIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UgcmVxdWlyZSBHTlUgbWFrZSBpbiBhbG1vc3QKCSAgZXZlcnkgTWFrZWZpbGUgYW55d2F5LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFNX1BST0dfQ0NfQ19PIGFzIGEgY29tcGlsZXIgdGhhdCBhY2NlcHRzIGJvdGggLWMgYW5kIC1vCgkgIGF0IHRoZSBzYW1lIHRpbWUgaXMgcmVxdWlyZWQgZm9yIHBlciB0YXJnZXQgZmxhZ3MuCgoyMDA4LTAxLTA5IDE1OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggZXJyb3IgZnJvbSBteSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgIEZpeCBlcnJvciBmcm9tIG15IGxhc3QgY29tbWl0LgoKMjAwOC0wMS0wOSAxNToyMDoxOSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBNYWtlIHN1cmUgdGhlIElTTyA2MzktWCBsYW5ndWFnZSBjb2RlIGluIElEM3YyIENPTU0gZnJhbWVzIHNvIHdlIGRvbid0IGVuZCB1cCB3aXRoIG5vbi1VVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9jb21tZW50X2ZyYW1lKToKCSAgTWFrZSBzdXJlIHRoZSBJU08gNjM5LVggbGFuZ3VhZ2UgY29kZSBpbiBJRDN2MiBDT01NIGZyYW1lcwoJICBpcyBhY3R1YWxseSB2YWxpZCBVVEYtOCAob3IgcmF0aGVyOiBBU0NJSSksIHNvIHdlIGRvbid0IGVuZAoJICB1cCB3aXRoIG5vbi1VVEY4IHN0cmluZ3MgaW4gdGFncyBpZiB0aGVyZSdzIGdhcmJhZ2UgaW4gdGhlCgkgIGxhbmd1YWdlIGZpZWxkLiBBbHNvIG1ha2Ugc3VyZSB0aGUgbGFuZ3VhZ2UgY29kZSBpcyBhbHdheXMKCSAgbG93ZXIgY2FzZS4gRml4ZXM6ICM1MDgyOTEuCgoyMDA4LTAxLTA5IDEzOjU1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEZpeCBDaGFuZ2VMb2cgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBGaXggQ2hhbmdlTG9nIHR5cG8uCgoyMDA4LTAxLTA5IDEzOjUwOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZ2luZyBjb3ZlcmFnZSByZXBvcnRzLiBHdWFyZCBjaGVjay10b3J0dXJlIHRhcmdldCBsaWtlIGluIHRoZSBvdGhlciBwYWNrYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGdpbmcgY292ZXJhZ2UgcmVwb3J0cy4gR3VhcmQKCSAgY2hlY2stdG9ydHVyZSB0YXJnZXQgbGlrZSBpbiB0aGUgb3RoZXIgcGFja2FnZXMuCgoyMDA4LTAxLTA5IDEyOjMzOjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLCAoX2RvX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9pbml0KSwgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKToKCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlLgoJICBTZW5kIG5ld3NlZ21lbnQgYXQgdGhlIHJpZ2h0IG1vbWVudAoJICBGaXhlcyAjNDg4ODc5CgoyMDA4LTAxLTA5IDEyOjAxOjE0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2FscGhhLzogTWFrZSB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzIG9mICdhbHBoYScgY29udHJvbGxhYmxlLiBUaGlzIGFsbG93cyBkb2luZyBuaWNldGllcyBsaWtlIGZhZGUtaW4vZmFkZS1vdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9pbml0KSwKCSAgKGdzdF9hbHBoYV9zaW5rX2V2ZW50KSwgKGdzdF9hbHBoYV9jaGFpbiksCgkgIChnc3RfYWxwaGFfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgTWFrZSB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzIG9mICdhbHBoYScgY29udHJvbGxhYmxlLiBUaGlzIGFsbG93cyBkb2luZwoJICBuaWNldGllcyBsaWtlIGZhZGUtaW4vZmFkZS1vdXQuCgoyMDA4LTAxLTA5IDExOjExOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwLzogUmVtb3ZlIGNvcHkvcGFzdGUgdW51c2VkIGNvZGUgKHByb3BlcnR5IHNldHRlcnMgYW5kIGdldHRlcikgZm91bmQgYnkgdGhlIGNvdmVyYWdlIHN1aXRlICh5YXksIHNhdmVzIH4yMGsgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBSZW1vdmUgY29weS9wYXN0ZSB1bnVzZWQgY29kZSAocHJvcGVydHkgc2V0dGVycyBhbmQgZ2V0dGVyKSBmb3VuZCBieQoJICB0aGUgY292ZXJhZ2Ugc3VpdGUgKHlheSwgc2F2ZXMgfjIwayBvbiBkaXNrKS4KCjIwMDgtMDEtMDggMjA6MDM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFsc28gZml4IHVwIHBhZCB0ZW1wbGF0ZXMgdG8gaW5kaWNhdGUgdGhhdCBpbWFnZS9qcGVnIGRvZXNuJ3QgYWJzb2x1dGVseSByZXF1aXJlIHRoZSBmcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoQ09NTU9OX1ZJREVPX0NBUFNfTk9fRlJBTUVSQVRFKSwKCSAgKHZpZGVvc2lua190ZW1wbCk6CgkgIEFsc28gZml4IHVwIHBhZCB0ZW1wbGF0ZXMgdG8gaW5kaWNhdGUgdGhhdCBpbWFnZS9qcGVnIGRvZXNuJ3QKCSAgYWJzb2x1dGVseSByZXF1aXJlIHRoZSBmcmFtZXJhdGUgcHJvcGVydHkgdG8gYmUgc2V0ICgjNTA0MDgxKS4KCjIwMDgtMDEtMDggMTk6NTc6MjMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IEtlZXAgdHJhY2sgb2YgZmlyc3QgYW5kIGxhc3QgdGltZXN0YW1wcyBmb3IgZWFjaCBpbmNvbWluZyBzdHJlYW0sIHNvIHdlIGNhbiBjYWxjdWxhdGUgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgS2VlcCB0cmFjayBvZiBmaXJzdCBhbmQgbGFzdCB0aW1lc3RhbXBzIGZvciBlYWNoIGluY29taW5nIHN0cmVhbSwKCSAgc28gd2UgY2FuIGNhbGN1bGF0ZSB0aGUgdG90YWwgZHVyYXRpb24gZm9yIGxpdmUgc291cmNlcyBhbmQgb3RoZXIKCSAgaW5wdXQgd2hlcmUgd2UgY2FuJ3QgcXVlcnkgdGhlIGR1cmF0aW9uIGZyb20gdGhlIHN0YXJ0IG9yIHdoZXJlCgkgIHRoZXJlJ3Mgbm8gY29uc3RhbnQgZnJhbWVyYXRlIGZyb20gd2hpY2ggd2UgY2FuIGRlZHVjZSB0aGUKCSAgZHVyYXRpb247IGFsc28gdXNlIGNhbGN1bGF0ZWQvb2JzZXJ2ZWQgZHVyYXRpb24gaWYgaXQgaXMgYmlnZ2VyCgkgIHRoYW4gdGhlIHByZXZpb3VzbHkgcXVlcmllZCBkdXJhdGlvbi4gRnVydGhlcm1vcmUsIHVzZQoJICBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSBhbmQgdGFrZSBpbnRvIGFjY291bnQgdGhhdCBpdCBtYXkKCSAgcmV0dXJuIFRSVUUgYnV0IHN0aWxsIGEgZHVyYXRpb24gb2YgQ0xPQ0tfVElNRV9OT05FLCB3aGljaCBlYXNpbHkKCSAgc2NyZXdzIHVwIGNvbXBhcmlzb25zIHdoZW4gdXNpbmcgdW5zaWduZWQgaW50ZWdlcnMuIEZpeGVzICM1MDQwODEuCgoyMDA4LTAxLTA4IDE0OjU4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBNYWtlIGVsZW1lbnRzIEdTVF9CVUZGRVJfRkxBR19HQVAgYXdhcmUgYW5kIGNhbGwgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsaXBwaW5nX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCk6CgkgIE1ha2UgZWxlbWVudHMgR1NUX0JVRkZFUl9GTEFHX0dBUCBhd2FyZSBhbmQgY2FsbAoJICBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X2dhcF9hd2FyZSBmb3IgdGhpcy4KCSAgQnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIENWUy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKToKCSAgQWxzbyBzeW5jIEdPYmplY3QgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBvcGVyYXRpbmcKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDgtMDEtMDcgMTY6NDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoKMjAwOC0wMS0wNSAyMToyMDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91ciBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMDUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X3dpbmRvd19pZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZHJhd19ib3JkZXJzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyCgkgIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaGFuY2UgdG8KCSAgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgcHJlcGFyZS14d2luZG93LWlkIGJ1cyBtZXNzYWdlLiBEcmF3CgkgIGJsYWNrIGJvcmRlcnMgd2hlbiBrZWVwaW5nIGFzcGVjdCByYXRpby4gSGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIG91cgoJICByZW5kZXJpbmcgd2luZG93IGRpc2FwcGVhcnMgKGNsb3NlZCBvciBlcnJvcnMpIGxpa2Ugb3RoZXIgc2lua3MKCSAgZG8uIFZhcmlvdXMgODAgY29sdW1ucyBmaXhlcywgaW1wcm92ZSBzdGF0ZSBjaGFuZ2Ugb3JkZXIuIFRoYXQKCSAgZWxlbWVudCBjb3VsZCBuZWVkIHNvbWUgbW9yZSBsb3ZlLgoKMjAwOC0wMS0wNCAxODozMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RhZ2xpYi86IFJlbW92ZSB1c2VsZXNzIHR5cGVkZWZzIHdpdGhvdXQgbmV3IHR5cGUgbmFtZS4gRml4ZXMgYSB3YXJuaW5nIHdpdGggZ2NjIDQuMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgUmVtb3ZlIHVzZWxlc3MgdHlwZWRlZnMgd2l0aG91dCBuZXcgdHlwZSBuYW1lLiBGaXhlcyBhIHdhcm5pbmcgd2l0aAoJICBnY2MgNC4zLgoKMjAwOC0wMS0wMyAxMjoyNjowMyArMDAwMCAgSm9obiBNaWxsaWtpbiA8am1pbGxpa2luQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRW1pdCBtZXRhZGF0YSBtZXNzYWdlcyB3aGVuIGEgUElDVFVSRSBibG9jayBpcyBlbmNvdW50ZXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb2huIE1pbGxpa2luIDxqbWlsbGlraW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfbm9ybWFsaXplX3BpY3R1cmVfbWltZV90eXBlKSwKCSAgKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgRW1pdCBtZXRhZGF0YSBtZXNzYWdlcyB3aGVuIGEgUElDVFVSRSBibG9jayBpcyBlbmNvdW50ZXJlZC4KCSAgRml4ZXMgIzUwNjcxNS4KCjIwMDgtMDEtMDIgMTM6NTQ6MTAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aS5jOiBpbmNyZWFzZSByYW5rIGJlY2F1c2Ugbm8ga25vd24gaXNzdWVzIGFueW1vcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGluY3JlYXNlIHJhbmsgYmVjYXVzZSBubyBrbm93biBpc3N1ZXMgYW55bW9yZSAuLi4KCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIHNlbmQgc3VidGl0bGUgbmFtZSB0byB0aGUgc3JjcGFkCgoyMDA3LTEyLTMxIDEzOjI3OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbXBsZW1lbnQgcmVkaXJlY3QgZm9yIHRoZSBERVNDUklCRSByZXBseS4gRml4ZXMgIzUwNjAyNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCByZWRpcmVjdCBmb3IgdGhlIERFU0NSSUJFIHJlcGx5LiBGaXhlcyAjNTA2MDI1LgoKMjAwNy0xMi0yOSAxNjo0ODozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbmQgZG9uJ3QKCSAgYWJvcnQoKSBpbiBhbnkgY2FzZSBidXQgcHJvcGVybHkgcmVwb3J0IHRoZSBlcnJvci4KCjIwMDctMTItMjggMTE6NDQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc291cC86IFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbiBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKHNvdXBfZ290X2hlYWRlcnMpOgoJICBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24KCSAgaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgoyMDA3LTEyLTI2IDE2OjAzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IChpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggKGl0J3MKCSAgbm90IHJlYWxseSBuaWNlIHRvIGFib3J0IGluIGFueSBjYXNlKS4gRml4ZXMgIzUwNTc0NS4KCjIwMDctMTItMjAgMTc6MDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA3LTEyLTE4IDIzOjE3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzogU21hbGwgdW5pdCB0ZXN0IGZpeCAoaGFzIG5vIHByYWN0aWNhbCBpbXBhY3QgYXQgdGhlIG1vbWVudCwgc2luY2Ugd2UncmUgb25seSBmZWVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6IChjaGVja19jb3JyZWN0X2J1ZmZlcik6CgkgIFNtYWxsIHVuaXQgdGVzdCBmaXggKGhhcyBubyBwcmFjdGljYWwgaW1wYWN0IGF0IHRoZSBtb21lbnQsCgkgIHNpbmNlIHdlJ3JlIG9ubHkgZmVlZGluZyB1dGY4IGFuZCBoZW5jZSBqdXN0IGNyZWF0ZSBhIHN1Yi0KCSAgYnVmZmVyIGZvciB0aGUgb3V0cHV0KS4KCjIwMDctMTItMTggMjE6MTM6MDUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IGZvciBhdmkgc3VidGl0bGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgZm9yIGF2aSBzdWJ0aXRsZQoKMjAwNy0xMi0xOCAxNzo0MDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogUmVtb3ZlIHNvbWUgdW51c2VkIHZhcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKSwgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcnMuCgkgIERvIG1vcmUgY2xlYW51cCBvZiBsZWZ0b3ZlciBldmVudHMgYW5kIHRhZ3MuCgkgIE91dHB1dCB0YWdzIGFmdGVyIHRoZSBzZWdtZW50IGV2ZW50LiBGaXhlcyAjNTA0MDE4LgoKMjAwNy0xMi0xOCAxNDozMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogRGV0ZWN0IG90aGVyIFVURiBieXRlIG9yZGVyIG1hcmtlcnMgYW5kIGNvbnZlcnQgdG8gVVRGLTggYXMgYXBwcm9wcmlhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKElTX0JPTV9VVEY4KSwgKElTX0JPTV9VVEYxNl9CRSksCgkgIChJU19CT01fVVRGMTZfTEUpLCAoSVNfQk9NX1VURjMyX0JFKSwgKElTX0JPTV9VVEYzMl9MRSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfZmlsZSksIChnc3RfYXZpX3N1YnRpdGxlX3BhcnNlX2dhYjJfY2h1bmspOgoJICBEZXRlY3Qgb3RoZXIgVVRGIGJ5dGUgb3JkZXIgbWFya2VycyBhbmQgY29udmVydCB0byBVVEYtOCBhcwoJICBhcHByb3ByaWF0ZS4KCjIwMDctMTItMTggMTM6MzA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLio6IFJlZmFjdG9yIGEgYml0OyBmaXggbmFtZSBleHRyYWN0aW9uOyBkb24ndCBhc3N1bWUgYWxsIHRoZSBkYXRhIGluIHRoZSBjaHVuayBpcyBhY3R1YWxseSBzdWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoc3JjX3RlbXBsYXRlKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF91dGY4X2ZpbGUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9wYXJzZV9nYWIyX2NodW5rKSwgKGdzdF9hdmlfc3VidGl0bGVfY2hhaW4pLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9iYXNlX2luaXQpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfaW5pdCksIChnc3RfYXZpX3N1YnRpdGxlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOgoJICBSZWZhY3RvciBhIGJpdDsgZml4IG5hbWUgZXh0cmFjdGlvbjsgZG9uJ3QgYXNzdW1lIGFsbCB0aGUgZGF0YQoJICBpbiB0aGUgY2h1bmsgaXMgYWN0dWFsbHkgc3VidGl0bGUgZGF0YSwgdGhlcmUgbWF5IGJlIHBhZGRpbmcgYXQKCSAgdGhlIGVuZDsgZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlOyBzdG9yZSBleHRyYWN0ZWQgc3VidGl0bGUKCSAgZmlsZSBzbyBpdCdzIHRoZXJlIHRvIHNlbmQgYWdhaW4gYWZ0ZXIgYSBzZWVrIChmb3IgZnV0dXJlIHVzZSkuCgoyMDA3LTEyLTE4IDA5OjEzOjEyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIGF2aSBzdWJ0aXRsZSBlbGVtZW50IGZvciBidWcgIzQ0MjAzNC4gTmVlZCBzZWVraW5nIHN1cHBvcnQgYW5kIG1vcmUgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBBZGQgYXZpIHN1YnRpdGxlIGVsZW1lbnQgZm9yIGJ1ZyAjNDQyMDM0LiBOZWVkIHNlZWtpbmcgc3VwcG9ydAoJICBhbmQgbW9yZSBzdXBwb3J0IGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbi4KCjIwMDctMTItMTggMDk6MDc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0CgkgIGZpbGVzIChzZWUgIzM5MzYyNikuCgkgICogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkgIEZpeCBsaW5lIGVuZGluZ3MgYW5kIGRvIGN2cyBhZG1pbiAta2IuCgoyMDA3LTEyLTE3IDIxOjEyOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLio6IFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZCBhbiBFT1MgaW5zdGVhZCBvZiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZAoJICBhbiBFT1MgaW5zdGVhZCBvZiBjYXVzaW5nIGFuIGVycm9yLgoKMjAwNy0xMi0xNiAyMzo0Mzo0NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWN0dWFsbHkgZHJvcCB0aGUgYnVmZmVycyB3aGljaCBhcmUgb3V0c2lkZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGp1c3QgZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBBY3R1YWxseSBkcm9wIHRoZSBidWZmZXJzIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZAoJICBzZWdtZW50IGluc3RlYWQgb2YganVzdCBlbWl0dGluZyBhIFdBUk5JTkcuCgoyMDA3LTEyLTE0IDE4OjQ5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBTZW5kIHNlZ21lbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuIEZpeGVzICM1MDIxODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgU2VuZCBzZWdtZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLiBGaXhlcyAjNTAyMTg3LgoJICBGaXggc2VnbWVudCBzZWVraW5nIGFuZCBhIGJ1bmNoIG9mIG90aGVyIHNlZWtpbmcgY2FzZXMuCgoyMDA3LTEyLTE0IDEwOjE3OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFBhcnNlIFdPQUYgZnJhbWVzIGFuZCBwdXQgdGhlIHJlc3VsdCBpbnRvIEdTVF9UQUdfQ09OVEFDVCwgd2hpY2ggaXMgd2hlcmUgaXQgd291bGQgZW5kIHVwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdXJsX2xpbmtfZnJhbWUpOgoJICBQYXJzZSBXT0FGIGZyYW1lcyBhbmQgcHV0IHRoZSByZXN1bHQgaW50byBHU1RfVEFHX0NPTlRBQ1QsCgkgIHdoaWNoIGlzIHdoZXJlIGl0IHdvdWxkIGVuZCB1cCBpZiB0aGUgc2FtZSBpbmZvcm1hdGlvbiB3YXMKCSAgcHV0IGluIGEgdm9yYmlzIGNvbW1lbnQgKGRvbid0IHRoaW5rIGl0J3Mgd29ydGggYWRkaW5nIGEKCSAgbmV3IFVSSSB0YWcgZm9yIHRoaXMpLiBGaXhlcyAjNDg4MTEyLgoKMjAwNy0xMi0xMSAyMjoyOToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgbmVlZCBjb3JlL2Jhc2UgMC4xMC4xNSBvciBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIGNvcmUvYmFzZSAwLjEwLjE1IG9yIGxhdGVyLgoKMjAwNy0xMi0xMSAxNjo0NzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCByZWdyZXNzaW9uIGluIHN0cmVhbSBudW1iZXJpbmcuIEZpeGVzICM1MDI2NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSk6CgkgIEZpeCByZWdyZXNzaW9uIGluIHN0cmVhbSBudW1iZXJpbmcuIEZpeGVzICM1MDI2NTUuCgoyMDA3LTEyLTExIDE2OjM5OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwgKHVuaWNvZGlmeSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLCAoc291cF9maW5pc2hlZCksCgkgIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwgKHNvdXBfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cGh0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIFJlb3JnYW5pc2UgYSBidW5jaCBvZiB0aGluZ3MgYW5kIGNsZWFudXBzLgoJICBVc2VzIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAlbGx1LgoJICBTZWUgIzUwMjMzNS4KCjIwMDctMTItMTEgMTY6MzE6NDkgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogVXNlIGhpZ2hlciBwZXJmb3JtYW5jZSBzdGFydC1jb2RlIHNlYXJjaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLAoJICAobmV4dF9zdGFydF9jb2RlKSwgKGlzX25hbF9lcXVhbCksIChnc3RfcnRwX2gyNjRfcGF5X2RlY29kZV9uYWwpLAoJICAoZW5jb2RlX2Jhc2U2NCksIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgVXNlIGhpZ2hlciBwZXJmb3JtYW5jZSBzdGFydC1jb2RlIHNlYXJjaGluZy4KCSAgUGFyc2UgTkFMcyBhbmQgc3RvcmUgU1BTLCBQUFMgYW5kIHByb2ZpbGUgaW4gdGhlIGNhcHMgc28gdGhhdCB0aGV5IGNhbgoJICBiZSB1c2VkIGluIHRoZSBTRFAuIEZpeGVzICM1MDI4MTQuCgoyMDA3LTEyLTExIDExOjUwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBJbml0IHNvbWUgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB3ZSBwYXNzIHRoZW0gdG8gaW9jdGwsIHdoaWNoIGF2b2lkcyB2YWxncmluZCB3YXJuaW5ncy4gIEFsc28gZml4IGEgc21hbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpOgoJICBJbml0IHNvbWUgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB3ZSBwYXNzIHRoZW0gdG8gaW9jdGwsIHdoaWNoCgkgIGF2b2lkcyB2YWxncmluZCB3YXJuaW5ncy4gIEFsc28gZml4IGEgc21hbGwgbWVtb3J5IGxlYWsuCgoyMDA3LTEyLTExIDExOjA1OjU3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBDb3B5IHRpbWVzdGFtcCBmcm9tIGlucHV0IHRvIG91dHB1dC4gTm90IHZlcnkgcGVyZmVjdCB5ZXQgYnV0IGJldHRlciB0aGFuIG5vdGhpbmcuIEZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgIENvcHkgdGltZXN0YW1wIGZyb20gaW5wdXQgdG8gb3V0cHV0LiBOb3QgdmVyeSBwZXJmZWN0IHlldCBidXQgYmV0dGVyCgkgIHRoYW4gbm90aGluZy4gRml4ZXMgIzUwMzAyMy4KCjIwMDctMTItMDkgMTY6NDk6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWxzbyBwcmludCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdpdGggdGhlIG9sZCBXYXZwYWNrIEFQSSBpZiBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgQWxzbyBwcmludCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdpdGggdGhlIG9sZCBXYXZwYWNrIEFQSQoJICBpZiBwb3NzaWJsZS4KCjIwMDctMTItMDkgMTY6MzQ6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE1vcmUgYnVpbGQgZml4ZXMgZm9yIG9sZCBsaWJ3YXZwYWNrIHZlcnNpb25zOiBpbmNsdWRlIGNvbmZpZy5oIHNvIHRoYXQgV0FWUEFDS19PTERfQVBJIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBNb3JlIGJ1aWxkIGZpeGVzIGZvciBvbGQgbGlid2F2cGFjayB2ZXJzaW9uczogaW5jbHVkZSBjb25maWcuaCBzbwoJICB0aGF0IFdBVlBBQ0tfT0xEX0FQSSBpcyBhY3R1YWxseSBkZWZpbmVkIGFzIGRldGVjdGVkOyBvbmx5IHVzZQoJICBXYXZwYWNrR2V0RXJyb3JNZXNzYWdlIGlmIGl0IGlzIGF2YWlsYWJsZS4gVGhpcyBmaXhlcyB0aGUgYnVpbGQKCSAgb24gZGViaWFuIHN0YWJsZSBmb3IgbWUuCgoyMDA3LTEyLTA5IDE2OjIxOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFdvcmthcm91bmQgdGhlIG5vbi1leGlzdGFuY2Ugb2YgV2F2cGFja0dldENoYW5uZWxNYXNrIGluIFdhdnBhY2sgdmVyc2lvbnMgYmVsb3cgNC40MC4wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBXb3JrYXJvdW5kIHRoZSBub24tZXhpc3RhbmNlIG9mIFdhdnBhY2tHZXRDaGFubmVsTWFzayBpbiBXYXZwYWNrCgkgIHZlcnNpb25zIGJlbG93IDQuNDAuMC4KCjIwMDctMTItMDkgMDU6MTM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQW5kIG5vdyBkbyBpdCByaWdodCBmb3IgcmVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFuZCBub3cgZG8gaXQgcmlnaHQgZm9yIHJlYWwuLi4KCjIwMDctMTItMDkgMDU6MDk6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29ycmVjdGx5IHJlc2V0ICRMSUJTIHRvIG5vdCBjb250YWluIC1sbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb3JyZWN0bHkgcmVzZXQgJExJQlMgdG8gbm90IGNvbnRhaW4gLWxtLgoKMjAwNy0xMi0wOSAwNTowMjoxNyArMDAwMCAgS3dhbmcgWXVsIFNlbyA8a3dhbmd5dWwuc2VvQGdtYWlsLmNvbT4KCgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMgYnkgdXNpbmcgZ3N0X3V0aWxfZ3VpbnQ2NF90b19nZG91YmxlKCkgYW5kIGNoZWNraW5nIGZvciByaW50KCkgYW5kIGltcGxlbWVudGluZyBpdCBvdXJzZWxmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogS3dhbmcgWXVsIFNlbyA8a3dhbmd5dWwgZG90IHNlbyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF9jYWlyb190aW1lX292ZXJsYXlfcHJpbnRfc21wdGVfdGltZSk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMgYnkgdXNpbmcgZ3N0X3V0aWxfZ3VpbnQ2NF90b19nZG91YmxlKCkKCSAgYW5kIGNoZWNraW5nIGZvciByaW50KCkgYW5kIGltcGxlbWVudGluZyBpdCBvdXJzZWxmIGlmIGl0IGRvZXNuJ3QKCSAgZXhpc3QuCgoyMDA3LTEyLTA5IDA0OjI5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgoyMDA3LTEyLTA4IDE2OjQ3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IFZlcmlmeSB0aGF0IHRoZSBmb3JtYXQgcmV0dXJuZWQgYWZ0ZXIgdGhlIGlvY3RsIGlzIHRoZSBvbmUgd2UgcmVxdWVzdGVkLiBJdCBpcyB2YWxpZCBmb3IgdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBWZXJpZnkgdGhhdCB0aGUgZm9ybWF0IHJldHVybmVkIGFmdGVyIHRoZSBpb2N0bCBpcyB0aGUgb25lCgkgIHdlIHJlcXVlc3RlZC4gSXQgaXMgdmFsaWQgZm9yIHRoZSBpb2N0bCB0byBzdWNjZWVkIHdoaWxlCgkgIHN1YnN0aXR1dGluZyBhbiBhbHRlcm5hdGUgJ3N1cHBvcnRlZCcgc2FtcGxlIGZvcm1hdC4KCjIwMDctMTItMDcgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogUG9zdCBkZWNlbnQgKGFuZCB0cmFuc2xhdGVkKSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3Qgb3BlbiB0aGUgYXVkaW8gZGV2aWNlIGZvciBzb21lIHJlYXNvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19vcGVuKToKCSAgUG9zdCBkZWNlbnQgKGFuZCB0cmFuc2xhdGVkKSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QKCSAgb3BlbiB0aGUgYXVkaW8gZGV2aWNlIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMTItMDcgMTk6Mjk6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy86IEFsbG93IHRoZSBBVURJT0RFViBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWRpcmVjdCB1cyB0byBhIGRpZmZlcmVudCBkZWZhdWx0IE9TUyBkZXZpY2UsIGxpa2Ugc3VuYXVkaW9zaW5rLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIEFsbG93IHRoZSBBVURJT0RFViBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWRpcmVjdCB1cwoJICB0byBhIGRpZmZlcmVudCBkZWZhdWx0IE9TUyBkZXZpY2UsIGxpa2Ugc3VuYXVkaW9zaW5rIGRvZXMKCSAgb24gU29sYXJpcyAobWFrZXMgYXVkaW8gcGxheSBhdXRvbWF0aWNhbGx5IG9uIFN1blJheXMpLgoKMjAwNy0xMi0wNiAxMjo0NTo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0xMi0wNiAxMjo0MjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mzc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbwoJICB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjI5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaCBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgoyMDA3LTEyLTA2IDEyOjExOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFRoZSB0cmFuc2Zvcm1faXAoKSBtZXRob2RzIHNob3VsZCBkbyBub3RoaW5nIGlmIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgVGhlIHRyYW5zZm9ybV9pcCgpIG1ldGhvZHMgc2hvdWxkIGRvIG5vdGhpbmcgaWYgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgSXQgbWlnaHQgZ2V0IG5vbi13cml0YWJsZSBidWZmZXJzIGluIHRoYXQgY2FzZSBidXQgdGhlIGJ1ZmZlciBtaWdodAoJICBhcyB3ZWxsIGJlIHdyaXRhYmxlLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyB3b24ndCBiZSBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBhbmQKCSAgb3RoZXJ3aXNlIHRoZSBidWZmZXIgaXMgYWx3YXlzIHdyaXRhYmxlIHNvIGRvbid0IGNoZWNrIGhlcmUuCgoyMDA3LTEyLTA2IDExOjQ2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBzZWVraW5nIGluIC53YXYgZmlsZXMgYWdhaW4gKCM1MDE3NzUpLiAgU29tZSBwZW9wbGUgc2VlbSB0byB0aGluayB0aGV5IGRvbid0IG5lZWQgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEZpeCBzZWVraW5nIGluIC53YXYgZmlsZXMgYWdhaW4gKCM1MDE3NzUpLiAgU29tZSBwZW9wbGUgc2VlbSB0byB0aGluawoJICB0aGV5IGRvbid0IG5lZWQgdG8gdGVzdCB0aGVpciBjaGFuZ2VzIHdoZW4gdGhleSdyZSBqdXN0ICdyZWZsb3dpbmcnCgkgIHNvbWUgY29kZS4KCjIwMDctMTItMDUgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLio6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NyZWF0ZV9lbGVtZW50X3dpdGhfcHJldHR5X25hbWUpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgRml4IGRvY3MuCgkgIFVzZSBzYW1lIGVycm9yIHJlcG9ydGluZyBjb2RlIGFzIGF1dG9hdWRpb3NpbmsuCgkgIEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IHZpZGVvIHNpbmtzCgkgIGJ5IGRlZmF1bHQgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgkgIEFQSTogR3N0QXV0b1ZpZGVvU2luazo6ZmlsdGVyLWNhcHMKCjIwMDctMTItMDUgMTY6MDI6MTUgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLio6IEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IGF1ZGlvIHNpbmtzIGJ5IGRlZmF1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IGF1ZGlvIHNpbmtzCgkgIGJ5IGRlZmF1bHQgZm9yIGJhY2t3YXJkcyBjb21wYXQuICBGaXhlcyAjNDE3NDIwLgoJICBBUEk6IEdzdEF1dG9BdWRpb1Npbms6OmZpbHRlci1jYXBzCgoyMDA3LTExLTI5IDExOjQwOjE1ICswMDAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEluaXRpYWxpc2UgbGlib2lsIGluIHBsdWdpbl9pbml0KCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAocGx1Z2luX2luaXQpOgoJICBJbml0aWFsaXNlIGxpYm9pbCBpbiBwbHVnaW5faW5pdCgpCgoyMDA3LTExLTI5IDEwOjQ5OjE4ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudCBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudAoJICBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuZCBpdCBoYXMgc29tZSBsZWFrcy4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksCgkgIChzb3VwX2ZpbmlzaGVkKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgdW5sb2NrKCkuCgkgIFBpY2tzIHVwIHRoZSBzaXplIGZyb20gdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBhbmQgZW1pdCBhIGR1cmF0aW9uCgkgIG1lc3NhZ2UuCgkgIERvbid0IGxlYWsgdGhlIEdNYWluQ29udGV4dCBvYmplY3QuCgkgIEZpeGVzICM1MDAwOTkuCgoyMDA3LTExLTI5IDEwOjM0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUG9zdCBlcnJvciBiZWZvcmUgc2VuZGluZyBFT1MuIEZpeGVzICM0OTkxNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBQb3N0IGVycm9yIGJlZm9yZSBzZW5kaW5nIEVPUy4gRml4ZXMgIzQ5OTE3OC4KCjIwMDctMTEtMjggMjE6NTQ6NTAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL3ZzNi86IEFkZCBhIHByb2plY3QgZmlsZSBmb3IgbGliZ3N0cG5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciBsaWJnc3RwbmcKCjIwMDctMTEtMjggMTc6NDg6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiBDb2RlIGJlYXV0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBDb2RlIGJlYXV0aWZpY2F0aW9uLgoJICBBZGRlZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBEb24ndCBiaXQtc2hpZnQgZXZlcnl0aGluZywganVzdCBkbyBvcGVyYXRpb25zIG9uIGxhc3QvZmlyc3QgYnl0ZQoJICBpbnN0ZWFkLgoKMjAwNy0xMS0yNyAxMToxMTowOCArMDAwMCAgSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYUBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBGaXggd3JvbmcgY29tcGFyaXNvbiBpbiBvdmVycnVuIGNoZWNrLiBGaXhlcyAjNDk5MjM5IHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgRml4IHdyb25nIGNvbXBhcmlzb24gaW4gb3ZlcnJ1biBjaGVjay4gRml4ZXMgIzQ5OTIzOSBzb21lIG1vcmUuCgoyMDA3LTExLTI3IDAwOjAxOjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuKjogRml4IGgyNjMgZGVwYXlsb2FkZXIgc28gdGhhdCBBTlkgaDI2MyBkZWNvZGVyIGNhbiBoYW5kbGUgdGhlIG91dGdvaW5nIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBGaXggaDI2MyBkZXBheWxvYWRlciBzbyB0aGF0IEFOWSBoMjYzIGRlY29kZXIgY2FuIGhhbmRsZSB0aGUgb3V0Z29pbmcKCSAgc3RyZWFtLgoKMjAwNy0xMS0yNiAxOToxNzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lio6IEZpeCBkZXBheWxvYWRpbmcgd2hlbiBtdWx0aXBsZSBmcmFtZXMgYXJlIGluc2lkZSBvbmUgUlRQIHBhY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGggYnk6IEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIEZpeCBkZXBheWxvYWRpbmcgd2hlbiBtdWx0aXBsZSBmcmFtZXMgYXJlIGluc2lkZSBvbmUgUlRQIHBhY2tldC4KCSAgRml4ZXMgIzQ5OTIzOS4KCjIwMDctMTEtMjYgMTI6MjY6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBBZGQgR0FQLWZsYWcgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIEFkZCBHQVAtZmxhZyBzdXBwb3J0LgoKMjAwNy0xMS0yNiAxMjowMToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IFJlYWQgdGhlIEkgZmxhZyBmb3IgTW9kZSBBIGgyNjMgcnRwIHN0cmVhbSBhbmQgc2V0IHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBSZWFkIHRoZSBJIGZsYWcgZm9yIE1vZGUgQSBoMjYzIHJ0cCBzdHJlYW0gYW5kIHNldCB0aGUKCSAgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgYWNjb3JkaW5nbHkuCgkgIEZpeGVzICM0OTkzODMKCjIwMDctMTEtMjYgMTA6MDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAwNy0xMS0yNiAxMDowNDo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFJlbW92ZSBzb21lIGRlYWQgY29kZSBhbmQgZG8gY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgYW5kIGRvIGNsZWFudXBzLgoKMjAwNy0xMS0yNiAwOToxMzo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogSW1wcm92ZSB0aGUgdGVzdHMgYnkgYWxsb3dpbmcgdG8gc2V0IGEgdGFyZ2V0IHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0cyBieSBhbGxvd2luZyB0byBzZXQgYSB0YXJnZXQgc3RhdGUuCgoyMDA3LTExLTI2IDA5OjA0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IERvbid0IGNoZWNrIHRoZSBjYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIGlmIHRoZXkncmUgZXF1YWwgc29tZSBvdGhlciBjYXBzLiBUaGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBjaGVjayB0aGUgY2FwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciBpZiB0aGV5J3JlIGVxdWFsIHNvbWUKCSAgb3RoZXIgY2Fwcy4gVGhlIGNhcHMgY2FuIGNoYW5nZSBpbiBhIGJhY2t3YXJkIGNvbXBhdGlibGUgd2F5CgkgIGFuZCBkaWQgYXQgdGhpcyBwb2ludC4KCjIwMDctMTEtMjQgMTQ6NTU6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3NlZWtfdG9fcHJldmlvdXNfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApOiBJbXBsZW1lbnQKCSAgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoKMjAwNy0xMS0yMSAwOTo1Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMSAwODoyMToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZAoJICBpbiAtZ29vZC4KCjIwMDctMTEtMjAgMTM6MTQ6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogQWxzbyBzZXQgdGhlIGNoYW5uZWwgbGF5b3V0IG9uIHRoZSBXYXZwYWNrIGNhcHMgaWYgd2UncmUgaGF2aW5nIGEgbW9ubyBsYXlvdXQuIE9mIGNvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9sYXlvdXQpOgoJICBBbHNvIHNldCB0aGUgY2hhbm5lbCBsYXlvdXQgb24gdGhlIFdhdnBhY2sgY2FwcyBpZiB3ZSdyZSBoYXZpbmcKCSAgYSBtb25vIGxheW91dC4gT2YgY291cnNlIG9ubHkgZG8gaXQgZm9yICJhdWRpby94LXdhdnBhY2siLgoKMjAwNy0xMS0yMCAxMzowODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcsIHBhcnNpbmcgYW5kIGRlY29kaW5nIG11bHRpY2hhbm5lbCBmaWxlcyB3aXRoIHVwIHRvIDggY2hhbm5lbHMuIFRoaXMgYWxzbyBpbXByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgKGdzdF93YXZwYWNrX2dldF9kZWZhdWx0X2NoYW5uZWxfbWFzayksCgkgIChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9sYXlvdXQpLAoJICAoZ3N0X3dhdnBhY2tfZ2V0X2RlZmF1bHRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X3dhdnBhY2tfZ2V0X2NoYW5uZWxfbWFza19mcm9tX3Bvc2l0aW9ucyksCgkgIChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9tYXBwaW5nKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfZml4X2NoYW5uZWxfb3JkZXIpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcsIHBhcnNpbmcgYW5kIGRlY29kaW5nIG11bHRpY2hhbm5lbAoJICBmaWxlcyB3aXRoIHVwIHRvIDggY2hhbm5lbHMuIFRoaXMgYWxzbyBpbXByb3ZlcyB0aGUgcm9idXN0bmVzcwoJICBvZiBwYXJzaW5nIHF1aXRlIGEgYml0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfcmVhZF9ieXRlcyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfcHVzaF9iYWNrX2J5dGUpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9nZXRfbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfY2FuX3NlZWspLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0xMS0yMCAxMjoyMDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogRG9uJ3QgcmVsZWFzZSB0aGUgcG5nLW1lbW9yeSBmcm9tIHdpdGhpbiB0aGUgY2FsbGJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgRG9uJ3QgcmVsZWFzZSB0aGUgcG5nLW1lbW9yeSBmcm9tIHdpdGhpbiB0aGUgY2FsbGJhY2suCgoyMDA3LTExLTIwIDEyOjExOjEzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogRG9uJ3QgbGVhayBidWZmZXIgZGF0YSBtZW1vcnkuIEZpeGVzICM0OTgzOTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgRG9uJ3QgbGVhayBidWZmZXIgZGF0YSBtZW1vcnkuIEZpeGVzICM0OTgzOTUuCgoyMDA3LTExLTIwIDExOjQ2OjI4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogVGVzdHMgZm9yICM0OTgzOTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgVGVzdHMgZm9yICM0OTgzOTUuCgoyMDA3LTExLTIwIDExOjQxOjEzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvbiBNYWMgT1MgWCAxMC41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKGdzdF90YWdfbGliX211eF9yZW5kZXJfdGFnKSwKCSAgKGdzdF90YWdfbGliX211eF9hZGp1c3RfZXZlbnRfb2Zmc2V0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90aGVvcmFfZXh0ZW5zaW9uKToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06IEZpeCBidWlsZCBvbiBNYWMgT1MgWCAxMC41CgoyMDA3LTExLTE5IDIwOjMwOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCjIwMDctMTEtMTYgMDU6NTI6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IENoYW5nZSBzdHJjYXNlY21wKCkgdG8gZ19zdHJjYXNlY21wKCkuICBGaXhlcyAjNDk3MjkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgQ2hhbmdlIHN0cmNhc2VjbXAoKSB0byBnX3N0cmNhc2VjbXAoKS4gIEZpeGVzICM0OTcyOTIuCgoyMDA3LTExLTE1IDE4OjE5OjE5ICswMDAwICBKb3JkaSBKYWVuIFBhbGxhcmVzIDxqb3JkaWpwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydHBheS4qOiBGaWxsIHRoZSBNVFUgd2l0aCBhcyBtYW55IHBhY2tldHMgYXMgcG9zc2libGUuIEZpeGVzICM0OTEzMjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9yZGkgSmFlbiBQYWxsYXJlcyA8am9yZGlqcCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfaW5pdCksIChnc3RfcnRwX21wMnRfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfZmx1c2gpLCAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgRmlsbCB0aGUgTVRVIHdpdGggYXMgbWFueSBwYWNrZXRzIGFzIHBvc3NpYmxlLiBGaXhlcyAjNDkxMzIzLgoKMjAwNy0xMS0xNSAxNzo0Nzo0MyArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHNvbWUgbW9yZSBsZWFrcy4gRml4ZXMgIzQ5NzAwNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBGaXggc29tZSBtb3JlIGxlYWtzLiBGaXhlcyAjNDk3MDA3LgoKMjAwNy0xMS0xNSAxNzozNToxOCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IDMgcGFkIGxlYWtzLiBGaXhlcyAjNDk2OTgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApOgoJICBGaXggMyBwYWQgbGVha3MuIEZpeGVzICM0OTY5ODMuCgoyMDA3LTExLTE1IDE3OjI2OjI1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCjIwMDctMTEtMTUgMTc6MDE6MzIgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBGaXggc21hbGwgbGVhay4gRml4ZXMgIzQ5NzAxNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBzbWFsbCBsZWFrLiBGaXhlcyAjNDk3MDE3LgoKMjAwNy0xMS0xNSAxNjozMTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIHN1cHBwb3J0IGZvciB0aGVvcmEgaW4gcXVpY2t0aW1lIGFjY29yZGluZyB0byBYaXBoUVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAocXRkZW11eF9wYXJzZV90aGVvcmFfZXh0ZW5zaW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBwb3J0IGZvciB0aGVvcmEgaW4gcXVpY2t0aW1lIGFjY29yZGluZyB0byBYaXBoUVQuCgoyMDA3LTExLTE1IDEyOjIyOjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEFsd2F5cyBjb3B5IGJ1ZmZlcnMgYnkgZGVmYXVsdCAoaGFuZGxlIHNhZmVyIHdpdGggYnVnZ2VkIGRyaXZlcnMpIGFuZCBhZGRlZCBhIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIG1tYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWx3YXlzIGNvcHkgYnVmZmVycyBieSBkZWZhdWx0IChoYW5kbGUgc2FmZXIgd2l0aCBidWdnZWQgZHJpdmVycykgYW5kIGFkZGVkIGEgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgbW1hcCBlZmZlY3RpdmVseSAobm8gY29weSBpZiBwb3NzaWJsZSkgd2hlbiBhcHBsaWNhdGlvbiB3YW50cyB0by4gRml4ZXM6ICM0ODA1NTcuCgoyMDA3LTExLTE0IDIxOjM5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogV2UgZG9uJ3Qgd2FudCB0aGUgc2FtZSBzdHJpbmcgbXVsdGlwbGUgdGltZXMgaW4gYSB0YWcgbGlzdCBmb3IgdGhlIHNhbWUgdGFnIGV2ZXIsIGZvciBhbnkgdGFnLCBub3QganVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgV2UgZG9uJ3Qgd2FudCB0aGUgc2FtZSBzdHJpbmcgbXVsdGlwbGUgdGltZXMgaW4gYSB0YWcgbGlzdCBmb3IgdGhlCgkgIHNhbWUgdGFnIGV2ZXIsIGZvciBhbnkgdGFnLCBub3QganVzdCBmb3IgR1NUX1RBR19HRU5SRSwgc28gbWFrZSBzdXJlCgkgIHRoaXMgZG9lc24ndCBoYXBwZW4gYW5kIHJlbW92ZSBzcGVjaWFsLWNhc2UgY29kZSBmb3IgR1NUX1RBR19HRU5SRS4KCjIwMDctMTEtMTQgMjE6MDQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBXcml0ZSBHU1RfVEFHX01VU0lDQlJBSU5aX0RJU0NJRCBhbmQgR1NUX1RBR19DRERBX0NEREJfRElTQ0lEIGludG8gSUQzdjIgVFhYWCBmcmFtZXMgKGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogKGFkZF9tdXNpY2JyYWluel90YWcpLCAoYWRkX2Z1bmNzKToKCSAgV3JpdGUgR1NUX1RBR19NVVNJQ0JSQUlOWl9ESVNDSUQgYW5kIEdTVF9UQUdfQ0REQV9DRERCX0RJU0NJRAoJICBpbnRvIElEM3YyIFRYWFggZnJhbWVzIChmaXhlcyAjMzQ3ODQ4KS4KCjIwMDctMTEtMTQgMjA6MzQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgc2RwIG1lc3NhZ2UgY29udGVudHMgKGZpeGVzICM0OTY3NzMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgRG9uJ3QgbGVhayBzZHAgbWVzc2FnZSBjb250ZW50cyAoZml4ZXMgIzQ5Njc3MykuCgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgVVJJIHN0cmluZy4KCjIwMDctMTEtMTQgMTk6MTA6MzcgKzAwMDAgIEp1bGllbiBQdXlkdCA8anVsaWVuLnB1eWR0QGxhcG9zdGUubmV0PgoKCSAgZXh0L3JhdzEzOTQvOiBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2UgYW5kIGFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCBzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIHRvIHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSnVsaWVuIFB1eWR0IDxqdWxpZW4gZG90IHB1eWR0IGF0IGxhcG9zdGUgbmV0PgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOiAoZ3N0XzEzOTRfZ2V0X2d1aWRfYXJyYXkpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfZ2V0X3Byb3BlcnRpZXMpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfcHJvYmVfcHJvcGVydHkpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlcyksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfMTM5NF90eXBlX2FkZF9wcm9wZXJ0eV9wcm9iZV9pbnRlcmZhY2UpOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5oOiAoR1NUXzEzOTRfUFJPQkVfSCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChfZG9faW5pdCksIChnc3RfZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2MTM5NHNyY19pbml0KSwgKGdzdF9kdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHYxMzk0c3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwgKGdzdF9kdjEzOTRzcmNfcXVlcnkpLAoJICAoZ3N0X2R2MTM5NHNyY191cGRhdGVfZGV2aWNlX25hbWUpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2UgYW5kIGFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LAoJICBzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIHRvIHByb2JlIGZvciBhdmFpbGFibGUgZGV2aWNlcyBpbiB0aGUKCSAgc2FtZSB3YXkgdGhleSBjYW4gYWxyZWFkeSB3aXRoIHY0bHNyYyBhbmQgdjRsMnNyYyAoaG93ZXZlciBob3JyaWJsZQoJICB0aGlzIHByb3BlcnR5IHByb2JlIGludGVyZmFjZSBtYXkgYmUpLiBGaXhlcyAjMzU4ODQxLgoKMjAwNy0xMS0xNCAxNzowMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgoyMDA3LTExLTE0IDE1OjI5OjA1ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIGV2ZW50LCBkb24ndCBsZWFrIHJhbmdlIChmaXhlcyAjNDk2NzUyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBEb24ndCBsZWFrIGV2ZW50LCBkb24ndCBsZWFrIHJhbmdlIChmaXhlcyAjNDk2NzUyKS4KCjIwMDctMTEtMTQgMTA6MjI6NDEgKzAwMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBEZXRlY3QgUkdCQS9CR1JBIGNvcnJlY3RseSBvbiBsaXR0bGUgZW5kaWFuIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgRGV0ZWN0IFJHQkEvQkdSQSBjb3JyZWN0bHkgb24gbGl0dGxlIGVuZGlhbiBzeXN0ZW1zLgoKMjAwNy0xMS0xMyAxNzoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogYnV0IHRoZSBjb3JyZXNwb25kaW5nIGlvY3RsKCkgY2FsbCBmYWlscyBldmVuIHRob3VnaCB0aGUgZHJpdmVyIGNsYWltcyB0byBzdXBwb3J0IHRoaXMgZm9ybS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBJZiBWSURJT0NfRU5VTV9GUkFNRVNJWkVTIGlzIGRlZmluZWQgKD0gcmVjZW50IGtlcm5lbCksIGJ1dCB0aGUKCSAgY29ycmVzcG9uZGluZyBpb2N0bCgpIGNhbGwgZmFpbHMgZXZlbiB0aG91Z2ggdGhlIGRyaXZlciBjbGFpbXMgdG8KCSAgc3VwcG9ydCB0aGlzIGZvcm1hdCwganVzdCBmYWxsIGJhY2sgdG8gdGhlIHByZS0yLjYuMTkga2VybmVsCgkgIHJvdXRpbmUgdGhhdCBjcmVhdGVzIGNhcHMgd2l0aCBzdWl0YWJsZSBoZWlnaHQgYW5kIHdpZHRoIHJhbmdlcwoJICAoc2VlICM0NDgyNzgpLgoKMjAwNy0xMS0xMyAxNzowMTowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS86IEV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zIGFuZCBzZW5kIGl0IGRvd25zdHJlYW0gYXMgY3VzdG9tIGdzdHJlYW1lciBkdmQgZXZlbnQgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMgYW5kIHNlbmQgaXQKCSAgZG93bnN0cmVhbSBhcyBjdXN0b20gZ3N0cmVhbWVyIGR2ZCBldmVudCAoZml4ZXMgIzQ1MzQxNykuCgoyMDA3LTExLTEzIDE0OjUxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEltcGxlbWVudCBtaW5pbWFsIHBhcnNpbmcgb2YgdGhlIHBhc3NlZCBwYW5nbyBmb250IGRlc2NyaXB0aW9uIHN0cmluZywgc28gcGFzc2luZyBhIGZvbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9mb250X2luaXQpOgoJICBJbXBsZW1lbnQgbWluaW1hbCBwYXJzaW5nIG9mIHRoZSBwYXNzZWQgcGFuZ28gZm9udCBkZXNjcmlwdGlvbgoJICBzdHJpbmcsIHNvIHBhc3NpbmcgYSBmb250IHNpemUgd29ya3MgdGhlIHNhbWUgYXMgd2l0aCB0aGUKCSAgcGFuZ28gdGV4dG92ZXJsYXkgcGx1Z2luOyBmaXhlcyAjNDU1MDg2LgoJICAoTWF5YmUgd2UgY291bGQganVzdCB1c2UgcGFuZ29jYWlybyBoZXJlIGF0IHNvbWUgcG9pbnQpLgoKMjAwNy0xMS0xMyAwNjo1NToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogUmV0dXJuIHRoZSByZXN1bHQgaW4gX2FjdGl2YXRlX3B1bGwoKS4gRG9uJ3QgcmVmIGVsZW1lbnQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgaW4gX2FjdGl2YXRlX3B1bGwoKS4gRG9uJ3QgcmVmIGVsZW1lbnQgdGhlcmUuCgoyMDA3LTExLTEzIDA2OjIzOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuIFJlZmxvdyB0aGUgZXZlbnRfaGFuZGxpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIFJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLiBSZWZsb3cKCSAgdGhlIGV2ZW50X2hhbmRsaW5nIHRvIG5vdCBsZWFrIHRoZSBldmVudC4KCjIwMDctMTEtMTIgMjE6MDc6MzEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlcik6CgkgIEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgU3BvdHRlZCBieSBHYWJyaWVsIEJvdXZpZ25lLiBGaXhlcyAjNDk0NDk5LgoKMjAwNy0xMS0xMiAxNzo1OTo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJvcGVybHkgZnJlZSBRVERlbXV4U2FtcGxlcyBhcnJheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgIFByb3Blcmx5IGZyZWUgUVREZW11eFNhbXBsZXMgYXJyYXkuCgkgIFByb3RlY3QgdGFibGUgd3JpdGUgd2l0aCBhIHNlbnNpYmxlIGNoZWNrLCBzb21lIGZpbGVzIGFwcGFyZW50bHkgRE8gY29udGFpbgoJICBzdHRzIHZhbHVlcyBzdGFydGluZyB3aXRoIDAgOigKCjIwMDctMTEtMTIgMTc6MjE6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IERyb3AgRU9TIGluIF9oYW5kbGVfc3JjX2V2ZW50KCkuIEZpeCB0aGUgcmVmY291bnQgaW4gcXRkZW11eCB0aGF0IHByZXZpb3VzIGNvbW1pdCBtZXNzZWQgdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERyb3AgRU9TIGluIF9oYW5kbGVfc3JjX2V2ZW50KCkuIEZpeCB0aGUgcmVmY291bnQgaW4gcXRkZW11eCB0aGF0CgkgIHByZXZpb3VzIGNvbW1pdCBtZXNzZWQgdXAuCgoyMDA3LTExLTEyIDE3OjA2OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBTeW5jIF9oYW5kbGVfc3JjX2V2ZW50KCkgd2l0aCBvZ2dkZW11eC4gSW4gYXZpZGVtdXggYWxzbyByZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgU3luYyBfaGFuZGxlX3NyY19ldmVudCgpIHdpdGggb2dnZGVtdXguIEluIGF2aWRlbXV4IGFsc28gcmVmIHRoZQoJICBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuCgoyMDA3LTExLTExIDIxOjEyOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvOiBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIEdzdE1lc3NhZ2VzIGJ5IHNwZWN0cnVtIHRvIGRlY2liZWwgaW5zdGVhZCBvZgoJICBkZWNpYmVsK3RocmVzaG9sZC4KCjIwMDctMTEtMTEgMTM6NTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlCgkgIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCjIwMDctMTEtMTEgMTI6NTQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgoyMDA3LTExLTA5IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDctMTEtMDggMTU6NTY6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0bwoJICB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWJlcnMgYW5kIGVuYWJsZSBmaWxsLgoKMjAwNy0xMS0wOCAxNTowMDo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJldHVybiBGQUxTRSBpZiB3ZSBjYW4ndCBoYW5kbGUgYSBxdWVyeSBpbnN0ZWFkIG9mIGNoYW5naW5nIHRoZSBmb3JtYXQuIElnbm9yZSBmYWN0IHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXR1cm4gRkFMU0UgaWYgd2UgY2FuJ3QgaGFuZGxlIGEgcXVlcnkgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUKCSAgZm9ybWF0LiBJZ25vcmUgZmFjdCB3aGVuIGRlYWxpbmcgd2l0aCBtcGVnIGF1ZGlvLgoKMjAwNy0xMS0wNiAxMjoyMzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggdGhlIG1hZ25pdHVkZSBjYWxjdWxhdGlvbi4KCjIwMDctMTEtMDMgMTk6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChzZXR1cF9maWx0ZXIpOgoJICBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIEFsc28gaGFuZGxlIGEgYmFuZHdpZHRoIG9mIHJhdGUvMiBwcm9wZXJseS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgTi1iYW5kIGVxdWFsaXplciB3aXRoIDEgYmFuZHMuIFRoZQoJICBwcmV2aW91cyBsaW1pdCBvZiAyIHdhcyBjYXVzZWQgYnkgYSBub3dhZGF5cyByZXBsYWNlZCBjYWxjdWxhdGlvbgoJICBkb2luZyBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbnVtYmVyIG9mIGJhbmRzIHdhcyAxLgoKMjAwNy0xMS0wMiAyMToxNjowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEZpeCBpbmNsdWRlcyBmb3IgTVNWQyBhbmQgR0xpYi0yLjE0LjAgKCM0OTIzODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgIEZpeCBpbmNsdWRlcyBmb3IgTVNWQyBhbmQgR0xpYi0yLjE0LjAgKCM0OTIzODgpLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgTm8gbW9yZSBwaXBlIGRlZmluZSBzaW5jZSBHTGliLTIuMTQuMCwgbmVlZCB0byB1c2UgX3BpcGUoKSBkaXJlY3RseS4KCjIwMDctMTEtMDIgMTc6MjM6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS4qOiBDYWxjdWxhdGUgb3V0Z29pbmcgYnVmZmVyIGR1cmF0aW9uIGlmIGluY29taW5nIGJ1ZmZlciBkaWRuJ3QgaGF2ZSBhIHZhbGlkIGR1cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgQ2FsY3VsYXRlIG91dGdvaW5nIGJ1ZmZlciBkdXJhdGlvbiBpZiBpbmNvbWluZyBidWZmZXIgZGlkbid0IGhhdmUgYQoJICB2YWxpZCBkdXJhdGlvbi4KCjIwMDctMTAtMzAgMjE6Mzc6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAob25fY29uZmlndXJlX2V2ZW50KSwKCSAgKG9uX2dhaW5fY2hhbmdlZCksIChvbl9iYW5kd2lkdGhfY2hhbmdlZCksIChvbl9mcmVxX2NoYW5nZWQpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucwoJICB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1c2hlcyBpdCB0aHJvdWdoIGFuIGVxdWFsaXplciBhbmQKCSAgcGFpbnRzIHRoZSBzcGVjdHJ1bS4gRm9yIGV2ZXJ5IGVxdWFsaXplciBiYW5kIGl0J3MgcG9zc2libGUgdG8gc2V0CgkgIGdhaW4sIGJhbmR3aWR0aCBhbmQgZnJlcXVlbmN5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChzZXR1cF9maWx0ZXIpOgoJICBBZGQgc29tZSBndWFyZGluZyBhZ2FpbnN0IHRvbyBsYXJnZSBvciB0b28gc21hbGwgZnJlcXVlbmNpZXMgYW5kCgkgIGJhbmR3aWR0aHMuIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTEwLTMwIDIxOjE4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5IGZpbmQgZG9jdW1lbnRhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5CgkgIGZpbmQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggZG9uJ3QgY2hhbmdlIGFueXRoaW5nIG9uIHplcm8gZ2FpbiwgZXRjLgoJICBNYWtlIHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgb2YgdGhlIGJhbmRzIHdyaXRhYmxlLCByZW5hbWUgdGhlCgkgIGJhbmQtd2lkdGggcHJvcGVydHkgdG8gYmFuZHdpZHRoIGFuZCBjaGFuZ2UgdGhlCW1lYW5pbmcgdG8gdGhlCgkgIGZyZXF1ZW5jeSBkaWZmZXJlbmNlIGJldHdlZW4gYmFuZGVkZ2VzLCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCgkgIGdhaW4gcHJvcGVydHkgdG8gZEIgaW5zdGVhZCBvZiBhIHdlaXJkIHNjYWxlIGJldHdlZW4gLTEJYW5kIDEgdGhhdAoJICBoYXMgbm8gcmVhbCBtZWFuaW5nLgoKMjAwNy0xMC0zMCAxMjoyOTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU21hcnRlciBjb21iaW5lX2Zsb3cgY29kZSB0aGF0IGFsc28gZGVhbHMgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzIHJldHVybmluZyBVTkVYUEVDVEVEIHdoZW4gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFNtYXJ0ZXIgY29tYmluZV9mbG93IGNvZGUgdGhhdCBhbHNvIGRlYWxzIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cwoJICByZXR1cm5pbmcgVU5FWFBFQ1RFRCB3aGVuIHRoZXkgcmVjZWl2ZSBkYXRhIG91dCBvZiB0aGUgc2VnbWVudAoJICBib3VuZGFyaWVzLiBGaXhlcyAjNDkxMzA1LgoKMjAwNy0xMC0yNyAxNjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpOgoJICBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwKCSAgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgdG8gYmUgbW9yZSB0aGFuIG9uZSBwYWQuIEZpeGVzICM0OTA2ODIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBhYm92ZS4KCjIwMDctMTAtMjYgMTU6MDM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIGFnYWluc3Qgb2xkZXIga2VybmVsIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgYWdhaW5zdAoJICBvbGRlciBrZXJuZWwgaGVhZGVycy4KCjIwMDctMTAtMjYgMTI6MTA6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNy0xMC0yNSAyMzo0Mjo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsKCSAgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgoyMDA3LTEwLTI1IDE1OjAwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYyAoYWRkX2Z1bmNzKTogTWFwIG5ldyBTT1JUTkFNRSB0YWdzIHRvIElEM3YyIFRTT1AsIFRTT0EgYW5kIFRTT1QgZnJhbWVzICgjNDE0NTM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYyAoYWRkX2Z1bmNzKToKCSAgTWFwIG5ldyBTT1JUTkFNRSB0YWdzIHRvIElEM3YyIFRTT1AsIFRTT0EgYW5kIFRTT1QgZnJhbWVzICgjNDE0NTM5KS4KCjIwMDctMTAtMjQgMDc6MDE6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEltcHJvdmUgdGhlIHRlc3RzIGEgbGl0dGxlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEltcHJvdmUgdGhlIHRlc3RzIGEgbGl0dGxlIG1vcmUuCgoyMDA3LTEwLTIzIDA4OjM4OjUwICswMDAwICBZdW4gWmhlbmcgSHUgPHl1bnpoZW5nLmh1QGdtYWlsLmNvbT4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiBVc2UgZGVmYXVsdCBpbnB1dCBkZXZpY2UgaW5zdGVhZCBvZiBkZWZhdWx0IG91dHB1dCBkZXZpY2UgYW5kIG9ubHkgbWVtY3B5IGFjdHVhbCBhdmFpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFl1biBaaGVuZyBIdQoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBVc2UgZGVmYXVsdCBpbnB1dCBkZXZpY2UgaW5zdGVhZCBvZiBkZWZhdWx0IG91dHB1dCBkZXZpY2UgYW5kCgkgIG9ubHkgbWVtY3B5IGFjdHVhbCBhdmFpbGFibGUgYnl0ZXMuCgoyMDA3LTEwLTIyIDE5OjE0OjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeGVzICJ2NGwyc3JjICEgcXVldWUgISB4dmltYWdlc2luayIuIFRoZSBxdWV1ZSBhc2sgZm9yIGJ1ZmZlciB0b28gZWFybHkuIEl0IGlzIHRlbXBvcmFyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEZpeGVzICJ2NGwyc3JjICEgcXVldWUgISB4dmltYWdlc2luayIuIFRoZSBxdWV1ZSBhc2sgZm9yIGJ1ZmZlciB0b28KCSAgZWFybHkuIEl0IGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBmaW5kIHNvbWV0aGluZyBiZXR0ZXIuCgoyMDA3LTEwLTIyIDE2OjQ0OjQ4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggcmFjZSB3aGVuIHBhdXNpbmcgYSBSVFNQIHN0cmVhbSBpbiBpbnRlcmxlYXZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICBGaXggcmFjZSB3aGVuIHBhdXNpbmcgYSBSVFNQIHN0cmVhbSBpbiBpbnRlcmxlYXZlZC4KCSAgRml4ZXMgIzQ3NTc4NC4KCjIwMDctMTAtMjIgMDk6NTM6MTYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IFVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uIGZvciBidWZmZXJzLiAjNDg4ODQ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9maW5hbGl6ZSk6CgkgIFVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uIGZvciBidWZmZXJzLiAjNDg4ODQ0LgoKMjAwNy0xMC0xOSAxOTozMzoxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNvbWUgZGVidWcgYW5kIHN5bmMgdGVzdHMgd2l0aCB0aGUgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgc3luYyB0ZXN0cyB3aXRoIHRoZSBmaXguCgoyMDA3LTEwLTE4IDE3OjA0OjE0ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBXaGVuIHRoZSBzb2NrZXQgaXMgdXNlZCBieSB0aGUgYXBwIGZvciBvdGhlciBwdXJwb3NlcywgZG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYWN0aXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCAgPHNwZ2xlZ2xlIHlhaG9vIGZyPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFdoZW4gdGhlIHNvY2tldCBpcyB1c2VkIGJ5IHRoZSBhcHAgZm9yIG90aGVyIHB1cnBvc2VzLCBkb24ndCBnZW5lcmF0ZSBhbgoJICBlcnJvciBpZiB0aGVyZSBpcyBhY3RpdmF0eSBvbiB0aGUgc29ja2V0IHRoYXQgaXMgbm90IGRhdGEgcmVsYXRlZC4KCSAgRml4ZXMgIzQ4NzQ4OC4KCjIwMDctMTAtMTggMTQ6NTU6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4gR2VuZXJhdGUgYW4gZXJyb3Igd2hlbiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMgZm9yIHNvbWUgcmVhc29uLiBTZWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uIEdlbmVyYXRlIGFuIGVycm9yIHdoZW4gd2UgcnVuIG91dCBvZiBidWZmZXJzCgkgIGZvciBzb21lIHJlYXNvbi4gU2VlICM0ODA1NTcuCgoyMDA3LTEwLTE4IDA4OjI3OjU2ICswMDAwICBBbmRlcnMgU2thcmdyZW4gPGFuZGVycy5za2FyZ3JlbkBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiBTZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMgZG90IHNrYXJncmVuIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCBtYXJrZXIgYml0IGNvcnJlY3RseS4KCjIwMDctMTAtMTggMDY6MjA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEFkZCBhIG1pc3NpbmcgYnJlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBhIG1pc3NpbmcgYnJlYWsuCgoyMDA3LTEwLTE4IDA2OjE0OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCjIwMDctMTAtMTcgMTU6MDg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBhbGxvd2VkIG5hbWUgZm9yIHRoZSBHc3RTdHJ1Y3R1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBVc2UgYWxsb3dlZCBuYW1lIGZvciB0aGUgR3N0U3RydWN0dXJlLgoKMjAwNy0xMC0xNyAxMTo0NzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZ3N0X2J1c19wb3BfZmlsdGVyZWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIFVzZSBuZXcgZ3N0X2J1c19wb3BfZmlsdGVyZWQoKS4KCjIwMDctMTAtMTMgMTI6MDM6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IFdoZW4gcHJvYmluZyB0aGUgZm9ybWF0cyBhbmQgc2l6ZXMgYSBjYW1lcmEgc3VwcG9ydHMsIG1ha2Ugc3VyZSB0aGUgYmVzdCBvbmVzIChoaWdoZXN0IHJlc29sdXRpb24sIHByZWZlcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgV2hlbiBwcm9iaW5nIHRoZSBmb3JtYXRzIGFuZCBzaXplcyBhIGNhbWVyYSBzdXBwb3J0cywgbWFrZQoJICBzdXJlIHRoZSBiZXN0IG9uZXMgKGhpZ2hlc3QgcmVzb2x1dGlvbiwgcHJlZmVyZWQgZm9ybWF0KQoJICBlbmQgdXAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcHJvYmVkIGNhcHMgYW5kIHRoZSBsZXNzCgkgIGRlc2lyYWJsZSBvbmVzIGF0IHRoZSBlbmQuICBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIHRoZQoJICBvcmRlciB3aXRoaW4gdGhlIGNhcHMgbWF0dGVycyBmb3IgdGhpbmdzIGxpa2UgZml4YXRpb24gYW5kCgkgIG5lZ290aWF0aW9uLCBpZS4gd2hhdCBmb3JtYXQgaXMgY2hvc2VuIGluIHRoZSBlbmQuCgkgIFdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSBjdXJyZW50IHByb2JpbmcgY29kZSB3aWxsIGVuZCB1cAoJICBxdWVyeWluZyB0aGUgc3VwcG9ydGVkIHNpemVzIGZyb20gbG93ZXN0IHJlc29sdXRpb24gdG8KCSAgaGlnaGVzdCByZXNvbHV0aW9uLCBhZGRpbmcgdGhlbSB0byB0aGUgcHJvYmVkIGNhcHMgaW4gdGhhdAoJICBvcmRlciwgcmVzdWx0aW5nIHRvIHY0bDJzcmMgZml4YXRpbmcgdG8gdGhlIGxvd2VzdCBwb3NzaWJsZQoJICByZXNvbHV0aW9uIGlmIGRvd25zdHJlYW0gZG9lcyBub3QgZXhwcmVzcyBhIHNpemUgcHJlZmVyZW5jZS4KCSAgQWxzbyBtYWtlIHVwIGEgc29tZXdoYXQgcmFuZG9tIHJhbmtpbmcgb2YgcHJlZmVyZWQgb3V0cHV0CgkgIGZvcm1hdHMgZm9yIHRoZSBzYW1lIHJlYXNvbi4gRml4ZXMgIzQ4NTgyOC4KCjIwMDctMTAtMTEgMTc6NTU6MjkgKzAwMDAgIEphc29uIEtpdmxpZ2huIDxqa2l2bGlnaG5AZ21haWwuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEV4dHJhY3QgbGljZW5zZS9jb3B5cmlnaHQgVVJJcyBmcm9tIElEM3YyIFdDT1AgZnJhbWVzIChGaXhlcyAjNDQ3MDAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKYXNvbiBLaXZsaWdobiAgPGpraXZsaWdobiBnbWFpbCBjb20+CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIEV4dHJhY3QgbGljZW5zZS9jb3B5cmlnaHQgVVJJcyBmcm9tIElEM3YyIFdDT1AgZnJhbWVzCgkgIChGaXhlcyAjNDQ3MDAwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICAqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00NDcwMDAtd2NvcC50YWc6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0LgoKMjAwNy0xMC0xMSAxNjo0MTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCBzdXBwb3J0IGZvciBsaWNlbnNlL2NvcHlyaWdodCBVUkkgdGFncyAoSUQzdjIgV0NPUCBmcmFtZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWNlbnNlL2NvcHlyaWdodCBVUkkgdGFncyAoSUQzdjIgV0NPUCBmcmFtZSkuCgkgIFByZXJlcXVpc2l0ZSBmb3IgIzQ0NzAwMC4KCjIwMDctMTAtMDggMTc6NDQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggY29tcGlsZXIgd2FybmluZyBieSB1c2luZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGluaXRpYWxpc2UgYSBHc3RDbG9ja1RpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgdXNpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBpbml0aWFsaXNlCgkgIGEgR3N0Q2xvY2tUaW1lLgoKMjAwNy0xMC0wOCAxMTo1ODo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTW9yZSBzZWVraW5nIGZpeGVzLCBtb3N0bHkgcGFzc2luZyBhcm91bmQgdGhlIG5ldyBwbGF5YmFjayBzZWdtZW50IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSBpdCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19kb19zZWVrKSwgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfY2FwcyksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBzZWVraW5nIGZpeGVzLCBtb3N0bHkgcGFzc2luZyBhcm91bmQgdGhlIG5ldyBwbGF5YmFjayBzZWdtZW50IGluCgkgIG9yZGVyIHRvIGNvbmZpZ3VyZSBpdCBwcm9wZXJseS4KCSAgQWxzbyByZXNldCBiYXNlX3RpbWUgb2YgdWRwIHNvdXJjZXMgd2hlbiBzZXR0aW5nIHRoZW0gYmFjayB0byBQTEFZSU5HIGFzCgkgIGEgdGVtcG9yYXJ5IGhhY2sgdW50aWwgY29yZSBzdXBwb3J0cyBzZWVrIGluIGxpdmUgc291cmNlcyBwcm9wZXJseS4KCjIwMDctMTAtMDggMTA6MzQ6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBGaXggY2FwcyBhcyB0byBub3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIEZpeCBjYXBzIGFzIHRvIG5vdCBjb25mdXNlIGF1dG9wbHVnZ2Vycy4KCjIwMDctMTAtMDYgMTY6MTM6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBQb3J0IElEMyB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UgKG5vdyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byB0ZXN0IHJlLWltcG9ydGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBQb3J0IElEMyB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UKCSAgKG5vdyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byB0ZXN0IHJlLWltcG9ydGluZyB5b3VyIG11c2ljCgkgIGNvbGxlY3Rpb24pLgoKMjAwNy0xMC0wNiAxNToxMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvOiBQb3J0IEFQRSB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5oOgoJICBQb3J0IEFQRSB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UuCgoyMDA3LTEwLTA1IDEzOjE4OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbXByb3ZlIGZsdXNoaW5nIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX2ludGVybmFsX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKG5ld19zZXNzaW9uX3BhZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKToKCSAgSW1wcm92ZSBmbHVzaGluZyBiZWhhdmlvdXIuCgkgIFNldCBzdGF0ZSBvZiB0aGUgdWRwIHNvdXJjZXMgdG8gUEFVU0UvUExBWUlORyBjb3JyZWN0bHkuCgkgIEhhbmRsZSBldmVudHMgYW5kIHF1ZXJpZXMgZm9yIFVEUCBhbmQgVENQIHRyYW5zcG9ydCBub3cuCgoyMDA3LTEwLTA0IDA3OjI5OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwLzogQWRkIGxvZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIEFkZCBsb2cgY2F0ZWdvcnkuCgoyMDA3LTEwLTA0IDA3OjI0OjAyICswMDAwICBUaW1vIEhvdHRpIDxUaW1vLkhvdHRpQHN5c29wZW5kaWdpYS5jb20+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaW1vIEhvdHRpIDxUaW1vLkhvdHRpQHN5c29wZW5kaWdpYS5jb20+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoKMjAwNy0xMC0wMiAxMDo0OTowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogQWxzbyBzYXZlIGNvZGVjIGRhdGEgZm9yIGF1ZGlvIHN0cmVhbXMuIEZpeGVzICM0ODI0OTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgQWxzbyBzYXZlIGNvZGVjIGRhdGEgZm9yIGF1ZGlvIHN0cmVhbXMuIEZpeGVzICM0ODI0OTUuCgoyMDA3LTEwLTAyIDEwOjIzOjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggIkluZGV4IGVudHJ5IGhhcyBpbnZhbGlkIHN0cmVhbSBuciAxIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4ICJJbmRleCBlbnRyeSBoYXMgaW52YWxpZCBzdHJlYW0gbnIgMSIuCgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgYWFjIC0gd29yayBpbiBwcm9ncmVzcyAoc2VlICM0ODI0OTUpLgoKMjAwNy0xMC0wMSAxNjozNDo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUGFyc2UgYmFuZHdpZHRoIG1vZGlmaWVycywgdGhleSBhcmUgbm90IHlldCBjb25maWd1cmVkIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIgYmVjYXVzZSB3ZSBkb24ndC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfYmFuZHdpZHRoKSwKCSAgKGdzdF9ydHNwc3JjX2NvbGxlY3RfYmFuZHdpZHRoKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFBhcnNlIGJhbmR3aWR0aCBtb2RpZmllcnMsIHRoZXkgYXJlIG5vdCB5ZXQgY29uZmlndXJlZCBpbiB0aGUgc2Vzc2lvbgoJICBtYW5hZ2VyIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbiBBUEkgZm9yIHRoYXQgeWV0LgoKMjAwNy0xMC0wMSAxMzo1NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIHNoaW55IG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgIFVzZSBzaGlueSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIFVwZGF0ZSBzb21lIGRvY3MuCgoyMDA3LTA5LTI5IDEyOjUwOjM2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIGZpbGVzIHRvIHdpbjMyIG1hbmlmZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGZpbGVzIHRvIHdpbjMyIG1hbmlmZXN0LgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDktMjggMTQ6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEluIFRDUCBtb2RlLCBvbmx5IHRpbWVzdGFtcCB0aGUgZmlyc3QgYnVmZmVyLiBUQ1AgaXMgbm90IHJlYWwgdGltZSBhbmQgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEluIFRDUCBtb2RlLCBvbmx5IHRpbWVzdGFtcCB0aGUgZmlyc3QgYnVmZmVyLiBUQ1AgaXMgbm90IHJlYWwgdGltZSBhbmQKCSAgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byB0cnkgdG8gc2tldyBjb21wZW5zYXRlLCBhbHNvIHNvbWUgc2VydmVycyBzZW5kCgkgIHRoZSBmaXJzdCBiYXRjaCBvZiBkYXRhIGluIGEgYnVyc3QuCgoyMDA3LTA5LTI3IDE1OjAwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBzZXR0aW5nIHRoZSBkaXNjb250IGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBwdXNoZWQgZG93bnN0cmVhbSBmb3IgZm9ybWF0cyB3aXRoIHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBGaXggc2V0dGluZyB0aGUgZGlzY29udCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIKCSAgcHVzaGVkIGRvd25zdHJlYW0gZm9yIGZvcm1hdHMgd2l0aCBwcml2YXRlIGNvZGVjCgkgIGRhdGEgdGhhdCBuZWVkcyB0byBiZSBkZXNlcmlhbGlzZWQgaW50byBidWZmZXJzCgkgIChzdWNoIGFzIHZvcmJpcyBhbmQgRkxBQyB3aGVuIGluIGEgbWF0cm9za2EgY29udGFpbmVyKS4KCjIwMDctMDktMjcgMTE6MTA6MTIgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuKjogRnJlZSB0aGUgY29uZmlnIHN0cmluZy4gRml4ZXMgIzQ4MDcwNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgRnJlZSB0aGUgY29uZmlnIHN0cmluZy4gRml4ZXMgIzQ4MDcwNy4KCSAgQ2xlYW4gdXAgdGhlIHRpbWVzdGFtcCBjb2RlIGEgbGl0dGxlLgoKMjAwNy0wOS0yNiAyMDoxMjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogU2V0IHRpbWVzdGFtcHMgb24gUlRQIGJ1ZmZlcnMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfY2xvc2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgU2V0IHRpbWVzdGFtcHMgb24gUlRQIGJ1ZmZlcnMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgTWFyayBmaXJzdCBidWZmZXJzIHdpdGggYSBESVNDT05ULgoJICBSZW1vdmUgZmx1c2ggaGFjayBub3cgdGhhdCBzeW5jIGZvciBsaXZlIHNvdXJjZXMgaGFzIGJlZW4gZmlndXJlZCBvdXQuCgoyMDA3LTA5LTI2IDE0OjI4OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoKMjAwNy0wOS0yNiAxNDoyNjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IEZhaWwgaWYgd2UgZG9uJ3Qga25vdyB0aGUgcXVpY2t0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBGYWlsIGlmIHdlIGRvbid0IGtub3cgdGhlIHF1aWNrdGltZSBmb3JtYXQuCgoyMDA3LTA5LTI2IDEzOjE5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBTYXZlIHRoZSBmbG93IHJldHVybiBmcm9tIHRoZSBsYXN0IGdzdF9wYWRfcHVzaCgpIGFuZCBtYWtlIHN1cmUgd2UgcGFzcyB0aGUgcmlnaHQgZmxvdyByZXR1cm4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFNhdmUgdGhlIGZsb3cgcmV0dXJuIGZyb20gdGhlIGxhc3QgZ3N0X3BhZF9wdXNoKCkgYW5kCgkgIG1ha2Ugc3VyZSB3ZSBwYXNzIHRoZSByaWdodCBmbG93IHJldHVybiB2YWx1ZSB1cHN0cmVhbQoJICBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlOyBtaW5vciBjbGVhbi11cHMuCgoyMDA3LTA5LTI1IDE5OjA5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgR1NUX1RBR19DT01QT1NFUiAoIzQ1OTgwOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IEdTVF9UQUdfQ09NUE9TRVIgKCM0NTk4MDkpLgoKMjAwNy0wOS0yNSAxNzoxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9sYXcvOiBDb21wdWxzaXZlIGNsZWFuLXVwczogdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgYWRkIGRlYnVnIGNhdGVnb3JpZXMsIGZpeCB1cCB0aGluZ3MgdG8gY29uZm9ybSB0byBzeW1ib2wgbm9tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LmM6CgkgICogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmg6CgkgIENvbXB1bHNpdmUgY2xlYW4tdXBzOiB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBhZGQgZGVidWcKCSAgY2F0ZWdvcmllcywgZml4IHVwIHRoaW5ncyB0byBjb25mb3JtIHRvIHN5bWJvbCBub21lbmtsYXR1cmEsCgkgIGV0Yy4KCjIwMDctMDktMjUgMTY6MDU6MjkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9sYXcvOiBVc2Ugc3RhdGljIHRhYmxlcyBmb3IgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nOyB0aGlzIG1ha2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTGF1cmVudCBHbGF5YWwgIDxzcGdsZWdsZSB5YWhvbyBmcj4KCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBVc2Ugc3RhdGljIHRhYmxlcyBmb3IgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nOyB0aGlzIG1ha2VzCgkgIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZyBsZXNzIENQVS1pbnRlbnNpdmUsIGJ1dCBpbmNyZWFzZXMKCSAgdGhlIGJpbmFyeSBzaXplIGEgYml0LiBMZWF2aW5nIG9sZCBjb2RlIGFyb3VuZCBmb3Igbm93LAoJICBzZWxlY3RhYmxlIGJ5IGEgZGVmaW5lIGluIHRoZSBjb2RlLiBGaXhlcyAjNDM1NDM1LgoKMjAwNy0wOS0yNSAwODo1MTozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0FSR19XSVRIX1BMVUdJTlMsIEFHX0dTVF9BUkdfRU5BQkxFX0VYVEVSTkFMIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQVJHX1dJVEhfUExVR0lOUywgQUdfR1NUX0FSR19FTkFCTEVfRVhURVJOQUwgYW5kCgkgIEFHX0dTVF9BUkdfRU5BQkxFX0VYUEVSSU1FTlRBTCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRob3NlIG1hY3JvcwoJICBpbiBjb25maWd1cmUuYWMuCgoyMDA3LTA5LTI1IDA1OjAzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBmb3VyY2NzIGZvciBNUEVHMiBIRFYgc3RyZWFtcy4gRml4ZXMgIzQ3OTk2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGZvdXJjY3MgZm9yIE1QRUcyIEhEViBzdHJlYW1zLiBGaXhlcyAjNDc5OTYwLgoKMjAwNy0wOS0yNCAxMDo1MzozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTIzIDE4OjU3OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBhIGdfY3JpdGljYWwuIFRoaXMgc2l0dWF0aW9uIGlzIG5vdCBjYXVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBhIGdfY3JpdGljYWwuIFRoaXMgc2l0dWF0aW9uIGlzIG5vdCBjYXVzZWQKCSAgYnkgdGhlIGFwcGxpY2F0aW9uLgoKMjAwNy0wOS0yMiAxODoxNToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL25sLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDktMjIgMTg6MTM6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXUucG86IEFkZGVkIEJhc3F1ZSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IE1pa2VsIE9sYXNhZ2FzdGkgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+CgkgICogcG8vZXUucG86CgkgIEFkZGVkIEJhc3F1ZSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MTM6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBDaGluZXNlICh0cmFkaXRpb25hbCBhbmQgSG9uZyBLb25nKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFiZWwgQ2hldW5nIDxhYmVsY2hldW5nQGdtYWlsLmNvbT4KCSAgKiBwby96aF9ISy5wbzoKCSAgKiBwby96aF9UVy5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAodHJhZGl0aW9uYWwgYW5kIEhvbmcgS29uZykgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjEwOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3BsLnBvOiBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPgoJICAqIHBvL3BsLnBvOgoJICBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA5OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2ZpLnBvOiBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSWxra2EgVHVvaGVsYSA8aGlsZUBpa2kuZmk+CgkgICogcG8vZmkucG86CgkgIEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA5OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2VzLnBvOiBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSm9yZ2UgR29uesOhbGV6IEdvbnrDoWxleiA8YWxvcmllbEBnbWFpbC5jb20+CgkgICogcG8vZXMucG86CgkgIEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA4OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2RhLnBvOiBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBNb2dlbnMgSmFlZ2VyIDxtb2dlbnNAamFlZ2VyLnRmPgoJICAqIHBvL2RhLnBvOgoJICBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA2OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3poX0NOLnBvOiBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEZ1bmRhIFdhbmcgPGZ1bmRhd2FuZ0BsaW51eC5uZXQuY24+CgkgICogcG8vemhfQ04ucG86CgkgIEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowNTozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9iZy5wbzogQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWxleGFuZGVyIFNob3BvdiA8YXNoQGNvbnRhY3QuYmc+CgkgICogcG8vYmcucG86CgkgIEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMDg6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCjIwMDctMDktMjEgMTE6MzQ6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IFNldCBvdXRnb2luZyBwYWNrZXQgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uIEZpeGVzICM0NzgyNDQgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgU2V0IG91dGdvaW5nIHBhY2tldCBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4gRml4ZXMgIzQ3ODI0NCBzb21lIG1vcmUuCgoyMDA3LTA5LTIwIDEzOjM1OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQWRkIGluZm8gYWJvdXQgc3RhdGljIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBBZGQgaW5mbyBhYm91dCBzdGF0aWMgbGVhay4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBJbXByb3ZlZCBzdGF0ZSBjaGFuZ2UgdW5pdCB0ZXN0LgoKMjAwNy0wOS0xOSAxODoxOTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCjIwMDctMDktMTkgMTY6MjQ6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBSZW1vdmVkIHNvbWUgdW51c2VkIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFJlbW92ZWQgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpOgoJICBUcnkgdG8gcHJlc2VydmUgdGhlIGluY29tbWluZyBidWZmZXIgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nCgkgIHBhY2tldHMuIEZpeGVzICM0NzgyNDQuCgoyMDA3LTA5LTE5IDEwOjIyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFdvcmsgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZysrLTQuMiB3aGVuIGFzc2lnbmluZyBhIHN0cmluZyBjb25zdGFudCB0byBhIGdjaGFyICogKHBhcnRpYWxseSBmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV29yayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnKystNC4yIHdoZW4gYXNzaWduaW5nIGEKCSAgc3RyaW5nIGNvbnN0YW50IHRvIGEgZ2NoYXIgKiAocGFydGlhbGx5IGZpeGVzICM0NzgwOTIpLgoKMjAwNy0wOS0xOCAxNjo0NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgcmVxdWlyZSBjb3JlIENWUyBub3cgZm9yIGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgcmVxdWlyZSBjb3JlIENWUyBub3cgZm9yIGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wKCkuCgoyMDA3LTA5LTE4IDEzOjU1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCjIwMDctMDktMTggMTE6NDU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMKCSAgYW5kIHN0YXJ0L3N0b3AuIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdAoJICBhbiBhcHBsaWNhdGlvbiBjYW4gdW5kZXJzdGFuZC4gKFllcyB0aGVzZSBhcmUgYWRhcHRlZCBmcm9tIHdpbSByZWNlbnQKCSAgbGV2ZWwgZWxlbWVudCBjaGFuZ2VzKQoKMjAwNy0wOS0xNyAxNzozNToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksIChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoKMjAwNy0wOS0xNyAwMjowNToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogR2l2ZSBtZWFuaW5nZnVsbCBlcnJvciB3aGVuIGFsbCBzdHJlYW1zIGZhaWxlZCB0byBjb25maWd1cmUgZm9yIHNvbWUgcmVhc29uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpOgoJICBHaXZlIG1lYW5pbmdmdWxsIGVycm9yIHdoZW4gYWxsIHN0cmVhbXMgZmFpbGVkIHRvIGNvbmZpZ3VyZSBmb3Igc29tZQoJICByZWFzb24uCgoyMDA3LTA5LTE2IDE5OjEzOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCB0aGUgZGVzaWduIGZvciBzeW5jaHJvbmlzYXRpb24gcnVsZXMgb2YgUlRQIG9uIHNlbmRlciBhbmQgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggdGhlIGRlc2lnbiBmb3Igc3luY2hyb25pc2F0aW9uIHJ1bGVzIG9mIFJUUCBvbgoJICBzZW5kZXIgYW5kIHJlY2VpdmVyLgoKMjAwNy0wOS0xNCAwOTo0MDo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IERvbid0IHB1c2ggRU9TIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCB0aGUgZWxlbWVudCBkcml2aW5nIHRoZSBwaXBlbGluZSBpcyByZXNwb25zaWJsZSBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgRG9uJ3QgcHVzaCBFT1MgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHRoZSBlbGVtZW50CgkgIGRyaXZpbmcgdGhlIHBpcGVsaW5lIGlzIHJlc3BvbnNpYmxlIGZvciB0aGlzLiBUaGUgYnVnCgkgIHRoaXMgd2FzIG1lYW50IHRvIGZpeCBzZWVtcyB0byBiZSBxdWV1ZSBub3QgZm9yd2FyZGluZwoJICBFT1MgaW4gYWxsIGNhc2VzIChzZWUgIzQ3NjUxNCkuCgoyMDA3LTA5LTEzIDE3OjMxOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzIGFuZCBzdGFydC9zdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwgKGdzdF9sZXZlbF9zdGFydCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMgYW5kCgkgIHN0YXJ0L3N0b3AuCgkgIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdCBhbiBhcHBsaWNhdGlvbgoJICBjYW4gdW5kZXJzdGFuZC4KCjIwMDctMDktMTMgMTU6MDQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSAgVXBkYXRlIG15IG1haWwgYWRkcmVzcy4KCjIwMDctMDktMTMgMTI6Mzc6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgRU9TIGxvZ2ljIGZvciB0aGUgcHVzaC1iYXNlZCBtb2RlIHRvby4gRml4ZXMgIzQ3NjUxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9lb3MpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgQWRkIEVPUyBsb2dpYyBmb3IgdGhlIHB1c2gtYmFzZWQgbW9kZSB0b28uIEZpeGVzICM0NzY1MTQuCgoyMDA3LTA5LTEyIDIyOjAxOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IEZpeCBsYXcgZW5jb2RlciB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19pbml0KSwgKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgRml4IGxhdyBlbmNvZGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTEyIDA5OjEzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogRml4IHdhcm5pbmcgd2hlbiBidWlsZGluZyB3aXRob3V0IGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSAgRml4IHdhcm5pbmcgd2hlbiBidWlsZGluZyB3aXRob3V0IGRlYnVnLgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICBVc2UgY29uc3QgbGlrZSBpbiBhbHNhbWl4ZXJ0cmFjay5jIChmaXhlcyB3YXJuaW5ncykuCgoyMDA3LTA5LTEyIDA4OjM4OjIxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOS0xMSAxNTozNzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24gY29kZSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIEZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uIGNvZGUgc29tZSBtb3JlLgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgYSB3ZWlyZCBzdGVwIGluIHRoZSBzdGVwd2lzZSBmcmFtZXJhdGVzLgoJICBEb24ndCBvdmVyd3JpdGUgdGhlIG1pbiBpbnRlcnZhbCB3aXRoIHRoZSBmcmFtZXJhdGUsIHVzZSBhIHRlbXAgdmFyaWFibGUKCSAgaW5zdGVhZC4KCSAgVXNlIG1heCBpbiB0aGUgQ29udGludW91cyBmcmFtZXJhdGUgaW50ZXJ2YWxzIGluc3RlYWQgb2Ygc3RlcCwgd2hpY2ggaXMKCSAgMSBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuIEZpeGVzICM0NzU0MjQuCgoyMDA3LTA5LTEwIDE5OjUzOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogTWFrZSB1ZHBzcmMgdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMgYmFzZWQgb24gd2hlbiB0aGV5IHdlcmUgcmVjZWl2ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBNYWtlIHVkcHNyYyB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycyBiYXNlZCBvbiB3aGVuIHRoZXkgd2VyZSByZWNlaXZlZC4KCSAgQWxzbyBtYWtlIGl0IG91dHB1dCBhIHNlZ21lbnQgaW4gdGltZS4KCjIwMDctMDktMTAgMDY6NDk6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUGx1ZyBhIGxpdHRsZSBsZWFrLiBMaXR0bGUgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBQbHVnIGEgbGl0dGxlIGxlYWsuIExpdHRsZSBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0wOSAxODowODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiB0byBjaGVjayBmb3Igb2xkIGZsYWMgdmVyc2lvbnMsICdzIGdvb2QgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gdG8gY2hlY2sgZm9yIG9sZAoJICBmbGFjIHZlcnNpb25zLCAncyBnb29kIGZvciBjcm9zcy1jb21waWxhdGlvbiBrYXJtYS4KCjIwMDctMDktMDcgMTg6MDQ6NDEgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IEZpeCB1cCBoZWFkZXIgc3RydWN0dXJlIHNvIHRoYXQgY29tcGlsZXJzIGRvbid0IGFkZCBwYWRkaW5nIGJldHdlZW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMsIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSAgPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBGaXggdXAgaGVhZGVyIHN0cnVjdHVyZSBzbyB0aGF0IGNvbXBpbGVycyBkb24ndCBhZGQgcGFkZGluZwoJICBiZXR3ZWVuIHRoZSBzdHJ1Y3R1cmUgZmllbGRzLCBzaW5jZSB0aGF0IHdvdWxkIGxlYWQgdG8gdXMKCSAgc2VuZGluZyBSVFAgcGFja2V0cyB3aXRoIGJyb2tlbiBoZWFkZXJzIChhcyBpcyBjdXJyZW50bHkgdGhlCgkgIGNhc2Ugd2hlbiBjb21waWxpbmcgd2l0aCBNU1ZDKS4gQWxzbyBzZWUgc2ltaWxhciBmaXhlcyBpbgoJICBsaWJnc3RydHAgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gKCM0NzQ2MTY7ICM0NzExOTQpCgoyMDA3LTA5LTA3IDE2OjA0OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBEb24ndCBvdmVyd3JpdGUgb3VyIEdWYWx1ZSB3aXRoIDAgYnV0IGluc3RlYWQgdXNlIHRoZSBwcmV2aW91c2x5IGNvbXB1dGVkIHZhbHVlLiBGaXhlcyAjNDcxLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIERvbid0IG92ZXJ3cml0ZSBvdXIgR1ZhbHVlIHdpdGggMCBidXQgaW5zdGVhZCB1c2UgdGhlIHByZXZpb3VzbHkKCSAgY29tcHV0ZWQgdmFsdWUuIEZpeGVzICM0NzE4MjMgc29tZSBtb3JlLgoKMjAwNy0wOS0wNyAxNTo1NDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBUaGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBub3RpY2luZy4KCjIwMDctMDktMDYgMTI6MDA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeTogTm8gdGFicyBpbiB0aGlzIGZpbGUgcGxlYXNlLCBvciBndGstZG9jIHdpbGwgZW5kIHVwIGRvY3VtZW50aW5nIHJhdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIE5vIHRhYnMgaW4gdGhpcyBmaWxlIHBsZWFzZSwgb3IgZ3RrLWRvYyB3aWxsIGVuZCB1cCBkb2N1bWVudGluZwoJICByYXRoZXIgYWJzdXJkIGNsYXNzIGhpZXJhcmNoaWVzLgoKMjAwNy0wOS0wNiAxMDo0ODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IElmIHRoZSBuZXcga2lkIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlIGZvciBzb21lIHJlYXNvbiBmb3J3YXJkIHRoZSBlcnJvciBtZXNzYWdlIGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBJZiB0aGUgbmV3IGtpZCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSBmb3Igc29tZSByZWFzb24KCSAgKGUuZy4gZXNkc2luayBub3QgYmVpbmcgYWJsZSB0byBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIpLAoJICBmb3J3YXJkIHRoZSBlcnJvciBtZXNzYWdlIGl0IHBvc3RlZCBvbiB0aGUgYnVzIGluc3RlYWQgb2YganVzdAoJICBwb3N0aW5nIGEgZ2VuZXJpYyAnSW50ZXJuYWwgc3RhdGUgY2hhbmdlIGVycm9yOiBwbGVhc2UgZmlsZSBhCgkgIGJ1ZycgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzQ3MTM2NC4KCjIwMDctMDktMDYgMDc6MjE6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldHVwKSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydAoJICBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlIGNvbnRlbnRzLAoJICBhdmVyYWdlIGFsbCBGRlRzIGRvbmUgaW4gb25lIGludGVydmFsIGZvciBiZXR0ZXIgcmVzdWx0cywgdXNlCgkgIGEgYmV0dGVyIHdpbmRvd2luZyBmdW5jdGlvbiwgYWxsb3cgcG9zdGluZyB0aGUgcGhhc2UgaW4gdGhlIG1lc3NhZ2UKCSAgYW5kIGFjdHVhbGx5IGRvIGFuIEZGVCB3aXRoIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJhbmRzIGluc3RlYWQKCSAgb2YgaW50ZXJwb2xhdGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlY3RydW1fc3VpdGUpOgoJICBJbXByb3ZlIHRoZSB1bml0cyB0ZXN0cyBieSBjaGVja2luZyBmb3IgYSAxMTAyNUh6IHNpbmUgd2F2ZQoJICBhbmQgYWRkIHVuaXQgdGVzdHMgZm9yIGFsbCA0IHN1cHBvcnRlZCBzYW1wbGUgdHlwZXMuCgoyMDA3LTA5LTA1IDE2OjIzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBEb24ndCBhc3N1bWUgdGFncyBhcmUgZW5jb2RlZCBhcyBVVEYtOCAoIzQ3MzY3MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRG9uJ3QgYXNzdW1lIHRhZ3MgYXJlIGVuY29kZWQgYXMgVVRGLTggKCM0NzM2NzApLgoKMjAwNy0wOS0wNSAxNDo0MzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcmllcyBpbiB0aGUgY3J1ZGVzdCB3YXkgcG9zc2libGUgc28gSSBkb24ndCBoYXZlIHRvIHVzZSBzeW5jPWZhbHNlIGFueSBsb25nZXIgd2hlbiB0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSW1wbGVtZW50IExBVEVOQ1kgcXVlcmllcyBpbiB0aGUgY3J1ZGVzdCB3YXkgcG9zc2libGUgc28gSSBkb24ndAoJICBoYXZlIHRvIHVzZSBzeW5jPWZhbHNlIGFueSBsb25nZXIgd2hlbiB0ZXN0aW5nIHdpdGggdmlkZW9zaW5rcy4KCjIwMDctMDktMDUgMDk6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQuCgoyMDA3LTA5LTA1IDAwOjEyOjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbiB0aGUgZnJhbWVyYXRlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbiB0aGUgZnJhbWVyYXRlIGZ1bmN0aW9uLgoJICBJdGVyYXRlIHN0ZXB3aXNlIGZyYW1lcmF0ZSB1cCB0byBhbmQgX2luY2x1ZGluZ18gdGhlIG1heCBhbmQgaWYgbm90aGluZwoJICB3YXMgYWRkZWQgdG8gdGhlIGxpc3QsIGFkZCBhIGR1bW15IDAvMSB0byAxMDAvMSBmcmFtZXJhdGUgc28gdGhhdCB3ZQoJICBkb24ndCBlbmQgdXAgd2l0aCBhbiBlbXB0eSBsaXN0LgoKMjAwNy0wOS0wNCAyMjo0MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEFkZCBwcm9wZXJ0eSBkbyBjb25maWd1cmUgZGVzdGluYXRpb24gYWRkcmVzcy9wb3J0IHBhaXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfY2xpZW50c19zdHJpbmcpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfY2xpZW50c19zdHJpbmcpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19jbGVhcl9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKToKCSAgQWRkIHByb3BlcnR5IGRvIGNvbmZpZ3VyZSBkZXN0aW5hdGlvbiBhZGRyZXNzL3BvcnQgcGFpcnMKCSAgQVBJOkdzdE11bHRpVURQU2luazo6Y2xpZW50cwoKMjAwNy0wOS0wNCAxODozMDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzLzogQWRkZWQgc29tZSBSVFAgZXhhbXBsZSBzY3JpcHRzIGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRQIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEFkZGVkIHNvbWUgUlRQIGV4YW1wbGUgc2NyaXB0cyBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUUCBzdHJlYW1zLgoKMjAwNy0wOS0wNCAxNjo0MDowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUmVzdHJ1Y3R1cmUgdGhlIHNldGNhcHMgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWxzbyBjb21wdXRlIHRoZSBleHBlY3RlZCBHU3RyZWFtZXIgb3V0cHV0IHNpei4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9tbWFwKToKCSAgUmVzdHJ1Y3R1cmUgdGhlIHNldGNhcHMgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWxzbyBjb21wdXRlIHRoZQoJICBleHBlY3RlZCBHU3RyZWFtZXIgb3V0cHV0IHNpemUgb2YgdGhlIHZpZGVvIGZyYW1lcy4KCSAgU2V0IGZyYW1lX2J5dGVfc2l6ZSBjb3JyZWN0bHkgc28gdGhhdCByZWFkLWJhc2VkIGRldmljZXMgaGF2ZSBhIGNoYW5jZQoJICBvZiB3b3JraW5nIGNvcnJlY3RseS4KCSAgV2hlbiBncmFiYmluZyBhIGZyYW1lLCBkaXNjYXJkIGZyYW1lcyB0aGF0IGFyZSBub3Qgb2YgdGhlIGV4cGVjdGVkIHNpemUuCgkgIFNvbWUgY2FtZXJhcyBkb24ndCBvdXRwdXQgdGhlIHJpZ2h0IGZyYW1lc2l6ZSBmb3IgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgVHJ5IG9ubHkgYSBjb3VwbGUgb2YgdGltZXMgdG8gZ2V0IGEgdmFsaWQgZnJhbWUsIGVsc2UgZXJyb3Igb3V0LgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9nZXRfaW5wdXQpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gd2hlbiBzY2FubmluZyB0aGUgZGV2aWNlLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9uZXcpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKSwKCSAgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gd2hlbiBkZXF1ZWluZyBhIGZyYW1lLgoKMjAwNy0wOS0wNCAxNDozNzoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1vcmUgY29kZSBjbGVhbnVwcy4gQWRkIHNvbWUgbW9yZSBjb21tZW50IGFuZCBpbXByb3ZlIGRlYnVncyBsb2dzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgTW9yZSBjb2RlIGNsZWFudXBzLiBBZGQgc29tZSBtb3JlIGNvbW1lbnQgYW5kIGltcHJvdmUgZGVidWdzIGxvZ3MuCgoyMDA3LTA5LTA0IDA3OjU4OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogSW1wbGVtZW50IHNlZWstcXVlcnkuIFJlZmFjdG9yIGR1cmF0aW9uIGNhbGN1bGF0aW9ucy4gQXBwcm9wcmlhdGUgdXNlIG9mIHVpbnQ2NF9zY2FsZV9pbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEltcGxlbWVudCBzZWVrLXF1ZXJ5LiBSZWZhY3RvciBkdXJhdGlvbiBjYWxjdWxhdGlvbnMuIEFwcHJvcHJpYXRlIHVzZQoJICBvZiB1aW50NjRfc2NhbGVfaW50IGFuZCB1aW50NjRfc2NhbGUuIE1vdmUgcmVwZWFkZWRseSBjYWxjdWxhdGVkIHN0dWZmCgkgIG91dCBvZiBsb29wcy4KCjIwMDctMDktMDMgMDc6NDQ6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW1wbGVtZW50IHNlZWstcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgSW1wbGVtZW50IHNlZWstcXVlcnkuCgoyMDA3LTA4LTI5IDIxOjQzOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgbmV3IGJhc2VzaW5rIGFzeW5jIHByb3BlcnR5IHRvIG1ha2Ugc3BhcnNlIFJUQ1AgcGFja2V0IG5vdCB3YWl0IGZvciBwcmVyb2xsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpOgoJICBVc2UgbmV3IGJhc2VzaW5rIGFzeW5jIHByb3BlcnR5IHRvIG1ha2Ugc3BhcnNlIFJUQ1AgcGFja2V0IG5vdCB3YWl0IGZvcgoJICBwcmVyb2xsLgoKMjAwNy0wOC0yNyAxNDo0NDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbTogRGlzdCB0aGUgcmlnaHQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIERpc3QgdGhlIHJpZ2h0IGZpbGUuCgoyMDA3LTA4LTIzIDE2OjI3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNYWtlIHN1cmUgd2UgZ2VuZXJhdGUgYW5kIHBhcnNlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBpbiB0aGUgUE9TSVggbG9jYWxlIGluc3RlYWQgb2YgdGhlIGN1cnJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X2Zsb2F0KSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICBNYWtlIHN1cmUgd2UgZ2VuZXJhdGUgYW5kIHBhcnNlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBpbiB0aGUgUE9TSVgKCSAgbG9jYWxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgbG9jYWxlLgoKMjAwNy0wOC0yMiAxNTowMToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IG1ldGhvZCBkZXRlY3Rpb24gYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IG1ldGhvZCBkZXRlY3Rpb24gYWdhaW4uCgkgIEtlZXAgdHJhY2sgb2Ygd2hlbiB3ZSBtdXN0IHNlbmQgYSBSYW5nZSBoZWFkZXIuCgkgIFVzZSBzZWdtZW50IHZhbHVlcyBmb3IgUmFuZ2UsIFNwZWVkIGFuZCBTY2FsZSBoZWFkZXJzLgoJICBQYXJzZSBTcGVlZCBhbmQgU2NhbGUgaGVhZGVycyB0byB1cGRhdGUgdGhlIHNlZ21lbnQgdmFsdWVzLgoKMjAwNy0wOC0yMiAwODoyMjo1MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogSGFuZGxlIG9wdGlvbmFsIHY0bDIgaW9jdGxzIGdyYWNlZnVsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEhhbmRsZSBvcHRpb25hbCB2NGwyIGlvY3RscyBncmFjZWZ1bGx5LgoKMjAwNy0wOC0yMCAxNjo1MjowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBhbiBIMjYzIGRlcGF5bG9hZGVyLiBGaXhlcyAjMzY5MzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfaDI2M19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgQWRkZWQgYW4gSDI2MyBkZXBheWxvYWRlci4gRml4ZXMgIzM2OTM5Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgIE1ha2UgdGhlIEgyNjMrIHBheS9kZXBheWxvYWRlciBzdXBwb3J0IEgyNjMtMTk5OCBhbmQgSDI2My0yMDAwCgkgIHBheWxvYWRzLgoJICBBbHNvIGFsb3cgcGxhaW4gSDI2MyBvbiB0aGUgaDI2M3AgcGF5bG9hZGVycy4gRml4ZXMgIzQ2NTA0MC4KCjIwMDctMDgtMTkgMTk6MTY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjExOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSB3aW5kb3dlZCBzaW5jIGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgd2luZG93ZWQgc2luYyBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOTowMTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYnB3c2luY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAobHB3c2luY19zdWl0ZSk6CgkgIEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoKMjAwNy0wOC0xOSAxODo0NzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgMzIgYml0IGZsb2F0IG1vZGUgYW5kIHRoZSB0eXBlIDIgdmFyaWFudHMgb2YgdGhlIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmRfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdF9zdWl0ZSk6CgkgIEFsc28gdGVzdCAzMiBiaXQgZmxvYXQgbW9kZSBhbmQgdGhlIHR5cGUgMiB2YXJpYW50cyBvZiB0aGUgZmlsdGVycy4KCjIwMDctMDgtMTggMTk6NDQ6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRoZSB1ZHAgYW5kIGludGVybGVhdmVkIGxvb3AgZnVuY3Rpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19sb29wKToKCSAgUmVmYWN0b3IgdGhlIHVkcCBhbmQgaW50ZXJsZWF2ZWQgbG9vcCBmdW5jdGlvbiBhIGJpdC4KCjIwMDctMDgtMTcgMTc6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFByb3RlY3QgY29ubmVjdGlvbiBhY3Rpdml0eSB3aXRoIGEgbmV3IGxvY2ssIGF2b2lkcyBkZWFkbG9ja3Mgd2hlbiBnb2luZyB0byBQQVVTRUQuIEZpeGVzICM0NTUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9yZWNlaXZlKSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUHJvdGVjdCBjb25uZWN0aW9uIGFjdGl2aXR5IHdpdGggYSBuZXcgbG9jaywgYXZvaWRzIGRlYWRsb2NrcyB3aGVuIGdvaW5nCgkgIHRvIFBBVVNFRC4gRml4ZXMgIzQ1NTgwOC4KCjIwMDctMDgtMTcgMTU6MzA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggZGVidWcgc3RhdGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKToKCSAgRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDctMDgtMTcgMTU6Mjg6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBzdHJheSAldSBpbiBkZWJ1ZyBsaW5lIGFzIHNwb3R0ZWQgYnkgU2F1ciBvbiBJUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpOgoJICBGaXggc3RyYXkgJXUgaW4gZGVidWcgbGluZSBhcyBzcG90dGVkIGJ5IFNhdXIgb24gSVJDLgoKMjAwNy0wOC0xNyAxNTowNToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGNoYW5nZSBmcmVxdWVuY3kKCSAgcHJvcGVydGllcyB0byBmbG9hdHMgdG8gc2F2ZSBhIGJpdCBvZiBtZW1vcnksIGV2ZW4gaW50cyB3b3VsZCBpbgoJICB0aGVvcnkgYmUgZW5vdWdoLiBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gY3V0b2ZmIGZvciBjb25zaXN0ZW5jeQoJICByZWFzb25zLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBhYm92ZSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAxNDo0MzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfY2xhc3NfaW5pdCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBhZGQgYSBub3RlIGFib3V0CgkgIHRoZSBudW1iZXIgb2YgcG9sZXMgYXMgYSB0b28gaGlnaCBudW1iZXIgb2YgcG9sZXMgY29tYmluZWQgd2l0aAoJICB2ZXJ5IGxvdyBvciB2ZXJ5IGhpZ2ggZnJlcXVlbmNpZXMgd2lsbCBwcm9kdWNlIG9ubHkgbm9pc2UuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIHByb3BlcnR5IGNoYW5nZXMuCgoyMDA3LTA4LTE3IDE0OjE1OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbXByb3ZlIHRpbWVvdXQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19mbHVzaCksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wcm92ZSB0aW1lb3V0IGhhbmRsaW5nLgoJICBVc2UgdGhlIHNhbWUgc29ja2V0IGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIHNvIHRoYXQgc29tZQoJICBzZXJ2ZXJzIGNhbiB0cmFjayBjbGllbnRzIGJldHRlci4KCSAgSW1wcm92ZSBjb25uZWN0aW9uIGNsb3NlZCBoYW5kbGluZy4gVHJ5IHRvIHJlY29ubmVjdC4KCSAgRG9uJ3Qgb3ZlcndyaXRlIG91ciBjb250ZW50IGJhc2Ugd2l0aCBOVUxMLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgSW1wcm92ZSByYW5nZSBwYXJzaW5nIGFuZCBoYW5kbGluZy4KCSAgUmVtb3ZlIGZsdXNoaW5nIGhhY2sgbm93IHRoYXQgY29yZSBkb2VzIHRoZSByaWdodCB0aGluZy4KCjIwMDctMDgtMTcgMTM6NTk6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgc29ja2V0IHRvIHVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbG9zZSksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHNvY2tldCB0byB1c2UuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyB0aGUgY3VycmVudGx5IHVzZWQgc29ja2V0LgoKMjAwNy0wOC0xNiAxOToyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3N0YXJ0KSwgKGJwd3NpbmNfcXVlcnkpLAoJICAoYnB3c2luY19xdWVyeV90eXBlKSwgKGJwd3NpbmNfZXZlbnQpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgUmVzZXQgcmVzaWR1ZSBsZW5ndGggb25seSB3aGVuIGFjdHVhbGx5IGNyZWF0aW5nIGEgcmVzaWR1ZS4KCjIwMDctMDgtMTYgMTc6MDI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIENoZWJ5c2hldiBsb3dwYXNzL2hpZ2hwYXNzIGFuZCBiYW5kcGFzcy9iYW5kcmVqZWN0IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2luaXQpLAoJICAoZ2VuZXJhdGVfYmlxdWFkX2NvZWZmaWNpZW50cyksIChjYWxjdWxhdGVfZ2FpbiksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zZXR1cCksIChwcm9jZXNzKSwgKHByb2Nlc3NfNjQpLAoJICAocHJvY2Vzc18zMiksIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc3RhcnQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfaW5pdCksCgkgIChnZW5lcmF0ZV9iaXF1YWRfY29lZmZpY2llbnRzKSwgKGNhbGN1bGF0ZV9nYWluKSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3NldHVwKSwgKHByb2Nlc3MpLCAocHJvY2Vzc182NCksCgkgIChwcm9jZXNzXzMyKSwgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3N0YXJ0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIENoZWJ5c2hldiBsb3dwYXNzL2hpZ2hwYXNzIGFuZCBiYW5kcGFzcy9iYW5kcmVqZWN0IGVsZW1lbnRzLgoJICBGaXhlcyAjNDY0ODAwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoc2V0dXBfYXVkaW9jaGVieXNoZXZmcmVxYmFuZCksIChjbGVhbnVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9jaGVieXNoZXZmcmVxYmFuZF9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoc2V0dXBfYXVkaW9jaGVieXNoZXZmcmVxbGltaXQpLCAoY2xlYW51cF9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFuZCBhZGQgZG9jcyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLiBXaGlsZSBkb2luZwoJICB0aGF0IGFsc28gcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTYgMTI6MTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2Ugcm8gbWVtb3J5IHRvIHNoYXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgTWFrZSBybyBtZW1vcnkgdG8gc2hhcmUuCgoyMDA3LTA4LTE2IDExOjQ5OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSW1wcm92ZSBVRFAgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgYSBzZWxlY3QoKSB3aGVuIHdlIGhhdmUgZGF0YSBhdmFpbGFibGUgaW1tZWRpYXRseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgSW1wcm92ZSBVRFAgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgYSBzZWxlY3QoKSB3aGVuIHdlIGhhdmUgZGF0YQoJICBhdmFpbGFibGUgaW1tZWRpYXRseS4KCjIwMDctMDgtMTYgMTE6NDc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkIChkdW1teSkgU1NSQyBtYW5hZ2VtZW50IHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9WT0lEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZCAoZHVtbXkpIFNTUkMgbWFuYWdlbWVudCBzaWduYWxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChmaW5kX3N0cmVhbSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKG5ld19zZXNzaW9uX3BhZCksCgkgIChyZXF1ZXN0X3B0X21hcCksIChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eS4KCSAgQWRkIGZpbmRfc3RyZWFtIGhlbHBlciBmdW5jdGlvbnMuCgkgIEhhbmRsZSBzdHJlYW0gRU9TIGJhc2VkIG9uIEJZRSBtZXNzYWdlcyBvciBTU1JDIHRpbWVvdXQuCgkgIFJldHVybnMgU1VDQ0VTUyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYXMgd2UgaGlkZSBvdXIgYXN5bmMKCSAgZWxlbWVudHMgZnJvbSB0aGUgcGFyZW50LgoKMjAwNy0wOC0xNiAwOTo0ODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChscHdzaW5jX3RyYW5zZm9ybSksIChscHdzaW5jX3N0YXJ0KSwgKGxwd3NpbmNfcXVlcnkpLAoJICAobHB3c2luY19xdWVyeV90eXBlKSwgKGxwd3NpbmNfZXZlbnQpLCAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCjIwMDctMDgtMTYgMDc6NDA6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBkYSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICBGaXggZGEgbGVhay4KCjIwMDctMDgtMTQgMTM6NTA6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IEFkZCBuZXcgdGVzdCBlbGVtZW50IGFuZCBjbGVhbi11cCB0aGUgb3RoZXJzIGEgbGl0dGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBBZGQgbmV3IHRlc3QgZWxlbWVudCBhbmQgY2xlYW4tdXAgdGhlIG90aGVycyBhIGxpdHRsZS4KCjIwMDctMDgtMTMgMTM6NTA6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUgYWxsIG90aGVyIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbQoJICBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUKCSAgYWxsIG90aGVyIGRvY3MgdmlhIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTIgMjA6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCjIwMDctMDgtMTIgMjA6NTM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChzZXR1cF9icHdzaW5jKSwKCSAgKGNsZWFudXBfYnB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChicHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoKMjAwNy0wOC0xMiAyMDoxOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKHNldHVwX2xwd3NpbmMpLAoJICAoY2xlYW51cF9scHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGxwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgoyMDA3LTA4LTEyIDE1OjQxOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMDgtMTIgMTQ6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG1wNGEgdmVyc2lvbiAwIGF0b21zLiBGaXhlcyAjNDY1Nzc0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBGaXggcGFyc2luZyBvZiBtcDRhIHZlcnNpb24gMCBhdG9tcy4gRml4ZXMgIzQ2NTc3NC4KCjIwMDctMDgtMTIgMTI6NDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlIG9uIHN0cmVhbSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zdGFydCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGxwd3NpbmNfc3RhcnQpOgoJICBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlCgkgIG9uIHN0cmVhbSBjaGFuZ2VzLgoKMjAwNy0wOC0xMSAxNTo1ODozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIga2VybmVsIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgIEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIKCSAga2VybmVsIHNpemUuCgoyMDA3LTA4LTEwIDE3OjA4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEwIDE2OjEwOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiBTZXQgdGhlIG1wZWd2ZXJzaW9uIGluIHRoZSBjYXBzIHNvIHRoYXQgYXV0b3BsdWdnaW5nIGRvZXMgbm90IGdldCBjb25mdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICBTZXQgdGhlIG1wZWd2ZXJzaW9uIGluIHRoZSBjYXBzIHNvIHRoYXQgYXV0b3BsdWdnaW5nIGRvZXMgbm90IGdldAoJICBjb25mdXNlZC4KCjIwMDctMDgtMTAgMDU6NTE6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZCB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQKCSAgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSBidWZmZXIuCgoyMDA3LTA4LTEwIDA1OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9icHdzaW5jX3dpbmRvd19nZXRfdHlwZSksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdwoJICBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBbmQgYW5vdGhlciBzbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDU6MjA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgLSBTdXBwb3J0IGRvdWJsZSBpbnB1dAoJICAtIEZpeCBwcm9jZXNzaW5nIGZvciBpbnB1dCB3aXRoID4xIGNoYW5uZWxzCgkgIC0gU3BlY2lmeSBmcmVxdWVuY3kgaW4gSHoKCSAgLSBTcGVjaWZ5IGFjdHVhbCBmaWx0ZXIga2VybmVsIGxlbmd0aAoJICAtIFVzZSB0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAgYXMgd2UncmUgd29ya2luZwoJICBvdXQgb2YgcGxhY2UgYW55d2F5CgkgIC0gRmFjdG9yIG91dCBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gYW5kIHVwZGF0ZSB0aGUgZmlsdGVyCgkgIGtlcm5lbCB3aGVuIHRoZSBwcm9wZXJ0aWVzIGFyZSBzZXQKCSAgRml4IGJhbmRwYXNzIGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiB0byBhY3R1YWxseSBnZW5lcmF0ZQoJICBhIGJhbmRwYXNzIGZpbHRlciBieSBjcmVhdGluZyBhIGhpZ2hwYXNzIGluc3RlYWQgb2YgYSBzZWNvbmQKCSAgbG93cGFzcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBTbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDQ6NDQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQKCSAgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0byB0aGUgbmV4dCBvZGQgbnVtYmVyLgoJICBBbHNvIHJlbW92ZSBub3cgb2Jzb2xldGUgRklYTUVzLgoKMjAwNy0wOC0xMCAwNDozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4gd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4KCSAgd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0b3BiYW5kIGF0dGVudWF0aW9uIGJ1dCBhIGJpdCBzbG93ZXIKCSAgcm9sbG9mZi4KCjIwMDctMDgtMTAgMDQ6MjE6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgYSBoaWdocGFzcyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgYSBoaWdocGFzcyBtb2RlLgoKMjAwNy0wOC0xMCAwNDowNjo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoKMjAwNy0wOC0wOSAxOToyMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBBZGQgVE9ET3MgYW5kIEZJWE1FcyBhbmQgcmVtb3ZlIHR3byB3cm9uZyBGSVhNRXMuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBGSVhNRXMgYW5kIGEgbmV3IFRPRE8uCgoyMDA3LTA4LTA5IDE4OjA4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyIGlzIGEgQysrIGtleXdvcmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksCgkgIChwcm9jZXNzXzY0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0dXApLAoJICAobHB3c2luY19nZXRfdW5pdF9zaXplKSwgKGxwd3NpbmNfdHJhbnNmb3JtKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyCgkgIGlzIGEgQysrIGtleXdvcmQuCgkgIEltcGxlbWVudCB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IGluIEh6IGluc3RlYWQgb2YgZnJhY3Rpb24KCSAgb2Ygc2FtcGxpbmcgZnJlcXVlbmN5LgoJICBSZW1vdmUgc29tZSB1bmVjZXNzYXJ5IEZJWE1FcyBhbmQgYWRkIHNvbWUgVE9ET3MsIGFkZCBzb21lCgkgIHJlcXVpcmVkIGxvY2tpbmcgYW5kIHJlZmFjdG9yIHRoZSBrZXJuZWwgZ2VuZXJhdGlvbiBpbnRvIGEKCSAgc2VwYXJhdGUgZnVuY3Rpb24gdGhhdCBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0aWVzCgkgIGNoYW5nZSBub3cuCgkgIEFuZCB1c2UgQmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwCgkgIGFzIHRoZSBjb252b2x1dGlvbiBpcyBkb25lIG91dCBvZiBwbGFjZSBhbnl3YXkuIFNob3VsZAoJICBiZSBkb25lIGluIHBsYWNlIGxhdGVyLgoKMjAwNy0wOC0wOSAxMDo1NDowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA4LTA4IDIwOjQ3OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeSBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeQoJICBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCjIwMDctMDgtMDggMTc6NDc6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBSZW5kZXIgcmlnaHQgYm9yZGVyIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKToKCSAgUmVuZGVyIHJpZ2h0IGJvcmRlciBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCjIwMDctMDgtMDggMTA6NTQ6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogTWFrZSBtb2RlIHByb3BlcnR5IGEgc3RyaW5nLiBGaXhlcyAjNDY0NDc1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgTWFrZSBtb2RlIHByb3BlcnR5IGEgc3RyaW5nLiBGaXhlcyAjNDY0NDc1LgoKMjAwNy0wOC0wNSAxNDo1ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBXaWRlbiBjYXBzIHRvIG1hdGNoIGRlY29kZXIgYSBiaXQgYW5kIGFkZCBtb3JlIEZJWE1Fcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBXaWRlbiBjYXBzIHRvIG1hdGNoIGRlY29kZXIgYSBiaXQgYW5kIGFkZCBtb3JlIEZJWE1Fcy4KCjIwMDctMDgtMDUgMTQ6NTM6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggT0RNTCBpbmRleCB0YWcgbnVtYmVyaW5nLiBGaXhlcyAjNDYzNjI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4IE9ETUwgaW5kZXggdGFnIG51bWJlcmluZy4gRml4ZXMgIzQ2MzYyNC4KCjIwMDctMDgtMDMgMTY6MDg6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBkZWZhdWx0IGNsb2NrLXJhdGUgZm9yIHJlYWxtZWRpYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIEZpeCBkZWZhdWx0IGNsb2NrLXJhdGUgZm9yIHJlYWxtZWRpYS4KCSAgRml4IHBhcnNpbmcgb2YgdHJhbnNwb3J0LgoJICBEb24ndCB0cnkgdG8gbGluayBOVUxMIHBhZHMuCgoyMDA3LTA3LTMwIDE3OjE3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuc2tpcDogQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZQoJICBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYmxlIHN0cmluZ3MuIFNob3VsZCBob3BlZnVsbHkgcGFjaWZ5CgkgIGJyb2tlbiB0b29scyBhbmQgbWFrZSBpdCBjbGVhcmVyIHRoYXQgdGhlc2UgZmlsZXMgYXJlIGxlZnQgb3V0CgkgIGludGVudGlvbmFsbHkgKCM0NjE2MDApLgoKMjAwNy0wNy0zMCAxMjo0MTo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSWYgdGhlIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCAuLi4gZG9uJ3QgdHJ5IHNlbmRpbmcgaXQgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIElmIHRoZSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgLi4uIGRvbid0IHRyeSBzZW5kaW5nIGl0IDopCgoyMDA3LTA3LTI3IDE2OjU2OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZiB3ZSBkb24ndCBoYXYgYSBzZXNzaW9uIG1hbmFnZXIsIHNldCB0aGUgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzIG91cnNlbHZlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyk6CgkgIElmIHdlIGRvbid0IGhhdiBhIHNlc3Npb24gbWFuYWdlciwgc2V0IHRoZSBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgb3Vyc2VsdmVzLgoJICBGb3JjZSBQQVVTRS9QTEFZIG1ldGhvZHMgZm9yIG5vdyB1bnRpbCB0aGUgZXh0ZW5zaW9ucyBjYW4gb3ZlcndyaXRlLgoJICBBcHBlbmQgZmluYWwgYml0IG9mIHRoZSB0cmFuc3BvcnQgc3RyaW5nIGV2ZW4gd2hlbiBpdCBkb2VzIG5vdCBjb250YWluIGEKCSAgcGxhY2Vob2xkZXIuCgoyMDA3LTA3LTI3IDExOjIxOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBDbGVhbiB1cCB0aGUgaW50ZXJmYWNlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZyZWUpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfY29ubmVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc2VuZF9jYik6CgkgIENsZWFuIHVwIHRoZSBpbnRlcmZhY2UgbGlzdC4KCSAgQWxsb3cgY29ubmVjdGluZyB0byBpbnRlcmZhY2Ugc2lnbmFscyBmb3IgdGhlIGV4dGVuc2lvbnMuCgkgIFJlbW92ZSBvbGQgZXh0ZW5zaW9uIGNvZGUuCgkgIEZyZWUgbGlzdCBvbiBjbGVhbnVwLgoJICBBbGxvdyBleHRlbnNpb25zIHRvIHNlbmQgYWRkaXRpb25hbCBSVFNQIG1lc3NhZ2VzLgoKMjAwNy0wNy0yNyAxMDozODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogSGFuZGxlIGEgTlVMTCBnY29uZiBrZXkgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgdGhlIGRlZmF1bHQgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBIYW5kbGUgYSBOVUxMIGdjb25mIGtleSBncmFjZWZ1bGx5IGJ5IHJlbmRlcmluZyB0aGUgZGVmYXVsdCBlbGVtZW50LgoKMjAwNy0wNy0yNyAxMDoxMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDogRml4IGluY2x1ZGUgcGF0aCBmb3IgZXh0ZW5zaW9uIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICBGaXggaW5jbHVkZSBwYXRoIGZvciBleHRlbnNpb24gaW50ZXJmYWNlLgoKMjAwNy0wNy0yNiAxOTo0NTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6IEFsc28gcmVtb3ZlIGEgbm93IHVuZWNlc3NhcnkgdmFyaWFibGUgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgIEFsc28gcmVtb3ZlIGEgbm93IHVuZWNlc3NhcnkgdmFyaWFibGUgaGVyZS4KCjIwMDctMDctMjYgMTk6NDE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogRG9uJ3Qgc2F2ZSBmb3JtYXQgaW5mb3JtYXRpb24gb3Vyc2VsdmVzLCB0aGlzIGlzIGFscmVhZHkgc2F2ZWQgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldHVwKSwgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvY2Vzc19mdW5jdGlvbiksIChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldHVwKSwgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldHVwKSwgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBEb24ndCBzYXZlIGZvcm1hdCBpbmZvcm1hdGlvbiBvdXJzZWx2ZXMsIHRoaXMgaXMgYWxyZWFkeSBzYXZlZCBpbgoJICBHc3RBdWRpb0ZpbHRlci4KCjIwMDctMDctMjYgMTU6NDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFVzZSByYW5rIHRvIGZpbHRlciBvdXQgZXh0ZW5zaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZmlsdGVyKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3N0cmVhbV9zZWxlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgVXNlIHJhbmsgdG8gZmlsdGVyIG91dCBleHRlbnNpb25zLgoJICBBZGQgdXJsIHRvIHN0cmVhbV9zZWxlY3QgaW50ZXJmYWNlIGNhbGwuCgoyMDA3LTA3LTI1IDE4OjUwOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBVc2Ugc2hpbnkgbmV3IFJUU1AgYW5kIFNEUCBsaWJyYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9iYXNlNjQuYzoKCSAgKiBnc3QvcnRzcC9iYXNlNjQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9maWx0ZXIpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfaW5pdCksIChnc3RfcnRzcF9leHRfbGlzdF9nZXQpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfZGV0ZWN0X3NlcnZlciksIChnc3RfcnRzcF9leHRfbGlzdF9iZWZvcmVfc2VuZCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9hZnRlcl9zZW5kKSwgKGdzdF9ydHNwX2V4dF9saXN0X3BhcnNlX3NkcCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zZXR1cF9tZWRpYSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9jb25maWd1cmVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2dldF90cmFuc3BvcnRzKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3N0cmVhbV9zZWxlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9sb3dlcl90cmFuc19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19mbHVzaCksIChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwX2F1dGhfbWV0aG9kX3RvX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3AuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuYzoKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgICogZ3N0L3J0c3Avc2RwLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6CgkgIFVzZSBzaGlueSBuZXcgUlRTUCBhbmQgU0RQIGxpYnJhcnkuCgkgIEltcGxlbWVudCBSVFNQIGV4dGVuc2lvbnMgdXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UuCgkgIFJlbW92ZSBhIGxvdCBvZiBvbGQgY29kZS4KCjIwMDctMDctMjQgMTQ6MzE6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjb2RlYyBtYXBwaW5nIGZvciAnMnZ1eScgKFJhdyBZVVYgcHJvZHVjZWQgYnkgRkNQKSBhbmQgJ2RpdngnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgY29kZWMgbWFwcGluZyBmb3IgJzJ2dXknIChSYXcgWVVWIHByb2R1Y2VkIGJ5IEZDUCkgYW5kICdkaXZ4Jy4KCjIwMDctMDctMjQgMDU6MDc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdW5yZWYgdGhlIG91dGdvaW5nIGJ1ZmZlciB0d2ljZSB3aGVuIGRyb3BwaW5nIGl0IGJlY2F1c2UgaXQncyBvdXRzaWRlIG9mIHRoZSBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1bnJlZiB0aGUgb3V0Z29pbmcgYnVmZmVyIHR3aWNlIHdoZW4gZHJvcHBpbmcgaXQgYmVjYXVzZSBpdCdzCgkgIG91dHNpZGUgb2YgdGhlIHNlZ21lbnQuCgoyMDA3LTA3LTI0IDA0OjU3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZCByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCk6CgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kCgkgIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGb3IgZnJhbWVkIFdhdnBhY2sgYnVmZmVycyB3ZSByZXF1aXJlIGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwNy0wNy0yMyAxODowMzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCByYXcgYXVkaW8gYW5kIHZpZGVvIHdoZW4gd2UgY2FuLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb3V0cHV0IHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2xpcF9idWZmZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIENsaXAgcmF3IGF1ZGlvIGFuZCB2aWRlbyB3aGVuIHdlIGNhbiwga2VlcCB0cmFjayBvZiBjdXJyZW50IG91dHB1dAoJICBzZWdtZW50LgoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgYW5kIGV2ZW50cyB3aGVuIHRoZXJlIGlzIG5vIG91dHB1dCBwYWQuCgkgIEltcHJvdmUgZGVidWdnaW5nIGhlcmUgYW5kIHRoZXJlLgoKMjAwNy0wNy0yMyAwOTowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCjIwMDctMDctMjAgMTE6Mzc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbQoJICBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld29yayB0aGUgZ2FpbiBtYXBwaW5nLgoKMjAwNy0wNy0yMCAwNzo0MTo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06IEZpeCBDRkxBR1MvTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MvTElCUy4KCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBJbmNsdWRlIHN0ZGxpYgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgIFVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtCgoyMDA3LTA3LTE4IDExOjU1OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBwaXBlbGluZS4KCjIwMDctMDctMTggMTE6NDI6MzMgKzAwMDAgIEFsZXhhbmRlciBFaWNobmVyIDxhbGV4ZWljaGlAeWFob28uZGU+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFVzZSBkZWZpbmUgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4YW5kZXIgRWljaG5lciA8YWxleGVpY2hpQHlhaG9vLmRlPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICBVc2UgZGVmaW5lIGhlcmUuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgIChnc3RfdjRsMl90dW5lcl9zZXRfZnJlcXVlbmN5X2FuZF9ub3RpZnkpOgoJICBEb24ndCB0b3VjaCB0aGUgcHJvcGVydHkgLSBpdHMgc3RpbGwgZGlzYWJsZWQuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEltcHJvdmUgZmFsbGJhY2sgZm9ybWF0IG5lZ290aW9uYXRpb24uIEZpeGVzICM0NTEzODgKCjIwMDctMDctMTggMTA6MzM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBGaXggdGhlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggdGhlIHRlc3QuCgoyMDA3LTA3LTE4IDA5OjIxOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIGRvY3MuIE1vcmUgbG9ncyBpbiBwbmdkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spLAoJICAoZ3N0X3BuZ2RlY19zaW5rX3NldGNhcHMpOgoJICBNb3JlIGRvY3MuIE1vcmUgbG9ncyBpbiBwbmdkZWMuCgoyMDA3LTA3LTE4IDA3OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA3LTE3IDExOjM1OjI5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemUgbnVtX2J1ZmZlcnMgd2l0aCBtaW5pbXVtIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgSW5pdGlhbGl6ZSBudW1fYnVmZmVycyB3aXRoIG1pbmltdW0gdmFsdWUuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEhhbmRsZSBmcmFtZS1zaXplIHF1ZXJ5IGZhaWx1cmUgZ3JhY2VmdWxseS4KCjIwMDctMDctMTYgMTI6MTE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIGVzZHMgYXRvbXMgaW5zaWRlIG1wNGEgYXRvbXMgc28gdGhhdCB3ZSBjYW4gc2V0IGNvcnJlY3QgY29kZWNfaW5mbyBmb3IgQUFDIGF1ZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgRml4IHBhcnNpbmcgb2YgZXNkcyBhdG9tcyBpbnNpZGUgbXA0YSBhdG9tcyBzbyB0aGF0IHdlIGNhbiBzZXQgY29ycmVjdAoJICBjb2RlY19pbmZvIGZvciBBQUMgYXVkaW8uIEZpeGVzICM0NTcwOTcgYWxvbmcgd2l0aCBhIHdob2xlIG90aGVyIGJ1bmNoCgkgIG9mIHF0L2FhYyBmaWxlcy4KCjIwMDctMDctMTYgMDk6MTY6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpOgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgoyMDA3LTA3LTEzIDE2OjMxOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvciBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvcgoJICBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsCgkgIGFuZCB3ZSB3ZXJlbid0IGFjdHVhbGx5IF91c2luZ18gdGhlIGluZm9ybWF0aW9uIGZvciBsaWJjaGVjawoJICBvdXJzZWx2ZXMgYW55d2F5LgoKMjAwNy0wNy0xMiAxMToyMTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoKMjAwNy0wNy0xMSAyMzo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAodm1uY19tYWtlX2J1ZmZlcik6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0xMSAyMjozMTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX3RyYW5zZm9ybSk6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0xMCAxMDoxNjozOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBwdXNoaW5nIGFuIGV2ZW50IHJldHVybnMgRkFMU0UuIFdlIGRvbid0IGhhdmUgZW5vdWdoIGdyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIHB1c2hpbmcgYW4gZXZlbnQgcmV0dXJucyBGQUxTRS4gV2UKCSAgZG9uJ3QgaGF2ZSBlbm91Z2ggZ3JhbnVsYXJpdHkgdG8gY29udmVydCB0aGF0IGJvb2xlYW4gaW50byBhCgkgIEdzdEZsb3dSZXR1cm4uCgoyMDA3LTA3LTA2IDE1OjAwOjQ3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGF3LzogRml4IGNhcHNuZWdvIGJvZ29zaXR5IGluICpsYXcgZGVjb2RlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9hbGF3ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FsYXdkZWNfaW5pdCksIChnc3RfYWxhd2RlY19jaGFpbiksCgkgIChnc3RfYWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jbGFzc19pbml0KSwgKGdzdF9tdWxhd2RlY19pbml0KSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbiksIChnc3RfbXVsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBGaXggY2Fwc25lZ28gYm9nb3NpdHkgaW4gKmxhdyBkZWNvZGVycy4KCjIwMDctMDctMDYgMTQ6MzU6NTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLio6IFJlbW92ZSBzdHVwaWRpdHkgaW4gZ2V0L3NldCBjYXBzIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19jaGFpbiksCgkgIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBSZW1vdmUgc3R1cGlkaXR5IGluIGdldC9zZXQgY2FwcyBmdW5jdGlvbnMuCgkgIEZpeCBzb21lIHJlZmNvdW50aW5nIHByb2JsZW1zLgoKMjAwNy0wNy0wNiAxMTo0Mjo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBSZW1vdmUgZW5kaWFubmVzcy1mbGlwcGluZyBoYWNrIHRoYXQgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlcXVpcmVkIG9ubHkgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBmZm0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgIFJlbW92ZSBlbmRpYW5uZXNzLWZsaXBwaW5nIGhhY2sgdGhhdCBzZWVtcyB0byBoYXZlIGJlZW4gcmVxdWlyZWQKCSAgb25seSBiZWNhdXNlIG9mIGEgYnVnIGluIGZmbXBlZ2NvbG9yc3BhY2UuCgkgIFBhcnRpYWxseSBGaXhlczogIzQ1MTkwOAoKMjAwNy0wNy0wNSAwODo0NDoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoKMjAwNy0wNy0wMyAwOTo1OTo0NiArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBTZXQgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIHJ0cCBjYXBzIHRvIGFsbCB1cHBlcmNhc2UsIGFzIHJlcXVpcmVkIGJ5IHRoZSBjYXBzIHNwZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBTZXQgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIHJ0cCBjYXBzIHRvIGFsbCB1cHBlcmNhc2UsIGFzIHJlcXVpcmVkIGJ5CgkgIHRoZSBjYXBzIHNwZWMuCgkgIFNvbWUgc21hbGwgY2xlYW51cHMgaW4gdGhlIGVycm9yIHBhdGhzLiBGaXhlcyAjNDUzMDM3LgoKMjAwNy0wNy0wMyAwODowMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS86IEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwNy0wNy0wMyAwNzoxNjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA3LTA2LTI4IDE5OjAwOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogVXNlIGEgR1NMaXN0IGZvciB0aGUgR0FycmF5IHRoYXQgaXMgdXNlZCBsaWtlIGEgbGlzdCBhbnl3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgVXNlIGEgR1NMaXN0IGZvciB0aGUgR0FycmF5IHRoYXQgaXMgdXNlZCBsaWtlIGEgbGlzdCBhbnl3YXkuCgoyMDA3LTA2LTI4IDEzOjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlcmUgd2Ugc2V0IDAvMSBhcyBkZWZhdWx0IGZyYW1lcmF0ZSBpbiBjYXNlIG91ciBzZXRjYXBzIGZ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfZmx1c2gpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19ldmVudCksIChnc3RfZ2RrX3BpeGJ1Zl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZXJlIHdlIHNldCAwLzEgYXMgZGVmYXVsdCBmcmFtZXJhdGUgaW4KCSAgY2FzZSBvdXIgc2V0Y2FwcyBmdW5jdGlvbiBpc24ndCBjYWxsZWQsIGxpa2UgaXQgbWlnaHQgbm90IGluIGEKCSAgZmlsZXNyYyAhIGdka3BpeGJ1ZmRlYyBzY2VuYXJpby4gRml4ZXMgYXNzZXJ0aW9uIHRyaWdnZXJlZCBieQoJICBnZGtwaXhidWZkZWMgdHJ5aW5nIHRvIGNyZWF0ZSBjYXBzIHdpdGggYSAwLzAgZnJhbWVyYXRlLgoJICBBbHNvIHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGdzdF9wYWRfcHVzaCgpIGZhaWxzIHdoZW4KCSAgY2FsbGVkIGZyb20gb3VyIHNpbmsgZXZlbnQgaGFuZGxlciAoKzEgZm9yIGZsb3cgcmV0dXJucyBmb3IgZXZlbnQKCSAgZnVuY3Rpb25zIGluIDAuMTEpIGluc3RlYWQgb2YgZmFpbGluZyBzaWxlbnRseS4KCjIwMDctMDYtMjcgMTE6MzY6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENhc3Qgc3RhY2sgYXJncyB0byB0aGUgcHJvcGVyIHR5cGVzLiBGaXhlcyAjNDUxMjQ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25maWd1cmVfY2Fwcyk6CgkgIENhc3Qgc3RhY2sgYXJncyB0byB0aGUgcHJvcGVyIHR5cGVzLiBGaXhlcyAjNDUxMjQ5LgoKMjAwNy0wNi0yNyAxMTowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRm9yIGNvbnRhaW5lciBmb3JtYXRzIHdlIG9ubHkgbmVlZCB0byBhY3RpdmF0ZSBvbmUgb2YgdGhlIHN0cmVhbXMgc28gdGhhdCB3ZSBjb3JyZWN0bHkgc2lnbmFsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZvciBjb250YWluZXIgZm9ybWF0cyB3ZSBvbmx5IG5lZWQgdG8gYWN0aXZhdGUgb25lIG9mIHRoZSBzdHJlYW1zIHNvCgkgIHRoYXQgd2UgY29ycmVjdGx5IHNpZ25hbCBuby1tb3JlLXBhZHMuIEZpeGVzICM0NTEwMTUuCgoyMDA3LTA2LTI1IDEyOjQ2OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoKMjAwNy0wNi0yNSAxMjoxMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzICgjNDUwODc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKCM0NTA4NzgpLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDYtMjIgMTQ6MjY6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTUFJTlRBSU5FUlM6CgkgIFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCjIwMDctMDYtMjIgMTA6MTI6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfaW5pdCksCgkgIChkZWludGVybGVhdmVfc2lua19saW5rKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2luaXQpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpZmlsZXNyY19pbml0KToKCSAgRml4IG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOiAocGFkX2FkZGVkX2NiKToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDctMDYtMjEgMTA6NDg6MTAgKzAwMDAgIERhbWllbiBDYXJiZXJ5IDxkYW1pZW4uY2FyYmVyeUBzdW4uY29tPgoKCSAgZXh0L2djb25mL2djb25mLmg6IE1ha2UgdGhlIHByb3RvdHlwZSBvZiBnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgIE1ha2UgdGhlIHByb3RvdHlwZSBvZiBnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlCgkgIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KCSAgUGF0Y2ggYnk6IERhbWllbiBDYXJiZXJ5IDxkYW1pZW4gZG90IGNhcmJlcnkgYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjNDQ5NzQ3CgoyMDA3LTA2LTIwIDEyOjU2OjEyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IEZpeCBkZXNjcmlwdGlvbiAtIHJ0cGRlcGF5IGlzIG5vdCBhIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICBGaXggZGVzY3JpcHRpb24gLSBydHBkZXBheSBpcyBub3QgYSBwYXlsb2FkZXIuCgoyMDA3LTA2LTIwIDEwOjE1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgoyMDA3LTA2LTIwIDA4OjU2OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKHNldHVwX3NwZWN0cnVtKSwKCSAgKGNsZWFudXBfc3BlY3RydW0pLCAoR1NUX1NUQVJUX1RFU1QpLCAoc3BlY3RydW1fc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3Igc3BlY3RydW0gZWxlbWVudC4KCjIwMDctMDYtMjAgMDg6MjY6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIE1KUEcgdG8gdGhlIHZhcmlhbnRzIG9mIG1vdGlvbiBqcGVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBBZGQgTUpQRyB0byB0aGUgdmFyaWFudHMgb2YgbW90aW9uIGpwZWcuCgoyMDA3LTA2LTE5IDE2OjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgR1NUX09QVElPTl9DRkxBR1MgdG8gQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdW5pdCB0ZXN0cywgc28gdGhlIGVycm9yIGZsYWdzIGFyZSBpbmNsdWRlZCBhbmQgaXQgZXJyb3JzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTIHRvIENGTEFHUyB3aGVuIGJ1aWxkaW5nIHVuaXQgdGVzdHMsIHNvIHRoZQoJICBlcnJvciBmbGFncyBhcmUgaW5jbHVkZWQgYW5kIGl0IGVycm9ycyBvdXQgb24gY29tcGlsZXIgd2FybmluZ3MKCSAgZm9yIENWUyBidWlsZHM7IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIHZhcmlvdXMgdW5pdCB0ZXN0cy4KCjIwMDctMDYtMTkgMTQ6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBVc2UgdGhyZWFkc2FmZSBpbmV0X250b3AgdG8gY29udmVydCBhbiBpcCBudW1iZXIgdG8gYSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLCAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBVc2UgdGhyZWFkc2FmZSBpbmV0X250b3AgdG8gY29udmVydCBhbiBpcCBudW1iZXIgdG8gYSBzdHJpbmcuCgkgIEZpeGVzICM0NDc5NjEuCgkgIERvbid0IGxlYWsgZmQgKGFuZCBpcCkgd2hlbiBmcmVlaW5nIGEgY29ubmVjdGlvbiB3aXRob3V0IGZpcnN0IGNsb3NpbmcKCSAgaXQuCgoyMDA3LTA2LTE5IDE0OjExOjQ5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSAgYWRkICdMRUdBTCcgZmlsZSBkZXNjcmliaW5nIHdoeSB0aGlzIGlzIGluIC1nb29kIGFuZCB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgaXQgbWlnaHQgbmVlZCB0byBtb3ZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkICdMRUdBTCcgZmlsZSBkZXNjcmliaW5nIHdoeSB0aGlzIGlzIGluIC1nb29kIGFuZCB1bmRlciB3aGF0CgkgIGNpcmN1bXN0YW5jZXMgaXQgbWlnaHQgbmVlZCB0byBtb3ZlLgoKMjAwNy0wNi0xOSAxMDo0MTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCAwLjEwLjYgdG8gdGhlIGRvYXAgZmlsZS4KCj09PSByZWxlYXNlIDAuMTAuNiA9PT0KCjIwMDctMDYtMTkgMTA6MjQ6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjYKCjIwMDctMDYtMTggMTc6NTM6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNy0wNi0xNyAxMjozNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJldmVydCBwcmV2aW91cyBjb21taXQgYWdhaW4sIHNpbmNlIHdlIGFyZSBmcm96ZW4gKHNvcnJ5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdCBhZ2Fpbiwgc2luY2Ugd2UgYXJlIGZyb3plbiAoc29ycnkpLgoKMjAwNy0wNi0xNyAxMjoyNDo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBpbmV0X250b2EoKSB1c2VzIGEgc3RhdGljIGJ1ZmZlciBpbnRlcm5hbGx5LCBzbyB3ZSBuZWVkIHRvIGNvcHkgdGhlIHJldHVybmVkIHN0cmluZyBpZiB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBpbmV0X250b2EoKSB1c2VzIGEgc3RhdGljIGJ1ZmZlciBpbnRlcm5hbGx5LCBzbyB3ZSBuZWVkIHRvIGNvcHkgdGhlCgkgIHJldHVybmVkIHN0cmluZyBpZiB3ZSB3YW50IHRvIHN0b3JlIGl0IGZvciBsYXRlciAoIzQ0Nzk2MSkuCgoyMDA3LTA2LTE1IDA5OjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZQoJICBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5IG90aGVyd2lzZS4KCjIwMDctMDYtMTUgMDg6MzI6NTIgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBGaXggdGhlIE1pbmdXIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCk6CgkgIEZpeCB0aGUgTWluZ1cgYnVpbGQuCgkgIFBhdGNoIEJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgRml4ZXM6ICM0NDY5ODEKCjIwMDctMDYtMTQgMTQ6MDM6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvOiBIdXNoIHRoZSBidWlsZGJvdHMgdXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBIdXNoIHRoZSBidWlsZGJvdHMgdXAKCjIwMDctMDYtMTQgMTI6MTQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoKMjAwNy0wNi0xNCAxMDoyMzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIEFNUi1OQiBzdHJlYW1zLCBleHBvcnQgdGhlIEFNUlNwZWNpZmljQm94IGFzIGNvZGVjX2RhdGEgb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBBTVItTkIgc3RyZWFtcywgZXhwb3J0IHRoZSBBTVJTcGVjaWZpY0JveCBhcyBjb2RlY19kYXRhIG9uIHRoZQoJICBjYXBzLgoJICBGaXhlcyAjNDQ3NDU4CgoyMDA3LTA2LTEzIDE3OjExOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogTWFrZSBzdXJlIHdlIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBjb2RlY19kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHN1cmUgd2UgYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSBmb3IgdGhlIGNvZGVjX2RhdGEuCgkgIEZpeGVzICM0NDcyMTAuCgoyMDA3LTA2LTEyIDIxOjA1OjIyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIHZpZGVvY3JvcCBwcm9qZWN0IGZpbGUgdG8gdGhlIHdpbjMyIG1hbmlmZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHZpZGVvY3JvcCBwcm9qZWN0IGZpbGUgdG8gdGhlIHdpbjMyIG1hbmlmZXN0LgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgQWRkIHF0ZGVtdXgsdmlkZW9jcm9wIGFuZCB3YXZlZm9ybSBwcm9qZWN0cyB0byB0aGUgd29ya3NwYWNlLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgQWRkIHpsaWIgdG8gdGhlIGxpbmsgbGlzdCBvZiBxdGRlbXV4LgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIHZpZGVvY3JvcC4KCjIwMDctMDYtMTIgMjA6MjI6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCBxdGRlbXV4IGZvciB0cmFuc2xhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHF0ZGVtdXggZm9yIHRyYW5zbGF0aW9uCgoyMDA3LTA2LTEyIDIwOjE1OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gZnJvbSAtYmFkLgoKMjAwNy0wNi0xMiAxOTozNTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHF0ZGVtdXggZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIE1vdmUgcXRkZW11eCBmcm9tIC1iYWQuCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHJlZmxlY3QgbW92aW5nIG9mIHF0ZGVtdXggYW5kIHdhdnBhY2sKCjIwMDctMDYtMTIgMTk6MDE6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IHR5cG8gaW4gdGhlIGNoYW5nZWxvZyBhbmQgY29tbWl0IHRoZSBtYW5pZmVzdCB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0eXBvIGluIHRoZSBjaGFuZ2Vsb2cgYW5kIGNvbW1pdCB0aGUgbWFuaWZlc3QgdG9vCgoyMDA3LTA2LTEyIDE4OjUyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL01BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIE1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBmcm9tIC1iYWQgdG9vLiBVcGRhdGUgdGhlIGluc3BlY3QgeG1sCgkgIGZpbGVzIHRvIG1lbnRpb24gUGx1Z2lucyBHb29kIGluc3RlYWQgb2YgUGx1Z2lucyBCYWQuCgoyMDA3LTA2LTEyIDEzOjMzOjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgUmV0dXJuIGEgY29weSBvZiB0aGUgcG9vbCBidWZmZXIgaWYgYWxsIG1tYXAgYnVmZmVycyBoYXZlIGJlZW4gZGVxdWV1ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFJldHVybiBhIGNvcHkgb2YgdGhlIHBvb2wgYnVmZmVyIGlmIGFsbAoJICBtbWFwIGJ1ZmZlcnMgaGF2ZSBiZWVuIGRlcXVldWVkLgoKMjAwNy0wNi0xMiAxMToyMzowMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX2dldF90eXBlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfZ2V0X3R5cGUpCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KTogQmVoYXZlIG1vcmUgbGlrZSB4aW1hZ2VzaW5rJ3MgYnVmZmVycywgd2l0aAoJICBmaW5hbGl6YXRpb24gYW5kIHJlc3VzY2l0YXRpb24uIE5vIGxvbmdlciBwdWJsaWMuCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSwgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfaW5pdCkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2dldF90eXBlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3LCBnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2Rlc3Ryb3kpOiBNYWtlIHRoZSBwb29sIGZvbGxvdyBjb21tb24KCSAgbWluaW9iamVjdCBzZW1hbnRpY3MsIGFuZCBiZSB0aHJlYWRzYWZlLgoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiwgYXMgd2UganVzdCBjYWxsCgkgIHRoZSBpb2N0bHMgZGlyZWN0bHkgaW4gdGhlIHR3byBwbGFjZXMgd2hlcmUgd2UgcXVldWUgYnVmZmVycy4KCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBSZXR1cm4gYSBmbG93cmV0dXJuIGFuZCBmaWxsIHRoZSBidWZmZXIKCSAgZGlyZWN0bHkuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBVc2UgdGhlIG5ldyBidWZmZXJfcG9vbF9uZXcgZnVuY3Rpb24KCSAgdG8gYWxsb2NhdGUgdGhlIHBvb2wsIHdoaWNoIGFsc28gcHJlYWxsb2NhdGVzIHRoZSBHc3RCdWZmZXJzLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCk6IENhbGwgYnVmZmVyX3Bvb2xfYWN0aXZhdGUgaW5zdGVhZCBvZgoJICBxdWV1ZWluZyB0aGUgZnJhbWVzIGRpcmVjdGx5LgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaCAoc3RydWN0IF9Hc3RWNGwyQnVmZmVyUG9vbCk6IE1ha2UgdGhpcyBhCgkgIHJlYWwgTWluaU9iamVjdCBpbnN0ZWFkIG9mIHJvbGxpbmcgb3VyIG93biByZWZjb3VudGluZyBhbmQKCSAgZmluYWxpemluZy4gR2l2ZSBpdCBhIGxvY2suCgkgIChzdHJ1Y3QgX0dzdFY0bDJCdWZmZXIpOiBSZW1vdmUgb25lIGludGVybWVkaWFyeSBvYmplY3QsIGhhdmluZwoJICB0aGUgYnVmZmVycyBob2xkIHRoZSBzdHJ1Y3QgdjRsMl9idWZmZXIgZGlyZWN0bHkuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6IFBhc3MgdGhlIGNhcHMgdG8KCSAgY2FwdHVyZV9pbml0IHNvIHRoYXQgaXQgY2FuIHNldCB0aGVtIG9uIHRoZSBidWZmZXJzIHRoYXQgaXQgd2lsbAoJICBjcmVhdGUuCgkgIChnc3RfdjRsMnNyY19nZXRfcmVhZCk6IEZvciBiZXR0ZXIgb3IgZm9yIHdvcnNlLCBpbmNsdWRlIHRoZQoJICB0aW1lc3RhbXBpbmcgYW5kIG9mZnNldHRpbmcgY29kZSBoZXJlOyByZWFsbHkgd2Ugc2hvdWxkIGJlIHVzaW5nCgkgIGJ1ZmZlcmFsbG9jIHRob3VnaC4KCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKTogSnVzdCBtYWtlIGdyYWJfZnJhbWUgcmV0dXJuIG9uZSBvZiBvdXIKCSAgcHJlYWxsb2NhdGVkLCBtbWFwJ2QgYnVmZmVycy4KCjIwMDctMDYtMTEgMTE6NDE6NTYgKzAwMDAgIGRhbmllbCBmaXNjaGVyIDxkYW5AZjNjLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEFjdHVhbGx5IHVzZSB0aGUgZGlzcGxheV9uYW1lIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGR1bXAgYW55IGF2YWlsYWJsZSBYIGRpc3BsYXkuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGRhbmllbCBmaXNjaGVyIDxkYW4gYXQgZjNjIGRvdCBjb20+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKToKCSAgQWN0dWFsbHkgdXNlIHRoZSBkaXNwbGF5X25hbWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZHVtcCBhbnkKCSAgYXZhaWxhYmxlIFggZGlzcGxheS4gRml4ZXMgIzQ0NTkwNS4KCjIwMDctMDYtMTEgMTA6MjE6MTMgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwLzogQWRkIG1pc3NpbmcgcmF0ZSBmaWVsZHMgdG8gY2Fwcy4gRml4ZXMgIzQ0MTExOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKToKCSAgQWRkIG1pc3NpbmcgcmF0ZSBmaWVsZHMgdG8gY2Fwcy4gRml4ZXMgIzQ0MTExOC4KCjIwMDctMDYtMTAgMjE6MTQ6MTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyLzogQWRkIERpcmVjdFNvdW5kIGFuZCBEaXJlY3REcmF3IHNpbmtzIHByb2plY3QgZmlsZXMgdG8gd29ya3NwYWNlIGFuZCBzb2x1dGlvbiBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgQWRkIERpcmVjdFNvdW5kIGFuZCBEaXJlY3REcmF3IHNpbmtzIHByb2plY3QgZmlsZXMgdG8KCSAgd29ya3NwYWNlIGFuZCBzb2x1dGlvbiBmaWxlcy4KCjIwMDctMDYtMTAgMTA6NTM6MjYgKzAwMDAgIEpvc2ggQ29hbHNvbiA8eGZsYWNAeWFob28uY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgPj0gMS4xLjMgd2hpY2ggY2hhbmdlZCB0aGUgQVBJLiBGaXhlcyBidWcgIzM4NTg4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NoIENvYWxzb24gPHhmbGFjIGF0IHlhaG9vIGRvdCBjb20+LAoJICB1cGRhdGVkIGJ5IEFsZXhpcyBCYWxsaWVyIDxhYmFsbGllciBhdCBnZW50b28gZG90IG9yZz46CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLCAoZ3N0X2ZsYWNfZGVjX3NlZWspLAoJICAoZ3N0X2ZsYWNfZGVjX3RlbGwpLCAoZ3N0X2ZsYWNfZGVjX2xlbmd0aCksIChnc3RfZmxhY19kZWNfZW9mKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKGdzdF9mbGFjX2VuY19maW5hbGl6ZSksIChnc3RfZmxhY19lbmNfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3VwZGF0ZV9xdWFsaXR5KSwKCSAgKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfdGVsbF9jYWxsYmFjayksIChnc3RfZmxhY19lbmNfc2lua19ldmVudCksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pLCAoZ3N0X2ZsYWNfZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZmxhY19lbmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgPj0gMS4xLjMgd2hpY2ggY2hhbmdlZCB0aGUgQVBJLiBGaXhlcyBidWcgIzM4NTg4Ny4KCjIwMDctMDYtMDkgMTU6NDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQzLiBUaGlzIGlzIGZpeGVkIGluIGNvcmUgMC4xMC4xMyBhbmQgbm90IG5lY2Vzc2FyeSBhbnltby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgIFJlbW92ZSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0My4gVGhpcyBpcyBmaXhlZCBpbiBjb3JlIDAuMTAuMTMgYW5kCgkgIG5vdCBuZWNlc3NhcnkgYW55bW9yZSBhcyB3ZSBuZWVkIGF0IGxlYXN0IHRoYXQgY29yZSB2ZXJzaW9uLgoKMjAwNy0wNi0wOSAxNTozMzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbXByb3ZlIGRpc2NvbnQgaGFuZGxpbmcgYnkgY2hlY2tpbmcgaWYgdGhlIG5leHQgV2F2cGFjayBibG9jayBoYXMgdGhlIGV4cGVjdGVkLCBmb2xsb3dpbmcgYmxvY2sgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSW1wcm92ZSBkaXNjb250IGhhbmRsaW5nIGJ5IGNoZWNraW5nIGlmIHRoZSBuZXh0IFdhdnBhY2sgYmxvY2sgaGFzCgkgIHRoZSBleHBlY3RlZCwgZm9sbG93aW5nIGJsb2NrIGluZGV4LgoKMjAwNy0wNi0wOCAyMDoyMzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDctMDYtMDggMjA6MjA6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmMgKGdzdF9ydHBfbXA0dnBheV9kZXRhaWxzKTogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jIChnc3RfcnRwX21wNHZwYXlfZGV0YWlscyk6CgkgIEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uLgoKMjAwNy0wNi0wOCAyMDoxOTo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlIHdhdnBhY2sgcGx1Z2luLiAgU2VlICMzNTI2MDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1vdmUgd2F2cGFjayBwbHVnaW4uICBTZWUgIzM1MjYwNS4KCjIwMDctMDYtMDggMTk6NDU6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICB0aGUgYWxwaGFiZXQgdHJpcHBpbmcgdXAgcGVvcGxlIHNpbmNlIDEwOTI5QkMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRoZSBhbHBoYWJldAoJICB0cmlwcGluZyB1cCBwZW9wbGUgc2luY2UgMTA5MjlCQwoKMjAwNy0wNi0wOCAxNzozNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMgdG8gdGhlIGJ1aWxkIGFuZCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucyB0byB0aGUgYnVpbGQgYW5kIGRvY3MuCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA2LTA4IDEwOjQzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogV2hlbiBvcGVyYXRpbmcgaW4gcHVsbCBtb2RlLCBlcnJvciBvdXQgY29ycmVjdCBvbiBub3QtbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfbG9vcCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgIFdoZW4gb3BlcmF0aW5nIGluIHB1bGwgbW9kZSwgZXJyb3Igb3V0IGNvcnJlY3Qgb24gbm90LWxpbmtlZC4KCjIwMDctMDYtMDggMDg6MTI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZSBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZQoJICBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciBkb24ndCBoYW5kbGUgdGhlIHdheSB3ZSB1c2UgaXQgaW4KCSAgdGhlIHdheSB3ZSBleHBlY3QgaXQgdG8uCgoyMDA3LTA2LTA2IDEwOjE5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KQoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKTogT25seSBwcm9iZSBmb3IKCSAgZm9ybWF0IGFuZCBzaXplIGlmIHRoZSBpb2N0bHMgYXJlIGRlZmluZWQ7IHNob3VsZCBmaXggY29tcGlsYXRpb24KCSAgb24gTGludXggPCAyLjE2LjE5LgoKMjAwNy0wNi0wNiAwODo1MzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBQcmludGYgZml4ZXMgaW4gZGVidWcgc3RhdGVtZW50czsgdXNlIExPRyBsZXZlbCBmb3IgZGVidWcgc3RhdGVtZW50cyB0aGF0IGFyZSBwcmludGVkIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKToKCSAgUHJpbnRmIGZpeGVzIGluIGRlYnVnIHN0YXRlbWVudHM7IHVzZSBMT0cgbGV2ZWwgZm9yIGRlYnVnIHN0YXRlbWVudHMKCSAgdGhhdCBhcmUgcHJpbnRlZCBmb3IgZWFjaCBhbmQgZXZlcnkgZnJhbWU7IGNvbnZlcnQgYysrIGNvbW1lbnRzIHRvCgkgIEMtc3R5bGUgY29tbWVudHM7IG5vdCBtdWNoIHBvaW50IHVzaW5nIGdfdHJ5X21hbGxvYygpIGlmIHdlIHRoZW4gbm90CgkgIGV2ZW4gY2hlY2sgdGhlIHJldHVybiB2YWx1ZS4KCjIwMDctMDYtMDUgMTY6MzI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIChjb3JlIGFuZCBiYXNlIDAuMTAuMTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIChjb3JlIGFuZCBiYXNlIDAuMTAuMTMpLgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSk6CgkgIFVzZSBnc3RfdGFnX3V0ZjhfZnJvbV9mcmVlZm9ybV9zdHJpbmcoKSBmcm9tIGxpYmdzdHRhZyBpbnN0ZWFkIG9mCgkgIG93biBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMDYtMDUgMTQ6MTc6MjUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc3RhcnQsIGdzdF92NGwyc3JjX3N0b3ApOiBBZGQgc29tZSB1c2VsZXNzIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3N0YXJ0LCBnc3RfdjRsMnNyY19zdG9wKTogQWRkCgkgIHNvbWUgdXNlbGVzcyBjb21tZW50cy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IERvbid0IHF1ZXVlCgkgIGZyYW1lcyBiZWZvcmUgY2FsbGluZyBTVFJFQU1PTiwgdGhhdCBtaWdodCBsZWF2ZSB0aGVtIGluIGEgc3RhdGUKCSAgd2hlcmUgdGhleSBjYW4ndCBiZSBkZXF1ZXVlZCBpZiB3ZSBnbyBiYWNrIHRvIE5VTEwgd2l0aG91dCBjYWxsaW5nCgkgIFNUUkVBTU9OLCBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KTogRW5xdWV1ZSBidWZmZXJzIGhlcmUgaW5zdGVhZCwgcmlnaHQKCSAgYmVmb3JlIHdlIGNhbGwgU1RSRUFNT04uCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6IFJlbW92ZSBjcmFjayB0byB3b3JrIGFyb3VuZCBkZXF1ZXVlCgkgIGZhaWx1cmVzLiAoRm9yIG1lIHRoaXMgY29kZSBodW5nLikgVGhlIHBvb2wgcmVmY291bnRpbmcgaXMgc3RpbGwKCSAgY3JhY2s7IGFkZGVkIGEgbm90ZSB0byB0aGF0IGVmZmVjdC4KCjIwMDctMDYtMDUgMDk6MTE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbWFwcGluZyBnc3Qgc3RydWN0dXJlIG5hbWVzIHRvIHRoZSBNSU1FIHR5cGUgZXF1aXZhbGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfZ2V0X21pbWUpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgQWRkIHN1cHBvcnQgZm9yIG1hcHBpbmcgZ3N0IHN0cnVjdHVyZSBuYW1lcyB0byB0aGUgTUlNRSB0eXBlIGVxdWl2YWxlbnQuCgkgIEltcGxlbWVudGVkIGZvciBhdWRpby94LW11bGF3LT5hdWRpby9iYXNpYy4gRml4ZXMgIzQ0Mjg3NC4KCjIwMDctMDYtMDMgMTE6MjE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IFByb3Blcmx5IHdyaXRlIHdhdiBmaWxlcyB3aXRoIHdpZHRoIT1kZXB0aCBieSBoYXZpbmcgdGhlIGRlcHRoIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZXMgc2V0IGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZlbmNfY2hhaW4pLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFByb3Blcmx5IHdyaXRlIHdhdiBmaWxlcyB3aXRoIHdpZHRoIT1kZXB0aCBieSBoYXZpbmcgdGhlIGRlcHRoIG1vc3QKCSAgc2lnbmlmaWNhbnQgYnl0ZXMgc2V0IGFuZCBhbGwgb3RoZXJzIHplcm8uIEZpeGVzICM0NDI1MzUuCgoyMDA3LTA2LTAxIDEzOjUyOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQWRkIGluY2x1ZGUgdG8gbWFrZSBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgQWRkIGluY2x1ZGUgdG8gbWFrZSBidWlsZGJvdCBoYXBweS4KCjIwMDctMDYtMDEgMTM6MDc6MTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXByb3ZlcyB2ZXJzaW9uIGNoZWNraW5nLCBhbGxvd2luZyBhbiBSVFNQIHNlcnZlciB0byByZXBseSB3aXRoICI1MDUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAoYWRkX2RhdGVfaGVhZGVyKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHBhcnNlX3Jlc3BvbnNlX3N0YXR1cyksCgkgIChwYXJzZV9yZXF1ZXN0X2xpbmUpLCAocGFyc2VfbGluZSksIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3BfdmVyc2lvbl9hc190ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChrZXlfdmFsdWVfZm9yZWFjaCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9hcHBlbmRfaGVhZGVycyksCgkgIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgSW1wcm92ZXMgdmVyc2lvbiBjaGVja2luZywgYWxsb3dpbmcgYW4gUlRTUCBzZXJ2ZXIgdG8gcmVwbHkgd2l0aCAiNTA1CgkgIFJUU1AgVmVyc2lvbiBub3Qgc3VwcG9ydGVkLgoJICBBZGRzIGEgRGF0ZSBoZWFkZXIgdG8gYWxsIG1lc3NhZ2VzLgoJICBSZXBsaWVzIHdpdGggUlRTUF9FUEFSU0UgcmF0aGVyIHRoYW4gUlRTUF9FSU5WQUxJRCBpbiBjYXNlcyB3aGVyZSB3ZQoJICB3YW50IHRvIGJlIGFibGUgdG8gc2VuZCBhIHJlc3BvbnNlIGV2ZW4gaWYgc29tZXRoaW5nIGluIHRoZSByZXF1ZXN0IHdhcwoJICBpbnZhbGlkLiBFSU5WQUwgaXMgb25seSB1c2VkIHdoZW4gcGFzc2luZyB3cm9uZyBhcmd1bWVudHMgdG8gZnVuY3Rpb25zLgoJICBEbyBub3QgaGFuZGxlIGFuIGludmFsaWQgbWV0aG9kIGluIHBhcnNlX3JlcXVlc3RfbGluZSgpLiBEZWZlciB0aGlzIHRvCgkgIHRoZSBjYWxsZXIgc28gaXQgY2FuIHJlc3BvbmQgd2l0aCAiNDA1IE1ldGhvZCBOb3QgQWxsb3dlZCIuCgkgIEltcHJvdmVzIHBhcnNpbmcgb2YgdGhlIHRpbWVvdXQgcGFyYW1ldGVyIHRvIHRoZSBTZXNzaW9uIGhlYWRlciwKCSAgYWxsb3dpbmcgd2hpdGVzcGFjZSBhZnRlciB0aGUgc2VtaWNvbG9uLgoJICBBdm9pZHMgYSBjb21waWxlciB3YXJuaW5nIGR1ZSB0byB2YXJpYWJsZXMgc2hhZG93aW5nIGEgZnVuY3Rpb24gYXJndW1lbnQuCgoyMDA3LTA2LTAxIDExOjE2OjE3ICswMDAwICBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXNAdGkuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBzdXBwb3J0IGZvciBBTVItV0IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRjaCBieTogRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzIGF0IHRpIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hbXJfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBBTVItV0IuCgkgIFNtYWxsIGNsZWFudXBzIHN1Y2ggYXMgdXNpbmcgQk9JTEVSUExBVEUuCgoyMDA3LTA1LTMxIDE1OjU3OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQgYXMgc3BvdHRlZCBidSBTYXVyIG9uIElSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQgYXMgc3BvdHRlZCBidSBTYXVyIG9uIElSQy4KCjIwMDctMDUtMzAgMTQ6NTc6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuKjogUmV2ZXJ0IHNvbWUgdW5pbnRlbmRlZCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jIChnc3RfdjRsMl9vYmplY3RfbmV3KTogUmV2ZXJ0IHNvbWUKCSAgdW5pbnRlbmRlZCBjaGFuZ2VzLgoKMjAwNy0wNS0zMCAxNDo0MDo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy4qOiBTdG9yZSB0aGUgZm9ybWF0IGxpc3QgaW4gdGhlIG9yZGVyIHRoYXQgdGhlIGRyaXZlciBnaXZlcyBpdCB0byB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDUtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCk6IFN0b3JlCgkgIHRoZSBmb3JtYXQgbGlzdCBpbiB0aGUgb3JkZXIgdGhhdCB0aGUgZHJpdmVyIGdpdmVzIGl0IHRvIHVzLgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKQoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KTogTmV3IGZ1bmN0aW9ucywgZmlsbCBHc3RDYXBzCgkgIGJhc2VkIG9uIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGRldmljZS4KCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKTogVXBkYXRlIHRvIGJlIHN0cmljdCBpbiBpdHMgcGFyYW1ldGVycywKCSAgYXMgaW4gdGhlIHNldF9jYXBzIGJlbG93LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcsCgkgIGFuZCByZWZsb3cuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0LCBnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfdXBkYXRlX2ZwcywgZ3N0X3Y0bDJzcmNfc2V0X2ZwcykKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOiBSZW1vdmU7IHRoZXNlIGZ1bmN0aW9ucyBkb24ndCBoYXZlIG11Y2gKCSAgbWVhbmluZyBvdXRzaWRlIG9mIGFuIGF0b21pYyBzZXRfY2FwcyBtZXRob2QuCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KTogRG9uJ3Qgc2V0IGJ1ZmZlciBkdXJhdGlvbiwgaXQgaXMgbm90CgkgIGtub3duLgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbCk6IFJlbW92ZQoJICBjYWxsIHRvIHVwZGF0ZV9mcHM7IG5vdCBzdXJlIGFib3V0IHRoaXMgY2hhbmdlLgoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm0pOiBXb3JrIGFyb3VuZCB0aGUgZmFjdCB0aGF0IGZvciB0aGUKCSAgbW9tZW50IHdlIGRvbid0IGhhdmUgYW4gdXBkYXRlX2Zwc19mdW5jLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaCAoc3RydWN0IF9Hc3RWNGwyU3JjKTogRG9uJ3QgcHV0IHY0bDIKCSAgc3RydWN0dXJlcyBpbiB0aGUgb2JqZWN0LCBqdXN0IHN0b3JlIHdoYXQgd2UgbmVlZC4gRG8gc3RvcmUgdGhlCgkgIHByb2JlZCBjYXBzIG9mIHRoZSBkZXZpY2UuIERvbid0IHN0b3JlIHRoZSBjdXJyZW50IGZyYW1lIHJhdGUuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19pbml0KTogUmVtb3ZlIHRoZQoJICB1cGRhdGVfZnBzX2Z1bmN0aW9uLCBmb3Igbm93LiBVcGRhdGUgZm9yIG5ldyBvYmplY3QgdmFyaWFibGUKCSAgbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5LCBnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpOiBVcGRhdGUgZm9yCgkgIG5ldyBvYmplY3QgdmFyaWFibGUgbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpOiBSZW5hbWUgZnJvbSAuLi5fdG9fY2Fwcy4KCSAgKGdzdF92NGwyX3N0cnVjdHVyZV90b192NGwyZm91cmNjKTogUmVuYW1lIGZyb20gLi4uY2Fwc190b18uLi4uCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6IFJld29yayB0byBwcm9iZSB0aGUgZGV2aWNlIGZvciBzdXBwb3J0ZWQKCSAgZnJhbWUgc2l6ZXMgYW5kIGZyYW1lIHJhdGVzLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOiBSZXdvcmsgdG8gYmUgc3RyaWN0IGluIHRoZSBnaXZlbgoJICBwYXJhbWV0ZXJzOiBpZiBzb21lb25lIGFza3MgdXMgdG8gaGF2ZSBhIGNlcnRhaW4gc2l6ZSBhbmQgcmF0ZSwKCSAgdGhhdCBpcyB3aGF0IHdlIGNvbmZpZ3VyZS4KCSAgKGdzdF92NGwyc3JjX2dldF9yZWFkKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLiBEb24ndAoJICBsZWFrIGJ1ZmZlcnMgb24gc2hvcnQgcmVhZHMuCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZywgYW5kIGFkZAoJICBjb21tZW50cy4KCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4KCjIwMDctMDUtMzAgMTQ6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFBhcnNlIHN1YnRpdGxlIHRleHQgc3RyZWFtcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCAoIzQ0MjAzNCkuIFN0aWxsIG5lZWRzIGEgcGFyc2VyIGZvciB0aGUgc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQYXJzZSBzdWJ0aXRsZSB0ZXh0IHN0cmVhbXMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgKCM0NDIwMzQpLiBTdGlsbAoJICBuZWVkcyBhIHBhcnNlciBmb3IgdGhlIHN1YnRpdGxlcyB0byBhY3R1YWxseSBzaG93IHVwLgoKMjAwNy0wNS0zMCAxMjo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBfcHVzaF9ldmVudCgpIHJldHVybiBUUlVFIGlmIHRoZSBldmVudCBjb3VsZCBiZSBwdXNoZWQgb24gYXQgbGVhc3Qgb25lIHBhZCBhbmQgbm90IG9ubHkgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTWFrZSBfcHVzaF9ldmVudCgpIHJldHVybiBUUlVFIGlmIHRoZSBldmVudCBjb3VsZCBiZSBwdXNoZWQgb24gYXQKCSAgbGVhc3Qgb25lIHBhZCBhbmQgbm90IG9ubHkgaWYgaXQgY291bGQgYmUgcHVzaGVkIG9uIGFsbCBwYWRzLAoJICBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIHBvc3RpbmcgYW4gZXJyb3IgbWVzc2FnZSBvbiBFT1MgaWYgb25lIG9yCgkgIG1vcmUgc291cmNlIHBhZHMgYXJlIG5vdCBjb25uZWN0ZWQuCgoyMDA3LTA1LTI4IDE2OjM5OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBVc2UgcmVuYW1lZCBSVFAgYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIFVzZSByZW5hbWVkIFJUUCBiaW4uCgoyMDA3LTA1LTI4IDE1OjAxOjMzICswMDAwICBEZWphbiBTYWtlbMWhYWsgPHNha2RlYW5AZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEFkZCBBWVVWLT5BWVVWIGFuZCBBWVVWLT5JNDIwIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRGVqYW4gU2FrZWzFoWFrIDxzYWtkZWFuIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgICh2aWRlb19ib3hfcmVjYWxjX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fYm94X2FwcGx5X2FscGhhKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dl9heXV2KSwgKGdzdF92aWRlb19ib3hfY2xlYXIpLCAoVVZmbG9vciksCgkgIChVVmNlaWwpLCAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApLCAoZ3N0X3ZpZGVvX2JveF9pNDIwX2F5dXYpLAoJICAoZ3N0X3ZpZGVvX2JveF9pNDIwX2k0MjApLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm0pLAoJICAocGx1Z2luX2luaXQpOgoJICBBZGQgQVlVVi0+QVlVViBhbmQgQVlVVi0+STQyMCBmb3JtYXRzLgoJICBGaXggbmVnb3RpYXRpb24gYW5kIEk0MjAtPkFZVVYgY29udmVyc2lvbi4KCSAgRml4ZXMgIzQyOTMyOS4KCjIwMDctMDUtMjYgMTU6MjU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogVXNlIGRpZmZlcmVudCB2YXJpYWJsZXMgZm9yIG5lc3RlZCBmb3IgbG9vcHMgc28gdGhhdCB0aGUgb3V0ZXIgbG9vcCBmdW5jdGlvbnMgcHJvcGVybHkgYW5kIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIFVzZSBkaWZmZXJlbnQgdmFyaWFibGVzIGZvciBuZXN0ZWQgZm9yIGxvb3BzIHNvIHRoYXQgdGhlIG91dGVyIGxvb3AKCSAgZnVuY3Rpb25zIHByb3Blcmx5IGFuZCBzcGVleCBmaWxlcyB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIHdvcmsKCSAgcHJvcGVybHkuCgkgIEZpeGVzICM0NDE0MDguCgoyMDA3LTA1LTI1IDIwOjUxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IGxlYWsgbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICBEb24ndCBsZWFrIG5ld3NlZ21lbnQgZXZlbnRzLgoKMjAwNy0wNS0yNSAyMDozMzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogQWRkICctbG0nIHRvIExJQlMgZm9yIGNlaWwoKSwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzIGRyYWdzIGl0IGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCAnLWxtJyB0byBMSUJTIGZvciBjZWlsKCksIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcwoJICBkcmFncyBpdCBpbi4KCjIwMDctMDUtMjUgMTY6MDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IENvbGxlY3QgaGVhZGVycywgYWRkICJzdHJlYW1oZWFkZXIiIGZpZWxkIHRvIG91dHB1dCBjYXBzIGFuZCBzZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAobm90Z3N0X3ZhbHVlX2FycmF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfZW5jX3Byb2Nlc3Nfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY19jaGFpbiksCgkgIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIENvbGxlY3QgaGVhZGVycywgYWRkICJzdHJlYW1oZWFkZXIiIGZpZWxkIHRvIG91dHB1dCBjYXBzIGFuZCBzZXQKCSAgQlVGRkVSX0lOX0NBUFMgZmxhZyBvbiBwdXNoZWQgaGVhZGVyIGJ1ZmZlcnMuIFRoYXQgd2F5IG9nZ211eAoJICBwcm9kdWNlcyBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBvZmZpY2lhbCBGTEFDLXRvLU9nZyBtYXBwaW5nCgkgIGluc3RlYWQgb2YgY29tcGxldGVseSBicm9rZW4gZmlsZXMuIEZpeGVzICM0MjYwNDQuCgoyMDA3LTA1LTI1IDEwOjQ0OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEhhbmRsZSBhbmQgYWRqdXN0IG5ldy1zZWdtZW50IGV2ZW50cyBzbyB0aGF0IGRvd25zdHJlYW0gcmVhbGx5IHNlZXMgYSBzdHJlYW0gd2l0aCB0aGUgdGFnIHBpZWNlcyBzdHJpcHBlZCBvZmYgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZXNldCksCgkgIChnc3RfaWQzZGVtdXhfc2VuZF9uZXdfc2VnbWVudCksIChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3RhZ19kZW11eF9jaGFpbiksIChnc3RfdGFnX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3RhZ19kZW11eF9zZW5kX25ld19zZWdtZW50KToKCSAgSGFuZGxlIGFuZCBhZGp1c3QgbmV3LXNlZ21lbnQgZXZlbnRzIHNvIHRoYXQgZG93bnN0cmVhbSByZWFsbHkKCSAgc2VlcyBhIHN0cmVhbSB3aXRoIHRoZSB0YWcgcGllY2VzIHN0cmlwcGVkIG9mZiB0aGUgZnJvbnQgYW5kIGJhY2suCgkgIEZpeGVzIHN0cmFuZ2VuZXNzIGluIHNlZWtpbmcgd2hlbiBtcDMgZGVjb2RlcnMgdXNlIHRoZSBuZXctc2VnbWVudAoJICBieXRlIHBvc2l0aW9uIHRvIGVzdGltYXRlIHRoZWlyIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24gdGltZXN0YW1wCgkgIGFuZCB0aGVuIHRoZSBhcnJpdmluZyBidWZmZXJzIGRvbid0IG1hdGNoIHVwLgoKMjAwNy0wNS0yNSAxMDoyMzo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IERvbid0IHVubmVjZXNzYXJpbHkgcGVyZm9ybSBhIFJFQURZLT5OVUxMLT5SRUFEWSB0cmFuc2l0aW9uIG9uIHRoZSBkZXRlY3RlZCBhdWRpbyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICBEb24ndCB1bm5lY2Vzc2FyaWx5IHBlcmZvcm0gYSBSRUFEWS0+TlVMTC0+UkVBRFkgdHJhbnNpdGlvbiBvbiB0aGUKCSAgZGV0ZWN0ZWQgYXVkaW8gc2luayB3aGVuIHN0YXJ0aW5nIHVwLiBGaXhlczogIzQ0MDEyNwoKMjAwNy0wNS0yNCAxNzowMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogRG9uJ3QgY3Jhc2ggaW4gY2hhaW4gZnVuY3Rpb24gaWYgc2V0Y2FwcyBoYXNuJ3QgYmVlbiBjYWxsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggaW4gY2hhaW4gZnVuY3Rpb24gaWYgc2V0Y2FwcyBoYXNuJ3QgYmVlbiBjYWxsZWQuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTI0IDA4OjE0OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbml0IHZhbHVlIHRvIGF2b2lkIGluZmludGUgbG9vcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpOgoJICBJbml0IHZhbHVlIHRvIGF2b2lkIGluZmludGUgbG9vcHMuCgoyMDA3LTA1LTI0IDA4OjEwOjQyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogRml4IGZvciBuZXcgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKToKCSAgRml4IGZvciBuZXcgQVBJLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChhZGRfYXV0aF9oZWFkZXIpLAoJICBPbmx5IGFkZCBhdXRob3Jpc2F0aW9uIGFuZCBzZXNzaW9uIGhlYWRlcnMgd2hlbiBzZW5kaW5nIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChrZXlfdmFsdWVfZm9yZWFjaCksIChydHNwX21lc3NhZ2VfaW5pdCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfYXBwZW5kX2hlYWRlcnMpLCAoZHVtcF9rZXlfdmFsdWUpLAoJICAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBoZWFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgYnkgc3RvcmluZyB0aGUgcGFyc2VkCgkgIGhlYWRlcnMgaW4gYSBHQXJyYXkgaW5zdGFlZCBvZiBhIGhhc2h0YWJsZS4KCjIwMDctMDUtMjMgMjI6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlciBpbnRlcmZhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIKCSAgaW50ZXJmYWNlIG5vdy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgQWRkIGludGVyZmFjZXMgaW1wbGVtZW50ZWQgYnkgV2luZG93cyBzaW5rcy4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5ICBhbmQgaW1wbGVtZW50IHRoZSBtaXhlciBpbnRlcmZhY2UuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgIEFkZCBhIG5ldyBnc3QgbGlicmFyeSB3aGljaCBhbGxvdyB0byBjcmVhdGUgaW50ZXJuYWwgRGlyZWN0IFNob3cKCSAgZ3JhcGggKHBpcGVsaW5lcykgdG8gd3JhcCBXaW5kb3dzIHNvdXJjZXMsIGRlY29kZXJzIG9yIGVuY29kZXJzLgoJICBJdCBpbmNsdWRlcyBhIERpcmVjdFNob3cgZmFrZSBzb3VyY2UgYW5kIHNpbmsgYW5kIHV0aWxpdHkgZnVuY3Rpb25zLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgQWRkIGEgbmV3IHBsdWdpbiB0byB3cmFwIERpcmVjdFNob3cgc291cmNlcyBvbiBXaW5kb3dzLgoJICBJdCBnZXRzIGRhdGEgZnJvbSBhbnkgd2ViY2FtLCBkdiBjYW0sIG1pY3JvLiBXZSBjb3VsZCBhZGQKCSAgdHYgdHVubmVyIGNhcmQgbGF0ZXIuCgoyMDA3LTA1LTIyIDExOjE0OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLAoJICBnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHksIGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSwKCSAgcGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmggKGF1ZGlvZmlsdGVyKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jIChBUkdfTlVNX0JBTkRTLAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuCgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmMgKGJwd3NpbmNfc2V0X2NhcHMpOgoJICBBZGQgZml4bWUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKFNQRUNUUlVNX1dJTkRPV19CQVNFLAoJICBTUEVDVFJVTV9XSU5ET1dfTEVOLCBnc3Rfc3BlY3RydW1faW5pdCwgZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4gVHVybiB0d28gZml4ZWQgdmFsdWVzIGludG8gI2RlZmluZXMuCgoyMDA3LTA1LTIyIDExOjAzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGVsZW1lbnQgYW5kIHByb3BlcnRpZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wNS0yMSAxMjo0MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LCBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAwNy0wNS0yMSAxMTozNzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoKMjAwNy0wNS0yMSAxMToxNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kCgkgIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyZW50IGV4dHJhIHByb2Nlc3NpbmcgbW9kZXMgaW5zdGVhZCBvZiBvbmx5CgkgIGFsbG93aW5nIG5vbmUgYW5kIHRoZSBkZWZhdWx0IG9uZS4KCjIwMDctMDUtMjEgMTA6MDc6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBTaW5jZSB3ZSBkZXBlbmQgb24gMC4xMC4xMyAtY29yZSwgb3ZlcnJpZGUgdGhlIHVubG9ja19zdG9wIHZtZXRob2QgZm9yIHNhZmVyIHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwgKGdzdF91ZHBzcmNfdW5sb2NrX3N0b3ApOgoJICBTaW5jZSB3ZSBkZXBlbmQgb24gMC4xMC4xMyAtY29yZSwgb3ZlcnJpZGUgdGhlIHVubG9ja19zdG9wIHZtZXRob2QgZm9yCgkgIHNhZmVyIHNodXRkb3duLgoKMjAwNy0wNS0yMSAxMDowMzo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGRlZCBzaWduYWwgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZGVkIHNpZ25hbCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCjIwMDctMDUtMjEgMDk6MzI6MjYgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBVc2UgYXVkaW9jb252ZXJ0IGZvciBjb252ZXJ0aW5nIGZyb20gbm9uLW5hdGl2ZSBlbmRpYW5uZXNzIGZsb2F0cyBpbiBhdXBhcnNlIGluc3RlYWQgb2YgZG9pbmcgaXQgb3Vyc2VsZi4gRml4ZXMgIzQyNDUyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFVzZSBhdWRpb2NvbnZlcnQgZm9yIGNvbnZlcnRpbmcgZnJvbSBub24tbmF0aXZlIGVuZGlhbm5lc3MgZmxvYXRzCgkgIGluIGF1cGFyc2UgaW5zdGVhZCBvZiBkb2luZyBpdCBvdXJzZWxmLiBGaXhlcyAjNDI0NTI3LgoJICBUaGlzIG5lZWRzIHRoZSBhdWRpb2NvbnZlcnQgZnJvbSBwbHVnaW5zLWJhc2UgQ1ZTLgoKMjAwNy0wNS0yMSAwOToyOTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogRml4IGVudW0gcmVnaXN0cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgRml4IGVudW0gcmVnaXN0cmF0aW9uLgoKMjAwNy0wNS0yMSAwODo1NzoxOCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuKjogQWRkIG5ldyBmcmFnbWVudGF0aW9uIG1vZGUgYmFzZSBvbiBHT0IgaGVhZGVycy4gRml4ZXMgIzQzODk0MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgIEFkZCBuZXcgZnJhZ21lbnRhdGlvbiBtb2RlIGJhc2Ugb24gR09CIGhlYWRlcnMuIEZpeGVzICM0Mzg5NDAuCgoyMDA3LTA1LTIwIDIxOjMxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzIHRoZSB3YXZwYWNrIHN0dWZmIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcwoJICB0aGUgd2F2cGFjayBzdHVmZiBub3cgbmVlZHMgaW5wdXQgd2l0aCAzMiBiaXQgd2lkdGggKGFuZCByYW5kb20gZGVwdGgpCgkgIHRoaXMgaXMgbmVlZGVkIG5vdy4gVGhlIGV4YW1wbGUgcGlwZWxpbmVzIGZvciB0aGUgcGFyc2VyIGFuZCBkZWNvZGVyCgkgIGFyZSBzdGlsbCBmaW5lLgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6MTQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCjIwMDctMDUtMjAgMTQ6MDU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFByaW50ZiBmb3JtYXQgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFByaW50ZiBmb3JtYXQgZml4LgoKMjAwNy0wNS0xOSAxMDowMTo0NSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOiAoZ3N0X3JnX2xpbWl0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2xpbWl0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfY2xhc3NfaW5pdCksIChnc3Rfcmdfdm9sdW1lX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX3ZvbHVtZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX3ZvbHVtZV9kaXNwb3NlKSwgKGdzdF9yZ192b2x1bWVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZ192b2x1bWVfc2lua19ldmVudCksIChnc3Rfcmdfdm9sdW1lX3RhZ19ldmVudCksCgkgIChnc3Rfcmdfdm9sdW1lX3Jlc2V0KSwgKGdzdF9yZ192b2x1bWVfdXBkYXRlX2dhaW4pLAoJICAoZ3N0X3JnX3ZvbHVtZV9kZXRlcm1pbmVfZ2Fpbik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKHNldHVwX3JnbGltaXRlciksCgkgIChjbGVhbnVwX3JnbGltaXRlciksIChzZXRfcGxheWluZ19zdGF0ZSksIChjcmVhdGVfdGVzdF9idWZmZXIpLAoJICAodmVyaWZ5X3Rlc3RfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJnbGltaXRlcl9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAoZXZlbnRfZnVuYyksIChzZXR1cF9yZ3ZvbHVtZSksCgkgIChjbGVhbnVwX3Jndm9sdW1lKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKHNldF9udWxsX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHRlc3RfYnVmZmVyX25ldyksCgkgIChmYWlsX3VubGVzc190YXJnZXRfZ2FpbiksIChmYWlsX3VubGVzc19yZXN1bHRfZ2FpbiksCgkgIChmYWlsX3VubGVzc19nYWluKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJndm9sdW1lX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgoyMDA3LTA1LTE4IDEzOjI3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBjcmFzaCB3aGVuIGFuIHVuc3VwcG9ydGVkIHRyYW5zcG9ydCBlcnJvciB3YXMgcmV0dXJuZWQgYnkgdGhlIHNlcnZlciwganVzdCB0cnkgdG8gY29uZmlnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBEb24ndCBjcmFzaCB3aGVuIGFuIHVuc3VwcG9ydGVkIHRyYW5zcG9ydCBlcnJvciB3YXMgcmV0dXJuZWQgYnkgdGhlCgkgIHNlcnZlciwganVzdCB0cnkgdG8gY29uZmlndXJlIHRoZSBuZXh0IHN0cmVhbS4gRml4ZXMgIzQzOTI1NS4KCjIwMDctMDUtMTggMTE6Mzk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEFkZCBUQ1AgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIGl0IGZvciBhbGwgVENQIGNvbm5lY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBUQ1AgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIGl0IGZvciBhbGwgVENQIGNvbm5lY3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl93cml0ZSksIChydHNwX2Nvbm5lY3Rpb25fbmV4dF90aW1lb3V0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZXNldF90aW1lb3V0KToKCSAgTWFrZSBjb25uZWN0IGFuZCB3cml0ZXMgY2FuY2VsYWJsZSBhbmQgbWFrZSB0aGVtIHVzZSB0aGUgdGltZW91dC4KCjIwMDctMDUtMTggMTA6MzY6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRpbWVvdXQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFJlZmFjdG9yIHRpbWVvdXQgaGFuZGxpbmcuCgkgIEFsc28gc2VuZCBrZWVwLWFsaXZlIHdoZW4gZGVhbGluZyB3aXRoIFRDUCB0cmFuc3BvcnQuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpLCAocnRzcF9jb25uZWN0aW9uX25leHRfdGltZW91dCksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVzZXRfdGltZW91dCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgVXNlIGEgdGltZXIgdG8gaGFuZGxlIHRoZSBzZXNzaW9uIHRpbWVvdXRzLCBhZGQgc29tZSBtZXRob2RzIHRvIGRlYWwKCSAgd2l0aCB0aW1lb3V0cy4KCjIwMDctMDUtMTcgMTQ6NTY6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZmFpbCB0aGUgc2V0dXAgY29tbWFuZCwgd2Ugd2lsbCByZXRyeSB3aXRoIGEgZGlmZmVyZW50IHRyYW5zcG9ydCBsYXRlciBvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBmYWlsIHRoZSBzZXR1cCBjb21tYW5kLCB3ZSB3aWxsIHJldHJ5IHdpdGggYQoJICBkaWZmZXJlbnQgdHJhbnNwb3J0IGxhdGVyIG9uLgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICBGaXggZW5jb2RpbmcgbmFtZSBjYXNlLgoKMjAwNy0wNS0xNyAxMDo1OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWCBpcyAkI0AoKiUkIyAhIEZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYCgkgIGlzICQjQCgqJSQjICEgRm9yIHRob3NlIHdvbmRlcmluZywgdGhlIGV2ZW50IGhhbmRsaW5nIG5lZWRzIHRvIGJlIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGFmdGVyIGFsbC4uCgoyMDA3LTA1LTE3IDA5OjQxOjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZC90YXNrIGZvciB0aGUgY29jb2EgZXZlbnRfbG9vcCwgZWxzZSBpdCB3b3VsZG4ndAoJICBzdG9wLgoKMjAwNy0wNS0xNiAxNjo1MDoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2VuZHJvd19jYWxsYmFjayksICh1c2VyX3JlYWRfZGF0YSk6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA3LTA1LTE2IDE2OjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogUmVwbGFjZSBkaXJlY3QgY29tcGFyaXNvbiBvZiBhIHN0cmluZyB3aXRoIHRoZSBzdHJpbmcgbGl0ZXJhbCAiIiB3aXRoIGEgY29tcGFyaXNvbiBvZiB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgUmVwbGFjZSBkaXJlY3QgY29tcGFyaXNvbiBvZiBhIHN0cmluZyB3aXRoIHRoZSBzdHJpbmcgbGl0ZXJhbCAiIiB3aXRoCgkgIGEgY29tcGFyaXNvbiBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIHdpdGggJ1wwJy4gRml4ZXMgIzQzODkyNi4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDUtMTUgMTE6MTg6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KTogT25lIG1vcmUgdHJ5LiBUaGlzIHNob3VsZCBiZSB0aGUgcHJvcGVyIGZpeCBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KToKCSAgT25lIG1vcmUgdHJ5LiBUaGlzIHNob3VsZCBiZSB0aGUgcHJvcGVyIGZpeCBub3cuCgoyMDA3LTA1LTE1IDA2OjQxOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogT29vcHMsIG5vIC8vIGNvbW1lbnRzIHBsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgIE9vb3BzLCBubyAvLyBjb21tZW50cyBwbGVhc2UuCgoyMDA3LTA1LTE1IDA2OjM0OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogRml4IGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKSBhc3NlcnRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiAoZ3N0X2JyZWFrX215X2RhdGFfY2xhc3NfaW5pdCksCgkgIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KToKCSAgRml4IGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKSBhc3NlcnRpb24uCgoyMDA3LTA1LTE1IDAyOjU2OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIEJheWVyIGltYWdlcyBhcyB2aWRlby94LXJhdy1iYXllci4gIEZpeGVzICMzMTQxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIEJheWVyIGltYWdlcyBhcwoJICB2aWRlby94LXJhdy1iYXllci4gIEZpeGVzICMzMTQxNjAuCgoyMDA3LTA1LTE0IDE3OjEwOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVwZGF0ZSB0aGVvcmEgcGF5L2RlcGF5bG9hZGVyIGluIGEgc2ltaWxhciB0byB2b3JiaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbik6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXBkYXRlIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXIgaW4gYSBzaW1pbGFyIHRvIHZvcmJpcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKToKCSAgVXBkYXRlIGRvY3MuCgoyMDA3LTA1LTE0IDE2OjE5OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBXaGVuIHdlIHRyeSB0byBleGVjdXRlIGEgbWV0aG9kIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc2VydmVyLCBkb24ndCBlcnJvciBvdXQgYnV0IHJlbW92Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBXaGVuIHdlIHRyeSB0byBleGVjdXRlIGEgbWV0aG9kIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc2VydmVyLAoJICBkb24ndCBlcnJvciBvdXQgYnV0IHJlbW92ZSB0aGUgbWV0aG9kIGZyb20gdGhlIGFjY2VwdGVkIG1ldGhvZHMgc28gdGhhdAoJICB3ZSBuZXZlciB0cnkgdG8gcGVyZm9ybSB0aGlzIG1ldGhvZCBhZ2Fpbi4KCjIwMDctMDUtMTQgMTQ6NDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IFJlbW92ZSBhbm5veWluZyBfZHVtcF9tZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICBSZW1vdmUgYW5ub3lpbmcgX2R1bXBfbWVtLgoKMjAwNy0wNS0xNCAxMToxMTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUGFyc2UgcmFuZ2UgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIFBhcnNlIHJhbmdlIGNvcnJlY3RseS4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICBUaGUgYmFzZXVybCBub3cgYWx3YXlzIGhhcyBhICcvJyBhdCB0aGUgc3RhcnQuCgoyMDA3LTA1LTE0IDA5OjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGYWN0b3Igb3V0IGNhcHMgY29uZmlndXJhdGlvbiBhbmQgY29uZmlndXJlIG1vcmUgc3R1ZmYgc3VjaCBhcyB0aGUgdGltZSByYW5nZXMgYW5kIHNwZWVkL3NjYWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgRmFjdG9yIG91dCBjYXBzIGNvbmZpZ3VyYXRpb24gYW5kIGNvbmZpZ3VyZSBtb3JlIHN0dWZmIHN1Y2ggYXMgdGhlIHRpbWUKCSAgcmFuZ2VzIGFuZCBzcGVlZC9zY2FsZSB2YWx1ZXMuCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBBZGQgQ29weXJpZ2h0IGFmdGVyIG5vbi10cml2YWwgZml4ZXMuCgoyMDA3LTA1LTEzIDE5OjU3OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIEJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4uCgoyMDA3LTA1LTEzIDE1OjQ3OjEzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYgY2FuIGJ1aWxkIGluX2RhdGEgKz0gKGZpbHRlci0+d2lkdGggLyA4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYgY2FuIGJ1aWxkCgkgIGluX2RhdGEgKz0gKGZpbHRlci0+d2lkdGggLyA4KS4KCjIwMDctMDUtMTIgMTY6Mzc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBNYWtlIGNoYW5uZWwgZ3VpbnQ4IHdoZXJlIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlcik6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgTWFrZSBjaGFubmVsIGd1aW50OCB3aGVyZSBwb3NzaWJsZS4KCSAgTWFrZSBydHNwX21lc3NhZ2VfaW5pdF9kYXRhKCkgdGFrZSB0aGUgY2hhbm5lbCBhcyBhIGd1aW50OC4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICBGaXhlZCBhIHR5cG86IFRpbW91dCAtPiBUaW1lb3V0CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgTWFrZSBSVFNQX0NIRUNLKCkgYmVoYXZlIGFzIGEgc3RhdGVtZW50LgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSAgQXZvaWQgYSBjb21waWxlciB3YXJuaW5nIGluIElOSVRfQVJSQVkoKS4KCSAgRml4ZXMgIzQzNzY5Mi4KCjIwMDctMDUtMTIgMTY6Mjc6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC4qOiBBZGQgc3VwcG9ydCBmb3IgcXVlcnkgcGFyYW1ldGVycyB0byBSVFNQIFVSTHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX2ZyZWUpLAoJICAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBxdWVyeSBwYXJhbWV0ZXJzIHRvIFJUU1AgVVJMcy4KCjIwMDctMDUtMTIgMTY6MjY6MDYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC4qOiBBZGQgdmFsaWRhdGlvbiB0byBydHNwX3RyYW5zcG9ydF9wYXJzZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHBhcnNlX21vZGUpLAoJICAocGFyc2VfcmFuZ2UpLCAocmFuZ2VfYXNfdGV4dCksIChydHNwX3RyYW5zcG9ydF9tb2RlX2FzX3RleHQpLAoJICAocnRzcF90cmFuc3BvcnRfcHJvZmlsZV9hc190ZXh0KSwgKHJ0c3BfdHJhbnNwb3J0X2x0cmFuc19hc190ZXh0KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKSwgKHJ0c3BfdHJhbnNwb3J0X2FzX3RleHQpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkIHZhbGlkYXRpb24gdG8gcnRzcF90cmFuc3BvcnRfcGFyc2UoKS4KCSAgQWRkIHJ0c3BfdHJhbnNwb3J0X2FzX3RleHQoKSB0byBnZW5lcmF0ZSBhbiBSVFNQIGhlYWRlciBmcm9tIGFuCgkgIFJUU1BUcmFuc3BvcnQuCgkgIENoYW5nZSBzc3JjIHRvIGd1aW50ICh3YXMgYSBzdHJpbmcpIHNpbmNlIHRoYXQgaXMgd2hhdCBpdCBpcywgZXZlbgoJICB0aG91Z2ggaXQgaXMgc2VudCBhcyBhIGhleCBzdHJpbmcuCgkgIENvcnJlY3RseSBpZGVudGlmeSBQTEFZfFJFQ09SRCBtb2RlIHBhcmFtZXRlcnMgKHRoZSBzeW50YXggaW4gdGhlIFJGQyBpcwoJICBpbmNvcnJlY3QsIHdoaWNoIGNhbiBiZSBzZWVuIHdoZW4gbG9va2luZyBhdCB0aGUgZXhhbXBsZXMgaW4gdGhlIFJGQykuCgkgIEZpeGVzICM0Mzc2NzAuCgoyMDA3LTA1LTExIDE2OjExOjA0ICswMDAwICBFcmljIEFuaG9sdCA8YW5ob2x0QGZyZWVic2Qub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXksIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVyaWMgQW5ob2x0CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5LAoJICBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgVXNlIHVuaW9uIG9mIGFsbCBkYW1hZ2UgYmV0d2VlbiBmcmFtZXMgdG8gbWFrZSBpdCBmYXN0ZXIuCgkgIEZpeGVzIGJ1ZyAjMzQyNDYzLgoJICBBbHNvIGZpeCBjcmFzaGVyIHdoZW4gY3Vyc29yIGlzIGF0IGJvdHRvbSByaWdodCBvZiB3aW5kb3cuCgoyMDA3LTA1LTExIDE2OjAxOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNraXAgTElTVCBjaHVua3MgYmVmb3JlIHRoZSBmbXQgY2h1bmsgKGZpeGVzICM0Mzc0OTkpLiBBbHNvIGZpeCBzdHJlYW1pbmcgbW9kZSByZWdyZXNzaW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU2tpcCBMSVNUIGNodW5rcyBiZWZvcmUgdGhlIGZtdCBjaHVuayAoZml4ZXMgIzQzNzQ5OSkuIEFsc28gZml4CgkgIHN0cmVhbWluZyBtb2RlIHJlZ3Jlc3Npb24gZm9yIGZpbGUgZnJvbSAjMzQzODM3IHdpdGggJ2JleHQnIGNodW5rCgkgIGJlZm9yZSB0aGUgJ2ZtdCcgY2h1bmsuCgoyMDA3LTA1LTExIDE1OjA5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBQcmVsaW1pbmFyeSBzZWVrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX2RvX3NlZWspLCAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgUHJlbGltaW5hcnkgc2VlayBzdXBwb3J0LgoJICBBY3RpdmF0ZSBpbnRlcm5hbCBwYWRzIHNvIHRoYXQgd2UgY2FuIHJlY2VpdmUgZXZlbnRzIG9uIHRoZW0uCgkgIERvbid0IHRyeSB0byBwYXJzZSBhIHJhbmdlIHN0cmluZyB3aGVuIGl0J3MgTlVMTC4KCjIwMDctMDUtMTEgMTU6MDQ6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIG5ldyBSVFAgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBzeW5jaHJvbmlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggbmV3IFJUUCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yCgkgIHN5bmNocm9uaXNhdGlvbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXBkYXRlIHZvcmJpcyBwYXkgYW5kIGRlcGF5bG9hZGVyIHRvIGRyYWZ0LTA0LgoKMjAwNy0wNS0xMSAxMToyNDoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogVURQIE1DQVNUIGlzIGFjdHVhbGx5IHRoZSBkZWZhdWx0IGZvciBSVFAvQVZQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIFVEUCBNQ0FTVCBpcyBhY3R1YWxseSB0aGUgZGVmYXVsdCBmb3IgUlRQL0FWUC4KCjIwMDctMDUtMTEgMTA6MzE6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19zdGFydCwgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0LAoJICBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oIChsYXN0X3hpbWFnZSk6CgkgIFdoZW4gdXNpbmcgRGFtYWdlIGFjdHVhbGx5IGtlZXAgdGhlIGxhc3QgZnJhbWUsIGFuZCBub3QgYXNzdW1lCgkgIHRoYXQgdGhlIGJ1ZmZlciB3ZSBnZXQgYWxyZWFkeSBoYXMgdGhlIGxhc3QgZnJhbWUgb24gaXQuCgkgIENvcHkgdGhlIGN1cnNvciBvdmVyIGlmIHdlIHNwZWNpZnkgYSBub24temVybyBzdGFydCB4IGFuZAoJICBzdGFydCB5LgoKMjAwNy0wNS0xMSAwOToxMjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogTWFrZSBVRFAgdGhlIGRlZmF1bHQgdHJhbnNwb3J0IHdoZW4gbm90IHNwZWNpZmllZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBNYWtlIFVEUCB0aGUgZGVmYXVsdCB0cmFuc3BvcnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMDE6MjE6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFJldmVydCBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFJldmVydCBsYXN0IGNoYW5nZS4KCjIwMDctMDUtMDkgMjE6MzA6NTMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBrbm93IHRoZSBzaXplIG9mIGRhdGEgcG9pbnRlZCB3aGVuIG1vdmluZyB0aGUgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2FsY3VsYXRlXyMjVFlQRSksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYga25vdyB0aGUgc2l6ZSBvZiBkYXRhCgkgIHBvaW50ZWQgd2hlbiBtb3ZpbmcgdGhlIHBvaW50ZXIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBNb3ZlIGluc3RydWN0aW9ucyBhZnRlciB2YXJpYWJsZXMgZGVjbGFyYXRpb24uCgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHZzNiBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wNS0wOSAxMToyMzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIGNvZGUgdG8gcGFyc2UgdGltZSByYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5jOiAocGFyc2VfbnB0X3RpbWUpLCAocGFyc2VfbnB0X3JhbmdlKSwKCSAgKHBhcnNlX2Nsb2NrX3JhbmdlKSwgKHBhcnNlX3NtcHRlX3JhbmdlKSwgKHJ0c3BfcmFuZ2VfcGFyc2UpLAoJICAocnRzcF9yYW5nZV9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuaDoKCSAgQWRkIGNvZGUgdG8gcGFyc2UgdGltZSByYW5nZXMuCgkgIFJlcG9ydCBEVVJBVElPTiBvbiB0aGUgc3RyZWFtIHdoZW4gcG9zc2libGUuCgoyMDA3LTA1LTA4IDE1OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggc3RyaWRlcyBjYWxjdWxhdGlvbiBmb3IgQVlVViAoaXQncyBqdXN0IHdpZHRoKjQpICgjNDM2OTEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYXl1dl9heXV2KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfY2hlY2tlciksIChnc3RfdmlkZW9taXhlcl9maWxsX2NvbG9yKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEZpeCBzdHJpZGVzIGNhbGN1bGF0aW9uIGZvciBBWVVWIChpdCdzIGp1c3Qgd2lkdGgqNCkgKCM0MzY5MTApLgoKMjAwNy0wNS0wNiAyMTozMjo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgYmVmb3JlIGVhY2ggcHJvY2Vzc2luZyBzdGVwIHRvIHByb3Blcmx5IHdvcmsgd2l0aCB0aGUgY29udHJvbGxlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgYmVmb3JlIGVhY2ggcHJvY2Vzc2luZyBzdGVwIHRvIHByb3Blcmx5CgkgIHdvcmsgd2l0aCB0aGUgY29udHJvbGxlci4KCjIwMDctMDUtMDQgMTU6MTc6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IExldCBtb3JlIGVycm9yIHN0YXRlIHRyaWNrbGUgZG93biBzbyB0aGF0IHdlIGNhbiBjYXRjaCBtb3JlIGVycm9yIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBMZXQgbW9yZSBlcnJvciBzdGF0ZSB0cmlja2xlIGRvd24gc28gdGhhdCB3ZSBjYW4gY2F0Y2ggbW9yZSBlcnJvcgoJICBjYXNlcy4KCSAgSGFuZGxlIGtlZXAtYWxpdmUgYSBsaXR0bGUgc21hcnRlciBieSBzZWxlY3RpbmcgYSBtZXRob2QgdGhlIHNlcnZlcgoJICBhY3R1YWxseSBzdXBwb3J0cy4KCSAgRml4IGEgcmFjZSBpbiBVRFAgc3RyZWFtaW5nIHNodXRkb3duLgoKMjAwNy0wNS0wNCAxMzowNDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIGVycm9ycyB3aGVuIHRyeWluZyB0byB1c2UgdGhlIGtlZXAtYWxpdmUgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSk6CgkgIElnbm9yZSBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gdXNlIHRoZSBrZWVwLWFsaXZlIG1lc3NhZ2VzLgoKMjAwNy0wNS0wNCAxMjozMTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU2VuZCBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBvdmVyIHRoZSBUQ1AgY29ubmVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlX3VkcCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICBTZW5kIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIG92ZXIgdGhlIFRDUCBjb25uZWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fd3JpdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBGYWN0b3Igb3V0IGFuZCBleHBvc2UgbG93bGV2ZWwgX3dyaXRlIGFuZCBfcmVhZCBtZXRob2RzLgoJICBJbXBsZW1lbnQgc2VuZGluZyBkYXRhIG1lc3NhZ2VzIHRvIHRoZSBzZXJ2ZXIuCgoyMDA3LTA1LTAzIDE1OjU1OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRml4IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRml4IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDctMDUtMDMgMTQ6Mzk6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBFbWl0IE5FV1NFR01FTlQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZSBmaXJzdCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEVtaXQgTkVXU0VHTUVOVCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMDctMDUtMDMgMTM6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRyYW5zcG9ydCBjb25maWd1cmF0aW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlX3VkcCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgIFJlZmFjdG9yIHRyYW5zcG9ydCBjb25maWd1cmF0aW9uIGNvZGUuCgkgIENyZWF0ZSBpbnRlcm5hbCBwYWRzIGZvciBUQ1AgdHJhbnNwb3J0IHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBldmVudHMKCSAgYW5kIHF1ZXJpZXMuCgkgIEhhbmRsZSBldmVudHMgYW5kIHF1ZXJpZXMuCgkgIFBhcnNlIHJhbmdlIGZyb20gdGhlIFNEUC4KCSAgRml4IHJhY2UgaW4gcGF1c2UgaGFuZGxlciB3aGVyZSB0aGUgY29ubmVjdGlvbiBjb3VsZCBzdGlsbCBiZSBmbHVzaGluZy4KCjIwMDctMDUtMDIgMTk6MzI6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCByYWNlIHdoZW4gbXVsdGlwbGUgdWRwIHNvdXJjZXMgcG9zdCB0aW1lb3V0cywganVzdCBhY3Qgb24gdGhlIGZpcnN0IHJlY2VpdmVkIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19hc3luY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCByYWNlIHdoZW4gbXVsdGlwbGUgdWRwIHNvdXJjZXMgcG9zdCB0aW1lb3V0cywganVzdCBhY3Qgb24gdGhlIGZpcnN0CgkgIHJlY2VpdmVkIHRpbWVvdXQuCgkgIFByb3RlY3Qgc3RyZWFtIGxpc3Qgd2l0aCBhIHJlY3Vyc2l2ZSBsb2NrIHRvIGZpeCBzb21lIHJhY2VzLgoJICBGbHVzaCBjb25uZWN0aW9uIHdoZW4gd2UgbmVlZCB0byBkbyBhIHJlY29ubmVjdCBvciBzdG9wLgoJICBNYWtlIHN0YXRlIGxvY2sgcmVjdXJzaXZlLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICBTb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNS0wMiAxODozMToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSGFuZGxlIERJU0NPTlQgYnVmZmVycyBieSBjb3JyZWN0bHkgc2V0dGluZyB0aGUgRElTQ09OVCBmbGFnCgkgIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCkKCSAgU2VuZCBuZXdzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE4OjI1OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE9ubHkgc2V0IERJU0NPTlQgd2hlbiB0aGVyZSBhY3R1YWxseSBpcyBhIGRpc2NvbnQgb3Igd2hlbiB3ZSBqdXN0IHN0YXJ0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgT25seSBzZXQgRElTQ09OVCB3aGVuIHRoZXJlIGFjdHVhbGx5IGlzIGEgZGlzY29udCBvciB3aGVuIHdlIGp1c3QKCSAgc3RhcnRlZC4KCjIwMDctMDUtMDIgMTg6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWMuYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoKMjAwNy0wNS0wMiAxNzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBCZSBhIGJpdCBtb3JlIGNsZXZlciB3aGVuIGRlYWxpbmcgd2l0aCBWQlIgZmlsZXMgd2l0aCBGQUNUIHRhZ3MsIHdlIGRvbid0IHdhbnQgdG8gdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBCZSBhIGJpdCBtb3JlIGNsZXZlciB3aGVuIGRlYWxpbmcgd2l0aCBWQlIgZmlsZXMgd2l0aCBGQUNUIHRhZ3MsIHdlCgkgIGRvbid0IHdhbnQgdG8gdGltZXN0YW1wIGJ1ZmZlcnMgaW4gdGhhdCBjYXNlIGJ1dCB0aGUgZXN0aW1hdGVkIEJQUyBjYW4KCSAgYmUgdXNlZCBmb3Igc2Vla2luZy4KCSAgT25seSBzZW5kIGNsb3NlIHNlZ21lbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE3OjA4OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IENvcnJlY3RseSBwb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIFRoaXMgZml4ZXMgYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICBDb3JyZWN0bHkgcG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nIGluIHRoZSBsb29wCgkgIGZ1bmN0aW9uLiBUaGlzIGZpeGVzIGEgZmV3IGNhc2VzIHdoZXJlIHRoZSB0YXNrIHdhcyBwYXVzZWQgYW5kIG5vdGhpbmcKCSAgaGFwcGVuZWQgYW55bW9yZS4KCjIwMDctMDUtMDIgMTY6NTg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdCBzYW1wbGUuIFdpdGggdGhlIGZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3QKCSAgc2FtcGxlLiBXaXRoIHRoZSBmaXhlZCBlcnJvciBoYW5kbGluZyB0aGlzIHdvcmtzIG5vdyBhcyBleHBlY3RlZAoJICB3aXRob3V0IHB1c2hpbmcgdGhlIGxhc3Qgc2FtcGxlIGFsdGhvdWdoIGl0IHdhc24ndCByZXF1ZXN0ZWQuCgoyMDA3LTA1LTAyIDE2OjQ1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aCBzdG9wIHBvc2l0aW9uID09IC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGgKCSAgc3RvcCBwb3NpdGlvbiA9PSAtMSBhbmQgaW5zdGVhZCBvZiBzdG9wcGluZyB0aGUgdGFzayBvbiBzZWVrIGp1c3QKCSAgcGF1c2UgaXQuCgoyMDA3LTA1LTAyIDE2OjE5OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA3LTA1LTAyIDE1OjEzOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBnZXQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdAoJICB3YXMgZWFzeSB0byBnZXQgdGhlIHRhc2sgcGF1c2VkIGJ1dCBubyBlcnJvciBiZWluZyBwb3N0ZWQgb24gdGhlIGJ1cy4KCjIwMDctMDUtMDIgMTQ6Mjc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC90ZXN0LmM6IEZpeCBjb21waWxhdGlvbiBvZiBkZXByZWNhdGVkIHRlc3QganVzdCBiZWNhdXNlIEknbSB0b28gbGF6eSB0byBkZWxldGUgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBGaXggY29tcGlsYXRpb24gb2YgZGVwcmVjYXRlZCB0ZXN0IGp1c3QgYmVjYXVzZSBJJ20gdG9vIGxhenkgdG8gZGVsZXRlCgkgIGl0LgoKMjAwNy0wNS0wMiAxMzozMjo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IHNlbmRpbmcgUlRDUCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBzZW5kaW5nIFJUQ1AgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBGaXggYnVnIGluIHJlZmZpbmcgdGhlIHdyb25nIFVEUCBlbGVtZW50LgoJICBVc2UgbmV3IHBhZCBuYW1lcyBmb3IgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgSW1wbGVtZW50IGhhbmRsaW5nIHNlcnZlciByZXF1ZXN0cyBpbiBpbnRlcmxlYXZlZCBhbmQgVURQIG1vZGVzLgoJICBIYW5kbGUgc2Vzc2lvbiBrZWVwLWFsaXZlIGluIFVEUCBtb2Rlcy4KCSAgUmVtb3ZlIEdDb25kIGZvciBoYW5kbGluZyBVRFAgdGltZW91dHMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFN0b3JlIGNvbm5lY3Rpb24gSVAgYWRkcmVzcyBmb3IgbGF0ZXIuCgkgIEFkZCB0aW1lb3V0IGFyZ3MgdG8gYWxsIG9wZXJhdGlvbnMgdGhhdCBtaWdodCBibG9jayBmb3JldmVyLgoJICBQYXJzZSBzZXNzaW9uIHRpbWVvdXQuCgkgIE9ubHkgY2xvc2Ugc29ja2V0cyB3aGVuIG5vdCBhbHJlYWR5IGNsb3NlZC4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCB0aW1lb3V0IHJldHVybiB2YWx1ZSBhbmQgZXJyb3Igc3RyaW5nLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSk6CgkgIEFkZCBzbWFsbCBjb21tZW50LgoKMjAwNy0wNS0wMSAxNjoxMzo1OCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lio6IEhhbmRsZSBORVdTRUdNRU5UIGFuZCBGTFVTSCBldmVudHMuIEZpeGVzICM0MzQ4MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2VtcHR5KSwgKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBIYW5kbGUgTkVXU0VHTUVOVCBhbmQgRkxVU0ggZXZlbnRzLiBGaXhlcyAjNDM0ODI0LgoKMjAwNy0wNC0zMCAxMToxNTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBSZW1vdmUgdjRsMnNyYyBmcm9tIGRvY3MsIHNpbmNlIGl0IGJyZWFrcyB0aGUgZG9jcyBidWlsZCwgYW5kIHRoZSBwbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgUmVtb3ZlIHY0bDJzcmMgZnJvbSBkb2NzLCBzaW5jZSBpdCBicmVha3MgdGhlIGRvY3MgYnVpbGQsIGFuZCB0aGUKCSAgcGx1Z2luIGlzIG9ubHkgYnVpbHQgaWYgLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIHVzZWQgYW55d2F5LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU3BhY2VzID0+IHRhYi4KCjIwMDctMDQtMjkgMTQ6NDM6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBBZGQgY29kZSB0byBkcm9wIG1lbWJlcnNoaXAgb2YgYSBtdWx0aWNhc3QgZ3JvdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChsZWF2ZV9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICBBZGQgY29kZSB0byBkcm9wIG1lbWJlcnNoaXAgb2YgYSBtdWx0aWNhc3QgZ3JvdXAuCgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua191cGRhdGVfdXJpKSwKCSAgKGdzdF91ZHBzaW5rX3NldF91cmkpOgoJICBJbXBsZW1lbnQgVVJJIGhhbmRsZXIuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBVUkkgaGFuZGxlciB0byBtYWtlIHVkcHNpbmsgaW5zdGFjZS4KCSAgSW1wcm92ZSBjb2RlIHRvIGNvbmZpZ3VyZSBwb3J0IGFuZCBkZXN0aW5hdGlvbi4KCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDQtMjkgMTM6NTM6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIE1ha2VmaWxlLmFtIGFjY29yZGluZ2x5LgoKMjAwNy0wNC0yOSAxMzo0OTowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBqYWNrIGFuZCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCBqYWNrIGFuZCB1cGRhdGUuCgoyMDA3LTA0LTI5IDEyOjE5OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IG11bHRpY2FzdCBkZXRlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIEZpeCBtdWx0aWNhc3QgZGV0ZWN0aW9uLgoJICBEb24ndCB0cnkgdG8gam9pbiBhIG11bHRpY2FzdCBncm91cCBpZiB0aGUgYWRkcmVzcyBpcyBub3QgbXVsdGljYXN0LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3VwZGF0ZV91cmkpOgoJICBTbWFsbCBkZWJ1ZyBpbXByb3ZlbWVudC4KCjIwMDctMDQtMjcgMTY6NDQ6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBBU1lOQyBzdGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSB1ZHBzaW5rLCBpdCdzIGlycmVsZXZhbnQgZm9yIHRoZSBwYXJlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIElnbm9yZSBBU1lOQyBzdGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSB1ZHBzaW5rLCBpdCdzIGlycmVsZXZhbnQgZm9yIHRoZQoJICBwYXJlbnQuCgoyMDA3LTA0LTI3IDE1OjMwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDogRml4IG1vZGUgcHJvcGVydHkgd2hlbiBzcGVjaWZpZWQgYXMgYW4gYXJnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICBGaXggbW9kZSBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZCBhcyBhbiBhcmcuCgoyMDA3LTA0LTI2IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeGF1ZGlvIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeGF1ZGlvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeGF1ZGlvIHBsdWdpbi4KCjIwMDctMDQtMjYgMTQ6MzE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgoyMDA3LTA0LTI2IDEwOjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQcm90ZWN0IHN0YXRlIGNoYW5nZXMgd2l0aCBhIGxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUHJvdGVjdCBzdGF0ZSBjaGFuZ2VzIHdpdGggYSBsb2NrLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHBhcnNlX2xpbmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBzdHVmZi4KCjIwMDctMDQtMjYgMDg6NDg6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgYXJlIGV4YWN0bHkgMCBieXRlcyB0byByZWFkIGFuZCB0aGUgaW9jdGwgZGlkIG5vdCByZXBvcnQgYW4gZXJyb3IuIEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSBleGFjdGx5IDAgYnl0ZXMgdG8gcmVhZCBhbmQgdGhlIGlvY3RsCgkgIGRpZCBub3QgcmVwb3J0IGFuIGVycm9yLiBGaXhlcyAjNDMzNTMwLgoKMjAwNy0wNC0yNiAwODozOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBBcHBseSBESVNDT05UIHRvIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQXBwbHkgRElTQ09OVCB0byBidWZmZXJzLgoJICBPbmx5IGFwcGx5IHRpbWVzdGFtcCB0byB0aGUgZmlyc3Qgc2FtcGxlIGFmdGVyIGEgRElTQ09OVCwgdG9vIG1hbnkgVkJSCgkgIGZpbGVzIGNhdXNlIHJhbmRvbSBqaXR0ZXIgaW4gdGhlIHRpbWVzdGFtcHMuIEZpeGVzICM0MzMxMTkuCgoyMDA3LTA0LTI1IDE1OjU1OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZCBkdW1teSBsYXRlbmN5IHByb3BlcnR5IHRvIGJlIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBydHBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2RlY19pbml0KSwgKGdzdF9ydHBfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2RlY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGQgZHVtbXkgbGF0ZW5jeSBwcm9wZXJ0eSB0byBiZSBiYWNrd2FyZHMgY29tcGF0IHdpdGggcnRwYmluLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBsYXRlbmN5IHByb3BlcnR5IGFuZCBjb25maWd1cmUgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgRG9uJ3Qgc2V0IGludmFsaWQgY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2Ugb24gY2Fwcywgc29tZSBzZXJ2ZXJzCgkgIHNvbWV0aW1lcyBkb24ndCBzZW5kIHRoZW0uCgoyMDA3LTA0LTI1IDE1OjMxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogRG91YmxlLWNoZWNrIHRoYXQgUkdCIGlucHV0IGNhcHMgYXJlIHJlYWxseSBSR0JBIGNhcHMgKGFwcGFyZW50bHkgdGhlIGNvcmUgZG9lc24ndCBhbHdheXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfYmFzZV9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksIChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICBEb3VibGUtY2hlY2sgdGhhdCBSR0IgaW5wdXQgY2FwcyBhcmUgcmVhbGx5IFJHQkEgY2FwcyAoYXBwYXJlbnRseQoJICB0aGUgY29yZSBkb2Vzbid0IGFsd2F5cyBjYXRjaCBpdCBpZiB0aG9zZSBjYXBzIGFyZW4ndCBhIHN1YnNldCBvZgoJICBvdXIgdGVtcGxhdGUgY2FwcywgYWxzbyBzZWUgIzQyMTU0MykuIEZpeGVzICM0MjkzMTkgaW4gYSB3YXkuCgkgIEFsc28sIGRvbid0IGxlYWsgdGhlIHBhZCB0ZW1wbGF0ZSBpbiB0aGUgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6IChzZXR1cF9hbHBoYWNvbG9yKSwKCSAgKGNsZWFudXBfYWxwaGFjb2xvciksIChjcmVhdGVfY2Fwc19yZ2IyNCksIChjcmVhdGVfY2Fwc19yZ2JhMzIpLAoJICAoY3JlYXRlX2J1ZmZlcl9yZ2IyNF8zeDQpLCAoY3JlYXRlX2J1ZmZlcl9yZ2JhMzJfM3g0KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGFscGhhY29sb3Jfc3VpdGUpOgoJICBBZGQgc29tZSBiYXNpYyB1bml0IHRlc3RzIGZvciBhbHBoYWNvbG9yLgoKMjAwNy0wNC0yNSAxNTowODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IElmIHdlIGdldCBhIGZhdGFsIGZsb3cgcmV0dXJuIGluIHRoZSBsb29wIGZ1bmN0aW9uLCBmaXJzdCBwb3N0IHRoZSBlcnJvciBtZXNzYWdlIGFuZCBvbmx5IHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgSWYgd2UgZ2V0IGEgZmF0YWwgZmxvdyByZXR1cm4gaW4gdGhlIGxvb3AgZnVuY3Rpb24sIGZpcnN0IHBvc3QgdGhlCgkgIGVycm9yIG1lc3NhZ2UgYW5kIG9ubHkgdGhlbiBzZW5kIHRoZSBFT1MgZXZlbnQgZG93bnN0cmVhbSwgb3RoZXJ3aXNlCgkgIGFwcGxpY2F0aW9ucyBtaWdodCBnZXQgYW4gZW9zIG1lc3NhZ2UgYmVmb3JlIHRoZSBlcnJvciBtZXNzYWdlIGFuZAoJICB0aGluayBldmVyeXRoaW5nIHdhcyBvayAocmVsYXRlZCB0byAjNDI5MzE5KS4KCjIwMDctMDQtMjUgMTA6MDc6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZWFkIHRoZSBjaGFubmVsIGJ5dGUgYXMgYW4gdW5zaWduZWQgYnl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgUmVhZCB0aGUgY2hhbm5lbCBieXRlIGFzIGFuIHVuc2lnbmVkIGJ5dGUuCgoyMDA3LTA0LTI1IDA5OjQ3OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE1ha2Ugc3VyZSB3ZSBjb25maWd1cmUgdGhlIGNsb2NrX3JhdGUgaW4gdGhlIGJhc2VjbGFzcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbi4gRml4ZXMgIzQzMTI4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2dzbV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X2lsYmNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbGJjX2RlcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBzdXJlIHdlIGNvbmZpZ3VyZSB0aGUgY2xvY2tfcmF0ZSBpbiB0aGUgYmFzZWNsYXNzIGluIHRoZSBzZXRjYXBzCgkgIGZ1bmN0aW9uLiBGaXhlcyAjNDMxMjgyLgoKMjAwNy0wNC0yNSAwODozNjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUGFyc2Ugc2VydmVyIGFkZHJlc3MgZnJvbSBTRFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUGFyc2Ugc2VydmVyIGFkZHJlc3MgZnJvbSBTRFAuCgkgIEhvb2sgdXAgYSB1ZHBzaW5rIHRvIHNlbmQgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wNC0yNSAwNjo1MjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1ha2UgaGVhZGVyIGZpZWxkIGNoZWNrIGNvbmRpdGlvbmFsLiBGaXhlcyAjNDMzMTM1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgTWFrZSBoZWFkZXIgZmllbGQgY2hlY2sgY29uZGl0aW9uYWwuIEZpeGVzICM0MzMxMzUKCjIwMDctMDQtMjQgMDk6MTI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgbWluaW1hbCBkb2NzIGJsdXJiIHRvIGFscGhhY29sb3I7IHNwbGl0IG91dCBoZWFkZXJzIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGUgZm9yIGd0ay1kb2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgQWRkIG1pbmltYWwgZG9jcyBibHVyYiB0byBhbHBoYWNvbG9yOyBzcGxpdCBvdXQgaGVhZGVycyBpbnRvCgkgIHNlcGFyYXRlIGhlYWRlciBmaWxlIGZvciBndGstZG9jLgoKMjAwNy0wNC0yMCAxNzoyNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBEb24ndCB0cnkgdG8gcG9zdCBOVUxMIG1lc3NhZ2UgKGluIGNhc2Ugd2UgY2FuJ3QgcXVlcnkgdXBzdHJlYW0gcG9zaXRpb24gb3IgZHVyYXRpb24pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgRG9uJ3QgdHJ5IHRvIHBvc3QgTlVMTCBtZXNzYWdlIChpbiBjYXNlIHdlIGNhbid0IHF1ZXJ5IHVwc3RyZWFtCgkgIHBvc2l0aW9uIG9yIGR1cmF0aW9uKS4KCjIwMDctMDQtMTggMTI6MzY6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLio6IEZpeCBzb21lIG9mIHRoZSBtb3N0IG9idmlvdXMgYnVncyBpbiBjdXR0ZXIuIE5vdyBkb2Vzbid0IGxlYWsgZXZlcnl0aGluZyBpZiBpbnB1dCBpcyBzaWxlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2luaXQpLCAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICBGaXggc29tZSBvZiB0aGUgbW9zdCBvYnZpb3VzIGJ1Z3MgaW4gY3V0dGVyLiBOb3cgZG9lc24ndCBsZWFrCgkgIGV2ZXJ5dGhpbmcgaWYgaW5wdXQgaXMgc2lsZW50LgoKMjAwNy0wNC0xOCAwOTo0ODoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogZXZlcnl0aGluZyBlbHNlIHJlc3VsdHMgaW4gYSBpbnZhbGlkIGJsb2NrIGFsaWduIGFuZCBpbnZhbGlkIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgV2F2IGFwcGFyZW50bHkgb25seSBzdXBwb3J0cyB3aWR0aD09R1NUX1JPVU5EX1VQKGRlcHRoKSwgZXZlcnl0aGluZwoJICBlbHNlIHJlc3VsdHMgaW4gYSBpbnZhbGlkIGJsb2NrIGFsaWduIGFuZCBpbnZhbGlkIGZpbGVzLgoKMjAwNy0wNC0xNyAxNjozOTowMiArMDAwMCAgU25haWsgPHNuYWlrMzJAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IEFkZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBmb3IgQk9YX0hPUklaT05UQUwgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTbmFpayA8c25haWszMiBnbWFpbCBjb20+CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IChnc3Rfd2lwZV9ib3hlc19kcmF3KToKCSAgQWRkIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGZvciBCT1hfSE9SSVpPTlRBTCBjYXNlLgoKMjAwNy0wNC0xNyAxMDoxNDo0MyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciB0eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIHR5cGVzLgoKMjAwNy0wNC0xNyAwMjo1MTowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fdGVtcGxhdGVfY2FwcyAoKSBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpOgoJICBVc2UgZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX3RlbXBsYXRlX2NhcHMgKCkgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY2Fwcy4KCSAgVGhpcyBtYWtlcyB1cGRhdGVzIG9mIHRoZSBsb2NhbCBjYXBzIHVuZWNlc3Nhcnkgd2hlbmV2ZXIgbGliZ3N0cmlmZgoJICBnZXRzIHN1cHBvcnQgZm9yIG5ldyBmb3JtYXRzLgoKMjAwNy0wNC0xNiAyMToyOTo0MCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IGFuZC9vciB1cGRhdGUgY29weXJpZ2h0IGF0dHJpYnV0aW9ucyAoIzQzMDIyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBGaXggYW5kL29yIHVwZGF0ZSBjb3B5cmlnaHQgYXR0cmlidXRpb25zICgjNDMwMjI4KS4KCjIwMDctMDQtMTQgMTc6MTg6MTQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgVXBkYXRlIHByb2plY3RzIGZpbGVzLgoKMjAwNy0wNC0xMyAwOTozMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEZpeCBkb2NzLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBzb21lIG1vcmUgZXhhbXBsZSB1cmxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9CT1hFRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCk6CgkgIEJldHRlciBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA3LTA0LTEzIDA4OjE5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVsYXggdGhlIGF1ZGlvL21wZWcgY2FwcyBhZ2FpbiBhbmQgYWRkIEZJWE1FOiBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBSZWxheCB0aGUgYXVkaW8vbXBlZyBjYXBzIGFnYWluIGFuZCBhZGQgRklYTUU6IGNvbW1lbnQuCgoyMDA3LTA0LTEzIDA2OjIwOjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogTW9yZSBzYW5pdHkgY2hlY2sgZm9yIHRoZSBoZWFkZXIgZmllbGRzLiBGaXggdHlwZSBmb3IgJ3JhdGUnIGhlYWRlciBmaWVsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgTW9yZSBzYW5pdHkgY2hlY2sgZm9yIHRoZSBoZWFkZXIgZmllbGRzLiBGaXggdHlwZSBmb3IgJ3JhdGUnIGhlYWRlcgoJICBmaWVsZC4KCjIwMDctMDQtMTIgMTY6MDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogSWYgdGhlIG1ldGFkYXRhIHN0cmluZ3Mgd2UgZ2V0IGluIHRoZSBzdHJlYW0gYXJlIG5vdCBVVEYtOCwgdHJ5IHRvIGludGVycHJldCB0aGVtIGFjY29yZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChub3Rnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KSwKCSAgKGdzdF9pY3lkZW11eF91bmljb2RpZnkpOgoJICBJZiB0aGUgbWV0YWRhdGEgc3RyaW5ncyB3ZSBnZXQgaW4gdGhlIHN0cmVhbSBhcmUgbm90IFVURi04LCB0cnkgdG8KCSAgaW50ZXJwcmV0IHRoZW0gYWNjb3JkaW5nIHRvIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmdzIHNwZWNpZmllZCBpbiB0aGUKCSAgR1NUX0lDWV9UQUdfRU5DT0RJTkcgYW5kIEdTVF9UQUdfRU5DT0RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQKCSAgb25seSBmYWxsIGJhY2sgdG8gbG9jYWxlL0lTTy04ODU5LTEgaWYgdGhvc2UgYXJlbid0IHNldCBvciBkb24ndAoJICB3b3JrLiBTaG91bGQgZml4ICM0Mjg5MDEuCgoyMDA3LTA0LTEyIDE0OjIwOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogVXNlIHRoZSBwcm9wZXIgc3luYyB3b3JkIGZvciBTUFMgYW5kIFBQUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgVXNlIHRoZSBwcm9wZXIgc3luYyB3b3JkIGZvciBTUFMgYW5kIFBQUy4KCjIwMDctMDQtMTIgMTE6NDE6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogZ3N0L3J0cC9mbnYxaGFzaC5jIChNQVNLXzI0LCBGTlYxX0hBU0hfMzJfSU5JVCwgRk5WMV9IQVNIXzMyX1BSSU1FLCBmbnYxX2hhc2hfMzJfbmV3LCBmbnYxX2hhc2hfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9mbnYxaGFzaC5jIChNQVNLXzI0LCBGTlYxX0hBU0hfMzJfSU5JVCwgRk5WMV9IQVNIXzMyX1BSSU1FLAoJICBmbnYxX2hhc2hfMzJfbmV3LCBmbnYxX2hhc2hfMzJfdXBkYXRlLCBmbnYxX2hhc2hfMzJfdG9fMjQpOgoJICAqIGdzdC9ydHAvZm52MWhhc2guaCAoX19HU1RfRk5WMV9IQVNIX0hfXyk6CgkgIEFkZCBhIHNpbXBsZSBoYXNoaW5nIGltcGxlbWVudGF0aW9uIHRoYXQgd2UgY2FuIHVzZSB0byBnZW5lcmF0ZQoJICBhIDI0LWJpdCBpZGVudCB2YWx1ZSBiYXNlZCBvbiB0aGUgY29kZWJvb2tzIGZvciB2b3JiaXMgYW5kIHRoZW9yYS4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMsCgkgIGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmMKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24sCgkgIGdzdF9ydHBfdm9yYmlzX2RlcGF5X3N3aXRjaF9jb2RlYm9vaywgZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYyAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCwKCSAgZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0LCBnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0LAoJICBnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMsIGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXNlIHRoZSBoYXNoaW5nIGZ1bmN0aW9uLCBlbnN1cmluZyB0aGF0IHRoZSBzYW1lIGNvZGVib29rcyByZXN1bHQKCSAgaW4gdGhlIHNhbWUgaWRlbnQgYW5kIHRodXMgdGhlIHNhbWUgU0RQIGRlc2NyaXB0aW9uLgoJICBWYXJpb3VzIGxvZyBmaXhlcy9jaGFuZ2VzLgoKMjAwNy0wNC0xMiAxMTozNzo1MCArMDAwMCAgamVycnkgdGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBpdCBpcyB0aGUgYXBwbGljYXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXQgb3BlbiB0aGUgZGV2aWNlIG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogamVycnkgdGFuIDxqZXJyeSBkb3QgdGFuIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICByZW1vdmUgdGhlIGNhbGwgb2YgIGlvY3RsIChmZCwgQVVESU9fTUlYRVJfTVVMVElQTEVfT1BFTiksIGl0IGlzIHRoZQoJICBhcHBsaWNhdGlvbidzIHJlc3BvbnNpYmlsaXR5IHRvIG1ha2Ugc3VyZSBpdCBvcGVuIHRoZSBkZXZpY2Ugb25jZS4KCSAgUmVtb3ZlIGEgY2FyZWxlc3MgZXJyb3IgaWYgQVVESU9ERVYgaXMgc2V0LiBGaXhlcyAjMzkyNjIwLgoKMjAwNy0wNC0xMiAxMDo1MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldCBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldAoJICBjYWxjdWxhdGlvbnMuCgoyMDA3LTA0LTEyIDA4OjIxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IE1ha2UgYmFja3dhcmQgY29tcGF0IHdpdGggcnRwYmluIGJ5IGFkZGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX0JPWEVEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksIChnc3RfcnRwX2RlY19jaGFpbl9ydHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBNYWtlIGJhY2t3YXJkIGNvbXBhdCB3aXRoIHJ0cGJpbiBieSBhZGRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMgaW5zdGVhZCBvZiBzZXR0aW5nIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCSAgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgoyMDA3LTA0LTExIDEwOjI1OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHAuYzogUmVnaXN0ZXIgR3N0TmV0QnVmZmVyIGluIHBsdWdpbl9pbml0IHNvIHRoYXQgdGhlIHR5cGUgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGhvdXQgcmFjZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIEdzdE5ldEJ1ZmZlciBpbiBwbHVnaW5faW5pdCBzbyB0aGF0IHRoZSB0eXBlIGNhbiBiZSB1c2VkIGZyb20KCSAgbXVsdGlwbGUgdGhyZWFkcyB3aXRob3V0IHJhY2VzLgoKMjAwNy0wNC0xMSAxMDoxOTowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gc3BlYyBmaWxlCgoyMDA3LTA0LTExIDA5OjUzOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tZGhkKToKCSAgSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBGaXhlcyAjNDI2OTcyLgoKMjAwNy0wNC0xMCAxNzowNjowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogRml4IGRlcGF5bG9hZGVyIGNsb2NrX3JhdGUgYW5kIHNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBkZXBheWxvYWRlciBjbG9ja19yYXRlIGFuZCBzb21lIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIERvbid0IHB1c2ggY29kZWNfZGF0YSBpbiB0aGUgYWRhcHRlciBiZWNhdXNlIGl0IG1pZ2h0IGdldCBmbHVzaGVkIHdoZW4KCSAgd2UgZ2V0IGEgZGlzY29udC4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBIYW5kbGUgbXVsdGlwbGUgQVUgcGVyIHBhY2tldC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgRGlzYWJsZSByYW5rLCB0aGlzIG9uZSBkb2VzIG5vdCB3b3JrLgoJICBSZW1vdmUgdGltZXN0YW1waW5nLCBiYXNlIGNsYXNzIGRvZXMgdGhhdC4KCjIwMDctMDQtMTAgMTI6MDE6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogbGltaXQgY2FwcyB0byB0aGUgZm9ybWF0cyB3ZSBhbm5vdW5jZSBpbiB0aGUgdGVtcGxhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIGxpbWl0IGNhcHMgdG8gdGhlIGZvcm1hdHMgd2UgYW5ub3VuY2UgaW4gdGhlIHRlbXBsYXRlCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIGZpeCBzb21lIGNyYXNoZXJzL2Fzc2VydHMgd2hlbiBkZWFsaW5nIHdpdGggYnJva2VuIGZpbGVzCgoyMDA3LTA0LTEwIDEwOjAxOjE0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLiBGaXhlcyAjNDI4MTgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9nZXRfbW9kZSksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCk6CgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLiBGaXhlcyAjNDI4MTgyLgoKMjAwNy0wNC0wNiAxMjo1NDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogTW9ycGggUlRQRGVjIGludG8gc29tZXRoaW5nIGNvbXBhdGlibGUgd2l0aCBSVFBCaW4gYXMgYSBmYWxsYmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfZGVjX2Jhc2VfaW5pdCksIChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZGVjX2luaXQpLCAoZ3N0X3J0cF9kZWNfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9kZWNfcXVlcnlfc3JjKSwgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCksCgkgIChnc3RfcnRwX2RlY19jaGFpbl9ydGNwKSwgKGdzdF9ydHBfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9kZWNfcHJvdmlkZV9jbG9jayksCgkgIChnc3RfcnRwX2RlY19jaGFuZ2Vfc3RhdGUpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9kZWNfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfZGVjX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgIE1vcnBoIFJUUERlYyBpbnRvIHNvbWV0aGluZyBjb21wYXRpYmxlIHdpdGggUlRQQmluIGFzIGEgZmFsbGJhY2suCgkgIFZhcmlvdXMgb3RoZXIgc3R5bGUgZml4ZXMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfaWQpLAoJICAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX2NsZWFudXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCBSVFBCaW4gc2Vzc2lvbiBtYW5hZ2VyIGhhbmRsaW5nLgoJICBEb24ndCB0cnkgdG8gYWRkIGVtcHR5IHByb3BlcnRpZXMgdG8gY2Fwcy4KCSAgSW1wbGVtZW50IGZhbGxiYWNrIHNlc3Npb24gbWFuYWdlciwgaGFuZGxpbmcuCgkgIERvbid0IGNvbWJpbmUgZXJyb3JzIGZyb20gUlRDUCBzdHJlYW1zLCBqdXN0IGlnbm9yZSB0aGVtLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2dldF9tYW5hZ2VyKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEltcGxlbWVudCBmYWxsYmFjayBzZXNzaW9uIG1hbmFnZXIuCgkgIE1ha2UgUlRQQmluIHRoZSBkZWZhdWx0IG9uZSB3aGVuIGF2YWlsYWJsZS4KCjIwMDctMDQtMDUgMTU6MDU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCjIwMDctMDQtMDUgMTM6NTY6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBUaGlzIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBUaGlzIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQuCgoyMDA3LTA0LTA1IDExOjI2OjI1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgbGVhdmUgdGhlIG9mZnNldHMgZGVmaW5lZCBieSB1cHN0cmVhbSBlbGVtZW50IG9uIHRoZSBjb21wcmVzc2VkIGRhdGEgYnVmZmVyIHdlIGFyZSBwdXNoaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNC0wNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgRG9uJ3QgbGVhdmUgdGhlIG9mZnNldHMgZGVmaW5lZCBieSB1cHN0cmVhbSBlbGVtZW50IG9uIHRoZQoJICBjb21wcmVzc2VkIGRhdGEgYnVmZmVyIHdlIGFyZSBwdXNoaW5nIGRvd25zdHJlYW0uIE1ha2UgdGhlbQoJICBHU1RfQlVGRkVSX09GRlNFVF9OT05FLgoKMjAwNy0wNC0wNCAxMjozOTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS86IERvbid0IGFib3J0IG9uIG91dC1vZi1tZW1vcnkuIFVzZSBzdHJlYW0tbnIgYXMgdW5zaWduZWQgaW50ZWdlciBvbmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL1JFQURNRToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N5bmMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBEb24ndCBhYm9ydCBvbiBvdXQtb2YtbWVtb3J5LiBVc2Ugc3RyZWFtLW5yIGFzIHVuc2lnbmVkIGludGVnZXIgb25seS4KCjIwMDctMDQtMDMgMDk6NTU6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIEZpeCBlcnJvciBhcyBzcG90dGVkIGJ5IFNuYWlrIDxzbmFpazMyIGF0IGdtYWlsIGRvdCBjb20+CgoyMDA3LTAzLTMwIDE3OjE5OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU3VwcG9ydCBhdWRpby94LXJhdy1mbG9hdCBpbiB3YXYgZmlsZXMuIFRoaXMgb25seSB3b3JrcyB3aXRoIHBsdWdpbnMtYmFzZSBDVlMsIHVzaW5nIGFuIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFN1cHBvcnQgYXVkaW8veC1yYXctZmxvYXQgaW4gd2F2IGZpbGVzLiBUaGlzIG9ubHkgd29ya3Mgd2l0aAoJICBwbHVnaW5zLWJhc2UgQ1ZTLCB1c2luZyBhbiBvbGRlciB2ZXJzaW9uIGRvZXNuJ3QgaGF2ZSBhbnkKCSAgZGlzYWR2YW50YWdlcyB0aG91Z2guCgoyMDA3LTAzLTMwIDE1OjU5OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UgYXMgd2UgZG9uJ3Qgd2FudCBwbHVnaW5zLWdvb2QgdG8gZGVwZW5kIG9uIHBsdWdpbnMtYmFzZSBDVlMgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFJldmVydCBsYXN0IGNoYW5nZSBhcyB3ZSBkb24ndCB3YW50IHBsdWdpbnMtZ29vZCB0byBkZXBlbmQgb24KCSAgcGx1Z2lucy1iYXNlIENWUyBub3cuCgoyMDA3LTAzLTMwIDA0OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aCB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoCgkgIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aGlzIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGNvbnZlcnQKCSAgdG8gYWNjZXB0ZWQgZm9ybWF0cyBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIHRoZSBlbGVtZW50IGZvciBuKjggZGVwdGhzLgoJICBUaGlzIGFsc28gYWRkcyBzdXBwb3J0IGZvciBub24tbio4IGRlcHRocyBhbmQgcHJldmVudHMgc29tZSB1c2VsZXNzCgkgIG1lbW9yeSBhbGxvY2F0aW9ucy4gRml4ZXMgIzQyMTU5OAoJICBBbHNvIGFkZCBhIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQyIGluIHdhdnBhY2tlbmMgZm9yIG5vdy4uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENvbnNpZGVyIHRoZSBjaGFuZ2UgYWJvdmUgaW4gdGhlIHVuaXQgdGVzdHMgYW5kIHRlc3QgaWYgdGhlIGNvcnJlY3QKCSAgY2FwcyBhcmUgYWNjZXB0ZWQgYW5kIHNldC4gQWxzbyBjaGVjayBmb3IgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIGluCgkgIHRoZSB3YXZwYWNrcGFyc2UgdW5pdCB0ZXN0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKToKCSAgU2V0IGNhcHMgb24gdGhlIHNyYyBwYWQgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgRml4IGluZGVudGlvbi4gZ3N0LWluZGVudCBpcyBub3cgY2FsbGVkIGJ5IGNpY2wuCgoyMDA3LTAzLTI5IDE4OjUxOjMzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGZvciBhdWRpb2NvbnZlcnQgd2l0aCBub24tbmF0aXZlIGZsb2F0IHN1cHBvcnQgYW5kIHdpZHRoL2RlcHRoIGZpeCBpbiBsaWJnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUyBmb3IgYXVkaW9jb252ZXJ0IHdpdGggbm9uLW5hdGl2ZQoJICBmbG9hdCBzdXBwb3J0IGFuZCB3aWR0aC9kZXB0aCBmaXggaW4gbGliZ3N0cmlmZi4KCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBEb24ndCBzd2FwIHRoZSBmbG9hdHMgb3Vyc2VsZiBpZiB0aGV5J3JlIG5vdCBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgSW5zdGVhZCBsZXQgYXVkaW9jb252ZXJ0IGhhbmRsZSB0aGlzLiBGaXhlcyAjMzM5ODM4LgoKMjAwNy0wMy0yOSAxNDo0MDozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGbHVzaCBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIEZsdXNoIGFkYXB0ZXIgb24gZGlzY29udHMuCgoyMDA3LTAzLTI5IDE0OjAzOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVzZSBtb3JlIGVmZmljaWVudCBhZGFwdGVyIGFuZCBydHBidWZmZXIgbWV0aG9kcyB3aGVuIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKToKCSAgVXNlIG1vcmUgZWZmaWNpZW50IGFkYXB0ZXIgYW5kIHJ0cGJ1ZmZlciBtZXRob2RzIHdoZW4gcG9zc2libGUuCgoyMDA3LTAzLTI5IDEyOjE0OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBDb3JyZWN0bHkgaGFuZGxlIHdpZHRoIT1kZXB0aCBpbnB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpOgoJICBDb3JyZWN0bHkgaGFuZGxlIHdpZHRoIT1kZXB0aCBpbnB1dC4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWxyZWFkeSBleHBvcnQgaW4gdGhlIGNhcHMgdGhhdCB3aWR0aD09OCB1c2VzIHVuc2lnbmVkIHNhbXBsZXMgYW5kCgkgIGV2ZXJ5dGhpbmcgZWxzZSB1c2VzIHNpZ25lZCBzYW1wbGVzLgoKMjAwNy0wMy0yOSAwOTo1OToyMyArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3VkcC86IFJld29yayB0aGUgc29ja2V0IGFsbG9jYXRpb24gYSBiaXQgYmFzZWQgb24gdGhlIHNvY2tmZCBhcmd1bWVudCBzbyB0aGF0IGl0IGJlY29tZXMgdXNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2luaXQpLCAoZ3N0X2R5bnVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9keW51ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfZHludWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBSZXdvcmsgdGhlIHNvY2tldCBhbGxvY2F0aW9uIGEgYml0IGJhc2VkIG9uIHRoZSBzb2NrZmQgYXJndW1lbnQgc28gdGhhdAoJICBpdCBiZWNvbWVzIHVzYWJsZS4KCSAgQWRkIGEgY2xvc2VmZCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgdWRwIGVsZW1lbnRzIHRvIGNsb3NlIHRoZSBjdXN0b20KCSAgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIGdvaW5nIHRvIFJFQURZLiBGaXhlcyAjNDIzMzA0LgoJICBBUEk6R3N0VURQU3JjOjpjbG9zZWZkIHByb3BlcnR5CgkgIEFQSTpHc3REeW5VRFBTaW5rOjpjbG9zZWZkIHByb3BlcnR5CgoyMDA3LTAzLTI5IDA4OjA4OjQ5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwLzogQWRkZWQgSDI2NCBwYXlsb2FkZXIuIEZpeGVzICM0MjM3ODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgQWRkZWQgSDI2NCBwYXlsb2FkZXIuIEZpeGVzICM0MjM3ODIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU21hbGwgZml4ZXMuCgoyMDA3LTAzLTI4IDIyOjI3OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWN0dWFsbHkgc3VwcG9ydCBkZXB0aHMgZnJvbSAxIHRvIDMyLCBub3Qgb25seSA4IHRvIDMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWN0dWFsbHkgc3VwcG9ydCBkZXB0aHMgZnJvbSAxIHRvIDMyLCBub3Qgb25seSA4IHRvIDMyLgoKMjAwNy0wMy0yOCAyMjoyMzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciB3YXYgZmlsZXMgY29udGFpbmluZyBhdWRpby94LXJhdy1pbnQgd2l0aCByYW5kb20gZGVwdGhzIGJldHdlZW4gMSBhbmQgMzIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBZGQgc3VwcG9ydCBmb3Igd2F2IGZpbGVzIGNvbnRhaW5pbmcgYXVkaW8veC1yYXctaW50IHdpdGggcmFuZG9tCgkgIGRlcHRocyBiZXR3ZWVuIDEgYW5kIDMyIGJpdHMuCgoyMDA3LTAzLTI4IDE4OjQwOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwLzogQWRkZWQgTVA0QS1MQVRNIGRlcGF5bG9hZGVyLiBGaXhlcyAjNDE3NzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXA0YV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIEFkZGVkIE1QNEEtTEFUTSBkZXBheWxvYWRlci4gRml4ZXMgIzQxNzc5Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXh1cCBkZXBheWxvYWRlciwgc2V0dGluZyBjb2RlY19kYXRhLCB1c2luZyBtb3JlIGVmZmljaWVudCBhZGFwdG9yIGFuZAoJICBydHBidWZmZXIgaGFuZGxpbmcuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHVybCB0byB0ZXN0IGFib3ZlLgoKMjAwNy0wMy0yOCAxNToxNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMgd2l0aCBoMjY0IHZpZGVvKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX2N0dHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcwoJICB3aXRoIGgyNjQgdmlkZW8pLgoJICBVc2UgdGhlIG9mZnNldCBwcmVzZW50IGluICdjdHRzJyB0byBjYWxjdWxhdGUgdGhlIFBUUyBmb3IgZWFjaCBwYWNrZXQKCSAgYW5kIHNldCB0aGUgUFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MjMyODMKCjIwMDctMDMtMjUgMTU6MzQ6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEhhbmRsZSBkZWZhdWx0IGNsb2NrLXJhdGVzIGZvciBzdGF0aWMgcGF5bG9hZCB0eXBlcywgcmVhcnJhbmdlIHN0dWZmIHNvIHRoYXQgdGhlIHJ0cG1hcCBmaWVsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfc2V0dXApLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEhhbmRsZSBkZWZhdWx0IGNsb2NrLXJhdGVzIGZvciBzdGF0aWMgcGF5bG9hZCB0eXBlcywgcmVhcnJhbmdlIHN0dWZmIHNvCgkgIHRoYXQgdGhlIHJ0cG1hcCBmaWVsZCBpbiB0aGUgc2RwIGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdHMuCgkgIFBhcnNlIFJUUC1JbmZvIGZpZWxkIHRvIGdldCB0aGUgc2VxbnVtIGFuZCB0aW1lYmFzZSBmaWVsZHMgdGhhdCBzaG91bGQKCSAgZ28gaW4gdGhlIGNhcHMuCgkgIERlbGF5IGNvbmZpZ3VyaW5nIGNhcHMgYWZ0ZXIgd2UgZ290IHRoZSBSVFAtSW5mbyBmcm9tIHRoZSBQTEFZIHJlcGx5IGZyb20KCSAgdGhlIHNlcnZlci4KCjIwMDctMDMtMjQgMTk6NDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50byAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6CgkgIFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8KCSAgMS1jaGFubmVsIG91dHB1dCBjYXBzIChJIGd1ZXNzIHRlY2huaWNhbGx5IHdlIHNob3VsZCBzZXQgdGhlCgkgIHBvc2l0aW9uIGZvciBlYWNoIGNoYW5uZWwgb24gdGhlIG91dHB1dCBjYXBzIGlmIGl0J3Mgbm9uLU5PTkUsCgkgIGJ1dCBJJ2xsIHNhdmUgdGhhdCBhcyBhIHRhc2sgZm9yIGFub3RoZXIgZGF5KS4KCjIwMDctMDMtMjIgMjI6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZiBzb3VyY2UgcGFkcyAtIHRoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZgoJICBzb3VyY2UgcGFkcyAtIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIGFib3V0IHRoZSBvcmRlciBvZiB0aGUgbGlzdAoJICBpbiB0aGUgR3N0RWxlbWVudCBzdHJ1Y3QsIGFuZCB3ZSB3YW50IGEgdmVyeSBzcGVjaWZpYyBvcmRlcjsgbGFzdGx5LAoJICBzb21lIG1vcmUgZGVidWdnaW5nLgoKMjAwNy0wMy0yMiAxNjoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzIGlzIG5vIGNsZWFuIHNvbHV0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcwoJICBpcyBubyBjbGVhbiBzb2x1dGlvbiBhbmQgaW4gZ2VuZXJhbCB0aGVyZSdzIG5vIHJlYXNvbiB3aHkgb25lIHdhbnRzCgkgIHRvIHBhcnNlIGZyYW1lZCB3YXZwYWNrIGRhdGEgYWdhaW4uCgoyMDA3LTAzLTIyIDE1OjUyOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzCgkgIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2tkZWMgISBzb21lYXVkaW9zaW5rIiBwaXBlbGluZXMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIEFjY2VwdCBmcmFtZWQgYW5kIG5vbi1mcmFtZWQgaW5wdXQsIHdhdnBhY2twYXJzZSBkb2Vzbid0IGNhcmUuIFRvCgkgIHByZXZlbnQgIndhdnBhY2twYXJzZSAhIHdhdnBhY2twYXJzZSAhIC4uLiIgcGlwZWxpbmVzIGxvd2VyIHRoZQoJICByYW5rIG9mIHdhdnBhY2twYXJzZSBieSBvbmUuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja3BhcnNlICEKCSAgLi4uIiBwaXBlbGluZXMuCgoyMDA3LTAzLTIyIDExOjA4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIFRoYW5rcyB0byBKYW4gYW5kIE1pa2UgZm9yIG5vdGljaW5nIG15IG1pc3Rha2UuCgoyMDA3LTAzLTIyIDA5OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIERlaGFpcyA8Y2hyaXN0b3BoZS5kZWhhaXNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mL2djb25mLmM6IEFjY2VwdCBjb21wbGV4IHBpcGVsaW5lIGRlc2NyaXB0aW9ucyBhcyBhbiBhdWRpbyBwcm9maWxlIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBlbGVtZW50LiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXN0b3BoZSBEZWhhaXMgPGNocmlzdG9waGUgZG90IGRlaGFpcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgQWNjZXB0IGNvbXBsZXggcGlwZWxpbmUgZGVzY3JpcHRpb25zIGFzIGFuIGF1ZGlvIHByb2ZpbGUgaW5zdGVhZCBvZiBqdXN0CgkgIGEgc2luZ2xlIGVsZW1lbnQuIEZpeGVzICM0MjA2NTguCgoyMDA3LTAzLTIyIDAwOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90IGFzIGEgcG9pbnRlciB0byBzYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90CgkgIGFzIGEgcG9pbnRlciB0byBzYXZlIHR3byBzbWFsbCwgYnV0IHVzZWxlc3MgbWFsbG9jcy4gVGhpcyBhbHNvIG1ha2VzCgkgIGl0IHBvc3NpYmxlIHRvIGRyb3AgdGhlIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgRm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMgYWxzbyBzZXQgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIHRoZSBzYW1lIHdheSB3YXZwYWNrZW5jIGRvZXMgaXQuCgoyMDA3LTAzLTIxIDIzOjUwOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBCYXNlVHJhbnNmb3JtLWJhc2VkIGVsZW1lbnRzIHdpbGwgbGlrZWx5IGJyZWFrIGJlY2F1c2Ugb2Ygd3JvbmcKCSAgdW5pdC1zaXplLiBBbHNvIHBsdWcgYSBwb3NzaWJsZSBtZW1sZWFrIHRoYXQgaGFwcGVucyB3aGVuIGRlY29kaW5nCgkgIGZhaWxzIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMDMtMjEgMTE6NDk6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IFJlbmFtZSByZWdpc3RlcmVkIHR5cGUgaW4gcHJlcGFyYXRpb24gb2YgR3N0VGFnRGVtdXggbW92aW5nIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3R5cGUpOgoJICBSZW5hbWUgcmVnaXN0ZXJlZCB0eXBlIGluIHByZXBhcmF0aW9uIG9mIEdzdFRhZ0RlbXV4IG1vdmluZyB0bwoJICAtYmFzZSBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUuCgoyMDA3LTAzLTE5IDEwOjI5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFN0cmVhbWluZyBtb2RlIGZpeGVzOiBkb24ndCB1bnJlZiBidWZmZXIgd2UgZG9uJ3Qgb3duIGFueSBsb25nZXI7IHJlbW92ZSBib2d1cyBhZGFwdGVyIGZsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU3RyZWFtaW5nIG1vZGUgZml4ZXM6IGRvbid0IHVucmVmIGJ1ZmZlciB3ZSBkb24ndCBvd24gYW55IGxvbmdlcjsKCSAgcmVtb3ZlIGJvZ3VzIGFkYXB0ZXIgZmx1c2guIEZpeGVzICM0MTkzMzguCgoyMDA3LTAzLTE4IDA0OjIxOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJFUVVJUkVNRU5UUzogQ2hhbmdlIHRoZSBmb3JtYXQgdG8ga2V5L3ZhbHVlLCBhZGQgYSBidW5jaCBvZiBpbmZvcm1hdGlvbiwgcmVtb3ZlIGEgYnVuY2ggb2YgcmVxdWlyZW1lbnRzIHRoYXQgYXJlIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6IENoYW5nZSB0aGUgZm9ybWF0IHRvIGtleS92YWx1ZSwgYWRkIGEgYnVuY2ggb2YKCSAgaW5mb3JtYXRpb24sIHJlbW92ZSBhIGJ1bmNoIG9mIHJlcXVpcmVtZW50cyB0aGF0IGFyZSBmb3IKCSAgb3RoZXIgR1N0cmVhbWVyIHBhY2thZ2VzLgoKMjAwNy0wMy0xOCAwMjowMDo1NCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSRVFVSVJFTUVOVFM6IEZpeCBhIGZldyB0aGluZ3MuICBUaGlzIGZpbGUgcmVhbGx5IG5lZWRzIGEgZ29vZCBvbmNlLW92ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzogRml4IGEgZmV3IHRoaW5ncy4gIFRoaXMgZmlsZSByZWFsbHkgbmVlZHMgYQoJICBnb29kIG9uY2Utb3Zlci4KCjIwMDctMDMtMTYgMTg6Mzg6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoKMjAwNy0wMy0xNiAxNjoyNzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYSBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2UKCSAgd2lsbCBjb250YWluIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgY3JlYXRlZCBOU1ZpZXcuCgoyMDA3LTAzLTE2IDA5OjU3OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzogQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpOgoJICBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoKMjAwNy0wMy0xNSAxMjowNTowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9NYWtlZmlsZS5hbTogRG9uJ3QgZm9yZ2V0IHRvIGRpc3RyaWJ1dGUgdGhlIHN5cy9vc3hhdWRpby8gZGlyZWN0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIERvbid0IGZvcmdldCB0byBkaXN0cmlidXRlIHRoZSBzeXMvb3N4YXVkaW8vIGRpcmVjdG9yeS4KCjIwMDctMDMtMTUgMTE6Mzk6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBBY3RpdmF0ZSBvc3hhdWRpbyBpbiBnc3QtcGx1Z2lucy1nb29kIHdpdGggcHJvcGVyIGJ1aWxkIHNldHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9kb19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlciksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2RvX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzogKGdzdF9vc3hfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9vc3hfcmluZ19idWZmZXJfaW5pdCksCgkgIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9zdGFydCksCgkgIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3BhdXNlKSwgKGdzdF9vc3hfcmluZ19idWZmZXJfc3RvcCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgQWN0aXZhdGUgb3N4YXVkaW8gaW4gZ3N0LXBsdWdpbnMtZ29vZCB3aXRoIHByb3BlciBidWlsZCBzZXR1cC4KCSAgQWRkIGlubGluZWQgZG9jdW1lbnRhdGlvbi4KCSAgRml4IGRlYnVnIHN0YXRlbWVudHMKCSAgRml4IHJpbmdidWZmZXIgd2hlbiBwYXVzaW5nLgoJICBGaXhlcyAjMzIzNDcxCgoyMDA3LTAzLTE0IDIyOjIxOjI2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgoyMDA3LTAzLTE0IDE2OjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIEFjY2VwdCBhbnkga2luZCBvZiByZXNvbHV0aW9ucy4KCSAgV29ya3MgaW4gZnVsbHNjcmVlbi4gQ2FuIG1heGltaXplLgoJICBPbmx5IHRoaW5nIGxlZnQgYmVmb3JlIGJlaW5nIGFibGUgdG8gbW92ZSB0aGlzIHRvIC1nb29kIGlzIGRvY3VtZW50YXRpb24KCSAgYW5kIGVtYmVkZGVkIHdpbmRvdyBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNToyNToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZSB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGUgdHJhbnNsYXRpb25zLgoKMjAwNy0wMy0xNCAxNDo0OTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHN0cmluZyByZXBsYWNlIGVycm9yIChBR19BR19HU1RfKiA9PiBBR19HU1RfKikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHN0cmluZyByZXBsYWNlIGVycm9yIChBR19BR19HU1RfKiA9PiBBR19HU1RfKikuCgoyMDA3LTAzLTE0IDE0OjQ4OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KToKCSAgQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQWRkIHNvbWUgY29tbWVudHMgYWJvdXQgZmxvYXQgc3VwcG9ydC4KCjIwMDctMDMtMTIgMTc6NTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsIGFuZCBTRUVLX0NVUitTRUVLX0VORCBoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9zcmNwYWRfZXZlbnQpOgoJICBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLAoJICBhbmQgU0VFS19DVVIrU0VFS19FTkQgaGVyZSBhcyB3ZWxsLgoKMjAwNy0wMy0xMiAxNzoyNDoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywgYW5kIFNFRUtfQ1VSK1NFRUtfRU5ELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9zcmNwYWRfZXZlbnQpOgoJICBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLAoJICBhbmQgU0VFS19DVVIrU0VFS19FTkQuCgoyMDA3LTAzLTEyIDE1OjQ5OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIFBhdGNoIGJ5OiBsaW5lIGZvciB3aW0sIHNpbmNlIGhlJ3MgYXdheQoKMjAwNy0wMy0xMiAxMzoyODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggcGFyc2luZyBvZiBJRDMgdjIuMi4wIFBJQyBmcmFtZXMuIE9ubHkgaW4gdmVyc2lvbiA+PSAyLjMuMCBpcyB0aGUgaW1hZ2UgZm9ybWF0IGEgdmFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBGaXggcGFyc2luZyBvZiBJRDMgdjIuMi4wIFBJQyBmcmFtZXMuIE9ubHkgaW4gdmVyc2lvbiA+PSAyLjMuMCBpcwoJICB0aGUgaW1hZ2UgZm9ybWF0IGEgdmFyaWFibGUtbGVuZ3RoIE5VTC10ZXJtaW5hdGVkIHN0cmluZzsgaW4KCSAgdmVyc2lvbnMgYmVmb3JlIHRoYXQgdGhlIGltYWdlIGZvcm1hdCBpcyBhIGZpeGVkLWxlbmd0aCBzdHJpbmcgb2YKCSAgMyBjaGFyYWN0ZXJzIChzZWUgIzM0ODY0NCBmb3IgYSBzYW1wbGUgdGFnKS4KCSAgQWxzbyBtYWtlIHN1cHBsaWVkIG1pbWUgdHlwZSBsb3dlci1jYXNlIGFuZCBmaXggdXAgJ2pwZycgdG8gJ2pwZWcnLgoKMjAwNy0wMy0xMSAyMjoyMzowNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAwNy0wMy0xMCAxNjowNzozMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBuZXcgcHJvamVjdCBmaWxlcyB0byBNQU5JRkVTVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBuZXcgcHJvamVjdCBmaWxlcyB0byBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDMtMTAgMTI6MzA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzOyBhbHNvIGFkZCBzb21lIG1pc3NpbmcgcXVvdGVzIGluIHRyYW5zbGF0ZWQgc3RyaW5ncy4gRml4ZXMgIzQxNjcyOCBhbmQgIzQxNjcyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlczsgYWxzbyBhZGQgc29tZSBtaXNzaW5nIHF1b3RlcyBpbiB0cmFuc2xhdGVkCgkgIHN0cmluZ3MuIEZpeGVzICM0MTY3MjggYW5kICM0MTY3MjcuCgoyMDA3LTAzLTA5IDIwOjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogVGltIGFuZCBJIGNhbid0IHRoaW5rIG9mIGFueSByZWFzb24gdGhlIGNoaWxkIGF1ZGlvIHNpbmsgbmVlZHMgdG8gYmUgc2V0IGJhY2sgdG8gTi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgIFRpbSBhbmQgSSBjYW4ndCB0aGluayBvZiBhbnkgcmVhc29uIHRoZSBjaGlsZCBhdWRpbyBzaW5rIG5lZWRzIHRvCgkgIGJlIHNldCBiYWNrIHRvIE5VTEwgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IGRldGVybWluaW5nIHRoYXQgaXQgY2FuCgkgIHJlYWNoIFJFQURZIC0gaXQgZ2V0cyBpbW1lZGlhdGVseSBzZXQgYmFjayB0byBSRUFEWSBieSB0aGUgY2FsbGVyCgkgIGFueXdheSwgY2F1c2luZyBhbiB1bm5lY2Vzc2FyeSBjbG9zZS9vcGVuIG9mIGFueSBhdWRpbyBkZXZpY2VzCgkgIGludm9sdmVkLgoKMjAwNy0wMy0wOSAxOTo1MToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvLzogQWRkIGphLnBvIGZpbGUgZnJvbSAjMzc3MzA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2phLnBvOgoJICBBZGQgamEucG8gZmlsZSBmcm9tICMzNzczMDYuCgoyMDA3LTAzLTA5IDE5OjQ0OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3N1bmF1ZGlvLzogQWN0dWFsbHkgdHJhbnNsYXRlIHN1bmF1ZGlvIG1peGVyIHRyYWNrIGxhYmVscyBpbnN0ZWFkIG9mIGp1c3QgbWFya2luZyB0aGUgc3RyaW5ncyBhcyB0cmFuc2xhdGFibGUgKCMzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIEFjdHVhbGx5IHRyYW5zbGF0ZSBzdW5hdWRpbyBtaXhlciB0cmFjayBsYWJlbHMgaW5zdGVhZCBvZiBqdXN0CgkgIG1hcmtpbmcgdGhlIHN0cmluZ3MgYXMgdHJhbnNsYXRhYmxlICgjMzc3MzA2KTsgY2xlYW4gdXAgd2VpcmQKCSAgbGFiZWwgc3RyaW5nIG1hcHBpbmcgY29kZSB0aGF0IHNlcnZlcyBubyBhcHBhcmVudCBwdXJwb3NlLiBBbHNvCgkgIHNldCB0aGUgJ3VudHJhbnNsYXRlZC1sYWJlbCcgcHJvcGVydHkgd2hlbiBjcmVhdGluZyBtaXhlciB0cmFja3MKCSAgaWYgdGhlIEdzdE1peGVyVHJhY2sgYmFzZSBjbGFzcyBzdXBwb3J0cyB0aGlzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VuYXVkaW8uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHN1bmF1ZGlvX3N1aXRlKToKCSAgVmVyeSBtaW5pbWFsaXN0aWMgdW5pdCB0ZXN0IGZvciBzdW5hdWRpb21peGVyIGVsZW1lbnQgKGNvbXBpbGVzLCBidXQgbm90CgkgIGFjdHVhbGx5IHRlc3RlZCBvbiBhIHN5c3RlbSB3aGVyZSBzdW5hdWRpb21peGVyIGlzIGF2YWlsYWJsZSkuCgoyMDA3LTAzLTA5IDE4OjQ5OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZS1lbmFibGUgdGhlIHN0YXRlcyB0ZXN0IGFuZCBzZWUgaWYgaXQgd29ya3Mgb24gdGhlIGJ1aWxkYm90cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlLWVuYWJsZSB0aGUgc3RhdGVzIHRlc3QgYW5kIHNlZSBpZiBpdCB3b3JrcyBvbiB0aGUgYnVpbGRib3RzLgoKMjAwNy0wMy0wOSAxNzozMjozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbUBmbHVlbmRvLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy4qOiBJbmZlciBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSB0aGUgdmlkZW8gZnJhbWUgZm9ybWF0IGlmIGl0IGlzbid0IHByb3ZpZGVkIGJ5IHRoZSBjb250YWluZXIsIGFzIGhhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2R2ZGVjX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2R2ZGVjX2NoYWluKSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBJbmZlciBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSB0aGUgdmlkZW8gZnJhbWUgZm9ybWF0IGlmIGl0IGlzbid0CgkgIHByb3ZpZGVkIGJ5IHRoZSBjb250YWluZXIsIGFzIGhhcHBlbnMgd2hlbiBwbGF5aW5nIERWIGZyb20gQVZJCgkgIG9yIFF1aWNrdGltZSBjb250YWluZXJzLgoJICBQYXRjaCBieTogV2ltIFRheW1hbnMgPHdpbUBmbHVlbmRvLmNvbT4KCSAgRml4ZXMgIzM4MDk0NAoKMjAwNy0wMy0wOSAxNzowNToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogV2hlbiBhY3RpdmF0ZWQsIHJlbW92ZSB0aGUgdWRwc3JjIHRpbWVvdXQsIHdlIGhhdmUgZGF0YWZsb3cgYW5kIHRpbWVvdXRzIHdpbGwgbGF0ZXIgYmUgaGFuZGxlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgV2hlbiBhY3RpdmF0ZWQsIHJlbW92ZSB0aGUgdWRwc3JjIHRpbWVvdXQsIHdlIGhhdmUgZGF0YWZsb3cgYW5kIHRpbWVvdXRzCgkgIHdpbGwgbGF0ZXIgYmUgaGFuZGxlZCBieSB0aGUgaml0dGVyYnVmZmVyLgoKMjAwNy0wMy0wOSAxNjo1MzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCB3cml0ZSBzdXBwb3J0IGZvciBHU1RfVEFHX01VU0lDQlJBSU5aX1NPUlROQU1FIChUU09QKSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCB3cml0ZSBzdXBwb3J0IGZvciBHU1RfVEFHX01VU0lDQlJBSU5aX1NPUlROQU1FIChUU09QKSB0YWcuCgkgIEZpeGVzICM0MTQ0OTYuCgoyMDA3LTAzLTA5IDE1OjA0OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc3RyZWFtIHBvc2l0aW9uIHJlcG9ydGluZyBhZnRlciBhIHNlZWsuIEZpeGVzICM0MTY0NDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IHN0cmVhbSBwb3NpdGlvbiByZXBvcnRpbmcgYWZ0ZXIgYSBzZWVrLiBGaXhlcyAjNDE2NDQ1LgoKMjAwNy0wMy0wOSAwODo1ODoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUKCSAgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuZCBpcyBjb250cm9sYWJsZS4gTW9yZSBzdWJjbGFzc2VzIHdpbGwKCSAgZm9sbG93LgoKMjAwNy0wMy0wOCAxNjowMTo0MiArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBhdmlkZW11eCBhY2NlcHQgb3B0aW9uYWwgaGVhZGVyIGNodW5rcyBpbiBhbnkgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIE1ha2UgYXZpZGVtdXggYWNjZXB0IG9wdGlvbmFsIGhlYWRlciBjaHVua3MgaW4gYW55IG9yZGVyLgoJICBGaXhlcyAjNDE1NDQ2LgoKMjAwNy0wMy0wOCAxMjoyMzo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aGUgc3RhdGVzIGNoZWNrIHVudGlsIHRoZSByZW1haW5pbmcgVmFsZ3JpbmQgZXJyb3JzIGFyZSBmaXhlZCBvciBzdXBwcmVzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgc3RhdGVzIGNoZWNrIHVudGlsIHRoZSByZW1haW5pbmcgVmFsZ3JpbmQgZXJyb3JzCgkgIGFyZSBmaXhlZCBvciBzdXBwcmVzc2VkLgoKMjAwNy0wMy0wOCAxMDoyNDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIGF1ZGlvZHluYW1pYyBjaGVjayB0byAuY3ZzaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBhdWRpb2R5bmFtaWMgY2hlY2sgdG8gLmN2c2lnbm9yZQoKMjAwNy0wMy0wOCAxMDowMjoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGF1ZGlvZHluYW1pYyBlbGVtZW50IHdoaWNoIGNhbiBhY3QgYXMgYSBjb21wcmVzc29yIG9yIGV4cGFuZGVyLiBTdXBwb3J0ZWQgYXJlIGhhcmQta25lZSBhbmQgc29mLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKGdzdF9hdWRpb19keW5hbWljX2NoYXJhY3RlcmlzdGljc19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fZHluYW1pY19jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX2luaXQpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fZHluYW1pY19zZXR1cCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2NvbXByZXNzb3JfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfY29tcHJlc3Nvcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2NvbXByZXNzb3JfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfY29tcHJlc3Nvcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2V4cGFuZGVyX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2V4cGFuZGVyX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfZXhwYW5kZXJfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfZXhwYW5kZXJfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgYXVkaW9keW5hbWljIGVsZW1lbnQgd2hpY2ggY2FuIGFjdCBhcyBhIGNvbXByZXNzb3Igb3IKCSAgZXhwYW5kZXIuIFN1cHBvcnRlZCBhcmUgaGFyZC1rbmVlIGFuZCBzb2Z0LWtuZWUgb3BlcmF0aW9uIG1vZGVzIHdpdGgKCSAgdXNlci1zcGVjaWZpZWQgcmF0aW8gYW5kIHRocmVzaG9sZC4KCSAgQXR0YWNrIGFuZCByZWxlYXNlIHBhcmFtZXRlcnMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQgYnV0IHdpbGwgZm9sbG93LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBJbnRlZ3JhdGUgYXVkaW9keW5hbWljIGludG8gdGhlIGRvY3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6IChzZXR1cF9keW5hbWljKSwKCSAgKGNsZWFudXBfZHluYW1pYyksIChHU1RfU1RBUlRfVEVTVCksIChkeW5hbWljX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb2R5bmFtaWMuCgoyMDA3LTAzLTA3IDE5OjQ4OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBGcmVlIGhhbmRsZXMgdGhhdCB3ZSBhbGxvY2F0ZWQgd2hlbiBleGl0aW5nIHZpYSB0aGUgZXJyb3IgcGF0aHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19zdGFydCk6CgkgIEZyZWUgaGFuZGxlcyB0aGF0IHdlIGFsbG9jYXRlZCB3aGVuIGV4aXRpbmcgdmlhIHRoZSBlcnJvciBwYXRocy4KCjIwMDctMDMtMDcgMTI6MDc6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIFVzZSB0aGUgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGhlcmUgdG9vIGFuZCBhZGQgZGVidWcKCSAgb3V0cHV0IHRvIHRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgbm90IGJlIGNhbGxlZCBhdCBhbGwgYnkKCSAgdGhlIHdhdnBhY2sgbGlicmFyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIENoYW5nZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgbmFtZXMgdG8gY29uZm9ybSB0byB0aGUgY29udmVudGlvbnMuCgoyMDA3LTAzLTA3IDExOjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcKCSAgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGRlbXV4LmMgd291bGQgZW5kIHVwIGluIHRoZSBkZWZhdWx0IGNhdGVnb3J5LgoKMjAwNy0wMy0wNyAxMToyNDowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFJlc29sdmUgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xldmVsX3NldF9jYXBzKSwgKGdzdF9sZXZlbF9zdGFydCksIChnc3RfbGV2ZWxfZXZlbnQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFJlc29sdmUgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgoyMDA3LTAzLTA3IDExOjIzOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjawoJICBzZWdtZW50LgoKMjAwNy0wMy0wNiAyMzoyMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgRml4IENoYW5nZUxvZyBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggQ2hhbmdlTG9nIG1lc3NhZ2UKCjIwMDctMDMtMDYgMjM6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgbGVhayBjYXBzOiBtYWtlIGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKCkgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZCB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIERvbid0IGxlYWsgY2FwczogbWFrZSBnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCgpIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgY2FwcyBwYXNzZWQgdG8gaXQgKHByZXZpb3VzbGx5IG9uZSBjb2RlIHBhdGggYXNzdW1lcyBpdCB0YWtlcyBvd25lcnNoaXAKCSAgd2hpbGUgYW5vdGhlciBvbmUgYXNzdW1lcyBpdCBkb2Vzbid0KS4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0xLnRhZzoKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDA3MzQ5LTIudGFnOgoJICBBZGQgZGlyZWN0b3J5IHdoZXJlIGRhdGEgZm9yIHVuaXQgdGVzdHMgY2FuIGJlIHN0b3JlZC4KCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6IChwYWRfYWRkZWRfY2IpLCAoZXJyb3JfY2IpLAoJICAocmVhZF90YWdzX2Zyb21fZmlsZSksIChydW5fY2hlY2tfZm9yX2ZpbGUpLAoJICAoY2hlY2tfZGF0ZV8xOTc3XzA2XzIzKSwgKEdTVF9TVEFSVF9URVNUKSwgKGlkM2RlbXV4X3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgaWQzZGVtdXgsIGFuZCBpbiBwYXJ0aWN1bGFyIGZvciBidWcgIzQwNzM0OS4gT25seQoJICB0ZXN0aW5nIHB1bGwtbW9kZSBmb3Igbm93OyBwdXNoIG1vZGUgZG9lc24ndCB3b3JrIHlldCBiZWNhdXNlIHRoZSB0ZXN0CgkgIGZpbGVzIGFyZSBzbWFsbGVyIHRoYW4gSUQzX1RZUEVfRklORF9NSU5fU0laRS4KCjIwMDctMDMtMDYgMjI6MTQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgYmFja3NsYXNoIGF0IGVuZCBvZiBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgYmFja3NsYXNoIGF0IGVuZCBvZiBsaW5lLgoKMjAwNy0wMy0wNiAxODozNjowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSAgVHJpZ2dlciByZWJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVHJpZ2dlciByZWJ1aWxkLgoKMjAwNy0wMy0wNiAxODoxNjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IERvIG5vdCBjb252ZXJ0IG9ic29sZXRlIFREQS9UREFUIGZyYW1lcyB0byBURFJDIGZyYW1lcywgb3RoZXJ3aXNlIHRoZSBmb3VyLWRpZ2l0IG51bWJlciB3aWxsIGJlIGludGVycC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2Vfb2Jzb2xldGVfdGRhdF9mcmFtZSk6CgkgIERvIG5vdCBjb252ZXJ0IG9ic29sZXRlIFREQS9UREFUIGZyYW1lcyB0byBURFJDIGZyYW1lcywgb3RoZXJ3aXNlCgkgIHRoZSBmb3VyLWRpZ2l0IG51bWJlciB3aWxsIGJlIGludGVycHJldGVkIGFzIGEgeWVhciwgd2hlcmVhcyBpdCBpcwoJICBtb250aCBhbmQgZGF5IGluIERETU0gZm9ybWF0LiBJbnN0ZWFkLCBwYXJzZSBUREFUIGZyYW1lcyBhbmQgZml4IHVwCgkgIHRoZSBkYXRlIGluIHRoZSBHU1RfVEFHX0RBVEUgdGFnIGxhdGVyIGlmIHdlIGFsc28gZXh0cmFjdGVkIGEgeWVhci4KCSAgRml4ZXMgIzQwNzM0OS4KCjIwMDctMDMtMDYgMTQ6NTM6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogRml4IHVwIHRoZSBkaXNwb3NlIGxvZ2ljIHNvIGl0IGRvZXNuJ3QgbGVhaywgYW5kIGZpeCBzZXR0aW5nIG9mIHRoZSBjaGlsZCBzdGF0ZSBzbyB0aGF0IHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKToKCSAgRml4IHVwIHRoZSBkaXNwb3NlIGxvZ2ljIHNvIGl0IGRvZXNuJ3QgbGVhaywgYW5kIGZpeCBzZXR0aW5nIG9mCgkgIHRoZSBjaGlsZCBzdGF0ZSBzbyB0aGF0IHdlIGRvbid0IHNldCBhIGNoaWxkIHRvIG91ciBjdXJyZW50IHN0YXRlCgkgIGp1c3QgYXMgd2UgYXJlIGNoYW5naW5nIGl0IHRvIHNvbWV0aGluZyBlbHNlLgoKMjAwNy0wMy0wNiAxMzo1Nzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBBZGQgRklYTUVzIGZvciBzdHVmZiB0aGF0IGxvb2tzIHJhdGhlciB3cm9uZy4KCjIwMDctMDMtMDYgMTM6MjE6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IERvY3VtZW50LCBmaXggYW5kIGltcHJvdmUgZ29vbSBhZGFwdGVyIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ2V0X2J1ZmZlciksCgkgIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBEb2N1bWVudCwgZml4IGFuZCBpbXByb3ZlIGdvb20gYWRhcHRlciBiZWhhdmlvdXIuCgkgIEZpeGVzICM0MDcwMDYuCgoyMDA3LTAzLTA1IDE4OjQzOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBVbnJlZiBzdGF0aWMgcGFkIHRlbXBsYXRlIGFmdGVyIHVzaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pOgoJICBVbnJlZiBzdGF0aWMgcGFkIHRlbXBsYXRlIGFmdGVyIHVzaW5nIGl0LgoKMjAwNy0wMy0wNSAxNzoxNzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBGaXggdXAgdGhlIHJlZmVyZW5jZSBjb3VudGluZyBvZiB0aGUgY2hpbGQgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKToKCSAgRml4IHVwIHRoZSByZWZlcmVuY2UgY291bnRpbmcgb2YgdGhlIGNoaWxkIGVsZW1lbnRzLgoKMjAwNy0wMy0wNSAxNzowODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggZW5jb2RpbmctbmFtZSBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIEZpeCBlbmNvZGluZy1uYW1lIGNhc2UuCgoyMDA3LTAzLTA1IDE2OjM5OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBzcGVleCAoZGUpcGF5bG9hZGVyLiBGaXhlcyAjMzU4MDQwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X2dldF9tb2RlKSwgKGdzdF9ydHBfc3BlZXhfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3BlZXhfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfcGFyc2VfaWRlbnQpLCAoZ3N0X3J0cF9zcGVleF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRml4IHNwZWV4IChkZSlwYXlsb2FkZXIuIEZpeGVzICMzNTgwNDAuCgoyMDA3LTAzLTA1IDE1OjQyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEluc3RhbGwgZmFrZXNpbmsgaW4gTlVMTCBieSBmaXhpbmcgc29tZSBicm9rZW4gbG9naWMuIFRoaXMgb2J2aWF0ZXMgdGhlIG5lZWQgdG8gbWFudWFsbHkgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCk6CgkgIEluc3RhbGwgZmFrZXNpbmsgaW4gTlVMTCBieSBmaXhpbmcgc29tZSBicm9rZW4gbG9naWMuIFRoaXMgb2J2aWF0ZXMKCSAgdGhlIG5lZWQgdG8gbWFudWFsbHkgc2V0IF9JU19TSU5LLgoJICBBZGQgc29tZSBjb21tZW50cyBhbmQgcmVtb3ZlIGEgbGl0dGxlIGNydWZ0IHdoaWxlIEknbSBhdCBpdC4KCjIwMDctMDMtMDUgMTQ6NDY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBNYXJrIHVzIGFzIGEgc2luayB3aGVuIHdlIGhhdmUgbm8gZmFrZXNpbmsgaW4gTlVMTC4gRml4ZXMgIzQxNDg4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCk6CgkgIE1hcmsgdXMgYXMgYSBzaW5rIHdoZW4gd2UgaGF2ZSBubyBmYWtlc2luayBpbiBOVUxMLiBGaXhlcyAjNDE0ODg3LgoKMjAwNy0wMy0wNSAwODozMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgoyMDA3LTAzLTA0IDE4OjUyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IFVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFVwZGF0ZS4KCjIwMDctMDMtMDQgMTc6MzM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEdhaCEgQWxzbyBkaXNhYmxlIGdjb25mdmlkZW9zaW5rIGZyb20gdGhlIHRlc3RzLCBvdGhlcndpc2UgaXQgd2lsbCBpbnN0YW50aWF0ZSBhdXRvdmlkZW9zaW5rLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBHYWghIEFsc28gZGlzYWJsZSBnY29uZnZpZGVvc2luayBmcm9tIHRoZSB0ZXN0cywgb3RoZXJ3aXNlCgkgIGl0IHdpbGwgaW5zdGFudGlhdGUgYXV0b3ZpZGVvc2luaywgYW5kIGRmYnZpZGVvc2luayBhbmQKCSAgbGVhayBvbiB0aGUgYnVpbGRib3RzLgoKMjAwNy0wMy0wNCAxNzoxMzoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBNYWtlIHN1cmUgd2UgYWx3YXlzIGRlc3Ryb3kgb3VyIGxpYmNkaW8gaGFuZGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgZGVzdHJveSBvdXIgbGliY2RpbyBoYW5kbGUuCgoyMDA3LTAzLTA0IDE3OjA1OjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGF1dG92aWRlb3Npbmsgc28gdGhlIGJ1aWxkYm90cyBkb24ndCBiYXJmIG92ZXIgbWVtb3J5IGxlYWtlZCBpbiB0aGUgZGlyZWN0ZmIgc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgYXV0b3ZpZGVvc2luayBzbyB0aGUgYnVpbGRib3RzIGRvbid0IGJhcmYgb3ZlciBtZW1vcnkKCSAgbGVha2VkIGluIHRoZSBkaXJlY3RmYiBzaW5rLgoKMjAwNy0wMy0wNCAxNToyODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBDaGFpbiB1cCBpbiBkaXNwb3NlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19kaXNwb3NlKToKCSAgQ2hhaW4gdXAgaW4gZGlzcG9zZQoKMjAwNy0wMy0wNCAxNTowNzoxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpOgoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZgoJICBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoKMjAwNy0wMy0wNCAxNDo1Njo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBDYXRjaCB0aGUgY2FzZSB3aGVyZSBubyBjbG9jayBoYXMgYmVlbiBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19jcmVhdGUpOgoJICBDYXRjaCB0aGUgY2FzZSB3aGVyZSBubyBjbG9jayBoYXMgYmVlbiBzZXQuCgoyMDA3LTAzLTA0IDEzOjUyOjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBhIGJ1bmNoIG9mIGxlYWtzIHNob3duIGJ5IHRoZSBuZXdseS1hZGRlZCBzdGF0ZXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2ZpbmFsaXplKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19maW5hbGl6ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19maW5hbGl6ZSksIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc2lua19maW5hbGl6ZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19maW5hbGl6ZSksIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19yZXNldCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwgKGdzdF9zaG91dDJzZW5kX2ZpbmFsaXplKToKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOiAoZ3N0X3Rlc3RfY2xhc3NfaW5pdCksCgkgIChnc3RfdGVzdF9maW5hbGl6ZSk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx4ZGVjX2Rpc3Bvc2UpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfZnJlZV9jb250ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21wdGVfZmluYWxpemUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNpbmtfZmluYWxpemUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2ZpbmFsaXNlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NyY19maW5hbGl6ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2Rlc3Ryb3kpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2ZpbmFsaXplKToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIEZpeCBhIGJ1bmNoIG9mIGxlYWtzIHNob3duIGJ5IHRoZSBuZXdseS1hZGRlZCBzdGF0ZXMgdGVzdC4KCjIwMDctMDMtMDQgMTM6NDE6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLmM6IFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpOgoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZgoJICBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoKMjAwNy0wMy0wMyAxMzowNjoyMSArMDAwMCAgTG/Dr2MgTWluaWVyIDxsb29sK2dub21lQHZpYS5lY3AuZnI+CgoJICBEb24ndCBtaXggdGFicyBhbmQgc3BhY2VzICgjNDE0MTY4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWUgYXQgdmlhIGVjcCBmcj4KCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIERvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMgKCM0MTQxNjgpLgoKMjAwNy0wMy0wMiAyMTozNToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOiBJZ25vcmUgZmlsZXMgdG8gcGxlYXNlIGJ1aWxkYm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBmaWxlcyB0byBwbGVhc2UgYnVpbGRib3QuCgoyMDA3LTAzLTAyIDIxOjAxOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVW5icmVhayBteSBwcmV2aW91cyBjb21taXQgKHN3YXBwZWQgbm9taW5hdG9yICYgZGVub21pbmF0b3IpLiBUaW0sIHRoYW5rcyBmb3Igc3BvdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFVuYnJlYWsgbXkgcHJldmlvdXMgY29tbWl0IChzd2FwcGVkIG5vbWluYXRvciAmIGRlbm9taW5hdG9yKS4gVGltLAoJICB0aGFua3MgZm9yIHNwb3R0aW5nLgoKMjAwNy0wMy0wMiAxNjowODoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IFNtYWxsIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19wcm9iZV9kZXZpY2VzKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX3JlYWRfc2VjdG9yKSwgKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfZmluYWxpemUpOgoJICBTbWFsbCBjb2RlIGNsZWFudXBzLgoJICBEb24ndCB1c2UgcGFkX2FsbG9jIGFzIHRoZSBiYXNlIGNsYXNzIGNhbm5vdCBkZWFsIHdpdGggdGhlIGVycm9yIGNvZGVzLgoKMjAwNy0wMy0wMiAxMzo0MDowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBkb2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBGaXggZG9jLgoKMjAwNy0wMy0wMiAxMzoyOToyNSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgcm91bmRpbmcgYmV0dGVyIHRvIG5vdCBkcm9wIGxhc3Qgc2FtcGxlIGZyYW1lLiBGaXhlcyAjMzU2NjkyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBIYW5kbGUgcm91bmRpbmcgYmV0dGVyIHRvIG5vdCBkcm9wIGxhc3Qgc2FtcGxlIGZyYW1lLiBGaXhlcyAjMzU2NjkyCgoyMDA3LTAzLTAyIDEzOjE5OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGNhY2FzaW5rIGZyb20gdGhlIHN0YXRlcyBjaGVjayB0b28gLSBpdCBhbHNvIGNhbGxzIGV4aXQoMSkgb24gdXMgd2hlbiBpdCBjYW4ndCBmaW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBjYWNhc2luayBmcm9tIHRoZSBzdGF0ZXMgY2hlY2sgdG9vIC0gaXQgYWxzbyBjYWxscyBleGl0KDEpCgkgIG9uIHVzIHdoZW4gaXQgY2FuJ3QgZmluZCBhIHRlcm1pbmFsIHRvIHRhbGsgdG8uCgoyMDA3LTAzLTAyIDEyOjU2OjEzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkIHN1cHBvcnQgdG8gc3RyaXAgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgdG8gc3RyaXAgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI5Ni4KCjIwMDctMDMtMDIgMTI6NTI6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMDMtMDIgMTI6MTY6MTYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS4qOiBBZGQgc3VwcG9ydCB0byBzdHJpcCBvZmYgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICBBZGQgc3VwcG9ydCB0byBzdHJpcCBvZmYgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI3OC4KCjIwMDctMDMtMDIgMTE6MjI6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvaGFsL2hhbC5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMDMtMDIgMTA6NTQ6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuKjogUmVtb3ZlIGRldmljZS1uYW1lIGZyb20gR3N0U3VuQXVkaW9TcmMuIEZpeGVzICM0MTI1OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIFJlbW92ZSBkZXZpY2UtbmFtZSBmcm9tIEdzdFN1bkF1ZGlvU3JjLiBGaXhlcyAjNDEyNTk3LgoKMjAwNy0wMy0wMSAyMTo1MDozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2hhbC86IEhhdmluZyBOVUxMIGFzIFVESSBwcmV2aW91c2x5IHNlbGVjdGVkIHRoZSBkZWZhdWx0IHNpbmsvc3JjLiBDaGFuZ2UgdGhpcyBiYWNrIGJ1dCBtZW50aW9uIGl0IGluIHRoZSBkZWJ1ZyBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICBIYXZpbmcgTlVMTCBhcyBVREkgcHJldmlvdXNseSBzZWxlY3RlZCB0aGUgZGVmYXVsdCBzaW5rL3NyYy4gQ2hhbmdlCgkgIHRoaXMgYmFjayBidXQgbWVudGlvbiBpdCBpbiB0aGUgZGVidWcgb3V0cHV0LgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9hbHNhX2VsZW1lbnQpLAoJICAoZ3N0X2hhbF9nZXRfb3NzX2VsZW1lbnQpLCAoZ3N0X2hhbF9nZXRfc3RyaW5nKSwKCSAgKGdzdF9oYWxfcmVuZGVyX2Jpbl9mcm9tX3VkaSksIChnc3RfaGFsX2dldF9hdWRpb19zaW5rKSwKCSAgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NyYyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgUmVmYWN0b3IgYSBiaXQsIGNoZWNrIGFsbCBlcnJvciBjb25kaXRpb25zLCBncmVhdGx5IGltcHJvdmUgZGVidWdnaW5nCgkgIGFuZCBmaXggc29tZSBwb3NzaWJsZSBtZW1vcnkgbGVha3MuIEFsc28gaW1wbGVtZW50IE9TUyBzdXBwb3J0CgkgIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIGFuIFVESSB0aGF0IHBvaW50cyB0byBhIHJlYWwgZGV2aWNlLiBGb3IgdGhpcyB0aGUKCSAgY2hpbGQgZGV2aWNlIHdoaWNoIHN1cHBvcnRzIEFMU0EgKHByZWZlcnJlZCkgb3IgT1NTIGlzIHVzZWQuCgkgIEFzIGEgc2lkZSBlZmZlY3QgdGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlIG5vdyB0byBnZXQgYSBhbHNhc2luayBpbgoJICBoYWxhdWRpb3NyYyBhbmQgYSBhbHNhc3JjIGluIGhhbGF1ZGlvc2luay4KCjIwMDctMDMtMDEgMTg6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEVycm9ycyBmcm9tIHRoZSB1ZHAgc291cmNlcyBhcmUgbm90IGZhdGFsIHVubGVzcyBhbGwgb2YgdGhlbSBhcmUgaW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgRXJyb3JzIGZyb20gdGhlIHVkcCBzb3VyY2VzIGFyZSBub3QgZmF0YWwgdW5sZXNzIGFsbCBvZiB0aGVtIGFyZSBpbgoJICBlcnJvci4KCjIwMDctMDMtMDEgMTg6MTQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYWFzaW5rIGluIHRoZSBzdGF0ZXMgdGVzdC4gSSBzdXNwZWN0IHRoaXMgaXMgdGhlIGVsZW1lbnQgdGhhdCBpcyBjYWxsaW5nIGV4aXQoMSkgd2hlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGFhc2luayBpbiB0aGUgc3RhdGVzIHRlc3QuIEkgc3VzcGVjdCB0aGlzIGlzIHRoZSBlbGVtZW50IHRoYXQKCSAgaXMgY2FsbGluZyBleGl0KDEpIHdoZW4gaXQgY2FuJ3QgcHJvY2VlZC4KCjIwMDctMDMtMDEgMTc6MjY6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZwoJICB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdmVyc2lvbnMuCgoyMDA3LTAzLTAxIDEwOjQ0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRXJyb3Igb3V0IGNvcnJlY3RseSB3aGVuIGdldHRpbmcgeGNvbnRleHQgZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTAxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSk6CgkgIEVycm9yIG91dCBjb3JyZWN0bHkgd2hlbiBnZXR0aW5nIHhjb250ZXh0IGZhaWxzLgoKMjAwNy0wMy0wMSAwOToyOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiBNYWtlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQgTk9fUFJFUk9MTCBiZWNhdXNlIHRoYXQncyB3aGF0IGl0IHdpbGwgYmUgaW4gdGhlIGZ1dHVyZSBhbmQgcnRzcHNyYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIE5PX1BSRVJPTEwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBpdCB3aWxsIGJlIGluCgkgIHRoZSBmdXR1cmUgYW5kIHJ0c3BzcmMgcmVsaWVzIG9uIGl0LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGVycm9yIG91dCB3aGVuIHdlIGRvbid0IGdldCBhbiBlcnJvciBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UKCSAgZnVuY3Rpb24uCgoyMDA3LTAzLTAxIDAxOjQ4OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvaGFsLzogQ2hlY2sgaWYgdGhlIGRldmljZSBVREkgaXMgc2V0IGJlZm9yZSB0cnlpbmcgdG8gcXVlcnkgSEFMIGFib3V0IGl0IGFuZCBnaXZlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgaWYgaXQgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgIENoZWNrIGlmIHRoZSBkZXZpY2UgVURJIGlzIHNldCBiZWZvcmUgdHJ5aW5nIHRvIHF1ZXJ5IEhBTAoJICBhYm91dCBpdCBhbmQgZ2l2ZSBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGlmIGl0IHdhc24ndCBzZXQuCgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyk6CgkgIERvbid0IHF1ZXJ5IEhBTCBmb3IgTlVMTCBVRElzLiBQYXNzaW5nIE5VTEwgYXMgVURJIHRvIEhBTAoJICBnaXZlcyBhbiBhc3NlcnRpb24gZmFpbHVyZSBpbiBELUJ1cyB3aGVuIHJ1bm5pbmcgd2l0aAoJICBEQlVTX0ZBVEFMX1dBUk5JTkdTPTEuCgoyMDA3LTAyLTI4IDE5OjI5OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIGNvbmZpZyB0byB0cnVuawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvbmZpZyB0byB0cnVuawoKMjAwNy0wMi0yOCAxOToyOToyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgoyMDA3LTAyLTI4IDEyOjU5OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogYWRkIHRlc3QgZm9yIHN0YXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoc3RhdGVzX3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIHN0YXRlcwoKMjAwNy0wMi0yOCAxMDo1ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBuZXcgdmlkZW9maWx0ZXIgY2hlY2sgdG8gLmN2c2lnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIG5ldyB2aWRlb2ZpbHRlciBjaGVjayB0byAuY3ZzaWdub3JlLgoKMjAwNy0wMi0yOCAxMDo1NDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGNvbWJpbmVkIGZsb3cgcmV0dXJuLiBGaXhlcyAjNDEyNjA4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApLCAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBjb21iaW5lZCBmbG93IHJldHVybi4gRml4ZXMgIzQxMjYwOC4KCjIwMDctMDItMjggMTA6NDE6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06IERpc3QgaGVhZGVyLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBEaXN0IGhlYWRlci4uCgoyMDA3LTAyLTI4IDEwOjI5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6IEFkZCBoZWFkZXIgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgQWRkIGhlYWRlciB0b28uCgoyMDA3LTAyLTI4IDEwOjE3OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyLzogUG9ydCBnYW1tYSBmaWx0ZXIgdG8gMC4xMC4gRml4ZXMgIzQxMjcwNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpLAoJICAoZ3N0X2dhbW1hX2NsYXNzX2luaXQpLCAoZ3N0X2dhbW1hX2luaXQpLCAoZ3N0X2dhbW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2FtbWFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9nYW1tYV9jYWxjdWxhdGVfdGFibGVzKSwKCSAgKG9pbF90YWJsZWxvb2t1cF91OCksIChnc3RfZ2FtbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2dhbW1hX3BsYW5hcjQxMV9pcCksIChnc3RfZ2FtbWFfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBnYW1tYSBmaWx0ZXIgdG8gMC4xMC4gRml4ZXMgIzQxMjcwNC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOiAoc2V0dXBfZmlsdGVyKSwKCSAgKGNsZWFudXBfZmlsdGVyKSwgKGNoZWNrX2ZpbHRlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2JhbGFuY2Vfc3VpdGUpLCAodmlkZW9mbGlwX3N1aXRlKSwgKGdhbW1hX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9maWx0ZXJzLgoKMjAwNy0wMi0yOCAxMDowNjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBhbm90aGVyIGludGVyZXN0aW5nIHRlc3QgdXJsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgYW5vdGhlciBpbnRlcmVzdGluZyB0ZXN0IHVybC4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpOgoJICBEb24ndCBhbGxvdyBnZXR0aW5nIGhlYWRlciBmaWVsZHMgZnJvbSBkYXRhIHBhY2tldHMuCgoyMDA3LTAyLTI3IDIzOjQzOjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBBZGQgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfc3RhcnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgQWRkIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTI3IDExOjU5OjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudAoKMjAwNy0wMi0yNyAxMTozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5IG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seQoJICBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCB3aXRoaW4gYW4gTlNBcHAgKHdoaWNoIGhhcyBhbHJlYWR5IGdvdAoJICBhIGNvY2EgZXZlbnQgbG9vcCkuCgkgIFJlbW92ZSBhbGwgdW51c2VkIGNvZGUuCgoyMDA3LTAyLTI2IDEyOjA3OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL01ha2VmaWxlLmFtOiBGaXggbWFrZSBjaGVjayB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZSBjaGVjayB0b28uCgoyMDA3LTAyLTI2IDEwOjAwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL2Jhc2U2NC4qOiBDb21taXQgbWlzc2luZyBmaWxlcyBmb3IgYmFzZTY0IGVuY29kaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9iYXNlNjQuYzogKHV0aWxfYmFzZTY0X2VuY29kZSk6CgkgICogZ3N0L3J0c3AvYmFzZTY0Lmg6CgkgIENvbW1pdCBtaXNzaW5nIGZpbGVzIGZvciBiYXNlNjQgZW5jb2RpbmcuCgoyMDA3LTAyLTI0IDIyOjU3OjQ5ICswMDAwICBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWVAdmlhLmVjcC5mcj4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJyAoIzQxMDk5NykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWUgYXQgdmlhIGVjcCBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnICgjNDEwOTk3KQoKMjAwNy0wMi0yNCAyMjo1Mjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoKMjAwNy0wMi0yMyAxOToxMjo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC86IGdfYmFzZTY0X2VuY29kZSBpcyBhIEdMaWIgMi4xMiBmdW5jdGlvbi4gVXNlIGFuIGVxdWl2YWxlbnQgdGFrZW4gZnJvbSBpY2VjYXN0IHRvIHJlcGxhY2UgaXQuIFJlbGljZW5zZWQgZnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGFwcGVuZF9hdXRoX2hlYWRlciksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGgpOgoJICBnX2Jhc2U2NF9lbmNvZGUgaXMgYSBHTGliIDIuMTIgZnVuY3Rpb24uIFVzZSBhbiBlcXVpdmFsZW50IHRha2VuCgkgIGZyb20gaWNlY2FzdCB0byByZXBsYWNlIGl0LiBSZWxpY2Vuc2VkIGZyb20gR1BMIGNvdXJ0ZXN5IG9mIE1pa2UKCSAgU21pdGguCgoyMDA3LTAyLTIzIDE4OjEyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wbGVtZW50IHNpbXBsZSBCYXNpYyBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IHNvIHRoYXQgdXJscyBsaWtlIHJ0c3A6Ly91c2VyOnBhc3NAaG9zdG5hbWUvcnRzcHN0cmVhbSB3b3JrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKHJ0c3BfYXV0aF9tZXRob2RfdG9fc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChhcHBlbmRfYXV0aF9oZWFkZXIpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpLCAocnRzcF9jb25uZWN0aW9uX3NldF9hdXRoKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEltcGxlbWVudCBzaW1wbGUgQmFzaWMgQXV0aGVudGljYXRpb24gc3VwcG9ydCBzbyB0aGF0IHVybHMgbGlrZQoJICBydHNwOi8vdXNlcjpwYXNzQGhvc3RuYW1lL3J0c3BzdHJlYW0gd29yayBvbiBob3N0cyB0aGF0IHJlcXVpcmUKCSAgYXV0aGVudGljYXRpb24uCgoyMDA3LTAyLTIyIDE3OjUzOjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gb3BwZW5pbmcgYSByYWRpbyBkZXZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2VnZmF1bHQgd2hlbiBvcHBlbmluZyBhIHJhZGlvIGRldmljZS4KCjIwMDctMDItMjIgMTQ6MzU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBsZXZlbCBmb3IgbXVsdGktY2hhbm5lbCBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBzeXMvdjRsMi9SRUFETUU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGxldmVsIGZvciBtdWx0aS1jaGFubmVsIGNhc2UuCgoyMDA3LTAyLTIxIDEwOjE4OjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogVXNlIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHByb2Nlc3MgZnVuY3Rpb24gYW5kIGFkZCBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgZmxvYXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpLCAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBVc2UgZnVuY3Rpb24gcG9pbnRlciBmb3IgcHJvY2VzcyBmdW5jdGlvbiBhbmQgYWRkIHByb2Nlc3MgZnVuY3Rpb25zCgkgIGZvciBmbG9hdCBhdWRpby4KCjIwMDctMDItMjAgMjE6MzQ6MDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgQWRkIGEgbmV3IHdhdmVmb3JtIHBsdWdpbiB3aGljaCBpbmNsdWRlcyBhbiBhdWRpbyBzaW5rCgkgIGVsZW1lbnQgdXNpbmcgdGhlIFdhdmVGb3JtIHdpbjMyIEFQSS4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHRoZSBuZXcgcHJvamVjdCBmaWxlIGZvcm0gd2F2ZWZvcm0gcGx1Z2luLgoKMjAwNy0wMi0xOSAxMjoyMjo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBSZWFkZCBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBjYW4ndCByZWVucXVlIGJ1ZmZlcnMgYWZ0ZXIgRUlPLCBmaXhlcyAjNDA3MzY5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBSZWFkZCBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBjYW4ndCByZWVucXVlIGJ1ZmZlcnMgYWZ0ZXIgRUlPLAoJICBmaXhlcyAjNDA3MzY5CgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xOCAxMzoyNDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAydF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICBBZGRlZCBzaW1wbGUgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBheWxvYWRlci4KCjIwMDctMDItMTYgMTI6MzI6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgZXhhbXBsZSBIMjY0IHJ0c3AgdXJsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgZXhhbXBsZSBIMjY0IHJ0c3AgdXJsLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY29udmVydCB2YWx1ZXMgdG8gbG93ZXJjYXNlIG9yIHdlIG1pZ2h0IG1lc3MgdXAgYmFzZTY0IGVuY29kZWQKCSAgcHJvcGVydGllcy4KCjIwMDctMDItMTYgMTI6MzA6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogRml4IGNhc2Ugb2Ygc3RyaW5nIHBhcmFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIEZpeCBjYXNlIG9mIHN0cmluZyBwYXJhbXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgRml4IGRlcGF5bG9hZGVyLCBzdXBwb3J0IG1vcmUgcGFja2V0IHR5cGVzLgoJICBBZGQgc3luYyBjb2RlcyB0byBtYWtlIHN1cmUgdGhlIHBhY2tldGl6ZXIgY2FuIGRvIGl0cyBqb2IuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgRml4IGNhcHMgY2FzZSBhZ2Fpbi4KCjIwMDctMDItMTUgMTI6MjY6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBTZXQgcmlnaHQgY2FwcyBvbiBvdXRwdXQgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU2V0IHJpZ2h0IGNhcHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgoyMDA3LTAyLTE0IDE3OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiBDbGVhciBzdGFjayBhbGxvY2F0ZWQgU0RQTWVkaWEgc3RydWN0IGJlZm9yZSBjYWxsaW5nIF9pbml0KCkgb24gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9wYXJzZV9saW5lKToKCSAgQXMgc3BvdHRlZCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPjoKCSAgQ2xlYXIgc3RhY2sgYWxsb2NhdGVkIFNEUE1lZGlhIHN0cnVjdCBiZWZvcmUgY2FsbGluZyBfaW5pdCgpIG9uIGl0LgoJICBDbGFyaWZ5IHRoaXMgaW4gdGhlIGRvY3MgYXMgd2VsbC4KCjIwMDctMDItMTQgMTc6MDE6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IERvbid0IHJlc2V0IHRoZSBwcm9maWxlIHdoZW4gZ29pbmcgc3dpdGNoaW5nIHN0YXRlcywgYXMgaXQgbWFrZXMgdGhlIGVsZW1lbnQgbm9uLXJldXNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZG9fY2hhbmdlX2NoaWxkKToKCSAgRG9uJ3QgcmVzZXQgdGhlIHByb2ZpbGUgd2hlbiBnb2luZyBzd2l0Y2hpbmcgc3RhdGVzLCBhcyBpdCBtYWtlcwoJICB0aGUgZWxlbWVudCBub24tcmV1c2FibGUuCgoyMDA3LTAyLTE0IDE1OjI0OjUwICswMDAwICBqcC5saXUgPGpwX2xpdUBhc3Ryb2NvbS5jbj4KCgkgIGdzdC9ydHNwL3NkcG1lc3NhZ2UuKjogRml4IG1lbW9yeSBtYW5hZ2VtZW50IG9mIFNEUCBtZXNzYWdlcy4gRml4ZXMgIzQwNzc5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX29yaWdpbl9pbml0KSwgKHNkcF9jb25uZWN0aW9uX2luaXQpLAoJICAoc2RwX2JhbmR3aWR0aF9pbml0KSwgKHNkcF90aW1lX2luaXQpLCAoc2RwX3pvbmVfaW5pdCksCgkgIChzZHBfa2V5X2luaXQpLCAoc2RwX2F0dHJpYnV0ZV9pbml0KSwgKHNkcF9tZXNzYWdlX2luaXQpLAoJICAoc2RwX21lc3NhZ2VfdW5pbml0KSwgKHNkcF9tZXNzYWdlX2ZyZWUpLCAoc2RwX21lZGlhX2luaXQpLAoJICAoc2RwX21lZGlhX3VuaW5pdCksIChzZHBfbWVkaWFfZnJlZSksIChzZHBfbWVzc2FnZV9hZGRfbWVkaWEpLAoJICAoc2RwX3BhcnNlX2xpbmUpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IGpwLmxpdSA8anBfbGl1IGF0IGFzdHJvY29tIGRvdCBjbj4KCSAgRml4IG1lbW9yeSBtYW5hZ2VtZW50IG9mIFNEUCBtZXNzYWdlcy4gRml4ZXMgIzQwNzc5My4KCjIwMDctMDItMTQgMTI6MDc6MDEgKzAwMDAgIHpoYW5nZmVpIGdhbyA8Z2FvemhhbmdmZWlAeWFob28uY29tLmNuPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWxsb3cgbXV4aW5nIHZpZGVvL3gtaDI2NCAod2FzIGFscmVhZHkgaW4gdGhlIGNhcHMpLiBGaXhlcyAjNDA3NzgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHpoYW5nZmVpIGdhbyA8Z2FvemhhbmdmZWlAeWFob28uY29tLmNuPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKToKCSAgQWxsb3cgbXV4aW5nIHZpZGVvL3gtaDI2NCAod2FzIGFscmVhZHkgaW4gdGhlIGNhcHMpLiBGaXhlcyAjNDA3NzgwLgoKMjAwNy0wMi0xNCAxMDowOToxMiArMDAwMCAganAubGl1IDxqcF9saXVAYXN0cm9jb20uY24+CgoJICBnc3QvcnRzcC9ydHNwdXJsLmM6IEZpeCBwYXJzaW5nIG9mIHBhc3N3b3JkIGZpZWxkIGluIHVybC4gRml4ZXMgIzQwNzc5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqcC5saXUgPGpwX2xpdSBhdCBhc3Ryb2NvbSBkb3QgY24+CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBGaXggcGFyc2luZyBvZiBwYXNzd29yZCBmaWVsZCBpbiB1cmwuIEZpeGVzICM0MDc3OTcuCgoyMDA3LTAyLTE0IDA5OjU1OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVwZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfZGVzdHJveV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX2ZtdCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX2NoYWluKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVwZGF0ZSBkb2NzLgoJICBVc2UgYm9pbGVycGxhdGUuCgkgIFZhcmlvdXMgY29kZSBjbGVhbnVwcy4KCSAgV2hlbiB0aGUgYml0cmF0ZSBpcyBub3Qga25vd24gKGJwcyA9PSAwIG9yIGNvbXByZXNzZWQgZm9ybWF0cykgbGV0CgkgIGRvd25zdHJlYW0gZWxlbWVudCBndWVzdGltYXRlIHRoZSBkdXJhdGlvbiBhbmQgcG9zaXRpb24gYW5kIGRvbid0CgkgIGdlbmVyYXRlIHRpbWVzdGFtcHMgb3IgZHVyYXRpb25zLiBGaXhlcyAjNDA1MjEzLgoJICBGaXggRU9TIGFuZCBFUlJPUiBjb25kaXRpb25zIGluIGNoYWluIG1vZGUsIHdlIGp1c3QgbmVlZCB0byBmb3J3YXJkIHRoZQoJICBlcnJvciBmbG93cmV0dXJuIHVwc3RyZWFtLgoKMjAwNy0wMi0xMyAxNjowMToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZS1mYWN0b3IgdGhlIGdjb25mYXVkaW9zaW5rIGludG8gYSAiR3N0U3dpdGNoU2luayIgYmFzZSBjbGFzcyBhbmQgYSBjaGlsZCB0aGF0IGltcGxlbWVudHMgdGhlIEdDb25mIGtleSBtb25pdG9yaW5nLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9zdHJpbmcpLAoJICAoZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSksIChnc3RfZ2NvbmZfc2V0X3N0cmluZyksCgkgIChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksIChkb19jaGFuZ2VfY2hpbGQpLAoJICAoZ3N0X2djb25mX3N3aXRjaF9wcm9maWxlKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChjYl9jaGFuZ2VfY2hpbGQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfY2xhc3NfaW5pdCksIChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2luaXQpLCAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKSwKCSAgKGdzdF9zd2l0Y2hfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3N3aXRjaF9zaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zd2l0Y2hfc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsZWFyX2tpZCksIChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xlYXJfa2lkKSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBSZS1mYWN0b3IgdGhlIGdjb25mYXVkaW9zaW5rIGludG8gYSAiR3N0U3dpdGNoU2luayIgYmFzZSBjbGFzcwoJICBhbmQgYSBjaGlsZCB0aGF0IGltcGxlbWVudHMgdGhlIEdDb25mIGtleSBtb25pdG9yaW5nLiBUaGUgZW5kIGdvYWwgb2YKCSAgdGhpcyBpcyBhbiBhdWRpbyBzaW5rIHRoYXQgY2FuIGJlIGNoYW5nZWQgb24gdGhlIGZseSwgYnV0IGF0IHRoZQoJICBtb21lbnQgaXQgc3RpbGwgb25seSBjaGFuZ2VzIG9uIHRoZSBuZXh0IFJFQURZIHRyYW5zaXRpb24uCgoyMDA3LTAyLTEzIDExOjU3OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFB1dCBkZWJ1ZyBzdHVmZiBpbnRvICNpZm5kZWYgR1NUX0RJU0FCTEVfREVCVUcgI2VuZGlmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgUHV0IGRlYnVnIHN0dWZmIGludG8gI2lmbmRlZiBHU1RfRElTQUJMRV9ERUJVRyAjZW5kaWYKCjIwMDctMDItMTMgMDk6NDY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLgoKMjAwNy0wMi0xMiAyMzozNToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb25vc2NvcGUvOiBGaXggY29weSduJ3Bhc3RlLW8gaW4gZG9jcyBjaHVuay4gQWxzbyBhZGQgc29tZSBtaXNzaW5nIENGTEFHUyAoYnV0IG5vIExJQlMsIHNpbmNlIHdlIG9ubHkgdXNlIGRlZmluZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIEZpeCBjb3B5J24ncGFzdGUtbyBpbiBkb2NzIGNodW5rLiBBbHNvIGFkZCBzb21lIG1pc3NpbmcgQ0ZMQUdTCgkgIChidXQgbm8gTElCUywgc2luY2Ugd2Ugb25seSB1c2UgZGVmaW5lcyBmcm9tIHRoZSBoZWFkZXJzKS4KCjIwMDctMDItMTIgMjM6Mjc6MzEgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBtYXNzaXZlIG1lbW9yeSBsZWFrIHdoZW4gb3BlcmF0aW5nIGluIHN0cmVhbWluZyBtb2RlIGR1ZSB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBGaXggbWFzc2l2ZSBtZW1vcnkgbGVhayB3aGVuIG9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSBkdWUgdG8KCSAgR1NUX0JVRkZFUl9NQUxMT0NEQVRBKCkgbm90IGJlaW5nIHNldCBvbiBuZXdseS1jcmVhdGVkIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MDcwNTcuCgoyMDA3LTAyLTEyIDE1OjI5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNhdmUgc29tZSBtZW1vcnkgKDglKSBieSByZXBhY2tpbmcgdGhlIGluZGV4IGVudHJ5IHN0cnVjdHVyZSAobW9yZSB0byBjb21lKS4gQWRkIG1vcmUgRklYTUVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU2F2ZSBzb21lIG1lbW9yeSAoOCUpIGJ5IHJlcGFja2luZyB0aGUgaW5kZXggZW50cnkgc3RydWN0dXJlIChtb3JlIHRvCgkgIGNvbWUpLiBBZGQgbW9yZSBGSVhNRXMgdG8gcXVlc3Rpb25hYmxlIHBhcnRzLgoKMjAwNy0wMi0xMiAxMjo1NzoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBNb3JlIEZJWE1FIGNvbW1lbnRzIGFuZCBtZXNzYWdpbmcgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgTW9yZSBGSVhNRSBjb21tZW50cyBhbmQgbWVzc2FnaW5nIGNoYW5nZXMuCgoyMDA3LTAyLTEyIDEyOjQzOjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IEltcHJvdmVkIGRvY3MgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBJbXByb3ZlZCBkb2NzIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhaW4pLCAoZ3N0X21vbm9zY29wZV9jaGFuZ2Vfc3RhdGUpOgoJICBJbXByb3ZlZCBkb2NzIHNvdXJjZSBjbGVhbnVwcy4KCjIwMDctMDItMTIgMTA6Mjk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvOiBBZGQgY29kZSBmb3IgYSBwdXNoZmlsZXNyYyBlbGVtZW50IHRoYXQgaW1wbGVtZW50cyBhIHB1c2hmaWxlOi8vIFVSSSBoYW5kbGVyLCB0byBtYWtlIGRlYnVnZ2luZyBwdXNoLW1vZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJICBBZGQgY29kZSBmb3IgYSBwdXNoZmlsZXNyYyBlbGVtZW50IHRoYXQgaW1wbGVtZW50cyBhIHB1c2hmaWxlOi8vIFVSSQoJICBoYW5kbGVyLCB0byBtYWtlIGRlYnVnZ2luZyBwdXNoLW1vZGUgb3BlcmF0aW9uIG9mIGRlbXV4ZXIvZGVjb2RlcnMKCSAgdGhhdCBzdXBwb3J0IGJvdGggZWFzaWVyIGluIGNvbm5lY3Rpb24gd2l0aCBzZWVrL3BsYXliaW4vZXRjLgoJICBUaGUgZWxlbWVudCBpc24ndCByZWdpc3RlcmVkIGF0IHRoZSBtb21lbnQuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMi0xMSAxMjo1Nzo0NyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQ29tbWVudCBhICNpZiAwIGluIGNhcHMgdGVtcGxhdGUgZGVmaW5pdGlvbiBhcyBWUzYgc2VlbXMgdG8gZG8gbm90IHN1cHBvcnQgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIENvbW1lbnQgYSAjaWYgMCBpbiBjYXBzIHRlbXBsYXRlIGRlZmluaXRpb24gYXMgVlM2IHNlZW1zIHRvCgkgIGRvIG5vdCBzdXBwb3J0IGl0LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzooZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOihydHNwX2Nvbm5lY3Rpb25fc2VuZCk6CgkgIE1vdmUgdmFyaWFibGVzIGRlY2xhcmF0aW9uIGJlZm9yZSB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoocnRzcF9zdHJyZXN1bHQpOgoJICBEb24ndCB1c2UgaHN0cmVycm9yIGZvciBlcnJvciBsb2cgb24gR19PU19XSU4zMiBidWlsZCBhcyBpdCdzIG5vdCBzdXBwb3J0ZWQuCgkgIEFuZCBkb24ndCBpbmNsdWRlIG5ldGRiLmggZm9yIEdfT1NfV0lOMzIKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6KHNkcF9wYXJzZV9saW5lKToKCSAgVGhpcyBpbml0aWFsaXphdGlvbiBTRFBNZWRpYSBubWVkaWEgPSB7Lm1lZGlhID0gTlVMTCB9OyBpcyBub3Qgc3VwcG9ydGVkCgkgIGJ5IFZTNiB0aGVuIHVzZSBhbiBvdGhlciB3YXkgdG8gaW5pdGlhbGl6ZSBTRFBNZWRpYSBzdHJ1Y3R1cmUuCgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBuZXR1dGlscy5oOgoJICBEbyBub3QgaW5jbHVkZSA8c3lzL3RpbWUuaD4gZm9yIEdfT1NfV0lOMzIKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBEZWZpbmUgc29ja2xlbl90IGFzIGludCBmb3IgR19PU19XSU4zMgoJICAqIHdpbi9jb21tb24vY29uZmlnLmguaW46CgkgIFVuZGVmIEhBVkVfTkVUSU5FVF9JTl9ICgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICBBZGQgYW5kIHVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkgICogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSAgQWRkIGEgY29weSBvZiB1ZHAgZW51bXR5cGVzIHRvIHdpbjMyL2NvbW1vbiBhcyBpbiBjb3JlCgkgIGFuZCBiYXNlLgoKMjAwNy0wMi0xMSAxMDo1MzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBY3RpdmF0ZSBtb25vc2NvcGUgd2hlbiBidWlsZGluZyB3aXRoIC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4gRml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0aXZhdGUgbW9ub3Njb3BlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWVuYWJsZS1leHBlcmltZW50YWwuIEZpeAoJICAtLWVuYWJsZS1leHRlcm5hbCBjb25maWd1cmUgc3dpdGNoIGRlc2NyaXB0aW9uLgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6IChnc3Rfc3VuYXVkaW9taXhlcl9iYXNlX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2Rpc3Bvc2UpOgoJICBIZWxwIGdzdC1pbmRlbnQuCgoyMDA3LTAyLTA5IDA5OjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRXhwbGljaXRseSBjYXN0IHJlc3VsdCBvZiBwb2ludGVyIGFyaXRobWV0aWMgdG8gaW50ZWdlciBpbiBvcmRlciB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgRXhwbGljaXRseSBjYXN0IHJlc3VsdCBvZiBwb2ludGVyIGFyaXRobWV0aWMgdG8gaW50ZWdlciBpbiBvcmRlciB0bwoJICBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiBzb21lIDY0LWJpdCBzeXN0ZW1zLiBTaG91bGQgZml4ICM0MDYwMTguCgoyMDA3LTAyLTA4IDExOjA5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IFNvbWUgbW9yZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgU29tZSBtb3JlIGRvY3MuCgoyMDA3LTAyLTA3IDIxOjA5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6IFVwZGF0ZSBmb3IgbmV3IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgVXBkYXRlIGZvciBuZXcgZWxlbWVudHMuCgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIENvbW1pdCBuZXdseS1jcmVhdGVkIGhlYWRlciBmaWxlIGFzIHdlbGwuCgoyMDA3LTAyLTA3IDIwOjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZSBwcm9ncmVzc3JlcG9ydCBlbGVtZW50IHBvc3QgbWVzc2FnZXMgd2l0aCB0aGUgY3VycmVudCBwcm9ncmVzcyBvbiB0aGUgYnVzLiBBbHNvIGFkZCBzb21lIGJhc2ljIGRvY3MgZm9yIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZG9fcXVlcnkpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpOgoJICBNYWtlIHByb2dyZXNzcmVwb3J0IGVsZW1lbnQgcG9zdCBtZXNzYWdlcyB3aXRoIHRoZSBjdXJyZW50IHByb2dyZXNzCgkgIG9uIHRoZSBidXMuIEFsc28gYWRkIHNvbWUgYmFzaWMgZG9jcyBmb3IgaXQuCgoyMDA3LTAyLTA3IDEzOjA4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2hhbC9oYWwuKjogU29tZSBzbWFsbCBjbGVhbnVwczsgZGVhbCB3aXRoIGVycm9ycyB3aGVuIHBhcnNpbmcgdGhlIEhBTCBBTFNBIGNhcGFiaWxpdGllcyBhIGJpdCBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIFNvbWUgc21hbGwgY2xlYW51cHM7IGRlYWwgd2l0aCBlcnJvcnMgd2hlbiBwYXJzaW5nIHRoZSBIQUwgQUxTQQoJICBjYXBhYmlsaXRpZXMgYSBiaXQgYmV0dGVyLgoKMjAwNy0wMi0wNiAxNjoyOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBMZXQncyB0cnkgdGhpcyBhZ2FpbiBhbmQgdXNlIHRoZSByaWdodCBjYXN0IHRoaXMgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKToKCSAgTGV0J3MgdHJ5IHRoaXMgYWdhaW4gYW5kIHVzZSB0aGUgcmlnaHQgY2FzdCB0aGlzIHRpbWUuCgoyMDA3LTAyLTA2IDE2OjI0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IEFkZCBjYXN0IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggb2xkZXIgR0xpYiB2ZXJzaW9ucyB3aGVyZSB0aGUgbmljay9uYW1lIG1lbWJlcnMgaW4gR0VuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSk6CgkgIEFkZCBjYXN0IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggb2xkZXIgR0xpYiB2ZXJzaW9ucwoJICB3aGVyZSB0aGUgbmljay9uYW1lIG1lbWJlcnMgaW4gR0VudW1WYWx1ZSBhcmUgbm90IGRlY2xhcmVkIGFzCgkgIGNvbnN0YW50IHN0cmluZ3MuCgoyMDA3LTAyLTA2IDE1OjU2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogSW4gZ2NvbmZhdWRpb3NpbmssIGdldCB0aGUgcmlnaHQga2V5IGFzIHRoZSBvbGQga2V5IGluIGRvX3RvZ2dsZSAoaWUuIG9uZSBkZXBlbmRlbnQgb24gdGhlIHByb2ZpbGUgc2VsZWN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSksCgkgIChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl9mcm9tX2tleSksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc2luayk6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnZXRfZ2NvbmZfa2V5X2Zvcl9wcm9maWxlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpOgoJICBJbiBnY29uZmF1ZGlvc2luaywgZ2V0IHRoZSByaWdodCBrZXkgYXMgdGhlIG9sZCBrZXkgaW4gZG9fdG9nZ2xlCgkgIChpZS4gb25lIGRlcGVuZGVudCBvbiB0aGUgcHJvZmlsZSBzZWxlY3RlZCkuIExvZyBzb21lIG1vcmUgc3R1ZmYgc28KCSAgd2UgY2FuIHNlZSB3aGF0J3MgYWN0dWFsbHkgZ29pbmcgb24uCgoyMDA3LTAyLTA2IDExOjE2OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFNvbWUgc21hbGwgY2xlYW51cHMgYW5kIHBvcnQgYm90aCBlbGVtZW50cyB0byB0aGUgbmV3IEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgdG8gc2F2ZSBhIGZldyBsaW5lcyBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19pbnZlcnRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMgYW5kIHBvcnQgYm90aCBlbGVtZW50cyB0byB0aGUgbmV3IEdzdEF1ZGlvRmlsdGVyCgkgIGJhc2UgY2xhc3MgdG8gc2F2ZSBhIGZldyBsaW5lcyBvZiBjb21tb24gY29kZS4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IGxpYmdzdGF1ZGlvIGZvciB0aGUgYWJvdmUgY2hhbmdlcwoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAwNy0wMi0wMiAxODozNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSk6CgkgIFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgR1ZhbHVlQXJyYXksIHNvIGl0J3MgbW9yZSBlYXNpbHkgYmluZGFibGUgYW5kIHRoZSByYW5nZSBvZiB0aGUKCSAgdmFsdWVzIHBhc3NlZCBpbiBpcyBkZWZpbmVkIGFuZCBjaGVja2VkIGV0Yy47IGFsc28gZG8gc29tZQoJICBsb2NraW5nLgoKMjAwNy0wMi0wMiAxNzozOToyMSArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGF0IGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgoyMDA3LTAxLTMxIDA4OjMyOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lCgkgIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCjIwMDctMDEtMzAgMTc6MTk6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUG9ydCBvZiBvc3h2aWRlbyBwbHVnaW4gdG8gMC4xMC4gRG8gTk9UIGNvbnNpZGVyIDEwMCUgc3RhYmxlICEKCSAgRml4ZXMgIzQwMjQ3MAoKMjAwNy0wMS0yOSAxMDo1OTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IFNvbWUgbW9yZSBpZ25vcmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBTb21lIG1vcmUgaWdub3Jlcy4KCjIwMDctMDEtMjggMTg6Mjg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpOgoJICBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAoY2hlY2tfYnVzX2Zvcl9lcnJvcnMpLAoJICAodGVzdF93aXRoX2NhcHMpLCAobWFpbik6CgkgIEJsb2NrIHN0cmVhbWluZyB0aHJlYWQgYmVmb3JlIGNoYW5naW5nIGZpbHRlciBjYXBzIHdoaWxlIHRoZQoJICBwaXBlbGluZSBpcyBydW5uaW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IHJhbmRvbSBub3QtbmVnb3RpYXRlZAoJICBlcnJvcnMganVzdCBiZWNhdXNlIEdTdHJlYW1lciBjYW4ndCBoYW5kbGUgdGhhdCB5ZXQuCgoyMDA3LTAxLTI3IDE2OjA4OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2Fwcyk6CgkgIENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoKMjAwNy0wMS0yNiAxMjoyMTo0MSArMDAwMCAgY2hhcmxlcyA8Y2hhcmxlc2czQGdtYWlsLmNvbT4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IFByb3Blcmx5IGhhbmRsZSB0YWdzIGluIHNob3V0MnNlbmQuIEZpeGVzICMzOTk4MjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogY2hhcmxlcyA8Y2hhcmxlc2czIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2luaXQpLAoJICAoc2V0X3Nob3V0X21ldGFkYXRhKSwgKGdzdF9zaG91dDJzZW5kX2V2ZW50KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBQcm9wZXJseSBoYW5kbGUgdGFncyBpbiBzaG91dDJzZW5kLiBGaXhlcyAjMzk5ODI1LgoKMjAwNy0wMS0yNSAyMzoyNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlCgkgIG90aGVyIHdheSBhcm91bmQuIEFsc28gc2V0IHRoZSBjb3JyZWN0IGZvcm1hdCBpbiB0aGUgc2Vla2luZyBxdWVyeSBhbmQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBoZWFkZXJzIGFyZSBub3QgcmVhZCB5ZXQgYW5kIHdlIGNhbid0IHNheQoJICBhbnl0aGluZyBhYm91dCBvdXIgc2Vla2luZyBjYXBhYmlsaXRpZXMuCgoyMDA3LTAxLTI1IDIxOjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoKMjAwNy0wMS0yNSAxNDo0MDoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ29udmVydCBTRFAgZmllbGRzIHRvIHVwcGVyL2xvd2VyY2FzZSBmb2xsb3dpbmcgdGhlIHJ1bGVzIGluIHRoZSBTRFAgdG8gY2FwcyBkb2N1bWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgQ29udmVydCBTRFAgZmllbGRzIHRvIHVwcGVyL2xvd2VyY2FzZSBmb2xsb3dpbmcgdGhlIHJ1bGVzIGluIHRoZSBTRFAgdG8KCSAgY2FwcyBkb2N1bWVudC4KCjIwMDctMDEtMjUgMTQ6MjI6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGNhc2Ugb2YgZW5jb2RpbmctbmFtZSBhbmQga2V5L3ZhbHVlIHBhaXJzIHRvIG1hdGNoIHRoZSBkb2N1bWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggY2FzZSBvZiBlbmNvZGluZy1uYW1lIGFuZCBrZXkvdmFsdWUgcGFpcnMgdG8gbWF0Y2ggdGhlIGRvY3VtZW50LgoJICBUaGlzIGlzIHRvIG1ha2UgaW50ZXJvcGVyYXRpb24gd2l0aCBTRFAgY2FzZS1pbnNlbnNpdGl2ZSBhcyByZXF1aXJlZCBieQoJICB0aGUgcmVsZXZhbnQgUkZDcy4KCjIwMDctMDEtMjUgMTI6MDU6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAoZ3N0X211bHRpX2ZpbGVfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfdmlkZW9fY3JlYXRlX2J1ZmZlciksCgkgIChnc3RfbXZlX3ZpZGVvX3BhbGV0dGUpLCAoZ3N0X212ZV92aWRlb19jb2RlX21hcCksCgkgIChnc3RfbXZlX2F1ZGlvX2luaXQpLCAoZ3N0X212ZV9hdWRpb19kYXRhKSwgKGdzdF9tdmVfdGltZXJfY3JlYXRlKSwKCSAgKGdzdF9tdmVfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6IChnc3RfbXZlX211eF9wdXNoX2NodW5rKToKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzogKG12ZV9lbmNvZGVfZnJhbWUxNik6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzogKG12ZV9lbmNvZGVfZnJhbWU4KToKCSAgVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBGaXhlcyBidWlsZCBvbiBtYWMgb3MgeC4KCSAgPHdpbmdvPiBvbyBsb29rIGF0IG1lIG15IG5hbWUgaXMgZWR3YXJkIGknbSBoYWNraW5nIG9uIG1hY29zIHdvb28KCjIwMDctMDEtMjUgMTE6MDI6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZWQgLWNvcmUvLWJhc2UgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlZCAtY29yZS8tYmFzZSB0byBDVlMKCjIwMDctMDEtMjUgMTA6NTQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS4qOiBGaWxsIHVwIHRvIE1UVSB1c2luZyBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBGaWxsIHVwIHRvIE1UVSB1c2luZyBhZGFwdGVyLgoJICBUaW1lc3RhbXAgcnRwIHBhY2tldHMuCgoyMDA3LTAxLTI1IDEwOjM2OjM1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluIHByaW50IHN0YXRlbWVudHMgZm9yIHBvcnRhYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyk6CgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBwcmludCBzdGF0ZW1lbnRzIGZvciBwb3J0YWJpbGl0eS4KCSAgRml4ZXMgYnVpbGQgb24gbWFjb3N4LgoKMjAwNy0wMS0yNCAxODoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBQb3J0IGFuZCBlbmFibGUgcmF3IGF1ZGlvIHBheWxvYWRlci9kZXBheWxvYWRlci4gTmVlZHMgYSBiaXQgbW9yZSB3b3JrIG9uIHRoZSBwYXlsb2FkZXIgc2lkZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfTDE2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcGFyc2VfaW50KSwgKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX0wxNl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfTDE2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX0wxNl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9wYXlfaW5pdCksIChnc3RfcnRwX0wxNl9wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBQb3J0IGFuZCBlbmFibGUgcmF3IGF1ZGlvIHBheWxvYWRlci9kZXBheWxvYWRlci4gTmVlZHMgYSBiaXQgbW9yZSB3b3JrCgkgIG9uIHRoZSBwYXlsb2FkZXIgc2lkZS4KCjIwMDctMDEtMjQgMTY6MjU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IE9ubHkgdW5ibG9jayB0aGUgdWRwIHBhZHMgd2hlbiB3ZSBsaW5rZWQgYW5kIGFjdGl2YXRlZCB0aGVtIGFsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocGFkX2Jsb2NrZWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBPbmx5IHVuYmxvY2sgdGhlIHVkcCBwYWRzIHdoZW4gd2UgbGlua2VkIGFuZCBhY3RpdmF0ZWQgdGhlbSBhbGwuCgkgIEZpeGVzICMzOTU2ODguCgoyMDA3LTAxLTI0IDE1OjE4OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHNpbXBsZSBBQzMgZGVwYXlsb2FkZXIgKFJGQyA0MTg0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2FjM19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYWMzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2FjM19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2FjM19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfYWMzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkgIEFkZGVkIHNpbXBsZSBBQzMgZGVwYXlsb2FkZXIgKFJGQyA0MTg0KS4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICBGaXggYSBsZWFrLgoKMjAwNy0wMS0yNCAxMjo0MTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGVsZW1lbnQgImF1ZGlvYW1wbGlmeSIuIFRoaXMgYWxsb3dzIHNjYWxpbmcgb2YgcmF3IGF1ZGlvIHNhbXBsZXMsIHNpbWlsYXIgdG8gdGhlICJ2b2x1bWUiIGVsZW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsaXBwaW5nX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fYW1wbGlmeV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF9jbGlwKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfd3JhcF9uZWdhdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X3dyYXBfcG9zaXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2Zsb2F0X2NsaXApLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2Zsb2F0X3dyYXBfbmVnYXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2Zsb2F0X3dyYXBfcG9zaXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgZWxlbWVudCAiYXVkaW9hbXBsaWZ5Ii4gVGhpcyBhbGxvd3Mgc2NhbGluZyBvZiByYXcgYXVkaW8KCSAgc2FtcGxlcywgc2ltaWxhciB0byB0aGUgInZvbHVtZSIgZWxlbWVudCwgYnV0IHByb3ZpZGVzIGRpZmZlcmVudCBtb2RlcwoJICBmb3IgY2xpcHBpbmcgYW5kIGFsbG93cyB1bmxpbWl0ZWQgYW1wbGlmaWNhdGlvbi4gSXQncyBtYWlubHkgdGFyZ2V0ZWQKCSAgZm9yIGNyZWF0aXZlIHNvdW5kIGRlc2lnbiBhbmQgbm90IGFzIGEgcmVwbGFjZW1lbnQgb2YgdGhlICJ2b2x1bWUiCgkgIGVsZW1lbnQuIEZpeGVzICMzOTcxNjIKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgQWRkIGRvY3MgZm9yIGF1ZGlvYW1wbGlmeSBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6IChzZXR1cF9hbXBsaWZ5KSwKCSAgKGNsZWFudXBfYW1wbGlmeSksIChHU1RfU1RBUlRfVEVTVCksIChhbXBsaWZ5X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgZmFpcmx5IGV4dGVuc2l2ZSB1bml0IHRlc3Qgc3VpdGUgZm9yIGF1ZGlvYW1wbGlmeQoKMjAwNy0wMS0yNCAxMjoyNjo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVW5ibG9jayBwYWRzIGFmdGVyIGFkZGluZyB0aGUgcGFkcyB0byB0aGUgZWxlbWVudCBzbyB0aGF0IGF1dG9wbHVnZ2VycyBnZXQgYSBjaGFuZ2UgdG8gbGluayBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChwYWRfdW5ibG9ja2VkKSwgKHBhZF9ibG9ja2VkKToKCSAgVW5ibG9jayBwYWRzIGFmdGVyIGFkZGluZyB0aGUgcGFkcyB0byB0aGUgZWxlbWVudCBzbyB0aGF0IGF1dG9wbHVnZ2VycwoJICBnZXQgYSBjaGFuZ2UgdG8gbGluayBzb21ldGhpbmcuIFBvc3NpYmx5IGZpeGVzICMzOTU2ODguCgoyMDA3LTAxLTI0IDEyOjIyOjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBjYXBzIHdpdGggcGF5bG9hZCBudW1iZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wdl9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IGNhcHMgd2l0aCBwYXlsb2FkIG51bWJlcnMuCgkgIEFkZCBzb21lIGZpeGVkIHBheWxvYWQgbnVtYmVycyB0byBjYXBzIHdoZW4gcG9zc2libGUuCgoyMDA3LTAxLTI0IDExOjI5OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgoyMDA3LTAxLTIzIDE4OjE2OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBuZXcgYXVkaW9meCBlbGVtZW50ICJhdWRpb2ludmVydCIuIFRoaXMgZWxlbWVudCBzd2FwcyB0aGUgdXBwZXIgYW5kIGxvd2VyIGhhbGYgb2Ygc2FtcGxlcyBhbmQgY2FuIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9faW52ZXJ0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldF9jYXBzKSwgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2ludCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9mbG9hdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgQWRkIG5ldyBhdWRpb2Z4IGVsZW1lbnQgImF1ZGlvaW52ZXJ0Ii4gVGhpcyBlbGVtZW50IHN3YXBzIHRoZSB1cHBlcgoJICBhbmQgbG93ZXIgaGFsZiBvZiBzYW1wbGVzIGFuZCBjYW4gYmUgdXNlZCBmb3IgZXhhbXBsZSBmb3IgYQoJICB3aWRlLXN0ZXJlbyBlZmZlY3QuIEZpeGVzICMzOTYwNTcKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgQWRkIGRvY3MgZm9yIHRoZSBhdWRpb2ludmVydCBlbGVtZW50IGFuZCBhZGQgdGhlbSB0byB0aGUgYnVpbGQgc3lzdGVtLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6IChzZXR1cF9pbnZlcnQpLAoJICAoY2xlYW51cF9pbnZlcnQpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW52ZXJ0X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IHN1aXRlIGZvciB0aGUgYXVkaW9pbnZlcnQgZWxlbWVudC4KCjIwMDctMDEtMjMgMTc6MzY6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiBQYXJzZSBjb25maWcgcGFyYW1zIGFzIHN0cmluZyBhbmQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BhcnNlX2ludCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIFBhcnNlIGNvbmZpZyBwYXJhbXMgYXMgc3RyaW5nIGFuZCBpbnQuCgkgIFBhcnNlIGFuZCB1c2UgQVUgaGVhZGVyIGxlbmd0aAoKMjAwNy0wMS0yMyAxNzoyNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IGNvbnN0aWZ5IHNvbWUgc3RhdGljIHN0cnVjdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiAoZ3N0X3dpcGVfYm94ZXNfZHJhdyksCgkgIChnc3Rfd2lwZV90cmlhbmdsZXNfY2xvY2tfZHJhdyksIChnc3Rfd2lwZV90cmlhbmdsZXNfZHJhdyk6CgkgICogZ3N0L3NtcHRlL2dzdG1hc2suYzogKF9nc3RfbWFza19yZWdpc3Rlcik6CgkgICogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV91cGRhdGVfbWFzayk6CgkgICogZ3N0L3NtcHRlL3BhaW50LmM6IChnc3Rfc21wdGVfcGFpbnRfaGJveCksIChkcmF3X2JyZXNlbmhhbV9saW5lKSwKCSAgKGdzdF9zbXB0ZV9wYWludF90cmlhbmdsZV9jbG9jayk6CgkgIGNvbnN0aWZ5IHNvbWUgc3RhdGljIHN0cnVjdHMuCgkgIERvbid0IHVwZGF0ZSB0aGUgbWFzayBpZiBub3RoaW5nIGNoYW5nZWQgdG8gdGhlIHBhcmFtcy4KCSAgTWFrZSBzdXJlIHdlIG5ldmVyIGRyYXcgb3V0c2lkZSBvZiB0aGUgcGljdHVyZS4gRml4ZXMgIzM5ODMyNS4KCjIwMDctMDEtMjIgMTM6MDY6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEVycm9yIG91dCBwcm9wZXJseSB3aGVuIHB1bGxfcmFuZ2UgZmFpbHMgd2hpbGUgd2UncmUgcmVhZGluZyB0aGUgaGVhZGVycywgaW5zdGVhZCBvZiBqdXN0IHBhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICBFcnJvciBvdXQgcHJvcGVybHkgd2hlbiBwdWxsX3JhbmdlIGZhaWxzIHdoaWxlIHdlJ3JlIHJlYWRpbmcgdGhlCgkgIGhlYWRlcnMsIGluc3RlYWQgb2YganVzdCBwYXVzaW5nIHRoZSB0YXNrIHNpbGVudGx5LiBGaXhlcyAjMzk5MzM4LgoKMjAwNy0wMS0xOSAxMzowNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBTb21lIG1vcmUgc2FuaXR5IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIGlucHV0IGZvcm1hdHMgbWF0Y2ggYW5kIHRoZSBpbnB1dCBwYWRzIGFyZSBhY3R1YWxseSBuZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICBTb21lIG1vcmUgc2FuaXR5IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIGlucHV0IGZvcm1hdHMgbWF0Y2ggYW5kIHRoZQoJICBpbnB1dCBwYWRzIGFyZSBhY3R1YWxseSBuZWdvdGlhdGVkLCBpbiBjYXNlIHNvbWVvbmUgdHJpZXMgdG8gZmVlZAoJICBidWZmZXJzIGZyb20gZmFrZXNyYyBvciBmaWxlc3JjLiBGaXhlcyAjMzk4Mjk5LgoJICBBbHNvIGNvbnN0LWlmeSBhbiBhcnJheSwganVzdCBiZWNhdXNlIHdlIGNhbi4KCjIwMDctMDEtMTkgMTA6MzU6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogSWdub3JlIHByZXZpb3VzIGNvbW1pdCwgdGhhdCB3YXMgb25seSB2YWxpZCBmb3Igd2lkdGhzIGFuZCBoZWlnaHRzIHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGZpbGxfaTQyMCksIChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgSWdub3JlIHByZXZpb3VzIGNvbW1pdCwgdGhhdCB3YXMgb25seSB2YWxpZCBmb3Igd2lkdGhzIGFuZCBoZWlnaHRzCgkgIHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0LgoJICBDb3B5IG92ZXIgc2l6ZS9zdHJpZGUgbWFjcm9zIGZyb20ganBlZ2RlYy4gVGhpcyBhbGxvd3MgdGhlIGVsZW1lbnQKCSAgdG8gd29yayB3aXRoIGFueSB3aWR0aCxoZWlnaHQuLi4KCSAgLi4uIGJ1dCBwdXRzIGluIGV2aWRlbmNlIHRoYXQgdGhlIGFjdHVhbCB0cmFuc2Zvcm1hdGlvbnMgb25seSB3b3JrCgkgIHdpdGggd2lkdGgvaGVpZ2h0IHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0LgoKMjAwNy0wMS0xOSAwOTo0ODo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBBbGxvY2F0ZSBidWZmZXJzIG9mIHRoZSByaWdodCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICBBbGxvY2F0ZSBidWZmZXJzIG9mIHRoZSByaWdodCBzaXplLgoJICBUaGUgcHJvcGVyIHNpemUgb2YgYSBJNDIwIGJ1ZmZlciBpbiBieXRlcyBpczoKCSAgd2lkdGggKiBoZWlnaHQgKiAzCgkgIC0tLS0tLS0tLS0tLS0tLS0tLQoJICAyCgoyMDA3LTAxLTE4IDE4OjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IFByb3h5IGdldGNhcHMgb24gc2luayBwYWRzIHRvbywgc28gdGhhdCB3ZSBlaXRoZXIgZW5kIHVwIHdpdGggdGhlIHNhbWUgZGltZW5zaW9ucyBvbiBhbGwgcGFkcyBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICBQcm94eSBnZXRjYXBzIG9uIHNpbmsgcGFkcyB0b28sIHNvIHRoYXQgd2UgZWl0aGVyIGVuZCB1cCB3aXRoIHRoZQoJICBzYW1lIGRpbWVuc2lvbnMgb24gYWxsIHBhZHMgb3IgZXJyb3Igb3V0IGlmIHRoYXQncyBub3QgcG9zc2libGUKCSAgKHNlZW1zIHRvIHdvcmsgZXZlbiEpLiBGaXhlcyAjMzk4MDg2LCBJIHRoaW5rLgoKMjAwNy0wMS0xOCAxMToyOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBsYWRzcGEgZnJvbSBkb2NzOyBhZGQgaGllcmFyY2h5IGluZm8gZm9yIEdzdEF1ZGlvUGFub3JhbWE7IGZpeCBpbnRlZ2VyIHByb3BlcnRpZXMgd2l0aCAtMSBhcyBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFJlbW92ZSBsYWRzcGEgZnJvbSBkb2NzOyBhZGQgaGllcmFyY2h5IGluZm8gZm9yIEdzdEF1ZGlvUGFub3JhbWE7CgkgIGZpeCBpbnRlZ2VyIHByb3BlcnRpZXMgd2l0aCAtMSBhcyBtaW5pbXVtIHZhbHVlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgdG8gQ1ZTLgoKMjAwNy0wMS0xOCAxMToyMzozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiBGaXggZG9jIHNlY3Rpb24gbmFtZSAoRml4ZXMgIzM5Nzk0NikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBGaXggZG9jIHNlY3Rpb24gbmFtZSAoRml4ZXMgIzM5Nzk0NikKCjIwMDctMDEtMTggMTA6MzM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCjIwMDctMDEtMTcgMTQ6MzA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IEVJTyBoYW5kaW5nIHdoZW4gY2FwdHVyaW5nLiBBZGQgbmV3IHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBidWZmZXJzIHRvIGVucXVlIChhbmQgcmVtb3ZlIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KToKCSAgRml4IEVJTyBoYW5kaW5nIHdoZW4gY2FwdHVyaW5nLiBBZGQgbmV3IHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZgoJICBidWZmZXJzIHRvIGVucXVlIChhbmQgcmVtb3ZlIHRoZSBib3JrZWQgbnVtLWJ1ZmZlcnMgdXNhZ2UpLgoKMjAwNy0wMS0xNiAwODoyOToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiBVc2UgYSBmdW5jdGlvbiBhcnJheSBmb3IgcHJvY2VzcyBtZXRob2RzLCBhZGQgbW9yZSBkb2NzIGFuZCBkZWZpbmUgdGhlIHN0YXJ0aW5kZXggb2YgZW51bXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvY2Vzc19mdW5jdGlvbik6CgkgIFVzZSBhIGZ1bmN0aW9uIGFycmF5IGZvciBwcm9jZXNzIG1ldGhvZHMsIGFkZCBtb3JlIGRvY3MgYW5kIGRlZmluZSB0aGUKCSAgc3RhcnRpbmRleCBvZiBlbnVtcy4KCjIwMDctMDEtMTQgMTc6NTU6MzMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBhdWRpbyBzdHJlYW07IHdyaXRlIGJldHRlciBBVklYIGhlYWRlcjsgcmVmYWN0b3IgY29kZSBhIGJpdDsgZG9uJ3QgYW5ub3VuY2Ugdm9yYmlzIGNhcHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX211eF9wYWRfcmVzZXQpLCAoZ3N0X2F2aV9tdXhfcmVzZXQpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9hdmlfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwKCSAgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksCgkgIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLCAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9hdmlfbXV4X2RvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHRlYXJkb3duX3NyY19wYWQpOgoJICBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBhdWRpbyBzdHJlYW07IHdyaXRlIGJldHRlciBBVklYCgkgIGhlYWRlcjsgcmVmYWN0b3IgY29kZSBhIGJpdDsgZG9uJ3QgYW5ub3VuY2Ugdm9yYmlzIGNhcHMgb24gb3VyIGF1ZGlvCgkgIHNpbmsgcGFkcyBzaW5jZSB3ZSBkb24ndCBzdXBwb3J0IGl0IGFueXdheS4gQ2xvc2VzICMzNzkyOTguCgoyMDA3LTAxLTEzIDE5OjEyOjMyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOiBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKToKCSAgVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKTogUmVtb3ZlIHNyYyBwYWRzLCBub3Qgc2luayBwYWRzLiBJCgkgIHNlZW0gdG8gaGF2ZSByZXZlcnNlIG1pZGFzIGRpc2Vhc2UhCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOiBQcm94eSB0aW1lc3RhbXBzLCBvZmZzZXRzLCBkdXJhdGlvbnMsCgkgIGFuZCBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLiBGaXhlcyAjMzk1NTk3LCBJIHRoaW5rLgoKMjAwNy0wMS0xMyAxODowMTo0MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZQoJICBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfc2V0Y2FwcywgZ3N0X2ludGVybGVhdmVfc3JjX2dldGNhcHMpCgkgIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogU2V0IGEgc2V0Y2FwcyBhbmQgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUKCSAgc3JjIHBhZCwgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IHB1bGwtbW9kZSBuZWdvdGlhdGlvbi4KCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6IFJlbmFtZWQgZnJvbQoJICBnc3RfaW50ZXJsZWF2ZV9zZXRjYXBzLCBhcyBpdCBvbmx5IGRvZXMgdGhlIHNpbmsgbG9naWMgbm93LgoJICBJbXBsZW1lbnQgYm90aCBmb3IgcHVsbC1tb2RlIGFuZCBwdXNoLW1vZGUuCgkgIChnc3RfaW50ZXJsZWF2ZV9wcm9jZXNzKTogU2V0IGNhcHMgb24gb3VyIG91dGdvaW5nIGJ1ZmZlci4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19hY3RpdmF0ZV9wdWxsKTogRml4IHNvbWUgbW9yZSBib2d1cyBjYXN0cy4KCSAgV2hhdCBpcyB1cCB3aXRoIHRoaXMuCgoyMDA3LTAxLTEzIDE1OjUyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLio6IEFkZCAnbWV0aG9kJyBwcm9wZXJ0eSBhbmQgcHJvdmlkZSBhIHNpbXBsZSAobm9uLXBzeWNob2FjdXN0aWMpIHByb2Nlc3NpbmcgbWV0aG9kICgjMzk0ODU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludF9zaW1wbGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0X3NpbXBsZSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBBZGQgJ21ldGhvZCcgcHJvcGVydHkgYW5kIHByb3ZpZGUgYSBzaW1wbGUgKG5vbi1wc3ljaG9hY3VzdGljKQoJICBwcm9jZXNzaW5nIG1ldGhvZCAoIzM5NDg1OSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFub3JhbWFfc3VpdGUpOgoJICBUZXN0cyBmb3IgbmV3IG1ldGhvZC4KCjIwMDctMDEtMTIgMTg6Mjg6MTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgY29tbWVudCBvdXQgTEFEU1BBIHBsdWdpbiBmb3Igbm93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCBMQURTUEEgcGx1Z2luIGZvciBub3cKCjIwMDctMDEtMTIgMTc6MTY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9xdWlja3RpbWVfcGFyc2Vfc2QpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3hxdF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgTWFrZSBuZXcgcGx1Z2luIGVudHJ5IHBvaW50IHdpdGggcXVpY2t0aW1lIHJlbGVhdGVkIHN0dWZmLgoKMjAwNy0wMS0xMiAxMjoxMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICBEaXN0IGFsbCBuZXcgZmlsZXMuCgoyMDA3LTAxLTEyIDEwOjI3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgoyMDA3LTAxLTEyIDEwOjIyOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X25vZGVfZHVtcCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6IChxdGRlbXV4X3R5cGVfZ2V0KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgIENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgTW92ZSBkZWJ1Z2dpbmcvdGFibGVzIGludG8gc2VwYXJhdGUgZmlsZXMuCgkgIEFkZCAyLzQvMTYgY29sb3IgcGFsbGV0ZWUgc3VwcG9ydC4KCSAgRml4IHJhdyAxNSBiaXQgUkdCIGhhbmRsaW5nLgoJICBVc2UgbW9yZSBGT1VSQ0MgY29uc3RhbnRzLgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wMS0xMSAxOTo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSk6CgkgIE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCjIwMDctMDEtMTEgMTY6NTk6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBTZXQgY29ycmVjdCBjYXBzIG9uIG91dGdvaW5nIHB1bGxlZCBidWZmZXJzLCBvciB0aGluZ3MgYmxvdyB1cCBhZnRlciByZWNlbnQgY29yZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBTZXQgY29ycmVjdCBjYXBzIG9uIG91dGdvaW5nIHB1bGxlZCBidWZmZXJzLCBvciB0aGluZ3MgYmxvdyB1cAoJICBhZnRlciByZWNlbnQgY29yZSBjaGFuZ2VzLgoKMjAwNy0wMS0xMSAxMTowNTowNCArMDAwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzLmhvbG1iZXJnQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogUmV0dXJuIEZMT1cgZXJyb3JzIEFTQVAuIEZpeGVzICMzOTQ5NzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSm9uYXMgSG9sbWJlcmcgPGpvbmFzIGRvdCBob2xtYmVyZyBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIFJldHVybiBGTE9XIGVycm9ycyBBU0FQLiBGaXhlcyAjMzk0OTc3LgoJICBNaXNjIGNsZWFudXBzLgoKMjAwNy0wMS0xMSAwOTozMDo1OSArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDaGVjayBmb3Igc3RyZWFtIHBhZCBiZWZvcmUgYWN0aXZhdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICBDaGVjayBmb3Igc3RyZWFtIHBhZCBiZWZvcmUgYWN0aXZhdGluZy4KCjIwMDctMDEtMTAgMTU6MTk6NDggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBBbGxvdyB1cmwgdG8gYmUgTlVMTCB0byBiZSBhYmxlIHRvIHVzZSBpdCBmb3Igc2VydmVyIGNvbm5lY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9DT1BZSU5HLk1JVDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKGdzdF9ydHNwc3JjX2NsZWFudXApLAoJICAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKSwgKHBhZF91bmJsb2NrZWQpLCAocGFkX2Jsb2NrZWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJlYWRfbGluZSksCgkgIChwYXJzZV9yZXF1ZXN0X2xpbmUpLCAocGFyc2VfbGluZSksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX2luaXRfc3RhdHVzKSwgKHJ0c3Bfc3RycmVzdWx0KSwKCSAgKHJ0c3BfbWV0aG9kX2FzX3RleHQpLCAocnRzcF9oZWFkZXJfYXNfdGV4dCksCgkgIChydHNwX3N0YXR1c19hc190ZXh0KSwgKHJ0c3BfZmluZF9oZWFkZXJfZmllbGQpLAoJICAocnRzcF9maW5kX21ldGhvZCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCksCgkgIChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXcpLCAocnRzcF9tZXNzYWdlX2luaXQpLAoJICAocnRzcF9tZXNzYWdlX25ld19yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLAoJICAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwgKHJ0c3BfbWVzc2FnZV91bnNldCksCgkgIChydHNwX21lc3NhZ2VfZnJlZSksIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksIChydHNwX21lc3NhZ2Vfc2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX2dldF9ib2R5KSwgKGR1bXBfbWVtKSwgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZXNzYWdlX2dldF9hdHRyaWJ1dGVfdmFsX24pLAoJICAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGVfdmFsX24pLCAocmVhZF9zdHJpbmcpLCAocmVhZF9zdHJpbmdfZGVsKSwKCSAgKHNkcF9wYXJzZV9saW5lKSwgKHNkcF9tZXNzYWdlX3BhcnNlX2J1ZmZlciksIChwcmludF9tZWRpYSksCgkgIChzZHBfbWVzc2FnZV9kdW1wKToKCSAgQWxsb3cgdXJsIHRvIGJlIE5VTEwgdG8gYmUgYWJsZSB0byB1c2UgaXQgZm9yIHNlcnZlciBjb25uZWN0aW9ucy4KCSAgQ2FuIG5vdyBzZW5kIHJlc3BvbnNlcyBhcyB3ZWxsIGFzIHJlcXVlc3RzLgoJICBObyBsb25nZXIgaGFuZ3MgaW4gYW4gZW5kbGVzcyBsb29wIGlmIEVPRiBpcyByZWNlaXZlZC4KCSAgQ2FuIG5vdyBjb252ZXJ0IGEgc3RhdHVzIGNvZGUgdG8gYSB0ZXh0IHN0cmluZy4KCSAgUmV0dXJuIFJUU1BfSERSX0lOVkFMSUQgZm9yIHVua25vd24gaGVhZGVycy4KCSAgUmV0dXJuIFJUU1BfSU5WQUxJRCBmb3IgdW5rbm93biBtZXRob2RzLgoJICBDb3B5IENTZXEgYW5kIFNlc3Npb24gaGVhZGVycyBmcm9tIHRoZSByZXF1ZXN0LgoJICBPbmx5IGZyZWUgbWVtb3J5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGN1cnJlbnRseSBzZXQgbWVzc2FnZSB0eXBlLgoJICBBZGRlZCBjb25zdCB0byBmdW5jdGlvbiBhcmd1bWVudHMgYXMgYXBwcm9wcmlhdGUuCgkgIEF2b2lkIGEgY29tcGlsZXIgd2FybmluZyB3aGVuIGluaXRpYWxpemluZyBubWVkaWEuCgkgIFVzZSBndWludCByYXRoZXIgdGhhbiBnaW50IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBGaXggY3Jhc2hlciBpbiB3bXMgZXh0ZW5zaW9uLgoJICBGYWN0b3Igb3V0IHN0cmVhbSBzZXR1cCBmcm9tIG9wZW5fY29ubmVjdGlvbi4KCSAgRGVsYXkgYWN0aXZhdGlvbiBvZiBzdHJlYW1zIHdoZW4gYWN0dWFsIGRhdGEgaXMgcmVjZWl2ZWQgZnJvbSB0aGUKCSAgc2VydmVyLCB0aGlzIHByZXBhcmVzIHVzIHRvIGRvIHByb3BlciBwcm90b2NvbCBzd2l0Y2hpbmcuCgkgIEFkZGVkIG5ldyBsaWNlbnNlLgoJICBGaXhlcyAjMzgwODk1LgoKMjAwNy0wMS0xMCAwOTo0Nzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgU29tZSBzbWFsbCBkb2NzIGZpeGVzICgjMzk0ODUxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyB1YnVudHUgY29tPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIFNvbWUgc21hbGwgZG9jcyBmaXhlcyAoIzM5NDg1MSkuCgoyMDA3LTAxLTA5IDEyOjI1OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggZG9jcy4KCjIwMDctMDEtMDkgMTI6MjM6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgUkZDIDIyNTAgTVBFRyBWaWRlbyBEZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXB2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX21wdl9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfbXB2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkgIEFkZGVkIFJGQyAyMjUwIE1QRUcgVmlkZW8gRGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBIZWFkZXIgZmlsZS4gU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDR2X2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBSZW1vdmUgdXN1c2VkIGNvZGUuIFJlbW92ZSBBZGFwdGVyIGZyb20gc3RhdGUgQ2hhbmdlLiBBZGRlZCBkZWJ1Zy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wYV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICBTdWJjbGFzcyBiYXNlIGRlcGF5bG9hZGVyLgoJICBBZGRlZCBkZWJ1Zy4KCSAgU3VwcG9ydCBzdGF0aWMgcGF5bG9hZCB0eXBlIGFzc2lnbm1lbnQgYXMgd2VsbC4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBGaXggY2Fwcy4KCjIwMDctMDEtMDggMTI6NDU6MTAgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBleHQvanBlZy86IFRoZXNlIGxpYmpwZWcgY2FsbGJhY2tzIHNob3VsZCByZXR1cm4gYSAnYm9vbGVhbicgKHVuc2lnbmVkIGNoYXIgYXBwYXJlbnRseSkgYW5kIG5vdCBhICdnYm9vbGVhbicgKHdoaWNoIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgVGhlc2UgbGlianBlZyBjYWxsYmFja3Mgc2hvdWxkIHJldHVybiBhICdib29sZWFuJyAodW5zaWduZWQgY2hhcgoJICBhcHBhcmVudGx5KSBhbmQgbm90IGEgJ2dib29sZWFuJyAod2hpY2ggbWFwcyB0byBnaW50KS4gRml4ZXMKCSAgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzM5MzQyNykuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgVXNlIGlvY3Rsc29ja2V0IG9uIHdpbjMyLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFNvbWUgcHJpbnRmIGZvcm1hdCBmaXhlcyBmb3Igd2luMzIuCgoyMDA3LTAxLTA3IDIyOjAzOjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQKCSAgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBUaGUgaW50ZXJsZWF2ZXIgY2FuIG9wZXJhdGUgaW4gcHVsbCBvciBwdXNoIG1vZGUgYnV0IHRoZQoJICBkZWludGVybGVhdmVyIGlzIG1vcmUgbGlrZSBhIGRlbXV4ZXIgYW5kIGNhbiBvbmx5IG9wZXJhdGUgaW4gcHVzaAoJICBtb2RlLgoKMjAwNy0wMS0wNyAxMDo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgQWRkIHpsaWIgdG8gdGhlIGxpbmsuCgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSAgVXBkYXRlIGxpYm9pbCBsaWJyYXJ5IG5hbWUgKHByb2plY3QgaXMgbGlua2VkIHRvIGxpYm9pbC0wLjMtMC5saWIgbm93KS4KCjIwMDctMDEtMDUgMTg6MzI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdik6CgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIKCSAgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS1leHRlcm5hbCBoYXMKCSAgYmVlbiBzcGVjaWZpZWQhKSwgZGlzYWJsZSB0aGUgYml0cyBpbiBxdGRlbXV4IHRoYXQgdXNlIGl0LiBGaXhlcwoJICBidWlsZCBvbiBNaW5nVyAoIzM5Mjg1NikuCgoyMDA3LTAxLTA1IDE3OjIzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOiBJZiB6bGliIGlzIGF2YWlsYWJsZSBhbmQgdXNlZCwgd2UgbXVzdCBsaW5rIGl0IGV4cGxpY2l0bHkgZm9yIHRoaW5ncyB0byB3b3JrIG9uIE1pbmdXIChmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgSWYgemxpYiBpcyBhdmFpbGFibGUgYW5kIHVzZWQsIHdlIG11c3QgbGluayBpdCBleHBsaWNpdGx5IGZvcgoJICB0aGluZ3MgdG8gd29yayBvbiBNaW5nVyAoZml4ZXMgIzM5Mjg1NSkuCgoyMDA3LTAxLTA1IDE2OjA3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzCgkgIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlYWR5IGJlZW4gaW5pdGVkIHZpYSB0aGUgR09wdGlvbiBzdHVmZi4KCjIwMDctMDEtMDQgMTE6MDI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogRG9uJ3QgcmV0dXJuIGJvZ3VzIHZhbHVlcyB3aGVuIGVzZF9nZXRfZGVsYXkoKSBmYWlscyBmb3Igc29tZSByZWFzb24gKCMzOTIxODkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgRG9uJ3QgcmV0dXJuIGJvZ3VzIHZhbHVlcyB3aGVuIGVzZF9nZXRfZGVsYXkoKSBmYWlscyBmb3Igc29tZQoJICByZWFzb24gKCMzOTIxODkpLgoKMjAwNy0wMS0wNCAwOTo0NDo1NyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfcmVzZXQpOgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTI2MzgpLiBBbHNvIHNpbXBsaWZ5IERpcmVjdERyYXcgY2hlY2sgYSBiaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IENWUyBpZ25vcmUgZm9yIG5lb25odHRwc3JjIHRlc3QgYmluYXJ5LgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNy0wMS0wMyAxNjo0MToxMCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoaWlyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfaGVhZGVyX2xvYWQpLAoJICAoZ3N0X251dl9kZW11eF9zdHJlYW1fZXh0ZW5kX2hlYWRlcik6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYQoJICBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCjIwMDYtMTItMzAgMTI6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UgZGV0YWlsaW5nIHdoaWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZQoJICBkZXRhaWxpbmcgd2hpY2ggZWxlbWVudCBpdCBhY3R1YWxseSBpcyB0aGF0J3MgbWlzc2luZyAoIzM5MDY3MykuCgoyMDA2LTEyLTI0IDExOjM2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IHByZXN1bWFibHkgY29weSduJ3Bhc3RvIGZvciAxNmJwcCBkZXB0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCk6CgkgIEZpeCBwcmVzdW1hYmx5IGNvcHknbidwYXN0byBmb3IgMTZicHAgZGVwdGguCgoyMDA2LTEyLTI0IDExOjI0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBUaGUgInNpZ25lZCIgZmllbGQgaW4gYXVkaW8gY2FwcyBpcyBvZiBib29sZWFuIHR5cGUsIHRyeWluZyB0byB1c2UgZ3N0X3N0cnVjdHVyZV9nZXRfaW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBUaGUgInNpZ25lZCIgZmllbGQgaW4gYXVkaW8gY2FwcyBpcyBvZiBib29sZWFuIHR5cGUsIHRyeWluZyB0byB1c2UKCSAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50KCkgdG8gZXh0cmFjdCBpdCB3aWxsIGZhaWwuIEZpeGluZyB0aGlzIG1ha2VzCgkgIG1hdHJvc2thbXV4IGFjY2VwdCByYXcgYXVkaW8gaW5wdXQgKCMzODcxMjEpICh1c2UgYXQgeW91ciBvd24gcmlzawoJICB0aG91Z2gsIGR1ZSB0byB0aGUgbWF0cm9za2Egc3BlYyBiZWluZyBub3QgZW50aXJlbHkgdXNlZnVsIGluIHRoaXMKCSAgcmVzcGVjdCkuCgkgIEFsc28gZml4IHVwIHJhdyBhdWRpbyBzdHJ1Y3R1cmVzIGluIHRlbXBsYXRlIGNhcHMgc28gdGhhdCB0aGV5CgkgIHJlcHJlc2VudCB3aGF0IG91ciBzZXRjYXBzIGZ1bmN0aW9uIHdpbGwgYWN0dWFsbHkgYWNjZXB0LCBzbyB0aGF0CgkgIGNvbnZlcnRlcnMga25vdyB3aGF0IHRvIGNvbnZlcnQgdG8uCgkgIEZpbmFsbHksIGRvbid0IGZhaWwgaWYgdGhlcmUgaXNuJ3QgYW4gImVuZGlhbm5lc3MiIGZpZWxkIGluIDgtYml0CgkgIFBDTSBjYXBzLgoKMjAwNi0xMi0yMiAxMDoxNToyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIyIDEwOjE1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMTc6MDM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgMC4xMC41IGRvYXAgZW50cnkKCj09PSByZWxlYXNlIDAuMTAuNCA9PT0KCjIwMDYtMTItMjEgMTU6NDU6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNCA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCj09PSByZWxlYXNlIDAuMTAuNSA9PT0KCjIwMDYtMTItMjEgMTU6NDA6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC41LCAiVGhlIFBhdGggb2YgVGhvcm5zIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC41ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjUsICJUaGUgUGF0aCBvZiBUaG9ybnMiCgoyMDA2LTEyLTIxIDE0OjAzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMTI6NDg6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAwODoyMDoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMDg6MTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTE4IDE3OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtCgkgIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0YTsgaW5zdGVhZCwgcG9zdCAicHJvZ3Jlc3MiIGVsZW1lbnQKCSAgbWVzc2FnZXMgYXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24uIEFwcHMgbWlnaHQgZ2V0IGNvbmZ1c2VkIGFuZCBkbwoJICBzaWxseSB0aGluZ3MgdG8gdGhlIHBpcGVsaW5lIHN0YXRlIGlmIHRoZXkgc2VlIGJ1ZmZlcmluZyBtZXNzYWdlcwoJICBmcm9tIGRpZmZlcmVudCBzb3VyY2VzIGFuZCBkb24ndCByZWFsaXplIHRoZXkgY29tZSBmcm9tIGRpZmZlcmVudAoJICBzb3VyY2VzICgjMzg3MTYwKS4KCjIwMDYtMTItMTggMTY6NDY6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRGlzYWJsZSBMQURQU0EsIGFzIGl0IGhhcyBtb3ZlZCB0byB0aGUgLWJhZCBtb2R1bGUgZm9yIHRoZSBkdXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBMQURQU0EsIGFzIGl0IGhhcyBtb3ZlZCB0byB0aGUgLWJhZCBtb2R1bGUgZm9yIHRoZSBkdXJhdGlvbi4KCjIwMDYtMTItMTggMTU6NTE6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyIGVycm9yIHN0YXRlIGFmdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOgoJICBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyCgkgIGVycm9yIHN0YXRlIGFmdGVyIHRoZSBmbHVzaC4gRml4ZXMgIzM3NDIxMwoKMjAwNi0xMi0xOCAxNTo0OTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSBvbiBvbmUgb2YgU3RlZmFuJ3MgY29tbWl0cyBmcm9tIEF1Z3VzdDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IG9uIG9uZSBvZiBTdGVmYW4ncyBjb21taXRzIGZyb20gQXVndXN0OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUXVpZXRseSAoYWNjaWRlbnRhbGx5KSBlbmFibGUgTEFEU1BBIGZvciBidWlsZGluZyBieSBkZWZhdWx0LAoJICBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgaXQgZG9lc24ndCBtZWV0IHRoZSBwbHVnaW4gY2hlY2tsaXN0LgoJICAtLSBBZGRlZCBieSBKYW4gU2NobWlkdCAxOCBEZWMgMjAwNgoKMjAwNi0xMi0xOCAxMzo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgR1NUX0VMRU1FTlRfV0FSTklORyBhbmQgZG9uJ3QgYWRkIHRoZSBwYWQuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSBpdCBkb2Vzbid0IGNoZWNrIGZvciBhIE5VTEwgcGFkIGluIHN0cmVhbWluZyBtb2RlLgoJICBGaXhlcyAjMzg3MTM3CgoyMDA2LTEyLTE4IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgRml4ZXMgIzM4NzEyMi4KCjIwMDYtMTItMTggMTA6MDI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6IFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjayBpbnN0YWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sKCSAgaW5zdGFsbHMuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgRml4ZXM6ICMzODcwNzYKCjIwMDYtMTItMTcgMTk6NDI6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTE3IDA2OjExOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRGVjZW50IGVmZm9ydCBhdCBwb3J0aW5nIHRvIDAuMTAuICBOZWVkcyBjbGVhbnVwIG9uIE9TL1guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERlY2VudCBlZmZvcnQgYXQgcG9ydGluZyB0byAwLjEwLiAgTmVlZHMgY2xlYW51cCBvbiBPUy9YLgoKMjAwNi0xMi0xNyAwNTowNzowNyArMDAwMCAgVmlqYXkgU2FudGhhbmFtIDx2aWpheUBzYW50aGFuYW0uZ21haWwuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogUHJlbGltaW5hcnkgcGF0Y2ggZm9yIHBvcnRpbmcgb3N4dmlkZW9zaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlqYXkgU2FudGhhbmFtIDx2aWpheSBzYW50aGFuYW0gZ21haWwgY29tPgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQcmVsaW1pbmFyeSBwYXRjaCBmb3IgcG9ydGluZyBvc3h2aWRlb3NpbmsKCjIwMDYtMTItMTYgMTY6MjE6MjYgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSW50cm9kdWNlIHNvbWUgbG9ja2luZyBhcm91bmQgdGhlIHZpZGVvbWl4ZXIgc3RhdGUgc28gdGhhdCBpdCBkb2VzIG5vdCBjcmFzaCB3aGVuIGFkZGluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKSwKCSAgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwgKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmluYWxpemUpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBJbnRyb2R1Y2Ugc29tZSBsb2NraW5nIGFyb3VuZCB0aGUgdmlkZW9taXhlciBzdGF0ZSBzbyB0aGF0IGl0IGRvZXMgbm90CgkgIGNyYXNoIHdoZW4gYWRkaW5nL3JlbW92aW5nIHBhZHMuIEZpeGVzICMzODMwNDMuCgoyMDA2LTEyLTE2IDE1OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIEltcGxlbWVudCBzZWVraW5nIHF1ZXJ5IHNvIGFwcHMgY2FuIHF1ZXJ5IHNlZWthYmlsaXR5IHByb3Blcmx5CgkgIChzZWUgIzM2NTQxNCkuIEZpeCBkdXJhdGlvbiBxdWVyeS4KCjIwMDYtMTItMTYgMTE6NDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE1ha2Ugc3VyZSBsaWJjYWNhIGNhbiBhY3R1YWxseSBiZSB1c2VkIGluc3RlYWQgb2YganVzdCBjaGVja2luZyBmb3IgL3Vzci9iaW4vY2FjYS1jb25maWcsIHNvIHdlIGRvbid0IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIHN1cmUgbGliY2FjYSBjYW4gYWN0dWFsbHkgYmUgdXNlZCBpbnN0ZWFkIG9mIGp1c3QgY2hlY2tpbmcgZm9yCgkgIC91c3IvYmluL2NhY2EtY29uZmlnLCBzbyB3ZSBkb24ndCB3cm9uZ2x5IHRyeSB0byBidWlsZCBjYWNhc2luayB3aGVuCgkgIGNyb3NzLWNvbXBpbGluZyAoZml4ZXMgIzM4NDU4NykuCgoyMDA2LTEyLTE1IDEwOjU0OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkaW5nIGRvYXAgZmlsZQoKMjAwNi0xMi0xNCAxNjoyMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogbGliZmxhYy0xLjEuMyBjaGFuZ2VkIEFQSSBhZ2FpbiwgYnV0IHdlIGNhbid0IGJ1aWxkIGFnYWluc3QgaXQgeWV0LCBzbyBtYWtlIHN1cmUgb3VyIGNoZWNrIGRvZXNuJ3QgdXNlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGxpYmZsYWMtMS4xLjMgY2hhbmdlZCBBUEkgYWdhaW4sIGJ1dCB3ZSBjYW4ndCBidWlsZCBhZ2FpbnN0IGl0IHlldCwKCSAgc28gbWFrZSBzdXJlIG91ciBjaGVjayBkb2Vzbid0IHVzZSBsaWJmbGFjLTEuMS4zIGFuZCBhZGQgYSBjb21tZW50CgkgIHRvIHRoaXMgZWZmZWN0LgoKMjAwNi0xMi0xNCAxNDoyNToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IEFkZCBzb21lIE5VTEwgcG9pbnRlciBjaGVja3MgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gIzM4NTYyMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfcGxhbmV0YWJsZV9jbGVhcik6CgkgIEFkZCBzb21lIE5VTEwgcG9pbnRlciBjaGVja3MgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gIzM4NTYyMykuCgoyMDA2LTEyLTEzIDE3OjEyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDYtMTItMTIgMTg6NDU6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJbiBzdHJlYW1pbmcgbW9kZSwgaWYgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBnZXQgZG9lc24ndCBoYXZlIGFuIG9mZnNldCwgZml4IGl0IHVwIHRvIGJlIDAsIG90aGVyd2lzZSB0cmltbWluZyB3b24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbl9wYXJzZV90YWcpLAoJICAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBJbiBzdHJlYW1pbmcgbW9kZSwgaWYgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBnZXQgZG9lc24ndCBoYXZlIGFuCgkgIG9mZnNldCwgZml4IGl0IHVwIHRvIGJlIDAsIG90aGVyd2lzZSB0cmltbWluZyB3b24ndCB3b3JrIGxhdGVyIG9uCgkgIGFuZCB3ZSdsbCBiZSB0eXBlZmluZGluZyBhcHBsaWNhdGlvbi94LWlkMywgd2hpY2ggbWF5IHJlc3VsdCBpbgoJICBkZWNvZGViaW4gcGx1Z2dpbmcgYW4gZW5kbGVzcyBudW1iZXIgb2YgaWQzZGVtdXggZWxlbWVudHMgYXMgYQoJICBjb25zZXF1ZW5jZS4gRml4ZXMgIzM4NTAzMS4KCjIwMDYtMTItMTEgMjE6MjE6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiBJZ25vcmUgdGhlIGJ1ZmZlcl90aW1lIHRoZSBzb3VuZCBkZXZpY2UgcmVwb3J0cy4gVHVybnMgb3V0IGl0IGlzIHNvbWV0aW1lcyBjb21wbGV0ZWx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSk6CgkgIElnbm9yZSB0aGUgYnVmZmVyX3RpbWUgdGhlIHNvdW5kIGRldmljZSByZXBvcnRzLiBUdXJucyBvdXQgaXQgaXMKCSAgc29tZXRpbWVzIGNvbXBsZXRlbHkgYm9ndXMgYW5kIHdlJ3JlIGJldHRlciBvZmYgd2l0aG91dCBpdC4KCjIwMDYtMTItMTEgMTc6MzM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UKCSAgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcyAjMzc4NjEzLgoKMjAwNi0xMi0xMSAxMzo1OTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0aGUgZnJhbWVyYXRlIGZvciB2aWRlbyB0cmFja3MgY29ycmVjdGx5IGFuZCBzYXZlIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgY29udmVydC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0aGUgZnJhbWVyYXRlIGZvciB2aWRlbyB0cmFja3MgY29ycmVjdGx5IGFuZAoJICBzYXZlIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgY29udmVydGluZyBpdCBiYWNrIGFuZCBmb3J0aCBhIGZldwoJICB0aW1lcy4gTW9zdGx5IG1ha2VzIGEgZGlmZmVyZW5jZSBmb3IgdmVyeSBzbWFsbCBmcmFtZXJhdGVzICg8MSkuCgkgIEZpeGVzICMzODAxOTkuCgoyMDA2LTEyLTExIDExOjQxOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuKjogUmVtb3ZlIGdjb25mIG5vdGlmeSBob29rIHdoZW4gdGhlIGdjb25mYXVkaW9zcmMgZWxlbWVudCBpcyBkZXN0cm95ZWQsIG90aGVyd2lzZSB0aGUgY2FsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICBSZW1vdmUgZ2NvbmYgbm90aWZ5IGhvb2sgd2hlbiB0aGUgZ2NvbmZhdWRpb3NyYyBlbGVtZW50IGlzCgkgIGRlc3Ryb3llZCwgb3RoZXJ3aXNlIHRoZSBjYWxsYmFjayBtYXkgYmUgY2FsbGVkIG9uIGFuCgkgIGFscmVhZHktZGVzdHJveWVkIGluc3RhbmNlIGFuZCBiYWQgdGhpbmdzIGhhcHBlbi4gU2hvdWxkIGZpeAoJICAjMzc4MTg0LgoJICBBbHNvIGlnbm9yZSBnY29uZiBrZXkgY2hhbmdlcyB3aGVuIHRoZSBzb3VyY2UgaXMgYWxyZWFkeSBydW5uaW5nLgoKMjAwNi0xMi0wOSAxOToyNzoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVhZCBhbmQgcGFyc2UgYW55IHBvc3NpYmxlIGZsb2F0aW5nIHBvaW50IHN0cmluZyBmb3JtYXQgKCIxLDIzNCIgb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZWFkIGFuZCBwYXJzZSBhbnkgcG9zc2libGUgZmxvYXRpbmcgcG9pbnQgc3RyaW5nCgkgIGZvcm1hdCAoIjEsMjM0IiBvciAiMS4yMzQiKSBpcnJlc3BlY3RpdmUgb2YgdGhlIGN1cnJlbnQgbG9jYWxlLiBnX3N0cm9kKCkKCSAgd2lsbCBwYXJzZSB0aGUgZm9ybWVyIG9ubHkgaW4gY2VydGFpbiBsb2NhbGVzIHRob3VnaCwgc28gd2UgcmVhbGx5IG5lZWQKCSAgdG8gY2Fub25pY2FsaXNlIHRoZSBzZXBhcmF0b3IgdG8gJy4nIGFuZCB0aGVuIHVzZSBnX2FzY2lpX3N0cnRvZCgpIHRvCgkgIG1ha2Ugc3VyZSB3ZSBjYW4gcGFyc2UgZWl0aGVyIHZlcnNpb24gYXQgYWxsIHRpbWVzLgoJICBGaXhlcyAjMzgyOTgyIGZvciByZWFsLgoKMjAwNi0xMi0wOSAxNjoxNzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBVc2UgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgVXNlIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeS4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCksIChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3N1bmF1ZGlvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19vcGVuKSwgKGdzdF9zdW5hdWRpb3NpbmtfY2xvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb19zaW5rX2RvX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpLCAoZ3N0X3N1bmF1ZGlvc2lua19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIFVzZXMgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5IGZvciBhbGwgZGVidWcgb3V0cHV0CgkgIEltcGxlbWVudHMgdGhlIF9kZWxheSgpIGNhbGxiYWNrIHRvIHN5bmNocm9uaXNlIHZpZGVvIHBsYXliYWNrIGJldHRlcgoJICBDaGFuZ2UgdGhlIHNlZ3RvdGFsIGFuZCBzZWdzaXplIHZhbHVlcyBiYWNrIHRvIHRoZSBwYXJlbnQgY2xhc3MKCSAgZGVmYXVsdHMgKHRha2VuIGZyb20gYnVmZmVyX3RpbWUgYW5kIGxhdGVuY3lfdGltZXMgb2YgMjAwbXMgYW5kIDEwbXMKCSAgcmVzcGVjdGl2ZWx5KQoJICBNZWFzdXJlIHRoZSBzYW1wbGVzIHdyaXR0ZW4gdG8gdGhlIGRldmljZSB2cy4gcGxheWVkLgoJICBLZWVwIHRyYWNrIG9mIHNlZ21lbnRzIGluIHRoZSBkZXZpY2UgYnkgd3JpdGluZyBlbXB0eSBlb2YgZnJhbWVzLCBhbmQKCSAgc2xlZXAgdXNpbmcgYSBHQ29uZCB3aGVuIHdlIGdldCB0b28gZmFyIGFoZWFkIGFuZCByaXNrIG92ZXJydW5uaW5nIHRoZQoJICBzaW5rJ3MgcmluZ2J1ZmZlci4KCSAgRml4ZXM6ICMzNjA2NzMKCjIwMDYtMTItMDggMjE6MTI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBDb3JyZWN0IHRoZSBhdHRyaWJ1dGlvbiBvZiB0aGUgcHJldmlvdXMgY29tbWl0LiBUaGUgcGF0Y2ggaW4gcXVlc3Rpb24gd2FzIHdyaXR0ZW4gYnkgQnJpYW4gQ2FtZXJvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvcnJlY3QgdGhlIGF0dHJpYnV0aW9uIG9mIHRoZSBwcmV2aW91cyBjb21taXQuIFRoZSBwYXRjaCBpbgoJICBxdWVzdGlvbiB3YXMgd3JpdHRlbiBieSBCcmlhbiBDYW1lcm9uLgoKMjAwNi0xMi0wOCAxNzowNjo0MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgRml4ZXMgIzM4MzQ3MS4KCjIwMDYtMTItMDggMTY6Mzg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuKjogRml4IGF1ZGlvcGFub3JhbWUgd2l0aCBmbG9hdCBzYW1wbGVzLiBGaXhlcyAjMzgzNzI2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEZpeCBhdWRpb3Bhbm9yYW1lIHdpdGggZmxvYXQgc2FtcGxlcy4gRml4ZXMgIzM4MzcyNi4KCjIwMDYtMTItMDggMTU6MTI6MDEgKzAwMDAgIFBhZHJhaWcgTydCcmlhaW4gPHBhZHJhaWcub2JyaWFpbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogSW1wbGVtZW50IHJlc2V0IGZ1bmN0aW9ucyB0byB1bmJsb2NrIHRoZSBzcmMvc2luayBtb3JlIHF1aWNrbHkgb24gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZXNldCk6CgkgIEltcGxlbWVudCByZXNldCBmdW5jdGlvbnMgdG8gdW5ibG9jayB0aGUgc3JjL3NpbmsgbW9yZSBxdWlja2x5IG9uCgkgIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KCSAgUGF0Y2ggYnk6IFBhZHJhaWcgTydCcmlhaW4gPHBhZHJhaWcgZG90IG9icmlhaW4gYXQgc3VuIGRvdCBjb20+CgoyMDA2LTEyLTA4IDE0OjQyOjQyICswMDAwICBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzogQ29uc3RydWN0IHRoZSBjb3JyZWN0IG1peGVyIGRldmljZSBuYW1lIHdoZW4gdGhlIEFVRElPREVWIGVudiB2YXIgaXMgc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgQ29uc3RydWN0IHRoZSBjb3JyZWN0IG1peGVyIGRldmljZSBuYW1lIHdoZW4gdGhlIEFVRElPREVWIGVudiB2YXIKCSAgaXMgc2V0LgoJICBQYXRjaCBieTogSmVycnkgVGFuIDxqZXJyeS50YW4gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjMzgzNTk2CgoyMDA2LTEyLTA4IDE0OjMyOjUxICswMDAwICBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IEFwcGx5IHBhdGNoIHRvIG9wZW4gdGhlIG1peGVyIGNvbnRyb2wgYW5kIHNldCB0aGUgTVVMVElQTEVfT1BFTiBpb2N0bC4gT24gc29sYXJpcywgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICBBcHBseSBwYXRjaCB0byBvcGVuIHRoZSBtaXhlciBjb250cm9sIGFuZCBzZXQgdGhlIE1VTFRJUExFX09QRU4KCSAgaW9jdGwuIE9uIHNvbGFyaXMsIHRoZSBtaXhlciBkZXZpY2UgZG9lc24ndCBuZWVkIG9wZW5pbmcgbm9uLWJsb2NraW5nCgkgIC0gaXQgY2FuIGJlIG9wZW5lZCBieSBtdWx0aXBsZSBwcm9jZXNzZXMgYnkgZGVmYXVsdCwgYnV0IG5lZWRzIHRoZSBpb2N0bCAJZm9yIG11bHRpcGxlIG9wZW5zIHdpdGhpbiAxIHByb2Nlc3MuCgkgIFBhdGNoIGJ5OiBKZXJyeSBUYW4gPGplcnJ5LnRhbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICMzNDkwMTUKCjIwMDYtMTItMDcgMTc6MzA6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBQb3J0IHRvIDAuMTAgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NtcHRlX3NldGNhcHMpLCAoZ3N0X3NtcHRlX2luaXQpLCAoZ3N0X3NtcHRlX3Jlc2V0KSwKCSAgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpLCAoZ3N0X3NtcHRlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21wdGVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zbXB0ZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBQb3J0IHRvIDAuMTAgc29tZSBtb3JlLgoJICBBZGRlZCBkdXJhdGlvbiBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhbnNpdGlvbi4KCSAgTWFrZSBmcmFtZXJhdGUgYSBmcmFjdGlvbi4KCSAgRGVwcmVjYXRlIGZwcyBwcm9wZXJ0eSwgd2Ugb25seSB1c2UgbmVnb3RpYXRlZCBmcHMuCgkgIEFkZGVkIGRvY3MuCgkgIEZpeCBjb2xsZWN0cGFkIHVzYWdlLgoJICBSZXNldCBzdGF0ZSBpbiBSRUFEWS4KCSAgU2VuZCBORVdTRUdNRU5UIGV2ZW50LgoJICBGaXggcmFjeSB1cGRhdGVzIG9mIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBBZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgRml4ZXMgIzM4MzMyMy4KCjIwMDYtMTItMDcgMTE6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoKMjAwNi0xMi0wNiAxNTowNjowNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXNldCB4cG9zIGFuZCB5cG9zIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGJlY2F1c2UgY2F1c2VzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSk6CgkgIERvbid0IHJlc2V0IHhwb3MgYW5kIHlwb3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gYmVjYXVzZSBjYXVzZXMKCSAgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgkgIEZpeGVzICMzODIxNzkuCgoyMDA2LTEyLTA2IDE0OjQ1OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogS2VlcCB0cmFjayBvZiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpbiB0aGUgY29sbGVjdGRhdGEgbWVtYmVyIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb21wYXJlX3BhZHMpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBidWZmZXIgdGltZXN0YW1wIGluIHRoZSBjb2xsZWN0ZGF0YSBtZW1iZXIgaW5zdGVhZAoJICBvZiBtb2RpZnlpbmcgdGhlIGJ1ZmZlciB3aXRob3V0IG1ha2luZyB0aGUgbWV0YWRhdGEgd3JpdGFibGUgZmlyc3QuCgkgIEZpeGVzICMzODIyNzcuCgoyMDA2LTEyLTA2IDE0OjMzOjU0ICswMDAwICBSb2IgVGF5bG9yIDxyb2J0YXlsb3JAZmxvb3BpbHkub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSWYgdXNpbmcgbXVsdGljYXN0IGluIHVkcHNyYywgYmluZCB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3MgcmF0aGVyIHRoYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2IgVGF5bG9yIDxyb2J0YXlsb3IgYXQgZmxvb3BpbHkgZG90IG9yZz4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIElmIHVzaW5nIG11bHRpY2FzdCBpbiB1ZHBzcmMsIGJpbmQgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzIHJhdGhlciB0aGFuCgkgIElOX0FERFJfQU5ZLgoJICBUaGlzIGFsbG93cyB0aGUgc2ltdWx0YW5vdXMgdXNlIG9mIG11bHRpcGxlIHVkcHNyY3MgbGlzdGVuaW5nIG9uCgkgIGRpZmZlcmVudCBtdWx0aWNhdCBhZGRyZXNzZXMuIFdpdGhvdXQgdGhpcyBhbGwgdWRwc3JjcyB3aWxsIHJlY2VpdmUgYWxsCgkgIHBhY2tldHMgZnJvbSBhbGwgc3Vic2NyaWJlZCBtdWx0aWNhc3QgYWRkcmVzc2VzLgoJICBGaXhlcyAjMzgzMDAxLgoKMjAwNi0xMi0wNiAxMzozNTo1MiArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AMGthb2xpbi53aDkubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogRG9uJ3QgYXR0ZW1wdCB0byB3cml0ZSBhIE5VTEwgZnJhbWUgaW50byB0aGUgSUQzIHRhZyBzZXQgd2hlbiB0aGUgY3JlYXRlRnJhbWUgbWV0aG9kIHJldHVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIERvbid0IGF0dGVtcHQgdG8gd3JpdGUgYSBOVUxMIGZyYW1lIGludG8gdGhlIElEMyB0YWcgc2V0IHdoZW4gdGhlCgkgIGNyZWF0ZUZyYW1lIG1ldGhvZCByZXR1cm5lZCBOVUxMLgoJICBGaXhlczogIzM4MTg1NwoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQgMGthb2xpbiB3aDkgbmV0ID4KCjIwMDYtMTItMDYgMTM6MTY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogVXNlIGdfc3RydG9kKCkgaW5zdGVhZCBvZiBzc2NhbmYgdG8gcGFyc2UgZG91Ymxlcywgc28gdGhhdCBpdCB3aWxsIHRyeSBwYXJzaW5nIGluIHRoZSBDIGxvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFVzZSBnX3N0cnRvZCgpIGluc3RlYWQgb2Ygc3NjYW5mIHRvIHBhcnNlIGRvdWJsZXMsIHNvIHRoYXQgaXQgd2lsbAoJICB0cnkgcGFyc2luZyBpbiB0aGUgQyBsb2NhbGUgaWYgdGhlIGN1cnJlbnQgbG9jYWxlIGZhaWxzLgoJICBGaXhlczogIzM4Mjk4MgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgoyMDA2LTEyLTAxIDEwOjMxOjQ2ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvTUFOSUZFU1Q6IEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgZG90IGNvbT4KCSAgUGFydGlhbGx5IGZpeGVzICMzODExNzUKCjIwMDYtMTEtMzAgMTY6NDg6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IGFjY2VwdCBhbGwgbXBlZ3ZlcnNpb25zLGZpeGVzICMzODA4MjUgc3BvdHRlZCBieTogSmVyb21lIEFsZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYWNjZXB0IGFsbCBtcGVndmVyc2lvbnMsZml4ZXMgIzM4MDgyNQoJICBzcG90dGVkIGJ5OiBKZXJvbWUgQWxldAoKMjAwNi0xMS0zMCAxNjo0NjoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBjbGVhbnVwIHRoZSBlcnJvciBtZXNzYWdlIGEgYml0IG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpOgoJICBjbGVhbnVwIHRoZSBlcnJvciBtZXNzYWdlIGEgYml0IG1vcmUKCjIwMDYtMTEtMzAgMTU6MDg6MDggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KToKCSAgQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCjIwMDYtMTEtMjggMTI6MzA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiBGaXggd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2NsYXNzX2luaXQpOgoJICBGaXggd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzLgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBuZXdlciBsaWJjYWNhIHRoYXQgcmVxdWlyZSB1cyB0byBpbmNsdWRlIGEgbmV3CgkgIGhlYWRlci4gRml4ZXMgIzM3OTkxOC4KCjIwMDYtMTEtMjggMTE6NTI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBtZXRob2Qgc28gdGhhdCBleHRlbnNpb25zIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgc2V0dXAgb2YgYSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgQWRkIG1ldGhvZCBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzZXR1cCBvZgoJICBhIHN0cmVhbS4KCSAgTWFrZSB0aGUgV01TIGV4dGVuc2lvbiBza2lwIHNldHVwIG9mIHgtd21zLXJ0eCBzdHJlYW1zLiBGaXhlcyAjMzc3NzkyLgoKMjAwNi0xMS0yNyAxNzoxNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IKCSAgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCjIwMDYtMTEtMjcgMTY6MzA6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIG1lbnRpb24gYnVnIGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVudGlvbiBidWcgZml4CgoyMDA2LTExLTI3IDE2OjI5OjA3ICswMDAwICBKb25hcyBIb2xtYmVyZyA8am9uYXMuaG9sbWJlcmdAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBQdXNoIGhlYWRlciBpbiBhIHNlcGFyYXRlIGJ1ZmZlciBpbnN0ZWFkIG9mIG1lbWNweTppbmcgYWxsIGRhdGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hcyBIb2xtYmVyZyA8am9uYXMgZG90IGhvbG1iZXJnIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgUHVzaCBoZWFkZXIgaW4gYSBzZXBhcmF0ZSBidWZmZXIgaW5zdGVhZCBvZiBtZW1jcHk6aW5nIGFsbCBkYXRhCgkgIENoYW5nZSBMRiA9PiBDUkxGIGluIGhlYWRlcnMKCSAgTW92ZSB0cmFpbGluZyBMRiB0byBoZWFkZXIKCjIwMDYtMTEtMjcgMTY6MjY6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IFNtYWxsIGJ1ZmZlciBvdmVyZmxvdyBmaXggYW5kIGltcHJvdmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jaGFpbik6CgkgIFNtYWxsIGJ1ZmZlciBvdmVyZmxvdyBmaXggYW5kIGltcHJvdmUgZGVidWdnaW5nLgoKMjAwNi0xMS0yNCAwODo1ODo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2VzZC86IHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MKCjIwMDYtMTEtMjQgMDc6NDY6NTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogcmVtb3ZlIGRlYWQgY29kZSwgdHdlYWsgZGVidWdzIHN0YXRlbWVudHMsIGFkZCBjb21tZW50cywgdXNlIF91aW50NjRfc2NhbGUgaW5zdGVhZCBfdWludDY0X3NjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgcmVtb3ZlIGRlYWQgY29kZSwgdHdlYWsgZGVidWdzIHN0YXRlbWVudHMsIGFkZCBjb21tZW50cywgdXNlCgkgIF91aW50NjRfc2NhbGUgaW5zdGVhZCBfdWludDY0X3NjYWxlX2ludCB3aGVuIHVzaW5nIGd1aW50NjQgdmFsdWVzLAoJICBzbWFsbCBvcHRpbWl6YXRpb25zLCByZWZsb3cgc29tZSBlcnJvciBoYW5kbGluZwoKMjAwNi0xMS0yMiAxNzozOToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHBvLy5jdnNpZ25vcmU6IFdlIG5ldmVyIHB1dCAucG90IGZpbGVzIGluIGN2cy4gTGV0J3MgaWdub3JlIHRoZW0gYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby8uY3ZzaWdub3JlOgoJICBXZSBuZXZlciBwdXQgLnBvdCBmaWxlcyBpbiBjdnMuIExldCdzIGlnbm9yZSB0aGVtIGFsbC4KCjIwMDYtMTEtMjEgMTI6NTc6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZW5hbGJlIExBRFNQQSBwbHVnaW4gaW4gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbmFsYmUgTEFEU1BBIHBsdWdpbiBpbiBzcGVjIGZpbGUKCjIwMDYtMTEtMTkgMTg6NDY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogLi4uIGJ1dCBiZXR0ZXIgZXhjbHVkZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAuLi4gYnV0IGJldHRlciBleGNsdWRlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZC4KCjIwMDYtMTEtMTkgMTY6MzI6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIHY0bDIgc291cmNlIGZpbGVzIHRvIGxpc3Qgb2YgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMsIHNvIHRoZSBzdHJpbmdzIGFyZSBhY3R1YWxseSBleHRyYWN0ZWQgKGhvd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCB2NGwyIHNvdXJjZSBmaWxlcyB0byBsaXN0IG9mIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zLCBzbyB0aGUKCSAgc3RyaW5ncyBhcmUgYWN0dWFsbHkgZXh0cmFjdGVkIChob3dldmVyIGJhZCB0aGV5IHN0aWxsIG1heSBiZSkuCgoyMDA2LTExLTE5IDE2OjMwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IE1pbm9yIGNsZWFuLXVwczogY29uc3QtaWZ5IHN0YXRpYyBhcnJheSwgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCk6CgkgIE1pbm9yIGNsZWFuLXVwczogY29uc3QtaWZ5IHN0YXRpYyBhcnJheSwgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20KCSAgbGFzdCBlbnVtIChnY2MtMi45eCB0cmlwcyBvdmVyIHRoYXQpLCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgoyMDA2LTExLTE5IDEzOjQxOjUzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE1ha2Ugc3VyZSB0aGF0IGdfZnJlZSBhbHdheXMgZ2V0cyBjYWxsZWQgb24gdGhlIHNhbWUgcG9pbnRlciB0aGF0IHdhcyByZXR1cm5lZCBieSBnX21hbGxvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBNYWtlIHN1cmUgdGhhdCBnX2ZyZWUgYWx3YXlzIGdldHMgY2FsbGVkIG9uIHRoZSBzYW1lIHBvaW50ZXIgdGhhdCB3YXMKCSAgcmV0dXJuZWQgYnkgZ19tYWxsb2MuICBGaXhlcyAjMzc2NTk0LgoJICBEbyBub3QgbGVhayBtZW1vcnkgaWYgZGVjb21wcmVzc2VkIHNpemUgaXMgd3JvbmcuCgkgIFJlbW92ZSB1bm5lZWRlZCBjaGVjayBvZiByZXR1cm4gdmFsdWUgb2YgZ19tYWxsb2MuCgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKMjAwNi0xMS0xOCAxODoxNDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIG1pc3NpbmcgY3VybHkgYnJhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KToKCSAgQWRkIG1pc3NpbmcgY3VybHkgYnJhY2tldHMuCgoyMDA2LTExLTE3IDE0OjU0OjAxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGNhcHR1cmVfZGVpbml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGNhcHR1cmVfZGVpbml0LgoKMjAwNi0xMS0xNiAxNTozNjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhY3RpdmF0ZSByZXF1ZXN0IHBhZCBiZWZvcmUgcmV0dXJuaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFjdGl2YXRlIHJlcXVlc3QgcGFkIGJlZm9yZSByZXR1cm5pbmcgaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAoc2V0dXBfc2lua19wYWQpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwNi0xMS0xNiAxNTowNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW5pdGlhbGlzZSB2YXJpYWJsZSB0byBnZXQgcmlkIG9mIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlIHRvIGdldCByaWQgb2YgYm9ndXMgY29tcGlsZXIgd2FybmluZy4KCjIwMDYtMTEtMTYgMDc6MjY6MTcgKzAwMDAgIFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoKCSAgZ3N0L3J0cC86IFNwZWNpZnkgSC4yNjMgdmFyaWFudCBhbmQgdmVyc2lvbiBpbiB0aGUgY2FwcyAoZml4ZXMgIzM2MTYzNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIFNwZWNpZnkgSC4yNjMgdmFyaWFudCBhbmQgdmVyc2lvbiBpbiB0aGUgY2FwcyAoZml4ZXMgIzM2MTYzNykKCjIwMDYtMTEtMTUgMTc6NDQ6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBEb24ndCBzZXQgYSBkYXRhIHBvaW50ZXIgdG8gTlVMTCBhbmQgYSBzaXplID4gMCB3aGVuIHdlIGRlYWwgd2l0aCBlbXB0eSBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KToKCSAgRG9uJ3Qgc2V0IGEgZGF0YSBwb2ludGVyIHRvIE5VTEwgYW5kIGEgc2l6ZSA+IDAgd2hlbiB3ZSBkZWFsCgkgIHdpdGggZW1wdHkgcGFja2V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksCgkgIChydHNwX21lc3NhZ2VfdGFrZV9ib2R5KToKCSAgQ2hlY2sgdGhhdCB3ZSBjYW4ndCBjcmVhdGUgaW52YWxpZCBlbXB0eSBwYWNrZXRzLgoKMjAwNi0xMS0xNSAxMjozNTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLCBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsCgkgIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb21lIGNvZGUgaW50byBfcmVzZXQoKQoJICBmdW5jdGlvbnMgKCMzNTI2MDUpLgoKMjAwNi0xMS0xNSAxMjowODoyMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogQWRkIGJhc2ljIHRhZyB3cml0aW5nIHN1cHBvcnQ7IGltcGxlbWVudCByZWxlYXNpbmcgcGFkcyAoIzM3NDY1OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9hZGRfaW50ZXJmYWNlcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBiYXNpYyB0YWcgd3JpdGluZyBzdXBwb3J0OyBpbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgKCMzNzQ2NTgpLgoKMjAwNi0xMS0xNSAxMToxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgb3BhcXVlL3Vuc3BlY2lmaWVkIEFfQUFDIGF1ZGlvIGNvZGVjIElEIChmaXhlcyAjMzc0NzM3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEhhbmRsZSBvcGFxdWUvdW5zcGVjaWZpZWQgQV9BQUMgYXVkaW8gY29kZWMgSUQgKGZpeGVzICMzNzQ3MzcpLgoKMjAwNi0xMS0xNSAwMDoxMjoxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBEaXJhYyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIERpcmFjIGZvdXJjYy4KCjIwMDYtMTEtMTQgMjA6MDc6MjIgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi92czgvOiBNYWtlIGVuZC1vZi1saW5lIHJldHVybnMgdW5peHksIHNvIHRoYXQgd2hlbiB0aGUgZmlsZXMgYXJlIGNoZWNrZWQgb3V0IG9uIHdpbjMyIHRoZSBsaW5lIHJldHVybnMgd2lsbCBiZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleS5zY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgICogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgTWFrZSBlbmQtb2YtbGluZSByZXR1cm5zIHVuaXh5LCBzbyB0aGF0IHdoZW4gdGhlIGZpbGVzIGFyZSBjaGVja2VkCgkgIG91dCBvbiB3aW4zMiB0aGUgbGluZSByZXR1cm5zIHdpbGwgYmUgMGQgMGEgYW5kIG5vdCAwZCAwZCAwYS4KCSAgSG9wZWZ1bGx5IGZpeGVzICMzNjY0OTIuCgoyMDA2LTExLTE0IDE1OjU1OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEaXNhYmxlIGluaXRfZnJhbWVzIGRlbGF5IHRpbWVzdGFtcCBhZGp1c3RtZW50LCBpdCBkb2VzIG5vdCBzZWVtIHRvIGJlIG5lZWRlZCBhdCBhbGwuIEZpeGVzICMzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgIERpc2FibGUgaW5pdF9mcmFtZXMgZGVsYXkgdGltZXN0YW1wIGFkanVzdG1lbnQsIGl0IGRvZXMgbm90CgkgIHNlZW0gdG8gYmUgbmVlZGVkIGF0IGFsbC4gRml4ZXMgIzM2OTYyMS4KCjIwMDYtMTEtMTQgMTE6NDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgoyMDA2LTExLTEzIDE4OjMxOjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggbWVtbGVhayBieSB1bnJlZidpbmcgY29sbGVjdHBhZHMgaW5zdGFuY2UgKHdoZW4gZmluYWxpemluZykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9maW5hbGl6ZSksCgkgIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBtZW1sZWFrIGJ5IHVucmVmJ2luZyBjb2xsZWN0cGFkcyBpbnN0YW5jZSAod2hlbiBmaW5hbGl6aW5nKQoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIGEgcmVxdWVzdCBwYWQuIEZpeGVzICMzNzQ0NzkuCgoyMDA2LTExLTEwIDIwOjA4OjQyICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvdnM4LzogQWRkIFZTOCBwcm9qZWN0IGZpbGVzIChub3RlIHRoYXQgbWFueSBvZiB0aGUgcGx1Z2lucyBpbiBleHQgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQpLiBGaXhlcyAjMzY2NDkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5LnNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICBBZGQgVlM4IHByb2plY3QgZmlsZXMgKG5vdGUgdGhhdCBtYW55IG9mIHRoZSBwbHVnaW5zIGluIGV4dCBhcmUKCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCkuIEZpeGVzICMzNjY0OTIuCgoyMDA2LTExLTEwIDE5OjE4OjMzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06IExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAwNi0xMS0xMCAxODo1MToxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCjIwMDYtMTEtMTAgMDg6MDk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogd2UgZG8gbm90IHRyYW5zbGF0ZSBkZWJ1ZyBtZXNzYWdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgd2UgZG8gbm90IHRyYW5zbGF0ZSBkZWJ1ZyBtZXNzYWdlcwoKMjAwNi0xMS0wOCAxMjowNDowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuYzogZml4IGNhdGVnb3Jpc2F0aW9uLCBtYWtlIHNob3J0IGRlc2MgbW9yZSBleHBsaWNpdCwgcmVtb3ZlIHVudXNlZCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpOgoJICBmaXggY2F0ZWdvcmlzYXRpb24sIG1ha2Ugc2hvcnQgZGVzYyBtb3JlIGV4cGxpY2l0LCByZW1vdmUgdW51c2VkIGNvZGUKCSAgRml4ZXMgIzM3MjAyMQoKMjAwNi0xMS0wOCAwMTozMDozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIEZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucy4KCjIwMDYtMTEtMDggMDE6Mjk6NTEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBGaXggZGVzY3JpcHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggZGVzY3JpcHRpb24uCgkgIFNtYWxsIGNsZWFudXAgaW4gdGhlIHBheWxvYWRlci4KCjIwMDYtMTEtMDggMDE6Mjg6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBBZGQgdGhlb3JhIHBheS9kZXBheWxvYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3RoZW9yYV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zd2l0Y2hfY29kZWJvb2spLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdGhlb3JhX3BheV9yZXNldF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdGhlb3JhX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgIEFkZCB0aGVvcmEgcGF5L2RlcGF5bG9hZGVycy4KCjIwMDYtMTEtMDcgMDE6NDM6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IFdlIGRlcGVuZCBvbiBnc3R0YWcgdG8gZ2VuZXJhdGUgdGhlIHZvcmJpcyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgV2UgZGVwZW5kIG9uIGdzdHRhZyB0byBnZW5lcmF0ZSB0aGUgdm9yYmlzIGNvbW1lbnRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zd2l0Y2hfY29kZWJvb2spLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICBQYXJzZSBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgZGVwYXlsb2FkZXIuCgkgIEltcGxlbWVudCBzZWxlY3RpbmcgYW5kIHN3aXRjaGluZyB0byBhIG5ldyBjb2RlYm9vay4KCSAgUmVjZWl2aW5nIHZvcmJpcyBvdmVyIFJUUCBub3cgd29ya3MuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgU2V0IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycyBhbmQgUlRQIHBhY2tldHMuCgkgIEZpeCBjb25maWd1cmF0aW9uIHN0cmluZywgcHJlcGVuZCBudW1iZXIgb2YgUGFja2V0IGhlYWRlcnMuCgkgIEZpeCBlbmNvZGluZyBvZiBpZGVudCBzdHJpbmcuCgkgIEFkZCBkZWxpdmVyeS1tZXRob2QgdG8gY2Fwcy4KCSAgU3RyZWFtaW5nIHZvcmJpcyBvdmVyIFJUUCBub3cgd29ya3MuCgoyMDA2LTExLTA2IDIwOjUyOjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS4qOiBHZW5lcmF0ZSBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBjYXBzIGJhc2VkIG9uIHRoZSB2b3JiaXMgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3ZvcmJpc19wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIEdlbmVyYXRlIGEgdmFsaWQgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGNhcHMgYmFzZWQgb24gdGhlCgkgIHZvcmJpcyBoZWFkZXJzLgoKMjAwNi0xMS0wMiAyMDoxMzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5CgkgIGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OTUzOSkuCgoyMDA2LTExLTAyIDE0OjQzOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vOiBNb3ZlIENELVRFWFQgdXRpbGl0eSBmdW5jdGlvbiBpbnRvIGNvbW1vbiBmaWxlIHNvIGl0IGNhbiBhbHNvIGJlIHVzZWQgYnkgYSBmdXR1cmUgY2Rpb3BhcmFub2lhc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChnc3RfY2Rpb19nZXRfY2R0ZXh0KToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBNb3ZlIENELVRFWFQgdXRpbGl0eSBmdW5jdGlvbiBpbnRvIGNvbW1vbiBmaWxlIHNvIGl0IGNhbiBhbHNvIGJlCgkgIHVzZWQgYnkgYSBmdXR1cmUgY2Rpb3BhcmFub2lhc3JjLgoKMjAwNi0xMS0wMSAxOTo0ODoyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBJbXByb3ZlZCBjb21tZW50cyBpbiBFTEVNRU5UX0VSUk9SL1dBUk5JTkcgYW5kIGFkZGVkICIjaWYgMCIgdG8geG92ZXJsYXkgY29kZSB0aGF0IGlzIHN0aWxsIG5vdCBpbXBsZW1lbnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEltcHJvdmVkIGNvbW1lbnRzIGluIEVMRU1FTlRfRVJST1IvV0FSTklORyBhbmQgYWRkZWQgIiNpZiAwIiB0byB4b3ZlcmxheSBjb2RlIHRoYXQgaXMgc3RpbGwgbm90IGltcGxlbWVudGVkLgoKMjAwNi0xMS0wMSAxMzo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBXZSByZXF1aXJlIGEgLWJhc2UgbW9yZSByZWNlbnQgdGhhbiAwLjEwLjksIHNvIGl0J3Mgc2FmZSB0byB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgV2UgcmVxdWlyZSBhIC1iYXNlIG1vcmUgcmVjZW50IHRoYW4gMC4xMC45LCBzbyBpdCdzIHNhZmUgdG8gdXNlCgkgIEdTVF9UWVBFX1RBR19JTUFHRV9UWVBFIHVuY29uZGl0aW9uYWxseSBub3cuCgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfc2lua19ldmVudCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpOgoJICBVc2UgX25ld3NlZ21lbnRfZnVsbCgpIG5vdyB0aGF0IHdlIGRlcGVuZCBvbiBhIHJlY2VudCBlbm91Z2ggY29yZS4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmVtb3ZlIGNydWZ0IHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnkgbG9uZ2VyIG5vdyB0aGF0IHdlIGRlcGVuZCBvbgoJICBhIHJlY2VudCBlbm91Z2ggLWJhc2UuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTEwLTMxIDEwOjUyOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBhbmQgYWN0aXZhdGUgSUxCQyBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzM2ODE2Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfaW5pdCksCgkgIChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgRml4IGFuZCBhY3RpdmF0ZSBJTEJDIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjMzY4MTYyLgoKMjAwNi0xMC0zMSAxMDozMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCjIwMDYtMTAtMzEgMDk6NDQ6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogU29tZSBzbWFsbCBjbGVhbnVwcywgdXNlIF9zY2FsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9kZWNfc2lua19ldmVudCksIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwcywgdXNlIF9zY2FsZS4KCjIwMDYtMTAtMzEgMDk6Mjk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZSBoaWdoZXIgcHJlY2lzaW9uIHNjYWxlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICBVc2UgaGlnaGVyIHByZWNpc2lvbiBzY2FsZSBmdW5jdGlvbi4KCjIwMDYtMTAtMzAgMTY6MTg6MTggKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBlbmNvZGVkL2NvbXByZXNzZWQvZW5jcnlwdGVkL3NpZ25lZCB0cmFja3M7IGFsc28sIHJlbW92ZSBzdXBlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgaXRvbmlzIHR2PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpOgoJICBGaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBlbmNvZGVkL2NvbXByZXNzZWQvZW5jcnlwdGVkL3NpZ25lZCB0cmFja3M7CgkgIGFsc28sIHJlbW92ZSBzdXBlcmZsdW91cyBuZXdsaW5lIGNoYXJhY3RlcnMgZnJvbSBzb21lIGRlYnVnCgkgIHN0YXRlbWVudHMuICgjMzY2MTU1KQoKMjAwNi0xMC0zMCAwOToyNDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnLzogVmFyaW91cyBjbGVhbnVwcywgY2Fwc25lZ28gYW5kIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2dldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21va2VkZWNfaW5pdCksIChnc3Rfc21va2VkZWNfZmluYWxpemUpLCAoZ3N0X3Ntb2tlZGVjX2NoYWluKSwKCSAgKGdzdF9zbW9rZWRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfaW5pdCksIChnc3Rfc21va2VlbmNfZmluYWxpemUpLAoJICAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyksIChnc3Rfc21va2VlbmNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfc21va2VlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICBWYXJpb3VzIGNsZWFudXBzLCBjYXBzbmVnbyBhbmQgbGVhayBmaXhlcy4KCjIwMDYtMTAtMzAgMDg6MTc6MDggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCB2aWRlb21peGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBhbnkgY29tYmluYXRpb24gb2YgZnJhbWVyYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgRml4IHZpZGVvbWl4ZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIGFueSBjb21iaW5hdGlvbiBvZiBmcmFtZXJhdGVzLgoJICBGaXhlcyAjMzY3MjIxLgoKMjAwNi0xMC0yOCAxNjozNzoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHBvc2l0aW9uIHF1ZXJ5IGZvciBhdWRpby4gYWxzbyBmaXhlcyB0aW1lc3RhbXBzIGluIHN0cmVhbWluZyBtb2RlIGFuZCBidWcgIzM2NDk1OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBwb3NpdGlvbiBxdWVyeSBmb3IgYXVkaW8uIGFsc28gZml4ZXMgdGltZXN0YW1wcyBpbiBzdHJlYW1pbmcKCSAgbW9kZSBhbmQgYnVnICMzNjQ5NTguCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0xMC0yNyAxNzoxMDo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLio6IEZpeCBzdHJpZGVzLiBGaXhlcyAjMzY0ODU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKSwgKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIEZpeCBzdHJpZGVzLiBGaXhlcyAjMzY0ODU2LgoJICBDbGVhbnVwIGNhcHNuZWdvLgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwNi0xMC0xOCAxNzowNjoyMSArMDAwMCAgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgoJICBnc3QvcnRwLzogQWRkIHN0YXRpYyBwYXlsb2FkIG51bWJlcnMgaW4gYWRkaXRpb24gdG8gdGhlIGR5bmFtaWMgb25lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWxsZSBTeXJqYWxhIDx2aWxsZSBkb3Qgc3lyamFsYSBhdCBtb3ZpYWwgZG90IGZpPgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY21hX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfZmx1c2gpOgoJICBBZGQgc3RhdGljIHBheWxvYWQgbnVtYmVycyBpbiBhZGRpdGlvbiB0byB0aGUgZHluYW1pYyBvbmVzLgoJICBGaXhlcyAjMzYxNjM5LgoKMjAwNi0xMC0xOCAxNjoxODo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmV1c2UgYWxyZWFkeSBleGlzdGluZyBlbnVtIGZvciBsb3dlciB0cmFuc3BvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX2xvd2VyX3RyYW5zX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBSZXVzZSBhbHJlYWR5IGV4aXN0aW5nIGVudW0gZm9yIGxvd2VyIHRyYW5zcG9ydC4KCSAgQWRkIHJ0c3B0IGFuZCBydHNwdSBwcm90b2NvbHMuCgkgIFNlbmQgcmVkaXJlY3QgdG8gcnRzcHQgd2hlbiB1ZHAgdGltZXMgb3V0LgoKMjAwNi0xMC0xOCAxNDowMDo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggc2Vla2luZyBzb21lIG1vcmUsIG1vc3RseSBmb3Igc3BlZWQgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEZpeCBzZWVraW5nIHNvbWUgbW9yZSwgbW9zdGx5IGZvciBzcGVlZCBjaGFuZ2VzLgoKMjAwNi0xMC0xOCAxMToyODowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBGcmVkcmlrJ3MgZS1tYWlsIGFkZHJlc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggRnJlZHJpaydzIGUtbWFpbCBhZGRyZXNzCgoyMDA2LTEwLTE4IDExOjA0OjA5ICswMDAwICBGcmVkcmlrIFBlcnNzb24gPGZyZXBlQGJyb2FkYmFuZC5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwydHVuZXIuKjogRml4IF9zZXRfY2hhbm5lbCgpOiByZW1vdmUgdXNlbGVzcyBnX29iamVjdF9ub3RpZnkoKSBmb3IgImNoYW5uZWwiIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkcmlrIFBlcnNzb24gIDxmcmVwZSBhdCBicm9hZGJhbmQgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICBGaXggX3NldF9jaGFubmVsKCk6IHJlbW92ZSB1c2VsZXNzIGdfb2JqZWN0X25vdGlmeSgpIGZvciAiY2hhbm5lbCIKCSAgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aXN0IGFueSBsb25nZXIgYW5kIHRoZXJlZm9yZSBub3cgYWxzbwoJICB1c2VsZXNzIHJlZGlyZWN0ICgjMzM4ODE4KS4KCjIwMDYtMTAtMTcgMTU6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY3JlYXRlX3BhZHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCjIwMDYtMTAtMTcgMTQ6NTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX251bSksIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSk6CgkgIE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljCgkgIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDE0OjM3OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IFNvbWUgZHJpdmVycyBkbyBub3Qgc3VwcG9ydCB1bnNldHRpbmcgdGhlIG5vbi1ibG9ja2luZyBmbGFnIG9uY2UgdGhlIGRldmljZSBpcyBvcGVuZWQuIEluIHRob3NlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICBTb21lIGRyaXZlcnMgZG8gbm90IHN1cHBvcnQgdW5zZXR0aW5nIHRoZSBub24tYmxvY2tpbmcgZmxhZyBvbmNlIHRoZQoJICBkZXZpY2UgaXMgb3BlbmVkLiBJbiB0aG9zZSBjYXNlcywgY2xvc2Uvb3BlbiB0aGUgZGV2aWNlIGluCgkgIG5vbi1ibG9ja2luZyBtb2RlLiBGaXhlcyAjMzYyNjczLgoKMjAwNi0xMC0xNyAxMzo0NDoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBkZWFyIHN0ZWZhbiwgZnJhbWVzcGVyc2Vjb25kIGlzIG5vdCBmcmFtZXBlcmlvZCwgcmV2ZXJ0aW5nIGJ1dCBhZGRpbmcgY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBkZWFyIHN0ZWZhbiwgZnJhbWVzcGVyc2Vjb25kIGlzIG5vdCBmcmFtZXBlcmlvZCwgcmV2ZXJ0aW5nIGJ1dCBhZGRpbmcKCSAgY29tbWVudAoKMjAwNi0xMC0xNyAxMToyODo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBOdW1lcmF0b3IgaXMgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciBpcyBkZW5vbWluYXRvci4gU2F5IHRoYXQgYWxvdWQgNSB0aW1lcyBhbmQgcmV0cnkgYWZ0ZXIgbmV4dCBiZWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBOdW1lcmF0b3IgaXMgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciBpcyBkZW5vbWluYXRvci4gU2F5IHRoYXQgYWxvdWQKCSAgNSB0aW1lcyBhbmQgcmV0cnkgYWZ0ZXIgbmV4dCBiZWVyLgoKMjAwNi0xMC0xNyAxMDo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoKMjAwNi0xMC0xNiAxODoyMjo0NyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIEZpeCBhIGJ1bmNoIG9mIHByb2JsZW1zIGRpc2NvdmVyZWQgYnkgdGhlIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgdHlwZSBtaXh1cHMgYW5kIHBvaW50ZXIgYXJpdGhtZXRpY3Mgd2l0aCB2b2lkIHBvaW50ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sZW5ndGgpLAoJICAoZ3N0X2ZsYWNfZGVjX3JlYWRfc2Vla2FibGUpLCAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwKCSAgKGdzdF9mbGFjX2RlY19zZW5kX25ld3NlZ21lbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2VuY190ZWxsX2NhbGxiYWNrKToKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6IChmaW5kX2Jlc3Rfc2l6ZSksIChzbW9rZWNvZGVjX2VuY29kZSksCgkgIChzbW9rZWNvZGVjX3BhcnNlX2hlYWRlciksIChzbW9rZWNvZGVjX2RlY29kZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9mZW5jZWRfYnVmZmVyX2FsbG9jKToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgRml4IGEgYnVuY2ggb2YgcHJvYmxlbXMgZGlzY292ZXJlZCBieSB0aGUgRm9ydGUgY29tcGlsZXIsIG1vc3RseSB0eXBlCgkgIG1peHVwcyBhbmQgcG9pbnRlciBhcml0aG1ldGljcyB3aXRoIHZvaWQgcG9pbnRlcnMuIEZpeGVzICMzNjI2MDMuCgoyMDA2LTEwLTEyIDE5OjAyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4LzogTWlzY2VsbGFuZW91cyBjbGVhbi11cHMsIGFtb25nIG90aGVyIHRoaW5nczogc3BlZXhlbmMgPT4gZW5jIHRvIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eTsgY2hhbmdlIHNwZWV4ZW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19nZXRfZm9ybWF0cyksCgkgIChnc3Rfc3BlZXhfZW5jX3NldHVwX2ludGVyZmFjZXMpLCAoZ3N0X3NwZWV4X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWV4X2VuY19jbGFzc19pbml0KSwgKGdzdF9zcGVleF9lbmNfZmluYWxpemUpLAoJICAoZ3N0X3NwZWV4X2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3NwZWV4X2VuY19jb252ZXJ0X3NyYyksCgkgIChnc3Rfc3BlZXhfZW5jX2NvbnZlcnRfc2luayksIChnc3Rfc3BlZXhfZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhfZW5jX3NyY19xdWVyeSksIChnc3Rfc3BlZXhfZW5jX3NpbmtfcXVlcnkpLAoJICAoZ3N0X3NwZWV4X2VuY19pbml0KSwgKGdzdF9zcGVleF9lbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9sYXN0X21zZyksIChnc3Rfc3BlZXhfZW5jX3NldHVwKSwKCSAgKGdzdF9zcGVleF9lbmNfYnVmZmVyX2Zyb21fZGF0YSksIChnc3Rfc3BlZXhfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwgKGdzdF9zcGVleF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhaW4pLCAoZ3N0X3NwZWV4X2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWV4X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBNaXNjZWxsYW5lb3VzIGNsZWFuLXVwcywgYW1vbmcgb3RoZXIgdGhpbmdzOiBzcGVleGVuYyA9PiBlbmMgdG8KCSAgZW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5OyBjaGFuZ2Ugc3BlZXhlbmMgPT4gc3BlZXhfZW5jOyBpbiBjaGFpbgoJICBmdW5jdGlvbiB1bnJlZiBpbnB1dCBidWZmZXIgaW4gY2FzZSBvZiBlcnJvcjsgdGFrZSByZWZlcmVuY2UgaW4KCSAgZXZlbnQgZnVuY3Rpb247IHVzZSBib2lsZXJwbGF0ZSBtYWNybzsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qCgkgIGNvbnZlbmllbmNlIGZ1bmN0aW9ucy4KCjIwMDYtMTAtMTIgMTg6MzU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogRml4IHNvbWUgbWVtIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19maW5hbGl6ZSksCgkgIChnc3Rfc3BlZXhlbmNfc2V0X2xhc3RfbXNnKSwgKGdzdF9zcGVleGVuY19zZXR1cCksCgkgIChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgRml4IHNvbWUgbWVtIGxlYWtzLgoKMjAwNi0xMC0xMSAxNjoyMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZGVkIHNvbWUgb3RoZXIgVVJMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGRlZCBzb21lIG90aGVyIFVSTC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgV29yayBvbiBmYWxsYmFjayB0byBUQ1AgY29ubmVjdGlvbiB3aGVuIHRoZSBVRFAgc29ja2V0IHRpbWVzIG91dC4KCSAgSGFuZGxlciBzZXJ2ZXIgcmVxdWVzdHMsIGp1c3QgcmVwbHkgd2l0aCBPSyBmb3Igbm93LgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkZWQgc29tZSBtb3JlIFJlYWwgZXh0ZW5zaW9uIGhlYWRlcnMuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBGaXggcGFyc2luZyBvZiB1cmxzIHdpdGggYSAnOicgdGhhdCBpcyBub3QgcGFydCBvZiB0aGUgaG9zdG5hbWU6cG9ydAoJICBwYXJ0IG9mIHRoZSB1cmwuCgoyMDA2LTEwLTExIDEzOjQ5OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgoyMDA2LTEwLTExIDEzOjI0OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGFscmVhZHktcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2FkZF9zcmNwYWQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgYWxyZWFkeS1ydW5uaW5nIGVsZW1lbnQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIG5ld2x5LWNyZWF0ZWQgcGFkIHRvby4KCjIwMDYtMTAtMTEgMDg6MzQ6MTQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBzb21lIGxlYWtzIGluIGNhcHMgYW5kIHVyaXMuIEZpeGVzICMzNjEyNTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyIGF0IHlhaG9vIGRvdCBjYT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfZmluYWxpemUpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfdXJpKSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBGaXggc29tZSBsZWFrcyBpbiBjYXBzIGFuZCB1cmlzLiBGaXhlcyAjMzYxMjUyLgoKMjAwNi0xMC0xMCAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgIl9zdGRpbnQuaCIuCgoyMDA2LTEwLTEwIDA5OjU3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIFBhcnNlIFJUU1AgcmVkaXJlY3Rpb24gVVJMUy4KCjIwMDYtMTAtMTAgMDg6Mjk6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEZpeCBjb3B5J24ncGFzdGUtbyAoc3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzLCAjMzQxNDg5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBGaXggY29weSduJ3Bhc3RlLW8gKHNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cywgIzM0MTQ4OSkuCgoyMDA2LTEwLTA5IDA3OjAxOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS4qOiBGaXggYnVpbGQgYXMgcGVyIHRoZSBwYXRjaCBpbiAjMzM4ODE4IGNvbW1lbnQgMzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBGaXggYnVpbGQgYXMgcGVyIHRoZSBwYXRjaCBpbiAjMzM4ODE4IGNvbW1lbnQgMzYuCgoyMDA2LTEwLTA4IDIwOjA1OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgaW5zcGVjdCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpbnNwZWN0IHVwZGF0ZXMKCjIwMDYtMTAtMDcgMjE6MTU6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHRoZSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIHNvdXJjZS4KCjIwMDYtMTAtMDcgMTE6Mzc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCjIwMDYtMTAtMDYgMTc6MDA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9hZGRfcGFkcyksIChnc3RfZHZkZW11eF9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2FkZF9zcmNwYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgoyMDA2LTEwLTA2IDE2OjAzOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KToKCSAgQk9JTEVSUExBVEUgc2V0cyBwYXJlbnRfY2xhc3MgZm9yIHVzLgoKMjAwNi0xMC0wNiAxNTo1NjowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfYW5hbHlzaXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKSwgKGJ1dHRlcl9maWx0ZXIpLAoJICAoYXBwbHlfZmlsdGVycyksIChyZXNldF9maWx0ZXJzKSwgKGFjY3VtdWxhdG9yX2FkZCksCgkgIChhY2N1bXVsYXRvcl9jbGVhciksIChhY2N1bXVsYXRvcl9yZXN1bHQpLCAocmdfYW5hbHlzaXNfbmV3KSwKCSAgKHJnX2FuYWx5c2lzX3NldF9zYW1wbGVfcmF0ZSksIChyZ19hbmFseXNpc19kZXN0cm95KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9faW50MTYpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9faW50MTYpLCAocmdfYW5hbHlzaXNfYW5hbHl6ZSksCgkgIChyZ19hbmFseXNpc190cmFja19yZXN1bHQpLCAocmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwKCSAgKHJnX2FuYWx5c2lzX3Jlc2V0X2FsYnVtKSwgKHJnX2FuYWx5c2lzX3Jlc2V0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoZ2V0X2V4cGVjdGVkX2dhaW4pLAoJICAoc2V0dXBfcmdhbmFseXNpcyksIChjbGVhbnVwX3JnYW5hbHlzaXMpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAocG9sbF9lb3MpLCAocG9sbF90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX3RyYWNrX2dhaW4pLCAoZmFpbF91bmxlc3NfdHJhY2tfcGVhayksCgkgIChmYWlsX3VubGVzc19hbGJ1bV9nYWluKSwgKGZhaWxfdW5sZXNzX2FsYnVtX3BlYWspLAoJICAoZmFpbF9pZl90cmFja190YWdzKSwgKGZhaWxfaWZfYWxidW1fdGFncyksCgkgIChmYWlsX3VubGVzc19udW1fdHJhY2tzKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyksIChwdXNoX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKSwgKG1haW4pOgoJICBVbml0IHRlc3RzIGZvciB0aGUgbmV3IHJlcGxheWdhaW4gZWxlbWVudC4KCjIwMDYtMTAtMDYgMTU6NDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2Rlcik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IGV2ZXIgaWdub3JlIHVubGlua2VkLCB3ZSdyZSBub3QgYSBkZW11eGVyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgZWxlbWVudC4KCjIwMDYtMTAtMDYgMTI6NTU6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFJld29yayBob3cgdGhlIHRyYW5zcG9ydCBzdHJpbmcgaXMgY29uc3RydWN0ZWQsIHRyeSB0byBzaGFyZSBjaGFubmVscyBhbmQgdWRwIHBvcnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9wcm90b19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX3RyYW5zcG9ydHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUmV3b3JrIGhvdyB0aGUgdHJhbnNwb3J0IHN0cmluZyBpcyBjb25zdHJ1Y3RlZCwgdHJ5IHRvIHNoYXJlIGNoYW5uZWxzCgkgIGFuZCB1ZHAgcG9ydHMuCgkgIE1ha2UgbW9zdCBvZiB0aGUgc3R1ZmYgbGVzcyBkZXBlbmRhbnQgb24gUlRQIGFzIHdlIGFyZSBhbHNvIGdvaW5nIHRvIHVzZQoJICBpdCBmb3IgUkRULgoJICBBZGQgc3VwcG9ydCBmb3IgdHJhbnNwb3J0IHNwZWNpZmljIHNlc3Npb24gbWFuYWdlcnMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9mbHVzaCk6CgkgIEltcGxlbWVudCBfZmx1c2goKS4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCBnZW5lcmljIGVycm9yIHJldHVybiBjb2RlLgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHBsdWdnYWJsZSB0cmFucG9ydCBzdHJpbmdzLgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19iZWZvcmVfc2VuZCksCgkgIChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCksIChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19nZXRfY29udGV4dCk6CgkgIERldGVjdCBXTVNlcnZlciBhbmQgYWN0aXZhdGUgdGhlIGV4dGVuc2lvbi4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9nZXRfbWltZSksCgkgIChydHNwX3RyYW5zcG9ydF9nZXRfbWFuYWdlciksIChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGRlZCBtZXRob2RzIHRvIGdldCBtaW1lL21hbmFnZXIgZm9yIGNlcnRhaW4gdHJhbnNwb3J0cy4KCjIwMDYtMTAtMDYgMTE6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoKMjAwNi0xMC0wNiAwMjoyOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZSBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZQoJICBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgoyMDA2LTEwLTA1IDE4OjE0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9zZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDUgMTY6Mzc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfcGFyc2VfaW1hZ2VfZGF0YSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2VuZHJvd19jYWxsYmFjayk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDQgMjI6Mzc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC4qOiBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXggcGFzc3Rocm91Z2ggbW9kZTsgbGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfc2ltcGxlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9jcm9wX2NsZWFyX25lZ290aWF0ZWRfY2Fwc19sb2NrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXgKCSAgcGFzc3Rocm91Z2ggbW9kZTsgbGFzdGx5LCBjbGVhciBuZWdvdGlhdGVkIGJhc2V0cmFuc2Zvcm0gY2FwcyB3aGVuCgkgIHRoZSBjcm9wcGluZyBjaGFuZ2VzIGluIG9yZGVyIHRvIGZvcmNlIHJlbmVnb3RpYXRpb24uCgoyMDA2LTEwLTA0IDIwOjA1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0IHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHF1aXRfbWFpbmxvb3ApLCAodGlja19jYiksCgkgICh0ZXN0X3dpdGhfY2FwcyksICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLCAobWFpbik6CgkgIFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQKCSAgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24gZG9lc24ndCB3b3JrIHlldCBmb3IgdW5rbm93bgoJICByZWFzb25zIChhbm90aGVyIGJhc2V0cmFuc2Zvcm0gaXNzdWU/KQoKMjAwNi0xMC0wNCAxNzo1MzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL01ha2VmaWxlLmFtOiBEaXN0IG5ldyAuaCBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIERpc3QgbmV3IC5oIGZpbGUgdG9vLgoKMjAwNi0xMC0wNCAxNzoyNDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogRmFjdG9yIG91dCBleHRlbnNpb24gaW4gc2VwYXJhdGUgbW9kdWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0Y2FwcyksCgkgIChnc3RfcnRwZGVjX2NoYWluX3J0cCksIChnc3RfcnRwZGVjX2NoYWluX3J0Y3ApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHBhcnNlX21vZGUpLAoJICAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgRmFjdG9yIG91dCBleHRlbnNpb24gaW4gc2VwYXJhdGUgbW9kdWxlLgoJICBGaXggZ2V0Y2FwcyB0byBmaWx0ZXIgYWdhaW5zdCB0aGUgcGFkdGVtcGxhdGUuCgkgIFVzZSBDb250ZW50LUJhc2UgaWYgdGhlIHNlcnZlciBnaXZlcyBvbmUuCgkgIFJld29yayB0aGUgdHJhbnNwb3J0IHBhcnNpbmcgYSBiaXQgZm9yIGZ1dHVyZSBleHRlbnNpb25zLgoJICBBZGRlZCBzb21lIFJlYWwgSGVhZGVyIGZpZWxkIGRlZmluaXRpb25zLgoKMjAwNi0xMC0wNCAxMDoyOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGRlZCB2NGwyIHN0dWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkZWQgdjRsMiBzdHVicwoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHY0bDIKCjIwMDYtMTAtMDQgMTA6MjQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IEV4dHJhY3QgZGlzYy9hbGJ1bS9tZWRpdW0gbnVtYmVyIGFuZCBjb3VudCBhbmQgdHJ5IGhhcmRlciB0byBleHRyYWN0IHRyYWNrIG51bWJlci9jb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBFeHRyYWN0IGRpc2MvYWxidW0vbWVkaXVtIG51bWJlciBhbmQgY291bnQgYW5kIHRyeSBoYXJkZXIKCSAgdG8gZXh0cmFjdCB0cmFjayBudW1iZXIvY291bnQuCgoyMDA2LTEwLTAzIDE4OjM2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0xMC0wMyAxODozNTozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYWRkIGljbGUgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBpY2xlIGZvciB2NGwyCgoyMDA2LTEwLTAzIDE4OjE1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBidWlsZCBzdHVmZiBmb3IgdjRsMiwgbmVlZHMgLS1lbmFibGUtZXhwZXJpbWVudGFsIHVudGlsIHRoZSBsYXN0IGJpdHMgYXJlIHJlc29sdmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFkZCBidWlsZCBzdHVmZiBmb3IgdjRsMiwgbmVlZHMgLS1lbmFibGUtZXhwZXJpbWVudGFsIHVudGlsCgkgIHRoZSBsYXN0IGJpdHMgYXJlIHJlc29sdmVkCgoyMDA2LTEwLTAzIDEzOjQ3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgoyMDA2LTEwLTAzIDEzOjMwOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lcgoJICBpbnRlcmZhY2UuCgoyMDA2LTEwLTAzIDEzOjE4OjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTAzICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEwLTAyIDE2OjE0OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHN0b3AgcmVtb3ZpbmcgZ2RrcGl4YnVmIHBsdWdpbiBmcm9tIHBhY2thZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN0b3AgcmVtb3ZpbmcgZ2RrcGl4YnVmIHBsdWdpbiBmcm9tIHBhY2thZ2UKCjIwMDYtMDktMjkgMTU6Mzk6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzCgkgIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yZWxpYWJsZSB2aWRlbyBzaW5rcyBpbiB0aGVyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNraXAgdGVzdCBpZiBubyB1c2FibGUgdmlkZW9zaW5rIGlzIGZvdW5kLgoKMjAwNi0wOS0yOSAxNTozNzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBzb21lIG1vcmUgVVJMcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHNvbWUgbW9yZSBVUkxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIHRpbWVvdXQgcHJvcGVydHkgdG8gY29udHJvbCBVRFAgdGltZW91dHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgQWxzbyBzdGFydCBhIGxvb3AgZnVuY3Rpb24gd2hlbiBvcGVyYXRpbmcgaW4gVURQIG1vZGUgc28gdGhhdCB3ZSBjYW4KCSAgZG8gc29tZSBtb3JlIHN0dWZmIGFzeW5jLgoJICBIYW5kbGUgZWxlbWVudCBtZXNzYWdlcyBmcm9tIHVkcHNyYyB0byBkZXRlY3QgdGltZW91dHMuIElmIGEgdGltZW91dAoJICBoYXBwZW5zIHdlIGN1cnJlbnRseSBnZW5lcmF0ZSBhbiBlcnJvci4KCSAgQVBJOiBydHNwc3JjOjp0aW1lb3V0IHByb3BlcnR5LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBSZWFsbHkgaW1wbGVtZW50IHRoZSB0aW1lb3V0IGluIG1pY3Jvc2Vjb25kcyBhbmQgbm90IG1pbGxpc2Vjb25kcy4KCjIwMDYtMDktMjkgMTE6MDk6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGRlZCBwcm9wZXJ0eSB0byBwb3N0IGEgbWVzc2FnZSBvbiB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3VubG9jayksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZGVkIHByb3BlcnR5IHRvIHBvc3QgYSBtZXNzYWdlIG9uIHRpbWVvdXQuCgkgIFVwZGF0ZWQgZG9jcy4KCSAgV2hlbiByZXN0YXJ0aW5nIHRoZSBzZWxlY3QsIGluaXRpYWxpemUgdGhlIGZkc2V0cyBhZ2Fpbi4KCSAgSW5pdCBjb250cm9sIHNvY2tldHMgc28gd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IGNsb3NlIGEgcmFuZG9tIHNvY2tldC4KCSAgQVBJOiBHc3RVRFBTcmM6OnRpbWVvdXQgcHJvcGVydHkKCjIwMDYtMDktMjkgMDg6MTU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBmbGFnIHJlZ2lzdHJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpOgoJICBGaXggZmxhZyByZWdpc3RyYXRpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgUmVhZGluZyAwIGFsc28gbWVhbnMgJ25vIG1vcmUgY29tbWFuZHMnCgoyMDA2LTA5LTI5IDA4OjA5OjI0ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3Agd2hlbiBzaHV0dGluZyBkb3duLCBhIHJlYWQgY2FuIGFsc28gcmV0dXJuIDAgdG8gaW5kaWNhdGUgbm8gbW9yZSBtZXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3Agd2hlbiBzaHV0dGluZyBkb3duLCBhIHJlYWQgY2FuIGFsc28gcmV0dXJuCgkgIDAgdG8gaW5kaWNhdGUgbm8gbW9yZSBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLiBGaXhlcyAjMzU4MTU2LgoKMjAwNi0wOS0yOCAxNzowODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfYWxsX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIEluaXQgZnJhbWVyYXRlIHRvIDAvMSBiZWZvcmUgcXVlcnlpbmcgaXQgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0CgkgIGRldmljZXMgdGhhdCBkb24ndCBrbm93IGFib3V0IGEgZnJhbWVyYXRlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbmZvLgoKMjAwNi0wOS0yOCAxNDozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoKMjAwNi0wOS0yNyAxNzo0Nzo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgoyMDA2LTA5LTI3IDE3OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jb250YWluc19jaGFubmVsKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWxfYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfY2hhbm5lbCksIChnc3RfdjRsMl90dW5lcl9jb250YWluc19ub3JtKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3Rfbm9ybXMpLCAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm1fYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfbm9ybSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX2VtcHR5X2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgoyMDA2LTA5LTI3IDE2OjE0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX3NldF9ub3JtKSwKCSAgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLCAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX2dldF9pbnB1dCksCgkgIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgICogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6IChteV9idXNfY2FsbGJhY2spLCAobWFpbik6CgkgIFNtYWxsIGNsZWFudXBzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIFVzZSBsb2NrcyB3aGVuIGdldHRpbmcgdGltZXN0YW1wcy4KCSAgRml4IGxlYWtzIGluIHRlc3QuCgkgIEFkZCBsaWNlbnNpbmcgaGVhZGVyIHRvIHRlc3RzLgoKMjAwNi0wOS0yNyAxNToxNDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDYtMDktMjcgMTM6NDE6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGF1ZGlvZnggcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYXVkaW9meCBwbHVnaW4KCjIwMDYtMDktMjYgMTQ6MTc6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgIEZpeCBkb2NzLgoJICBSZW1vdmUgc29tZSBtb3JlIGV4dGVybnMuCgoyMDA2LTA5LTI2IDEzOjE4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9kZXZpY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IGNvZGluZyBzdHlsZToKCSAgLSBSZW1vdmUgZXh0ZXJuIGZyb20gZnVuY3Rpb25zLgoJICAtIEZpeCBoZWFkZXIgaW5kZW50YXRpb24uCgkgIEZpeCBGbGFncywgYWRkIGRlZmF1bHRzIGZvciBwcm9wZXJ0aWVzLgoJICBSZW1vdmUgdW51c2VkIGVudW1zLgoJICBGaXggVE9PX0xBWlkgaW4gZXJyb3IgbWVzc2FnZXMuCgoyMDA2LTA5LTI2IDExOjA2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbCBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfdjRsMl9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9kZXN0cm95KSwgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc3RhcnQpLCAoZ3N0X3Y0bDJfb2JqZWN0X3N0b3ApOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZGlzcG9zZSksCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19nZXRfY2FwcyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksIChnc3RfdjRsMl9nZXRfbm9ybSksCgkgIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyksIChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbAoJICBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCjIwMDYtMDktMjUgMTM6NTU6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFNtYWxsIGNsZWFudXBzLiBkb24ndCB0cnkgdG8gc2V0ICJzeW5jIiBwcm9wZXJ0eSB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgZG9uJ3QgdHJ5IHRvIHNldCAic3luYyIgcHJvcGVydHkgd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlLgoKMjAwNi0wOS0yNSAxMTo0Nzo0MiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBJbmNsdWRlIHN0ZGxpYi5oIGluIHNvbWUgbW9yZSBwbGFjZXMsIG1ha2VzIHRoaW5ncyBjb21waWxlIHdpdGggdUNsaWJjIGFuZCAtV2Vycm9yICgjMzU3NTkyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBpbiBzb21lIG1vcmUgcGxhY2VzLCBtYWtlcyB0aGluZ3MgY29tcGlsZQoJICB3aXRoIHVDbGliYyBhbmQgLVdlcnJvciAoIzM1NzU5MikuCgoyMDA2LTA5LTI1IDA5OjE1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBvdXIgY29kZSBzaG91bGQgaGFuZGxlIHRoYXQgZmluZS4gU29tZSBvZiB0aGUgYnV0dG9ucyBvbiB0aGUgYXBwbGUgdHJhaWxlciBzaXRlIGFyZSBhcHBhcmVudGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgU2V0IG1pbmltdW0gaGVpZ2h0IHRvIDggKGZyb20gMTYpLCBvdXIgY29kZSBzaG91bGQgaGFuZGxlCgkgIHRoYXQgZmluZS4gU29tZSBvZiB0aGUgYnV0dG9ucyBvbiB0aGUgYXBwbGUgdHJhaWxlciBzaXRlCgkgIGFyZSBhcHBhcmVudGx5IG9ubHkgMTUgcGl4ZWxzIGhpZ2ggKHNlZSAjMzU3NDcwKS4KCjIwMDYtMDktMjMgMTU6MzE6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nLgoKMjAwNi0wOS0yMyAxNTozMDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXgga2xhc3MgdHlwb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgRml4IGtsYXNzIHR5cG9zLgoJICBNYXJrIFJBTktfTUFSR0lOQUwsIGRlY29kZWJpbiBjYW4gaGFuZGxlIHRoZSBkZXBheWxvYWRlcnMgZmluZS4KCjIwMDYtMDktMjIgMTc6NTM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE5lZWQgIC1iYXNlIENWUyBmb3IgZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX3RzKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTmVlZCAgLWJhc2UgQ1ZTIGZvciBnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX3B1c2hfdHMoKS4KCjIwMDYtMDktMjIgMTc6MjI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGNoZWNrIGZvciBhIHRhZyB0aGF0IGlzIG5ldmVyIHRoZXJlIGFuZCBjaGVjayBpZiB3ZSByZWFkIHRoZSBjb3JyZWN0IHRhZy4gRml4ZXMgc2Vla2luZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpOgoJICBEb24ndCBjaGVjayBmb3IgYSB0YWcgdGhhdCBpcyBuZXZlciB0aGVyZSBhbmQgY2hlY2sgaWYgd2UgcmVhZCB0aGUKCSAgY29ycmVjdCB0YWcuIEZpeGVzIHNlZWtpbmcgYWdhaW4uCgkgIFdlIG11c3QgcG9zdCBhbiBlcnJvciB3aGVuIGFsbCBwYWRzIGFyZSB1bmxpbmtlZC4KCjIwMDYtMDktMjIgMTU6MTU6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTW9yZSBmaXhhZ2UsIHNldCBlbmRvZGVyLXBhcmFtcyBjb3JyZWN0bHkgaW4gdGhlIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KSwgKGdzdF9ydHBfdm9yYmlzX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIE1vcmUgZml4YWdlLCBzZXQgZW5kb2Rlci1wYXJhbXMgY29ycmVjdGx5IGluIHRoZSBwYXlsb2FkZXIuCgoyMDA2LTA5LTIyIDEyOjEyOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBNYWtlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHN0YXRpYyB0byBhcHBlYXNlIHZhbGdyaW5kJ3MgbGVhayBkZXRlY3Rvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgTWFrZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBzdGF0aWMgdG8gYXBwZWFzZSB2YWxncmluZCdzIGxlYWsKCSAgZGV0ZWN0b3IuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdXRvZGV0ZWN0X3N1aXRlKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciB0aGUgZ2hvc3RwYWQgbG9ja3VwIG9uIHNodXRkb3duIGZpeGVkIGluIGNvcmUKCSAgQ1ZTIChhdWRpbyBiaXQgZGlzYWJsZWQgYmVjYXVzZSBpdCB3b3VsZCBuZWVkIGRvemVucyBvZiBhbHNhCgkgIHN1cHByZXNzaW9ucyBhbmQgSSdtIHRvbyBsYXp5IHRvIGFkZCB0aG9zZSBub3cpLgoKMjAwNi0wOS0yMiAxMjowODoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZvcmJpc19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgQWRkIGV4cGVyaW1lbnRhbCB2b3JiaXMgcGF5IGFuZCBkZXBheWxvYWRlcnMuCgoyMDA2LTA5LTIxIDEzOjMzOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IEZpeCBwcm9maWxlLWxldmVsLWlkIHBhcnNpbmcgYW5kIHNldHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKToKCSAgRml4IHByb2ZpbGUtbGV2ZWwtaWQgcGFyc2luZyBhbmQgc2V0dXAuCgoyMDA2LTA5LTIxIDA5OjUwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC86IFVwZGF0ZSBSRUFETUUsIHNpbXBsZSBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL1JFQURNRToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBVcGRhdGUgUkVBRE1FLCBzaW1wbGUgY2xlYW51cC4KCjIwMDYtMDktMjEgMDk6MzU6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIHNvbWUgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggc29tZSBleGFtcGxlcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfdmlkZW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgTWFrZSBvcHRpb25hbCBSVFAgcGFyYW1ldGVycyBvZiB0eXBlIFNUUklORywgYXMgcmVxdWlyZWQgYnkgdGhlCgkgIGFwcGxpY2F0aW9uL3gtcnRwIGNhcHMgc3BlY2lmaWNhdGlvbi4KCjIwMDYtMDktMjAgMTk6Mzc6NDUgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogQ29ycmVjdGx5IGNhbGN1bGF0ZSBzaXplIG9mIGVhY2ggSDI2MysgUlRQIGJ1ZmZlciB0YWtpbmcgaW50byBhY2NvdW50IE1UVSBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBDb3JyZWN0bHkgY2FsY3VsYXRlIHNpemUgb2YgZWFjaCBIMjYzKyBSVFAgYnVmZmVyIHRha2luZyBpbnRvIGFjY291bnQgTVRVIGFuZAoJICBSVFAgaGVhZGVyLgoKMjAwNi0wOS0yMCAxNjo0MTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEFuZCBtYWtlZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEFuZCBtYWtlZmlsZSB0b28uCgoyMDA2LTA5LTIwIDE2OjA5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHByZWxpbWluYXJ5IEFTRiBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFzZmRlcGF5LmM6IChnc3RfcnRwX2FzZl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2FzZl9kZXBheV9pbml0KSwKCSAgKGRlY29kZV9iYXNlNjQpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfYXNmX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFzZmRlcGF5Lmg6CgkgIEFkZGVkIHByZWxpbWluYXJ5IEFTRiBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCk6CgkgIEZpeCBiYXNlNjQgZGVjb2RpbmcuCgoyMDA2LTA5LTIwIDE2OjA2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkZWQgc29tZSB0ZXN0IFVSTFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZGVkIHNvbWUgdGVzdCBVUkxTLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFdoZW4gY3JlYXRpbmcgc3RyZWFtcywgZ2l2ZSBhY2Nlc3MgdG8gdGhlIGNvbXBsZXRlIFNEUC4KCSAgRml4IHNvbWUgbGVha3MuCgkgIENvbGxlY3QgYW5kIG1lcmdlIGdsb2JhbCBzdHJlYW0gcHJvcGVydGllcyBpbiBzdHJlYW0gY2Fwcy4KCSAgUHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgV01TZXJ2ZXIuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBNYWtlIGNvbm5lY3Rpb24gaW50ZXJydXB0YWJsZS4KCSAgUmVmYWN0b3IgdG8gbWFrZSBpdCByZWNvbm5lY3RhYmxlLgoJICBEb24ndCBmYWlsIG9uIHNob3J0IHJlYWRzIHdoZW4gcmVhZGluZyBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpLCAocnRzcF91cmxfc2V0X3BvcnQpLAoJICAocnRzcF91cmxfZ2V0X3BvcnQpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgQWRkIG1ldGhvZHMgZm9yIGdldHRpbmcvc2V0dGluZyB0aGUgcG9ydC4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwKCSAgKHNkcF9tZXNzYWdlX2dldF9hdHRyaWJ1dGVfdmFsKSwgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlKSwKCSAgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbCksCgkgIChzZHBfbWVkaWFfZ2V0X2Zvcm1hdCksIChzZHBfcGFyc2VfbGluZSksCgkgIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpOgoJICBGaXggaGVhZGVycy4KCSAgQWRkIG1ldGhvZHMgZm9yIGdldHRpbmcgbXVsdGlwbGUgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuCgkgIEluY3JlYXNlIGJ1ZmZlciBzaXplIHdoZW4gcGFyc2luZy4KCSAgRml4IHBhcnNpbmcgb2YgYT1mb28gZmllbGRzLgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBVcGRhdGUgdG8gbmV3IGNvbm5lY3Rpb24gQVBJLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgKiBnc3QvcnRzcC9zZHAuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBEdWFsIGxpY2Vuc2VkIHVuZGVyIE1JVCBhbmQgTEdQTCBub3cuCgoyMDA2LTA5LTE5IDE3OjI1OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBSZW9yZ2FuaXplIHN0cmVhbSBwYXJzaW5nIGFuZCBjcmVhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfcHQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19mcmVlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJlb3JnYW5pemUgc3RyZWFtIHBhcnNpbmcgYW5kIGNyZWF0aW9uLgoJICBEZXRlY3QgY29udGFpbmVyIGZvcm1hdHMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgS2VlcCBtb3JlIHN0YXRlIGFib3V0IHRoZSBzdHJlYW1zLgoJICBBc3N1bWUgYSBzZXJ2ZXIgYWxzbyBzdXBwb3J0cyBQTEFZIGlmIGl0IGRvZXMgbm90IHNheS4KCSAgQWRkIHVuaWNhc3QgYW5kIGludGVybGVhdmVkIHByb3BlcnRpZXMgdG8gVENQIHRyYW5zcG9ydCByZXF1ZXN0cyB0byBtYWtlCgkgIHNvbWUgc2VydmVycyBoYXBweSAoV01TZXJ2ZXIpLgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQWRkIHNvbWUgZGVmaW5lcyBmb3IgdGhlIHN0YW5kYXJkIEJhbmR3aWR0aCB0eXBlcy4KCjIwMDYtMDktMTkgMTY6MjQ6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoKMjAwNi0wOS0xOSAxMzowODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoKMjAwNi0wOS0xOSAxMDo1Mzo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3Rlc3QuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wOS0xOSAxMDoxNDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgbXMtZ3NtIHRvIHRoZSBzcmMgdGVtcGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBZGQgbXMtZ3NtIHRvIHRoZSBzcmMgdGVtcGxhdGUuCgoyMDA2LTA5LTE4IDE3OjM3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBTbWFsbCBjbGVhbnVwcywgYWRkZWQgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBTbWFsbCBjbGVhbnVwcywgYWRkZWQgZG9jdW1lbnRhdGlvbi4KCSAgVHJ5IHRvIGNsZWFuIHVwIHRoZSByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLgoJICBSZWZhY3RvciBwYXJzaW5nIHRoZSBzdXBwb3J0ZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX29wZW4pLAoJICAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChwYXJzZV9yZXNwb25zZV9zdGF0dXMpLCAocGFyc2VfcmVxdWVzdF9saW5lKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKSwgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfbmV3KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2luaXQpLCAocnRzcF90cmFuc3BvcnRfcGFyc2UpLAoJICAocnRzcF90cmFuc3BvcnRfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZXNzYWdlX25ldyksIChzZHBfbWVzc2FnZV9pbml0KSwKCSAgKHNkcF9tZXNzYWdlX2NsZWFuKSwgKHNkcF9tZXNzYWdlX2ZyZWUpLCAoc2RwX21lZGlhX25ldyksCgkgIChzZHBfbWVkaWFfaW5pdCksIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpLCAoc2RwX21lc3NhZ2VfZHVtcCk6CgkgIFVzZSBnX3JldHVybl92YWwgc29tZSBtb3JlLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCBtb3JlIGVudW0gdmFsdWVzIHRvIHRyYWNrIGluaXRpYWwgc3RhdGVzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3JlcXVlc3QpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwKCSAgKHJ0c3BfbWVzc2FnZV9hZGRfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9zZXRfYm9keSksCgkgIChydHNwX21lc3NhZ2VfdGFrZV9ib2R5KSwgKHJ0c3BfbWVzc2FnZV9nZXRfYm9keSksCgkgIChydHNwX21lc3NhZ2Vfc3RlYWxfYm9keSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgUmVvcmRlciBhcmd1bWVudHMsIG9iamVjdCBnb2VzIGFzIHRoZSBmaXJzdCBvbmUuCgkgIFVzZSBnX3JldHVybl92YWwgc29tZSBtb3JlLgoKMjAwNi0wOS0xOCAxNTozNjoxNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoKMjAwNi0wOS0xOCAxNDowMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRXhwb3J0IHNvbWV0aW1lcyBzb3VyY2UgcGFkIHdpdGggY29ycmVjdCBjYXBzIG9uIHRoZSB0ZW1wbGF0ZSwgY3JlYXRlIHRoZSBnaG9zdHBhZCBmcm9tIHRoZSB0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEV4cG9ydCBzb21ldGltZXMgc291cmNlIHBhZCB3aXRoIGNvcnJlY3QgY2FwcyBvbiB0aGUgdGVtcGxhdGUsIGNyZWF0ZQoJICB0aGUgZ2hvc3RwYWQgZnJvbSB0aGUgdGVtcGxhdGUuCgkgIFJlbW92ZSBSVENQIHRlbXBsYXRlIGFzIHdlIG5ldmVyIGV4cG9zZSBSVENQLgoJICBQcm90ZWN0IGFnYWluc3QgaW52YWxpZCBib2R5IHNpemUuCgkgIEF2b2lkIG1lbWNweSB3aGVuIGNyZWF0aW5nIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBQcm9wZXJseSBwb3N0IGFuIGVycm9yIGFuZCBzZW5kIEVPUyB3aGVuIHRoZSBsb29wIGZ1bmN0aW9uIGlzIHNodXQgZG93bi4KCjIwMDYtMDktMTggMTE6Mjk6MTIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogTWFrZSBzdXJlIHdlIGNhbiBuZXZlciBzZXQgYW4gaW52YWxpZCBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBNYWtlIHN1cmUgd2UgY2FuIG5ldmVyIHNldCBhbiBpbnZhbGlkIGxvY2F0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2Vfc3RlYWxfYm9keSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgQWRkZWQgX3N0ZWFsX2JvZHkgbWV0aG9kIGZvciBmdXR1cmUgdXNlLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX2ZyZWUpOgoJICBNYWtlIGZyZWVpbmcgb2YgTlVMTCB1cmwgcmV0dXJuIGltbWVkaWF0bHkuCgoyMDA2LTA5LTE4IDEwOjQyOjUyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFVzZSBib2lsZXJwbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKF9kb19pbml0KSwgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFVzZSBib2lsZXJwbGF0ZS4KCSAgTWFrZSBydHNwc3JjIHN1YmNsYXNzIEdzdEJpbiB0byBtYWtlIHN0YXRlIGNoYW5nZXMgZWFzaWVyLgoJICBBZGQgUmFuZ2UgaGVhZGVyIGZpZWxkIG9uIHRoZSBQTEFZIHJlcXVlc3QuCgoyMDA2LTA5LTE4IDA4OjU5OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkgIGdzdC9ydHNwLzogU21hbGwgY2xlYW51cHMuIHdoZW4gbXVsdGljYXN0IGlzIHNlbGVjdGVkIGFzIHRoZSB0cmFuc3BvcnQsIGNyZWF0ZSBVRFAgc291cmNlcyBhbmQgY29ubmVjdCB0byB0aGUgbXVsdGljYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzIGRvdCB2ZXJtZWlyIGF0IGJhcmNvIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgd2hlbiBtdWx0aWNhc3QgaXMgc2VsZWN0ZWQgYXMgdGhlIHRyYW5zcG9ydCwgY3JlYXRlIFVEUCBzb3VyY2VzIGFuZAoJICBjb25uZWN0IHRvIHRoZSBtdWx0aWNhc3QgZ3JvdXAuCgkgIE1vdmUgcGFyc2luZyBhbmQgc2V0dGluZyBvZiBjYXBzIHRvIGEgY29tbW9uIHBsYWNlLgoJICBGaXhlcyAjMzQ5ODk0LgoKMjAwNi0wOS0xNiAyMjoxNDozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE2IDIxOjU3OjI5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNiAxNDozMDo1OSArMDAwMCAgWXZlcyBMZWZlYnZyZSA8aXZhbm9oZUBhYmFjb20uY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQ29ycmVjdGx5IHNldCB0aGUgZHdMZW5ndGggaW4gc3RyaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZdmVzIExlZmVidnJlIDxpdmFub2hlIGF0IGFiYWNvbSBkb3QgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9zdG9wX2ZpbGUpOgoJICBDb3JyZWN0bHkgc2V0IHRoZSBkd0xlbmd0aCBpbiBzdHJoLgoJICBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBmaWxlIGR1cmF0aW9uIGlzIG5vdyBkaXNwbGF5ZWQgY29ycmVjdGx5IGluIHdpbmRvdwoJICBtZWRpYSBwbGF5ZXIgYW5kIHRoZSBBVkkgcGxheXMgY29tcGxldGVseS4gRml4ZXMgIzM1NjE0NwoKMjAwNi0wOS0xNSAxOToxMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgoyMDA2LTA5LTE1IDE3OjEwOjIyICswMDAwICBEYXJyZW4gS2VubnkgPGRhcnJlbi5rZW5ueUBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IFNldCB0aGUgb3V0cHV0IHRyYWNrIGFzIHRoZSBNQVNURVIgc28gdGhhdCB0aGUgZ25vbWUtc2V0dGluZ3MtZGFlbW9uIGtleWJpbmRpbmdzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFycmVuIEtlbm55IDxkYXJyZW4gZG90IGtlbm55IGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KToKCSAgU2V0IHRoZSBvdXRwdXQgdHJhY2sgYXMgdGhlIE1BU1RFUiBzbyB0aGF0IHRoZSBnbm9tZS1zZXR0aW5ncy1kYWVtb24KCSAga2V5YmluZGluZ3MgZm9yIGNoYW5naW5nIHRoZSB2b2x1bWUgdXNpbmcgdGhlIGtleWJvYXJkIHdvcmtzLgoJICBGaXhlcyAjMzU2MTQyLgoKMjAwNi0wOS0xNSAxNjowMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogRml4IGRvY3VtZW50YXRpb24sIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBjb250cm9sIHRoZSBmcmFtZXJhdGUgb2YganBlZ2RlYyB1c2luZyBmaWx0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgRml4IGRvY3VtZW50YXRpb24sIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBjb250cm9sIHRoZSBmcmFtZXJhdGUgb2YganBlZ2RlYwoJICB1c2luZyBmaWx0ZXJlZCBjYXBzIHlldC4gRml4ZXMgIzM1NTIxMC4KCSAgUmV0dXJuIHRoZSBkb3duc3RyZWFtIEdzdEZsb3dSZXR1cm4gaW5zdGVhZCBvZiBHU1RfRkxPV19PSyBzbyB0aGF0IHdlCgkgIHN0b3Agd2hlbiB0aGVyZSBpcyBhbiBlcnJvci4KCjIwMDYtMDktMTQgMTE6MDU6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBEb24ndCBpbnRlcnByZXQgYSBmaXJzdCBidWZmZXIgd2l0aCBhbiBvZmZzZXQgb2YgTk9ORSBhcyAnZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0nLCBidXQgb25seSBhIGZpcnN0IGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbl9wYXJzZV90YWcpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgaW50ZXJwcmV0IGEgZmlyc3QgYnVmZmVyIHdpdGggYW4gb2Zmc2V0IG9mIE5PTkUgYXMKCSAgJ2Zyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtJywgYnV0IG9ubHkgYSBmaXJzdCBidWZmZXIKCSAgdGhhdCBoYXMgYSB2YWxpZCBidWZmZXIgb2Zmc2V0IHRoYXQncyBub24temVybyAoc2VlICMzNDU0NDkpLgoKMjAwNi0wOS0xNCAxMDozODo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC4qOiBXaGVuIHdlIG1lcmdlL2NvbGxlY3QgbXVsdGlwbGUgaW5jb21pbmcgYnVmZmVycyBmb3IgdHlwZWZpbmRpbmcgcHVycG9zZXMsIGtlZXAgYW4gaW5pdGlhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9yZXNldCksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIFdoZW4gd2UgbWVyZ2UvY29sbGVjdCBtdWx0aXBsZSBpbmNvbWluZyBidWZmZXJzIGZvciB0eXBlZmluZGluZwoJICBwdXJwb3Nlcywga2VlcCBhbiBpbml0aWFsIDAgb2Zmc2V0IG9uIHRoZSBmaXJzdCBvdXRnb2luZyBidWZmZXIKCSAgYXMgd2VsbCAob3RoZXJ3aXNlIGlkM2RlbXV4IHdvbid0IHdvcmsgcmlnaHQpLiBGaXhlcyAjMzQ1NDQ5LgoJICBBbHNvIE1ha2UgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGJ1ZmZlciBjYXBzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6ICh0eXBlZmluZF9zdWNjZWVkKSwKCSAgKGNsZWFudXBfaWN5ZGVtdXgpLCAocHVzaF9kYXRhKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGljeWRlbXV4X3N1aXRlKToKCSAgU21hbGwgdGVzdCBjYXNlIGZvciB0aGUgYWJvdmUuCgoyMDA2LTA5LTEzIDEzOjI2OjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vcmUgY29kZSByZXVzZSBhbmQgYmV0dGVyIGxvZ2dpbmcgaW4gX3BlZWtfY2h1bmsoKS4gUmVpbnRyb2R1Y2UgY2hlY2sgZm9yIGNodW5rIHNpemVzIGJlZm9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3luYyksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1vcmUgY29kZSByZXVzZSBhbmQgYmV0dGVyIGxvZ2dpbmcgaW4gX3BlZWtfY2h1bmsoKS4gUmVpbnRyb2R1Y2UgY2hlY2sKCSAgZm9yIGNodW5rIHNpemVzIGJlZm9yZSByZWFkaW5nIHRoZW0gKGF2b2lkIG9vbSkuIEJldHRlciBoYW5kbGluZyBmb3IKCSAgaW52YWxpZCBjaHVua3NpemVzIHdoZW4gc3RyZWFtaW5nLgoKMjAwNi0wOS0xMiAyMDoxODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9ldmVudCk6CgkgIEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZQoJICBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kIEVPUy4KCjIwMDYtMDktMTEgMjA6Mzg6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBGaXggdHlwZSBtaXh1cCBpbiBsZXZlbC0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBsZXZlbC0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjIzOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODowMjozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IFVzZSBtb3JlIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1haW4pOgoJICBVc2UgbW9yZSBkZWZpbmVzCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEFwcGx5IHNvbWUgb2YgdGhlIHNwZWN0cnVtIGNsZWFudXAgY2hhbmdlcyBzdWdnZXN0ZWQgaW4gIzM0ODA4NS4KCjIwMDYtMDktMDggMTY6NDc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIERvY3VtZW50IHNsb3BweSBoYW5kbGluZyBvZiBzdWJzYW1wbGVkIGNocm9tYSBwbGFuZXMgaWYKCSAgbGVmdC90b3AgY3JvcHBpbmcgaXMgYW4gb2RkIG51bWJlci4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKGNoZWNrXzF4MV9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYW5vdGhlciB1bml0IHRlc3QgdGhhdCBjcm9wcyB0aGUgaW5wdXQgdG8gMXgxIChhbmQgY2hlY2tzCgkgIHRoYXQgdGhhdCBwaXhlbCBoYXMgdGhlIGV4cGVjdGVkIHZhbHVlcyBpbiBhIG51bWJlciBvZiBmb3JtYXRzKS4KCjIwMDYtMDktMDggMTE6MDQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wLzogU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpOgoJICBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbAoJICBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdCBmb3IgdGhlIG1lbWNweSgpcwoJICB3ZSBkbywgc28gcmVtb3ZlIGxpYm9pbCB1c2FnZSB1bnRpbCB0aGVyZSBpcyBjbGVhciBldmlkZW5jZQoJICBpdCBhY3R1YWxseSBtYWtlcyBhIHBvc2l0aXZlIGRpZmZlcmVuY2Ugc29tZXdoZXJlLgoKMjAwNi0wOS0wNiAwOTowNTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXZlcnQgb25lIGNoYW5nZSB0byBmaXggc3RyZWFtaW5nIGF2aSAoYWRhcHRlciBzaXplICE9IGRhdGEgc2l6ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBSZXZlcnQgb25lIGNoYW5nZSB0byBmaXggc3RyZWFtaW5nIGF2aSAoYWRhcHRlciBzaXplICE9IGRhdGEgc2l6ZSkuCgoyMDA2LTA5LTA0IDE2OjIxOjE3ICswMDAwICBGcsOpZMOpcmljIFJpc3MgPGZyZWRlcmljLnJpc3NAZ21haWwuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHN1cHBvcnQgZm9yIFZPQlNVQiBzdWJ0aXRsZSB0cmFja3MgYW5kIHpsaWItY29tcHJlc3NlZCB0cmFja3MuIE1ha2Ugc3VyZSB3ZSBzdGFydCBvbiBhIGtleWZyYW1lIGFmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnLDqWTDqXJpYyBSaXNzICA8ZnJlZGVyaWMucmlzcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX3RyYWNrX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgVk9CU1VCIHN1YnRpdGxlIHRyYWNrcyBhbmQgemxpYi1jb21wcmVzc2VkCgkgIHRyYWNrcy4gTWFrZSBzdXJlIHdlIHN0YXJ0IG9uIGEga2V5ZnJhbWUgYWZ0ZXIgYSBzZWVrLiAoIzM0MzM0OCkKCjIwMDYtMDktMDQgMTU6MDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBub3QgcGVyZmVjdCB5ZXQgdGhvdWdoLCBuZWVkcyBzb21lIHR3ZWFraW5nIGluIGZsYWNkZWM7IGFsc28sIHNlZWtpbmcgY291bGQgYmUgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2hkcl9idWYpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZmxhY19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIGJhc2ljIEZMQUMgc3VwcG9ydCAoIzMxMTU4NiksIG5vdCBwZXJmZWN0IHlldCB0aG91Z2gsIG5lZWRzIHNvbWUKCSAgdHdlYWtpbmcgaW4gZmxhY2RlYzsgYWxzbywgc2Vla2luZyBjb3VsZCBiZSBiZXR0ZXIuCgkgIERvIGJldHRlciBib3VuZHMgY2hlY2tpbmcgd2hlbiBkZXNlcmlhbGlzaW5nIHZvcmJpcyBzdHJlYW0gaGVhZGVycwoJICB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIG9uIGJhZCBpbnB1dC4KCjIwMDYtMDktMDQgMDk6MzQ6MjUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiBTZWVraW5nIGJhY2sgaW4gYSBmaWxlIGNvbnRhaW5pbmcgYSBDTU1MIHN0cmVhbSBlcnJvcnMgb3V0IGlmIHRoZSBzZWVrIGdvZXMgYmFjayB1cCB0byB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19jaGFpbik6CgkgIFNlZWtpbmcgYmFjayBpbiBhIGZpbGUgY29udGFpbmluZyBhIENNTUwgc3RyZWFtIGVycm9ycyBvdXQgaWYgdGhlIHNlZWsKCSAgZ29lcyBiYWNrIHVwIHRvIHRoZSBDTU1MIGhlYWRlcnMuIFRoaXMgaXMgYmVjYXVzZSBhZnRlciB0aGUgc2VlayB0aGUgeG1sCgkgIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gPD94bWwgLi4uPz4gaXMgc3VibWl0dGVkIHRvIHRoZSB4bWwgcGFyc2VyIGFnYWluLAoJICB3aGljaCByZXN1bHRzIGluIGFuIGVycm9yLiBUaGUgYXR0YWNoZWQgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0uCgkgIEZpeGVzICMzNTM5MDguCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICBGaXggYXV0aG9ycyBuYW1lLgoKMjAwNi0wOS0wMyAxMDo0NjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbiBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAoYnVmZmVyX3Byb2JlX2NiKSwgKHRlc3RfY2Fwc190cmFuc2Zvcm0pLCAodGVzdF9wYXNzdGhyb3VnaCksCgkgIChub3Rnc3RfdmFsdWVfbGlzdF9nZXRfbnRoX2ludCksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbgoJICBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZCB2YWx1ZXMsIHJhbmdlcyBhbmQgbGlzdHMuCgoyMDA2LTA5LTAyIDE4OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgTW92ZSBib2lsZXJwbGF0ZSBzdHVmZiBhbmQgc3RydWN0dXJlcyBpbnRvIGEgaGVhZGVyIGZpbGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgICh0ZXN0X3VuaXRfc2l6ZXMpLCAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKHRlc3RfY3JvcHBpbmcpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvY3JvcC4KCjIwMDYtMDktMDIgMTU6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hciksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbiksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uX3ZhbHVlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fY3JvcF9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlCgkgIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgoyMDA2LTA5LTAyIDE0OjQ1OjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCjIwMDYtMDktMDIgMTQ6Mjg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCjIwMDYtMDgtMzAgMTg6MDE6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTM6MzA6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoKMjAwNi0wOC0zMCAxMTozNjowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMToyNzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgUmVtb3ZpbmcgbXlzdGljIG1vZGlmaWNhdGlvbnMgZm9yIGdvb2QuCgoyMDA2LTA4LTMwIDExOjA3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieSB0aGUgbGFzdCBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkKCSAgdGhlIGxhc3QgY29tbWl0CgoyMDA2LTA4LTMwIDEwOjQzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCjIwMDYtMDgtMjkgMjA6NTk6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCjIwMDYtMDgtMjggMTc6NDc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgoyMDA2LTA4LTI4IDE2OjU5OjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYyAoZ3N0X2R2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpOiBOZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGxlc3NlbiB0aGUgaWZkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0yOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYyAoZ3N0X2R2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpOgoJICBOZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGxlc3NlbiB0aGUgaWZkZWZzLgoJICAoR1NUX0lORk9fT0JKRUNUKToKCSAgKGdzdF9kdjEzOTRzcmNfaXNvX3JlY2VpdmUpOiBVc2UgaXQuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSk6IEFsc28gdXNlIHRoZSBjb250cm9sIHNvY2tldHMgaW4gaWVjNjE4ODMKCSAgbW9kZS4KCSAgKGdzdF9kdjEzOTRzcmNfc3RhcnQsIGdzdF9kdjEzOTRzcmNfc3RvcCk6IEFsd2F5cyB1c2UgYSBzZXBhcmF0ZQoJICBoYW5kbGUgZm9yIEFWQyBvcGVyYXRpb25zOyBmaXhlcyAjMzQ4MjMzLgoKMjAwNi0wOC0yOCAxNDo1OTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMDYtMDgtMjcgMTc6MTQ6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbmFtZSBhZ2FpbiAoYXVkaW9meGdvb2QgLT4gYXVkaW9meCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhnb29kLnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICBSZW5hbWUgYWdhaW4gKGF1ZGlvZnhnb29kIC0+IGF1ZGlvZngpLgoKMjAwNi0wOC0yNyAxMzoxMjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbml0aWFsemUgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEluaXRpYWx6ZSB2YXJpYWJsZXMuCgoyMDA2LTA4LTI1IDE2OjIxOjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBNb3JlIGF0dGVtcHRzIHRvIHR1cm4gdGhpcyBpbnRvIHJlYWRhYmxlIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2luaXQpLCAoZ3N0X2F2aV9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbGFzdCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKSwgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBNb3JlIGF0dGVtcHRzIHRvIHR1cm4gdGhpcyBpbnRvIHJlYWRhYmxlIGNvZGUuCgkgIERvbid0IGxlYWsgYWRhcHRlcnMuCgkgIENhbGN1bGF0ZSBkdXJhdGlvbiBhY2NvcmRpbmcgdG8gaW5kZXggbW9yZSBlZmZpY2llbnRseS4KCSAgRG9uJ3QgdHJ5IHRvIGFjdCBsaWtlIHdlIGRyaXZlIHRoZSBwaXBlbGluZSBpbiBjaGFpbiBtb2RlLgoKMjAwNi0wOC0yNSAwOTo1MzoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfY2xvY2tfdGltZV9mcm9tX25wdCk6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDgtMjUgMDk6NDI6NDMgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiBEbyBzb21lIGV4dHJhIHNhbml0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogKGdzdF9hbm5vZGV4X2dyYW51bGVfdG9fdGltZSk6CgkgIERvIHNvbWUgZXh0cmEgc2FuaXR5IGNoZWNrcy4KCSAgRml4ZXMgIzM1MDM0MC4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9jbW1sX2VuY19wYXJzZV90YWdfaGVhZCksIChnc3RfY21tbF9lbmNfcGFyc2VfdGFnX2NsaXApLAoJICAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCksIChnc3RfY21tbF9lbmNfcHVzaCk6CgkgIENoZWNrIGlmIGNsaXAtPnN0YXJ0X3RpbWUgaXMgdmFsaWQgYmVmb3JlIGFkZGluZyB0aGUgY2xpcCB0byB0aGUKCSAgdHJhY2sgbGlzdC4KCSAgUmVzZXQgZW5jLT5wcmVhbWJsZSBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCSAgRG9uJ3QgdXNlIEdTVF9GTE9XX1VORVhQRUNURUQgZm9yIHdyb25nIHVzYWdlIG9mIHRoZSBlbGVtZW50LCBpdCBpcwoJICBvbmx5IHVzZWQgZm9yIEVPUy4KCSAgT25seSBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgd2Ugd2VyZSB0aGUgb25lIHRoYXQgY3JlYXRlZCB0aGUgZmF0YWwKCSAgR3N0Rmxvd1JldHVybiB2YWx1ZS4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX2Nsb2NrX3RpbWVfZnJvbV9ucHQpLAoJICAoZ3N0X2NtbWxfY2xvY2tfdGltZV90b19ncmFudWxlKSwgKGdzdF9jbW1sX3RyYWNrX2xpc3RfaGFzX2NsaXApOgoJICBQYXJzZSB0aGUgc2Vjb25kcyBmaWVsZCBvZiB0aGUgbnB0LXNlYyB0aW1lIGZvcm1hdCB1c2luZyAlbGx1IHJhdGhlciB0aGFuCgkgICVkIGFuZCBjaGVjayB0aGF0IHRoZSB2YWx1ZSBzY2FsZWQgYnkgR1NUX1NFQ09ORCBkb2Vzbid0IG92ZXJmbG93LgoJICBVc2UgZ3VpbnQ2NChzKSB0byByZXByZXNlbnQgdGhlIGtleWluZGV4IGFuZCBrZXlvZmZzZXQgZmllbGRzIG9mIGEgZ3JhbnVsZXBvcy4KCSAgTG9va3VwIGEgY2xpcCdzIHRyYWNrIHdpdGggY2xpcC0+dHJhY2sgcmF0aGVyIHRoYW4gY2xpcC0+aWQgd2hpY2gKCSAgbWFrZXMgbm8gc2Vuc2UuCgkgIElkZW50aWZ5IGEgY2xpcCBieSBpdHMgdHJhY2sgYW5kIHN0YXJ0IHRpbWUgYW5kIG5vdCBpdHMgeG1sIGlkLgoJICBkbyBzb21lIG1vcmUgaW5wdXQgY2hlY2tpbmcgYW5kIG1ha2Ugc3VyZSB3ZSBkb24ndCBkbyB1bmRlZmluZWQgc2hpZnRzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyksIChjaGVja19vdXRwdXRfYnVmZmVyX2lzX2VxdWFsKSwgKHB1c2hfZGF0YSksCgkgIChjbW1sX3RhZ19tZXNzYWdlX3BvcCksIChjaGVja19oZWFkZXJzKSwgKHB1c2hfY2xpcF9mdWxsKSwKCSAgKHB1c2hfY2xpcCksIChwdXNoX2VtcHR5X2NsaXApLCAoY2hlY2tfb3V0cHV0X2NsaXApLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoY21tbGRlY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKSwgKGNoZWNrX291dHB1dF9idWZmZXJfaXNfZXF1YWwpLCAocHVzaF9kYXRhKSwKCSAgKGNoZWNrX2hlYWRlcnMpLCAocHVzaF9jbGlwKSwgKGNoZWNrX2NsaXBfdGltZXMpLCAoY2hlY2tfY2xpcCksCgkgIChjaGVja19lbXB0eV9jbGlwKSwgKEdTVF9TVEFSVF9URVNUKSwgKGNtbWxlbmNfc3VpdGUpOgoJICBBZGRlZCBzb21lIG1vcmUgY2hlY2tzLgoKMjAwNi0wOC0yNCAxOTowMDoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZSBhbHNvIHRoZSBwYW4tcHJvcGVydHkgZmxvYXQgKHNhdmVzIHNjYWxpbmcgYW5kIHlpZWxkcyBiZXR0ZXIgcmVzb2x1dGlvbikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBhbHNvIHRoZSBwYW4tcHJvcGVydHkgZmxvYXQgKHNhdmVzIHNjYWxpbmcgYW5kIHlpZWxkcyBiZXR0ZXIKCSAgcmVzb2x1dGlvbikKCjIwMDYtMDgtMjQgMTg6MjM6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IENoYW5nZUxvZyBzdXJnZXJ5IHRvIGFkZCBjeW1heCdzIHJlYWwgbmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KToKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgdG8gYWRkIGN5bWF4J3MgcmVhbCBuYW1lCgoyMDA2LTA4LTI0IDE4OjE3OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS4qOiBBZGRlZCBmbG9hdCBzdXBwb3J0ICh0aGFua3MgY3ltYXgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICBBZGRlZCBmbG9hdCBzdXBwb3J0ICh0aGFua3MgY3ltYXgpCgoyMDA2LTA4LTI0IDE0OjE2OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiBGaXggZG9jcyAmIGRlYnVnIGNhdGVnb3J5LiBBZGQgRml4bWUgZm9yIHZvbHVtZSBwYW4gbGV2ZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOgoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpOgoJICBGaXggZG9jcyAmIGRlYnVnIGNhdGVnb3J5LiBBZGQgRml4bWUgZm9yIHZvbHVtZSBwYW4gbGV2ZWxzLgoKMjAwNi0wOC0yNCAxMzo1MToxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiB1bmJyZWFrIEFWSSBpbmRleCBoYW5kbGluZywgc29tZSBtb3JlIGRlYnVnLCByZW1vdmUgYW4gb2Jzb2xldGUgYWRhcHRlcl9mbHVzaCB0aGF0IGNhdXNlZCBzdHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIHVuYnJlYWsgQVZJIGluZGV4IGhhbmRsaW5nLCBzb21lIG1vcmUgZGVidWcsIHJlbW92ZSBhbiBvYnNvbGV0ZQoJICBhZGFwdGVyX2ZsdXNoIHRoYXQgY2F1c2VkIHN0cmVhbWluZyB0byB3YW5kZXIgb2ZmIGluIHRoZSB3aWxkCgoyMDA2LTA4LTI0IDExOjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTb21lIG1vcmUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTb21lIG1vcmUgY2xlYW51cHMuCgkgIEZpeCB0b3RhbEZyYW1lcyBwYXJzaW5nIGluIE9ETUwuCgkgIERpc2FibGUgdXNlIG9mIGluZGV4IGZvciBsZW5ndGggY2FsY3VsYXRpb24gaW4gY2FzZSBvZiBPRE1MIGFzIHRoaXMgaXMKCSAgYnJva2VuIG5vdy4KCjIwMDYtMDgtMjQgMTA6MDM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFVzZSBsaWJnc3R0YWcgaGVscGVyIGZ1bmN0aW9uIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKToKCSAgVXNlIGxpYmdzdHRhZyBoZWxwZXIgZnVuY3Rpb24gaGVyZSB0b28uCgoyMDA2LTA4LTI0IDA5OjI0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHF1ZXJpZXMgaW4gb3RoZXIgZm9ybWF0cyAoQllURSBmb3JtYXQgaW4gcGFydGljdWxhcikKCSAgdXBzdHJlYW07IGFkZCBTZWJhc3RpYW4gdG8gYXV0aG9ycy4KCjIwMDYtMDgtMjQgMDA6NDA6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCjIwMDYtMDgtMjMgMTU6MzM6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSW5pdGlhbCBzdHJlYW1pbmcgc3VwcG9ydCBmb3IgYXZpZGVtdXggKGZpeGVzICMzMzY0NjUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2luaXQpLCAoZ3N0X2F2aV9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLCAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVua19pbmZvKSwgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKHNvcnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChwdXNoX3RhZ19saXN0cyksIChnc3RfYXZpX2RlbXV4X2xvb3ApLCAoZ3N0X2F2aV9kZW11eF9jaGFpbiksCgkgIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2F2aV9kZW11eF9hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEluaXRpYWwgc3RyZWFtaW5nIHN1cHBvcnQgZm9yIGF2aWRlbXV4IChmaXhlcyAjMzM2NDY1KQoKMjAwNi0wOC0yMyAxMDozMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQgYXMgd2VsbCAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQKCSAgYXMgd2VsbCAoIzM1MjQ3NikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBSZXN0b3JlIG9yaWdpbmFsIGF1dGhvciAob24gU2ViYXN0aWFuJ3MgcmVxdWVzdCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCAoc28gZmFyIGVtcHR5KSBzdXBwcmVzc2lvbiBmaWxlIGZvciAtYmFkLiBSZW1vdmUKCSAgd2F2cGFja2VuYyB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIG5vdyB0aGF0IHRoZSBsZWFrCgkgIGlzIGZpeGVkLgoKMjAwNi0wOC0yMyAwOToyMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2RlY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZW5jX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja3BhcnNlX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIzIDA4OjUyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIyIDIwOjM5OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoKMjAwNi0wOC0yMiAxNzoyMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBUaGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50IC4uLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXNlICclJyByYXRoZXIgdGhhbiAnJnBlcmM7JyBpbiBndGstZG9jIGJsdXJiLCBkb2NzIGJ1aWxkCgkgIHdhcyBjb21wbGFpbmluZyBhYm91dCB1bmtub3duIGVudGl0eSBoZXJlLgoKMjAwNi0wOC0yMiAxNzowMjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogTWFyayBESVNDT05ULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBNYXJrIERJU0NPTlQuCgkgIFJlbW92ZSBvbGQgdW51c2VkIGZpZWxkcyBhbmQgcmVvcmRlciB0aGUgc3RydWN0IGEgYml0LgoKMjAwNi0wOC0yMiAxNjo0NTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua191bnByZXBhcmUpOgoJICBTbWFsbCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgoyMDA2LTA4LTIyIDE2OjQyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQcmVjYWxjIG1vc3Qgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGZvciBlYWNoIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9hZ2dyZWdhdGVkX2Zsb3cpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwKCSAgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFByZWNhbGMgbW9zdCBvZiB0aGUgZHVyYXRpb24gcXVlcnkgZm9yIGVhY2ggc3RyZWFtLgoJICBNYWtlIHNlZWtpbmcgbW9yZSBjb3JyZWN0LgoJICBVc2UgR3N0U2VnbWVudCB0byB0cmFjayBwb3NpdGlvbiBhbmQgZHVyYXRpb24uCgkgIENvZGUgY2xlYW51cHMgYW5kIGxlYWsgZml4ZXMuCgkgIENhbGN1bGF0ZSBjb3JyZWN0IHRvdGFsIGR1cmF0aW9uIGJhc2VkIG9uIGluZGV4IGxlbmd0aC4KCjIwMDYtMDgtMjIgMTM6NTM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IElmIHN0cmluZ3MgaW4gdGV4dCBmaWVsZHMgYXJlIG1hcmtlZCBJU084ODU5LTEsIGJ1dCBjb250YWluIHZhbGlkIFVURi04IGFscmVhZHksIHRoZW4gaGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKToKCSAgSWYgc3RyaW5ncyBpbiB0ZXh0IGZpZWxkcyBhcmUgbWFya2VkIElTTzg4NTktMSwgYnV0IGNvbnRhaW4KCSAgdmFsaWQgVVRGLTggYWxyZWFkeSwgdGhlbiBoYW5kbGUgdGhlbSBhcyBVVEYtOCBhbmQgaWdub3JlCgkgIHRoZSBlbmNvZGluZy4gKCMzNTE3OTQpCgoyMDA2LTA4LTIyIDEyOjI4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBNYWtlIGZsYWMtaW4tb2dnIHdvcmsgKCMzNTIxMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2Nhbl9nb3RfZnJhbWUpLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwgKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19jaGFpbiksCgkgIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIE1ha2UgZmxhYy1pbi1vZ2cgd29yayAoIzM1MjEwMCkuCgoyMDA2LTA4LTIyIDEyOjEwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogRG9uJ3QgdW5yZWYgYnVmZmVycyBvZiB3aGljaCB3ZSd2ZSBhbHJlYWR5IGdpdmVuIGF3YXkgb3duZXJzaGlwIHRvIHRoZSBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgIERvbid0IHVucmVmIGJ1ZmZlcnMgb2Ygd2hpY2ggd2UndmUgYWxyZWFkeSBnaXZlbiBhd2F5CgkgIG93bmVyc2hpcCB0byB0aGUgYWRhcHRlci4KCjIwMDYtMDgtMjIgMTA6MzI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogTWFrZSBtZXRhZGF0YSBleHRyYWN0aW9uIGFjdHVhbGx5IHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKToKCSAgTWFrZSBtZXRhZGF0YSBleHRyYWN0aW9uIGFjdHVhbGx5IHdvcmsuCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVleGVuY19pbml0KSwgKGdzdF9zcGVleGVuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgIEZpeCBtZXRhZGF0YSB3cml0aW5nOiByZXBsYWNlIG9sZCBjb2RlIHdoaWNoIHdyb3RlIGNvbXBsZXRlbHkKCSAgYnJva2VuIHRhZ3Mgd2l0aCBsaWJnc3R0YWctYmFzZWQgY29kZS4gUGx1cyBtaXNjZWxsYW5lb3VzCgkgIGNvZGUgY2xlYW51cHMgKHVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBldGMuKSBhbmQgYSBidW5jaAoJICBvZiBsZWFrIGZpeGVzLgoKMjAwNi0wOC0yMSAxOTozNDowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvcGFub3JhbWEvOiBkaWUhIGRpZSEgZGllISB5b3Ugc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiB0aGVyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9wYW5vcmFtYS5oOgoJICBkaWUhIGRpZSEgZGllISB5b3Ugc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiB0aGVyZQoKMjAwNi0wOC0yMSAxNjoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgRml4IHNvbWUgcGFsZXR0ZWQgZGF0YSBmb3JtYXRzIGFnYWluLgoJICBGaXggdWxhdy9hbGF3IGluIHF0LgoJICBTZXQgY29ycmVjdCBjYXBzIGZvciByYXcgUkdCLgoJICBBZGQgc3VwcG9ydCBmb3IgeXV2Miwgd2hpY2ggaXMgbGlrZSBZdXYyLgoJICBBZGQgc3VwcG9ydCBmb3IgcmF3IGF1ZGlvIHdpdGggdGhlIE5PTkUgZm91cmNjLCB3aGljaCBpcyBsaWtlIHJhdy4KCjIwMDYtMDgtMjEgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay86IE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0bwoJICByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0aCAnR3N0JyB0byBtYWtlIGl0IGNsZWFyZXIKCSAgd2hlcmUgdGhleSBjb21lIGZyb20uCgoyMDA2LTA4LTIxIDEzOjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgIEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKQoJICBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYzKTsgdXNlIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkc7IHNpbXBsaWZ5IHB1c2hfYmxvY2soKTsgZG8gc29tZSBzbWFsbAoJICBjbGVhbi11cHMgaGVyZSBhbmQgdGhlcmU7IGZpeCBtZW1sZWFrICgjMzUxNjYzKS4KCjIwMDYtMDgtMjEgMTM6MTI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGF1ZGlvcGFub3JhbWEgdGVzdCBzdWl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGF1ZGlvcGFub3JhbWEgdGVzdCBzdWl0ZS4KCjIwMDYtMDgtMjEgMTE6MzQ6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBpZ25vcmUgYnVpbHQgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBpZ25vcmUgYnVpbHQgZmlsZQoKMjAwNi0wOC0yMSAxMDo0NjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEZpeCB0aGUgYnVpbGQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQgYWdhaW4uCgoyMDA2LTA4LTIxIDA5OjIxOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvOiByZXN1Ym1pdCB3aXRoIHRoZSBkZXNpcmVkIG5hbWUgKmFnYWluKgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF91bml0X3NpemUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3MycyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICByZXN1Ym1pdCB3aXRoIHRoZSBkZXNpcmVkIG5hbWUgKmFnYWluKgoKMjAwNi0wOC0yMCAxMzowOTo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCjIwMDYtMDgtMjAgMTM6MDY6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGNsZWFudXAgLXVudXNlZC50eHQgdG8gbWFrZSBpdCB1c2VmdWwsIGFkZCBwcmV2aW91c2x5IG1pc3NpbmcgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGdvb2QueG1sOgoJICBjbGVhbnVwIC11bnVzZWQudHh0IHRvIG1ha2UgaXQgdXNlZnVsLCBhZGQgcHJldmlvdXNseSBtaXNzaW5nIGRvY3MKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICByZWZsb3cgdG8gZ2V0IHJpZCBvZiB0d28gZXh0ZXJuYWwgc3ltYm9scwoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIHJlLWFkZAoKMjAwNi0wOC0yMCAxMjowOToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmMKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF91bml0X3NpemUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3MycyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKHNldHVwX3Bhbm9yYW1hX20pLAoJICAoc2V0dXBfcGFub3JhbWFfcyksIChjbGVhbnVwX3Bhbm9yYW1hKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhbm9yYW1hX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYXVkaW9meGdvb2QgcGx1Z2luIHdpdGggYXVkaW9wYW5vcmFtYSBlbGVtZW50CgoyMDA2LTA4LTE4IDIxOjM5OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluZF9tYXJrZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlcik6CgkgIEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkCgkgIHplcm9lczsgc2tpcCBnYXJiYWdlIGJldHdlZW4gZnJhbWVzIGluIHB1bGwgbW9kZSBhcyB3ZWxsIGlmCgkgIG5lY2Vzc2FyeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpOyBwdXNoIEVPUyBhbmQKCSAgTkVXU0VHTUVOVCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24gKCMzNTE2NTkpLgoKMjAwNi0wOC0xOCAxNzowMDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogTW9yZSBPc3MgZG9jcyBmaXhhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgTW9yZSBPc3MgZG9jcyBmaXhhZ2UuCgoyMDA2LTA4LTE4IDE2OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIGV4cGVyaW1lbnRhbCBTVlEzIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgQWRkZWQgZXhwZXJpbWVudGFsIFNWUTMgZGVwYXlsb2FkZXIuCgoyMDA2LTA4LTE4IDEzOjI1OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguKjogV2hlbiBoYW5kbGluZyBzZWVrIHJlcXVlc3RzLCBkb24ndCBzZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIGNhbGxpbmcgdGhyZWFkLiBJbnN0ZWFkIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2xvb3ApLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBXaGVuIGhhbmRsaW5nIHNlZWsgcmVxdWVzdHMsIGRvbid0IHNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUKCSAgY2FsbGluZyB0aHJlYWQuIEluc3RlYWQgc2F2ZSBpdCBzbyBpdCBjYW4gYmUgc2VudCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkLgoKMjAwNi0wOC0xNyAxNTo1MTo1MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBY2NlcHQgbGVhZGluZyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYm91bmRhcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKG11bHRpcGFydF9wYXJzZV9oZWFkZXIpOgoJICBBY2NlcHQgbGVhZGluZyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYm91bmRhcnkKCSAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgZGVtdXhlciBhbGxvdyBzb21lIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBhY3R1YWwKCSAgYm91bmRhcnkuIFRoaXMgbWFrZXMgdGhlIGRlbXV4ZXIgd29yayB3aXRoIHRoZSBgYG9sZCcnIGdzdHJlYW1lcgoJICBtdWx0aXBhcnRtdXhlciBhZ2FpbiAod2hpY2ggcGxhY2VkIGFuIGV4dHJhIFxuIGJlZm9yZSB0aGUgc3RhcnQKCSAgb2YgdGhlIHN0cmVhbSkgRml4ZXMgIzM0OTA2OC4KCjIwMDYtMDgtMTcgMTU6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBFcnJvciBvdXQgb24gbm9uLWltcGxlbWVudGVkIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBFcnJvciBvdXQgb24gbm9uLWltcGxlbWVudGVkIHN0dWZmLgoKMjAwNi0wOC0xNiAxNjo1MDowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5keSBXaW5nbyA8d2luZ28gYXQgcG9ib3ggZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgoyMDA2LTA4LTE2IDE1OjMzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUgbmFtZXMgYXMgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6CgkgIENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlCgkgIG5hbWVzIGFzIHBvc3NpYmxlLgoKMjAwNi0wOC0xNiAxNDo0Nzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlIHBlbiBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKToKCSAgQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUKCSAgcGVuIGFueW1vcmUuCgoyMDA2LTA4LTE2IDEzOjQ4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogRG9uJ3QgbGVhayBkZXZpY2Ugc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBkZXZpY2Ugc3RyaW5nLgoKMjAwNi0wOC0xNiAxMzowMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgb2YgR1N0cmVhbWVyIGNvcmUgYW5kIC1iYXNlIChmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBvZiBHU3RyZWFtZXIgY29yZSBhbmQgLWJhc2UgKGZvcgoJICBHU1RfVEFHX0VYVEVOREVEX0NPTU1FTlQgYW5kIGdzdF90YWdfcGFyc2VfZXh0ZW5kZWRfY29tbWVudCgpKS4KCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXcml0ZSBleHRlbmRlZCBjb21tZW50IHRhZ3MgcHJvcGVybHkgKCMzNDg3NjIpLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSk6CgkgIEV4dHJhY3QgQ09NTSBmcmFtZXMgaW50byBleHRlbmRlZCBjb21tZW50cywgd2hpY2ggbWFrZXMgaXQKCSAgZWFzaWVyIHRvIHByb3Blcmx5IHJldGFpbiB0aGUgZGVzY3JpcHRpb24gYml0IG9mIHRoZSB0YWcKCSAgYW5kIG1haW50YWluIHRoaXMgaW5mb3JtYXRpb24gd2hlbiByZS10YWdnaW5nICgjMzQ4NzYyKS4KCjIwMDYtMDgtMTYgMTI6MDI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgdHJ5IHRvIHJ1biBhbm5vZGV4IHVuaXQgdGVzdHMgaWYgdGhlIGFubm9kZXggcGx1Z2luIGhhcyBub3QgYmVlbiBidWlsdCAoRml4ZXMgIzM1MTExNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCB0cnkgdG8gcnVuIGFubm9kZXggdW5pdCB0ZXN0cyBpZiB0aGUgYW5ub2RleAoJICBwbHVnaW4gaGFzIG5vdCBiZWVuIGJ1aWx0IChGaXhlcyAjMzUxMTE2KS4KCjIwMDYtMDgtMTYgMTA6NTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IFdoZW4gd2UgY2FuJ3QgZmluZCBhIHVzYWJsZSBhdWRpb3NpbmssIGRvbid0IGVycm9yIG91dCwgYnV0IHVzZSBhIGZha2Ugc2luayBpbnN0ZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICBXaGVuIHdlIGNhbid0IGZpbmQgYSB1c2FibGUgYXVkaW9zaW5rLCBkb24ndCBlcnJvciBvdXQsCgkgIGJ1dCB1c2UgYSBmYWtlIHNpbmsgaW5zdGVhZCBhbmQgcG9zdCBhIHdhcm5pbmcgbWVzc2FnZQoJICBvbiB0aGUgYnVzICgjMzQxMjc4KS4KCjIwMDYtMDgtMTYgMTA6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0ICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdAoJICAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmRlcnNjb3JlcyBpbgoJICBHT2JqZWN0IHByb3BlcnR5IG5hbWVzLgoKMjAwNi0wOC0xNiAxMDoyMjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBEb2N1bWVudCBPU1MgZWxlbWVudHM7IGFkZCBndGstZG9jIGJsdXJiIHdpdGggJ1NpbmNlIDAuMTAuNScgZm9yIG9zc21peGVyJ3MgbmV3IGRldmljZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBEb2N1bWVudCBPU1MgZWxlbWVudHM7IGFkZCBndGstZG9jIGJsdXJiIHdpdGggJ1NpbmNlIDAuMTAuNScgZm9yCgkgIG9zc21peGVyJ3MgbmV3IGRldmljZSBwcm9wZXJ0eS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGRvY3MgZm9yIE9TUyBlbGVtZW50cy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSB0byBDVlMgdmVyc2lvbi4KCjIwMDYtMDgtMTYgMTA6MDU6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQ2FwcyBleHRyYSBwcm9wZXJ0aWVzIG11c3QgYmUgZGVmaW5lZCBhcyBzdHJpbmdzIGZvciBkZXBheWxvYWRlcnMgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSBhbiBTRFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBDYXBzIGV4dHJhIHByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIGFzIHN0cmluZ3MgZm9yCgkgIGRlcGF5bG9hZGVycyBiZWNhdXNlIHRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIGFuIFNEUC4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2ZpbmFsaXplKSwgKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBBZGRlZCBiYXNpYywgbm90IGNvbXBsZXRlbHkgZnVuY3Rpb25hbCBSRkMgMzk4NCBIMjY0IGRlcGF5bG9hZGVyLgoKMjAwNi0wOC0xNiAwOTo0ODoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiBBZGQgcGFkcyBhZnRlciBzZXR0aW5nIHRoZW0gdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgIEFkZCBwYWRzIGFmdGVyIHNldHRpbmcgdGhlbSB1cC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfZnJlZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3J0c3BzcmNfbG9vcCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IGludGVybGVhdmVkIG1vZGUuCgkgIC0gUHJvdGVjdCBzdHJlYW1pbmcgd2l0aCBsb2NrLgoJICAtIENvbWJpbmUgZmxvd3MKCSAgLSBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAtIHN0cmlwIHRyYWlsaW5nIFwwIGZyb20gZGF0YSBwYWNrZXRzLgoJICAtIENvbmZpZ3VyZSBSVFAvUlRDUCBpbiBzdHJlYW0uCgkgIFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCjIwMDYtMDgtMTYgMDk6Mjk6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBUdXJuIGEgZ19wcmludCBpbnRvIGEgREVCVUcgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgVHVybiBhIGdfcHJpbnQgaW50byBhIERFQlVHIGxpbmUuCgoyMDA2LTA4LTE2IDA5OjI1OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy86IFNtYWxsIGNsZWFudXBzLiBCZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6IChnc3Rfb3NzbWl4ZXJfb3BlbiksIChnc3Rfb3NzbWl4ZXJfbmV3KToKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2luaXQpLCAoZ3N0X29zc19taXhlcl9lbGVtZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkgIFNtYWxsIGNsZWFudXBzLiBCZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgoJICBBZGQgZGV2aWNlIHByb3BlcnR5IGZvciB0aGUgbWl4ZXIgaW5zdGVhZCBvZiB0aGUgaGFyZGNvZGVkCgkgIC9kZXYvbWl4ZXIuIEZpeGVzICMzNTA3ODUuCgkgIEFQSTogR3N0T3NzTWl4ZXJFbGVtZW50OjpkZXZpY2UgcHJvcGVydHkKCjIwMDYtMDgtMTUgMjI6NDQ6MjcgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdjb25mL01ha2VmaWxlLmFtOiBNYWtlIC0tZGlzYWJsZS1zY2hlbWFzIHdvcmsgcmlnaHQgKHRoZXkgc3RpbGwgbmVlZCB0byBiZSBjb3BpZWQgdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnksIGp1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgTWFrZSAtLWRpc2FibGUtc2NoZW1hcyB3b3JrIHJpZ2h0ICh0aGV5IHN0aWxsIG5lZWQKCSAgdG8gYmUgY29waWVkIHRvIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBqdXN0IG5vdAoJICBhcHBsaWVkKS4gRml4ZXMgIzM1MTM0NyAoYWxzbyAjMzQ0MTAwKS4KCjIwMDYtMDgtMTUgMjA6Mjk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7IHNvbWUgc21hbGwgY2xlYW4tdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7CgkgIHNvbWUgc21hbGwgY2xlYW4tdXBzIGFsb25nIHRoZSB3YXk7IGFkZCBzdXBwb3J0IGZvciBTRUVLSU5HIHF1ZXJ5CgkgIGFuZCBxdWVyeSB0eXBlcyBmdW5jdGlvbi4gKCMzNTE0OTUpLgoKMjAwNi0wOC0xNCAxMTozNzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKMjAwNi0wOC0xNCAxMToxNDo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbGVhc2luZyAwLjEwLjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjQKCjIwMDYtMDgtMTQgMTA6MDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZQoJICB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaW11bSByZXF1aXJlZAoJICBiaXRyYXRlIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZS4gKCMzNTAzOTkpCgoyMDA2LTA4LTEwIDE0OjEwOjI4ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgoJICBTZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIEZpeGVzICMzNDc1MjkKCjIwMDYtMDgtMTAgMTQ6MDI6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBidW1wZWQgZm9yIHByZXJlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVtcGVkIGZvciBwcmVyZWwKCjIwMDYtMDgtMTAgMTM6MTA6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA2LTA4LTA4IDE0OjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHNpbGx5IHR5cG8uCgoyMDA2LTA4LTA4IDE0OjQ2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgbnVtYmVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgbnVtYmVyCgoyMDA2LTA4LTA4IDE0OjQwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvOiBSZWZ1c2Ugc2luayBjYXBzIGluIHRoZSBlbmNvZGVyIGlmIHdpZHRoIG9yIGhlaWdodCBpcyBub3QgYSBtdWx0aXBsZSBvZiAxNiwgdGhlIGVuY29kZXIgZG9lcyBub3Qgc3VwcG9ydCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKSwgKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIFJlZnVzZSBzaW5rIGNhcHMgaW4gdGhlIGVuY29kZXIgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIG5vdCBhCgkgIG11bHRpcGxlIG9mIDE2LCB0aGUgZW5jb2RlciBkb2VzIG5vdCBzdXBwb3J0IHRoYXQgeWV0OyBhbG9uZyB0aGUKCSAgc2FtZSBsaW5lcywgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZW5jb2RlciBzZXR1cCBmdW5jdGlvbjsKCSAgYWxzbyByZW1vdmUgc29tZSBkZWJ1ZyBsb2cgY2x1dHRlci4KCjIwMDYtMDgtMDQgMTE6Mzg6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZyB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3JpbmcKCSAgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3Iga2VlcGluZwoJICB0cmFjayBvZiBpdHMgc3RhdGUuIENoYW5nZSB0aGUgRmxvd1JldHVybiBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tCgkgICJzdGF0ZSIgdG8gImZsb3dfc3RhdGUiLCBhbGwgY2FsbGVycyBjaGFuZ2VkLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKTogTmV3IGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlCgkgIHByb2Nlc3NvcidzIHN0YXRlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IHN0YXJ0KCkgYXMgd2VsbCBhcyBzZXR1cCgpIGhlcmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKTogUmVzcGVjdCBDQU5fUFJPQ0VTU19JTl9QTEFDRS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFN0b3AgYW5kIGNsZWFudXAgdGhlCgkgIHByb2Nlc3NvciBhcyB3ZSBnbyB0byBOVUxMLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmMgKGdzdF9sYWRzcGFfYmFzZV9pbml0KTogUmV1c2UgYnVmZmVycyBpZgoJICBJTlBMQUNFX0JST0tFTiBpcyBub3Qgc2V0LgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBEbyB0aGUgYWxsb2NfYnVmZmVyIGluIGJ5dGVzLCBub3QgZnJhbWVzLgoKMjAwNi0wOC0wNCAxMDoyMToyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiBGaXggcmdiIG1hc2tzIHdoZW4gcmVjb3JkaW5nIGluIDwgMjRicHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgIEZpeCByZ2IgbWFza3Mgd2hlbiByZWNvcmRpbmcgaW4gPCAyNGJwcC4KCjIwMDYtMDgtMDQgMDk6MjA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQlBCCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiBCUEIKCjIwMDYtMDgtMDQgMDk6MDU6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdXBkYXRlX2lucHV0cykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogUmVtb3ZlIHRoZSBsYXN0IG9mIHRoZSBjb2RlCgkgIHRoYXQgYXNzdW1lcyB0aGF0IHdlIHByb2Nlc3Mgd2hvbGUgYnVmZmVycyBhdCBhIHRpbWUuIEZpeCBzb21lCgkgIGRlYnVnZ2luZy4gU2VlbXMgdG8gd29yayBub3cgaW4gc29tZSBjYXNlcy4KCjIwMDYtMDctMzEgMjI6Mjc6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IEluaXQgcGVuZGluZ19pbiBhbmQgcGVuZGluZ19vdXQuCgoyMDA2LTA3LTMxIDIyOjAzOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8gbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vCgkgIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhdCB0aGUgc2FtcGxlCgkgIHJhdGUgYWN0dWFsbHkgZ2V0cyBzZXQuIFNvbWV0aGluZyBmb3IgdGhlIGZ1dHVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBTb21lIHJlZmNvdW50IGZpeGVzLCBmbG93IGZpeGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOiBSZWZjb3VudCBmaXhlbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBQdWxsIHRoZSBudW1iZXIgb2YgZnJhbWVzIHRvCgkgIHByb2Nlc3MgZnJvbSB0aGUgc2l6ZXMgb2YgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlucHV0IHBlbnMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKTogUmVtb3ZlIGFuIGluY29ycmVjdCBGSVhNRSA6KQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBBZGQgYW4gbmZyYW1lcyBhcmd1bWVudCwgYW5kIHVzZQoJICBpdCBpbnN0ZWFkIG9mIGJ1ZmZlcl9mcmFtZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IFJlZmNvdW50IGZpeGVuLCBwYXNzIG5mcmFtZXMgb24KCSAgdG8gZG9fcHVsbHMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogIFJlZmNvdW50IGZpeGVuLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IE5vIG1vcmUgYnVmZmVyX2ZyYW1lcywgeWF5LgoKMjAwNi0wNy0zMSAxOTo0NDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLAoJICB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkxODkpCgoyMDA2LTA3LTMxIDE1OjU4OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBkb2NzLgoKMjAwNi0wNy0yOSAxNjozMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBGSVhNRSBjb21tZW50cywgZmlsZWQgIzM0OTE4OQoKMjAwNi0wNy0yOSAxMToyMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IFNldCBjYXBzIG9uIGJ1ZmZlciBjb3JyZWN0bHkuICBGaXhlcyBidWcgIzM0OTE1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMjkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgU2V0IGNhcHMgb24gYnVmZmVyIGNvcnJlY3RseS4gIEZpeGVzIGJ1ZyAjMzQ5MTU1LgoKMjAwNi0wNy0yOCAxNjoxNzoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBVc2VzIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBvd24gYnVmZmVyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2ZpbmFsaXplKSwgKGdldF9saW5lX2VuZCksCgkgIChtdWx0aXBhcnRfcGFyc2VfaGVhZGVyKSwgKG11bHRpcGFydF9maW5kX2JvdW5kYXJ5KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpcGFydF9nZXRfcHJvcGVydHkpOgoJICBVc2VzIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBvd24gYnVmZmVyaW5nLgoJICBBY3R1YWxseSBwYXJzZXMgdGhlIG1pbWUtdHlwZSBjb3JyZWN0bHkgKEluIHRlc3RzIHRoZSBtaW1lLXR5cGUgd2FzCgkgIGFsd2F5cyAiIiB3aXRoIHRoZSBvbGQgdmVyc2lvbikuCgkgIFVzZXMgdGhlIENvbnRlbnQtbGVuZ3RoIGhlYWRlciBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgdGhpbmdzLgoJICBSZWxpYWJseSBhdXRvc2NhbnMgdGhlIGJvdW5kYXJ5IG5hbWUgYnkgZGVmYXVsdC4KCSAgRml4ZXMgIzM0OTA2OC4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRG9uJ3Qgc3RhcnQgdGhlIHN0cmVhbSB3aXRoIGEgXG4uCgoyMDA2LTA3LTI4IDA4OjMyOjQ3ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogT3BlbiBzb3VyY2Ugd2l0aCBPX05PTkJMT0NLICgjMzQ5MDE1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICBPcGVuIHNvdXJjZSB3aXRoIE9fTk9OQkxPQ0sgKCMzNDkwMTUpLgoKMjAwNi0wNy0yOCAwODoyMToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBtb3JlIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBtb3JlIGRlYnVnCgoyMDA2LTA3LTI3IDExOjIxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBHZXQgcmlkIG9mIG9sZCBhbmQgdW51c2VkIG1hZ2ljIHNvdW5kLXNlcnZlciBwcm9wZXJ0aWVzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NyZWF0ZV9lbGVtZW50X3dpdGhfcHJldHR5X25hbWUpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBHZXQgcmlkIG9mIG9sZCBhbmQgdW51c2VkIG1hZ2ljIHNvdW5kLXNlcnZlciBwcm9wZXJ0aWVzIHN0dWZmLgoJICBBZGQgc3VmZml4IHRvIGNoaWxkIHNpbmsncyBuYW1lIHRoYXQgbWFrZXMgaXQgZWFzeSB0byBzZWUgZnJvbQoJICB0aGUgbmFtZSBhbG9uZSB3aGljaCB0eXBlIGl0IGFjdHVhbGx5IGlzIChhbHNhLCBvc3MsIGVzZCwgZXRjLikuCgoyMDA2LTA3LTI3IDEwOjA1OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogUmVuYW1lICJidWZmZXIiIHRvICJidWZmZXItc2l6ZSIgdG8gbWFrZSBjbGVhciBpdCBpcyBhIHNpemUgd2Ugc2V0IGFuZCBub3Qgc29tZSBzb3J0IG9mIGZlYXR1cmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFJlbmFtZSAiYnVmZmVyIiB0byAiYnVmZmVyLXNpemUiIHRvIG1ha2UgY2xlYXIgaXQgaXMgYSBzaXplIHdlIHNldCBhbmQKCSAgbm90IHNvbWUgc29ydCBvZiBmZWF0dXJlIHdlIGVuYWJsZS4KCjIwMDYtMDctMjcgMTA6MDE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBVc2UgQ0xPU0VfU09DS0VUKCkgaGVyZSBpbnN0ZWFkIG9mIGNsb3NlKCkgdG8gbWFpbnRhaW4gd2luMzIgd29ya2luZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVzZSBDTE9TRV9TT0NLRVQoKSBoZXJlIGluc3RlYWQgb2YgY2xvc2UoKSB0byBtYWludGFpbgoJICB3aW4zMiB3b3JraW5lc3MuCgoyMDA2LTA3LTI3IDA5OjA0OjUxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZGVkICJidWZmZXIiIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGtlcm5lbCByZWNlaXZlIGJ1ZmZlciBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzIGRvdCB2ZXJtZWlyIGF0IGJhcmNvIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkZWQgImJ1ZmZlciIgcHJvcGVydHkgdG8gY29udHJvbCB0aGUga2VybmVsIHJlY2VpdmUgYnVmZmVyIHNpemUuCgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBTbWFsbCBjbGVhbnVwcy4gRml4ZXMgIzM0ODc1Mi4KCSAgQVBJOiBidWZmZXIgcHJvcGVydHkKCjIwMDYtMDctMjYgMTY6MzY6NTkgKzAwMDAgIEthaSBWZWhtYW5lbiA8a3YyMDA0QGVjYS5jeD4KCgkgIGdzdC9ydHAvOiBGaXggdGltZXN0YW1wIGNhbGN1bGF0aW9uIG9uIG91dGdvaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEthaSBWZWhtYW5lbiA8a3YyMDA0IGF0IGVjYSBkb3QgY3g+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtdV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCB0aW1lc3RhbXAgY2FsY3VsYXRpb24gb24gb3V0Z29pbmcgUlRQIHBhY2tldHMuCgkgIEZpeGVzICMzNDg2NzUuCgoyMDA2LTA3LTI2IDEwOjA3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogaXMgc3RpbGwgc3ViLW9wdGltYWwgdGhvdWdoLCBzaW5jZSB3ZSBkb24ndCByZXRhaW4gb3IgZXh0cmFjdCB0aGUgY29tbWVudCBkZXNjcmlwdGlvbnMgcHJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEZpeCB3cml0aW5nIG9mIGNvbW1lbnQgZnJhbWVzIChzaG91bGQgYmUgQ09NTSBub3QgVENPTSksCgkgIGlzIHN0aWxsIHN1Yi1vcHRpbWFsIHRob3VnaCwgc2luY2Ugd2UgZG9uJ3QgcmV0YWluIG9yCgkgIGV4dHJhY3QgdGhlIGNvbW1lbnQgZGVzY3JpcHRpb25zIHByb3Blcmx5ICgjMzM0Mzc1LAoJICBhbHNvIHNlZSAjMzM0Mzc1KS4KCjIwMDYtMDctMjYgMDk6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogI2RlZmluZSAnZmFjdCcgUklGRiBjaHVuayBpZiB3ZSBhcmUgbm90IGNvbXBpbGluZyBhZ2FpbnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAjZGVmaW5lICdmYWN0JyBSSUZGIGNodW5rIGlmIHdlIGFyZSBub3QgY29tcGlsaW5nIGFnYWluc3QKCSAgLWJhc2UgQ1ZTICh3ZSBkb24ndCB3YW50IHRvIGRlcGVuZCBvbiAtYmFzZSBDVlMgZm9yIHRoaXMKCSAgb25lIGRlZmluZSBvbmx5LCBhbmQgYWxzbyBub3QgZm9yIHJlbGVhc2Ugb3JkZXIgcmVhc29ucykuCgoyMDA2LTA3LTI2IDA4OjE3OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogSGFuZGxlIG11bHRpcGxlIHRhZ3Mgb2YgdGhlIHNhbWUgdHlwZSBwcm9wZXJseS4gUmUtaW5qZWN0IHVucGFyc2VkIElEM3YyIGZyYW1lcyB0aGF0IHdlIGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEhhbmRsZSBtdWx0aXBsZSB0YWdzIG9mIHRoZSBzYW1lIHR5cGUgcHJvcGVybHkuIFJlLWluamVjdAoJICB1bnBhcnNlZCBJRDN2MiBmcmFtZXMgdGhhdCB3ZSBnZXQgYXMgYmluYXJ5IGJsb2JzIGZyb20KCSAgaWQzZGVtdXggaW50byB0aGUgdGFnIGFnYWluIHNvIHdlIGRvbid0IGxvc2UgaW5mb3JtYXRpb24KCSAgd2hlbiByZXRhZ2dpbmcgKCMzMzQzNzUpLgoKMjAwNi0wNy0yNSAxNzo1NDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IERvY3VtZW50IG5ld2x5LWFkZGVkIHByb3BlcnRpZXMgcHJvcGVybHksIHNvIHRoYXQgdGhlcmUgaXMgYSAnU2luY2U6IDAuMTAuNCcgaW4gdGhlIHBsdWdpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IG5ld2x5LWFkZGVkIHByb3BlcnRpZXMgcHJvcGVybHksIHNvIHRoYXQgdGhlcmUgaXMgYQoJICAnU2luY2U6IDAuMTAuNCcgaW4gdGhlIHBsdWdpbiBkb2NzLiBDb252ZXJ0IHNvbWUgcHJvcGVydHkKCSAgbmFtZXMgaW50byBjYW5vbmljYWwgR09iamVjdCBzdHlsZSAoR09iamVjdCB3aWxsIGRvIHRoYXQKCSAgaW50ZXJuYWxseSBhbnl3YXkpLgoKMjAwNi0wNy0yNSAxNjo0NzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IEV4dHJhY3QgZnJhbWVzIGZvciBJRDN2MiB2ZXJzaW9ucyBwcmlvciB0byBJRDN2Mi4zLjAgcHJvcGVybHkgYXMgd2VsbCwgYW5kIGFkZCB0aGUgdmVyc2lvbiB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCk6CgkgIEV4dHJhY3QgZnJhbWVzIGZvciBJRDN2MiB2ZXJzaW9ucyBwcmlvciB0byBJRDN2Mi4zLjAgcHJvcGVybHkgYXMKCSAgd2VsbCwgYW5kIGFkZCB0aGUgdmVyc2lvbiB0byB0aGUgYmxvYidzIGJ1ZmZlciBjYXBzLCBzaW5jZSB0aGF0CgkgIGluZm9ybWF0aW9uIHdpbGwgYmUgbmVlZGVkIGZvciBkZXNlcmlhbGlzYXRpb24gbGF0ZXIgb24gKCMzNDg2NDQpLgoKMjAwNi0wNy0yNSAxMzoxNDowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3ZlZCB3aW4zMiB2YXJpYW50IG9mIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG8gZ3N0aW5mby5oLiBGaXhlZCBpbmRlbnRhdGlvbiBhbmQgc3BhY2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBNb3ZlZCB3aW4zMiB2YXJpYW50IG9mIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG8gZ3N0aW5mby5oLiBGaXhlZAoJICBpbmRlbnRhdGlvbiBhbmQgc3BhY2luZy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDctMjQgMTU6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZmlsZXMgdG8gQ1ZTL1ByZXJlbGVhc2UgdmVyc2lvbiwgYWRkIGVzZHNpbmsgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgZmlsZXMgdG8gQ1ZTL1ByZXJlbGVhc2UgdmVyc2lvbiwgYWRkIGVzZHNpbmsgZG9jcy4KCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIEZpeCB0eXBvIGluIGVsZW1lbnQgZGVzY3JpcHRpb24uCgoyMDA2LTA3LTI0IDE0OjU0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IFN0ZWZhbidzIGUtbWFpbCBhZGRyZXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IFN0ZWZhbidzIGUtbWFpbCBhZGRyZXNzCgoyMDA2LTA3LTI0IDE0OjQ5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFByZXZlbnQgbGliZXNkIGZyb20gYXV0by1zcGF3bmluZyBhIHNvdW5kIGRhZW1vbiBpZiBpdCBpcyBub3QgYWxyZWFkeSBydW5uaW5nLiBOb3cgdGhhdCB3ZSBkb24ndCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3BlbiksCgkgIChnc3RfZXNkc2lua19mYWN0b3J5X2luaXQpOgoJICBQcmV2ZW50IGxpYmVzZCBmcm9tIGF1dG8tc3Bhd25pbmcgYSBzb3VuZCBkYWVtb24gaWYgaXQKCSAgaXMgbm90IGFscmVhZHkgcnVubmluZy4gTm93IHRoYXQgd2UgZG9uJ3QgZG8gZXZpbCBzdHVmZgoJICBsaWtlIHRoYXQgYW55IGxvbmdlciB3ZSBjYW4gZ2l2ZSBlc2RzaW5rIGEgcmFuayBzbyB0aGF0CgkgIGF1dG9hdWRpb3Npbmsgd2lsbCB0cnkgaXQgYXMgd2VsbCBpZiBhbGwgb3RoZXIgYXVkaW8KCSAgc2lua3MgZmFpbCAoIzM0MzA1MSkuCgoyMDA2LTA3LTI0IDE0OjQyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9NYWtlZmlsZS5hbTogT29wcywgbmVlZCB0byByZW1vdmUgUkVBRE1FIGZyb20gRVhUUkFfRElTVCBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICBPb3BzLCBuZWVkIHRvIHJlbW92ZSBSRUFETUUgZnJvbSBFWFRSQV9ESVNUIGFzIHdlbGwuCgoyMDA2LTA3LTI0IDE0OjM3OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9SRUFETUU6IFJlbW92ZSwgaXQgY29udGFpbnMgbm90aGluZyB1c2VmdWwgYW55d2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL1JFQURNRToKCSAgUmVtb3ZlLCBpdCBjb250YWlucyBub3RoaW5nIHVzZWZ1bCBhbnl3YXkuCgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19pbml0KSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLAoJICAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczsgdXNlIEdTVF9CT0lMRVJQTEFURSBldGMuCgoyMDA2LTA3LTI0IDE0OjE2OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IEZpeCBuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggQU5ZL0VNUFRZIGNhcHMgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX2dldGNhcHMpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGFsYXdlbmNfZ2V0Y2FwcyksIChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX2dldGNhcHMpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChtdWxhd2VuY19nZXRjYXBzKToKCSAgRml4IG5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBBTlkvRU1QVFkgY2FwcyBpbnN0ZWFkIG9mIGxlYWtpbmcuCgoyMDA2LTA3LTI0IDEzOjQwOjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXNlIGluZm9ybWF0aW9uIGZyb20gJ2ZhY3QnIGNodW5rIGZvciBsZW5ndGggY2FsY3VsYXRpb24gb2YgY29tcHJlc3NlZCBzYW1wbGVzLiBDYWxjdWxhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX290aGVyKSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVc2UgaW5mb3JtYXRpb24gZnJvbSAnZmFjdCcgY2h1bmsgZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBvZiBjb21wcmVzc2VkCgkgIHNhbXBsZXMuIENhbGN1bGF0ZSBicHMgaWYgYm9ndXMgdmFsdWUgaXMgZm91bmQgaW4gd2F2IGhlYWRlciAoZW1iZWRlZAoJICBtcDIvbXAzKS4KCjIwMDYtMDctMjQgMTE6NDg6MDMgKzAwMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmZpPgoKCSAgUG9ydCB1ZHAgcGx1Z2luIHRvIHdpbjMyICgjMzQ1Mjg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25pIFZhbHRhbmVuICA8am9uaSBkb3QgdmFsdGFuZW4gYXQgbW92aWFsIGZpPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19maW5hbGl6ZSksIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfbmV0X3V0aWxzX3dpbjMyX2luZXRfYXRvbiksCgkgIChnc3RfdWRwX25ldF91dGlsc193aW4zMl93c2Ffc3RhcnR1cCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBQb3J0IHVkcCBwbHVnaW4gdG8gd2luMzIgKCMzNDUyODgpLgoKMjAwNi0wNy0yNCAxMTowMDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJlbW92ZSB1bndhbnRlZCBERUJVRyBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3NlbmQpOgoJICBSZW1vdmUgdW53YW50ZWQgREVCVUcgbGluZS4KCjIwMDYtMDctMjMgMTE6MzM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBPbiBzZWNvbmQgdGhvdWdodCwgaXQgbWlnaHQgYmUgd2lzZXIgYW5kIG1vcmUgZWZmaWNpZW50IG5vdCB0byBkbyB0YWcgcmVnaXN0cmF0aW9uIGZyb20gYSBzdHJlYW1pbmcgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgIE9uIHNlY29uZCB0aG91Z2h0LCBpdCBtaWdodCBiZSB3aXNlciBhbmQgbW9yZSBlZmZpY2llbnQKCSAgbm90IHRvIGRvIHRhZyByZWdpc3RyYXRpb24gZnJvbSBhIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA2LTA3LTIzIDEwOjU2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogUHV0IElEM3YyIGZyYW1lcyB3ZSBjYW4ndCBwYXJzZSBhcyBiaW5hcnkgYmxvYnMgaW50byBwcml2YXRlIHRhZ3MsIHNvIHRoYXQgdGhleSBhcmUgbm90IGxvc3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIFB1dCBJRDN2MiBmcmFtZXMgd2UgY2FuJ3QgcGFyc2UgYXMgYmluYXJ5IGJsb2JzIGludG8gcHJpdmF0ZQoJICB0YWdzLCBzbyB0aGF0IHRoZXkgYXJlIG5vdCBsb3N0IHdoZW4gcmV0YWdnaW5nLCBhdCBsZWFzdCBvbmNlCgkgIGlkM3YybXV4IGhhcyBiZWVuIHRhdWdodCB0byByZS1pbmplY3QgdGhvc2UgZnJhbWVzIGFnYWluLgoJICBTZWUgYnVnICMzMzQzNzUuCgoyMDA2LTA3LTIxIDEwOjU3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBGaXggc29tZSBsZWFrcy4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgRG9uJ3QgdXNlIFxuIGluIGRlYnVnIGxpbmVzLgoKMjAwNi0wNy0yMCAxODo0ODozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGFubm9kZXggYW5kIGljeWRlbXV4LCBjbGVhbnVwIHRoZSBzZWN0aW9ucyBhIGJpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGFubm9kZXggYW5kIGljeWRlbXV4LCBjbGVhbnVwIHRoZSBzZWN0aW9ucyBhIGJpdAoKMjAwNi0wNy0xOSAxNDozNjowMCArMDAwMCAgTWFydGluIFN6dWxlY2tpIDxjb21waXpAc3VraW1hc2hpdGEuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3Qgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFydGluIFN6dWxlY2tpCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpOgoJICBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3QKCSAgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0YWluIHRoaXMKCSAgaW5mb3JtYXRpb24gKCMzNDI0OTQpLgoKMjAwNi0wNy0xOSAxMTo1Mjo1MyArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IFdyaXRlIEdTVF9UQUdfRU5DT0RFUiBhbmQgR1NUX1RBR19FTkNPREVSX1ZFUlNJT04gYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlciA8YWxleGwgYXQgdXNlcnMgc291cmNlZm9yZ2UgbmV0PgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdyaXRlIEdTVF9UQUdfRU5DT0RFUiBhbmQgR1NUX1RBR19FTkNPREVSX1ZFUlNJT04gYXMKCSAgSUQzdjIgVFNTRSBmcmFtZXMgKCMzNDc4OTgpLgoKMjAwNi0wNy0xOSAwNzo0MDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gZml4ZWQgYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBmaXhlZCBidWcKCjIwMDYtMDctMTggMTk6NTk6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFJlc3BlY3QgbXBlZ3ZlcnNpb24gZm9yICJ2aWRlby9tcGVnIiBhbmQgZ2l2ZSBtZXNzYWdlIGluIGNhc2Ugb2YgdW5oYW5kbGVkIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2Fwcyk6CgkgIFJlc3BlY3QgbXBlZ3ZlcnNpb24gZm9yICJ2aWRlby9tcGVnIiBhbmQgZ2l2ZSBtZXNzYWdlIGluIGNhc2Ugb2YKCSAgdW5oYW5kbGVkIHZlcnNpb25zLgoKMjAwNi0wNy0xOCAxODowNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUXVldWUgaW5jb21pbmcgZXZlbnRzIGlmIHRoZXJlJ3Mgbm8gc291cmNlIHBhZCB5ZXQgYW5kCgkgIHNlbmQgdGhlbSBkb3duc3RyZWFtIGxhdGVyIHdoZW4gdGhlIHBhZCBpcyB0aGVyZS4KCjIwMDYtMDctMTggMTY6NDc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0IHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldAoJICBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1dCBzYW1wbGVzIHdpdGggMjEtMjQgYml0IGRlcHRoCgkgIHdpdGggMzIgYml0IHdpZHRoIChtYWtlcyB0aGluZ3MgZWFzaWVyIGZvciB1cykuCgoyMDA2LTA3LTE4IDE1OjUzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbiBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24KCSAgcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZXIgZ2V0cyBpbXBsZW1lbnRlZCBhIGxvdCBvZiBzdHVmZgoJICB3aWxsIGhhdmUgdG8gYmUgcmV3cml0dGVuIGFueXdheTsgcmVkbyBjaGFpbiBmdW5jdGlvbiwgbW92ZQoJICBlcnJvcnMgdG8gZW5kLCBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydCgpaW5nLiBBbHNvIHJlbmFtZQoJICBvdmVybHkgbG9uZyB2YXJpYWJsZSAnd2F2cGFja2RlYycgdG8ganVzdCAnZGVjJzsgbWlzY2VsbGFuZW91cwoJICBvdGhlciBzbWFsbCBzdHVmZi4KCjIwMDYtMDctMTggMTQ6MDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZgoJICBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhY2tfcmVhZF9tZXRhZGF0YSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3JlcXVlc3RfbmV3X3BhZCksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgIFBvcnQgdG8gbmV3L29mZmljaWFsIHdhdnBhY2sgQVBJLCBkb24ndCB1c2UgQVBJIHRoYXQgd2FzIGV4cG9ydGVkCgkgIGluIHdhdnBhY2sgaGVhZGVyIGZpbGVzIGFuZCBpbiB0aGUgbGliIGJ1dCBtZWFudCB0byBiZSBwcml2YXRlLCBhdAoJICBsZWFzdCBub3QgZm9yIHJlY2VudCB3YXZwYWNrIHZlcnNpb25zOyBtaXNjLiAnY2xlYW51cHMnICgjMzQ3NDQzKS4KCjIwMDYtMDctMTcgMTA6MjU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgV2hlbiB3ZSBkbyBhIGtleWZyYW1lIHNlZWsgYW5kIHRoZSByZXF1ZXN0ZWQgdGltZSBpcyBhdCB0aGUKCSAga2V5ZnJhbWUsIGRvbid0IHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXlmcmFtZS4KCSAgRml4ZXMgIzM0NzQzOS4KCjIwMDYtMDctMTcgMTA6MjI6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBVc2Ugc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLCAoYnVmZmVyX2NsaXApLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayksCgkgIChnc3RfcG5nZGVjX2NoYWluKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19pbml0KSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBVc2Ugc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZpeCBmbHVzaCBhbmQgc2VlayBoYW5kbGluZy4KCjIwMDYtMDctMTYgMTQ6MzE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIGdlbmVyaWMgbXBlZzQgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICBBZGRlZCBzaW1wbGUgZ2VuZXJpYyBtcGVnNCBkZXBheWxvYWRlci4KCSAgRml4IGdlbmVyaWMgbXBlZzQgcGF5bG9hZGVyLgoKMjAwNi0wNy0xNSAxNToyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgdHJ5IGRvaW5nIHN0YXRlIGNoYW5nZXMgb24gYSBOVUxMIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSk6CgkgIERvbid0IHRyeSBkb2luZyBzdGF0ZSBjaGFuZ2VzIG9uIGEgTlVMTCBwb2ludGVyLgoKMjAwNi0wNy0xNSAxMTo1MDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgoyMDA2LTA3LTE0IDEzOjMzOjU0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lio6IHJ0cGFtcmRlYyBpc24ndCBhIHN1YmNsYXNzIG9mIEdzdEJhc2VSdHBEZXBheWxvYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyIGF0IHlhaG9vIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICBydHBhbXJkZWMgaXNuJ3QgYSBzdWJjbGFzcyBvZiBHc3RCYXNlUnRwRGVwYXlsb2FkLgoJICBGaXhlcyAjMzIxMTkxCgoyMDA2LTA3LTE0IDEyOjAxOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IHNlZ2ZhdWx0IHdoZW4gbW92aW5nIG1vdXNlIHBvaW50ZXIgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG1vdmluZyBtb3VzZSBwb2ludGVyIHRvIHRoZSBib3R0b20gcmlnaHQgY29ybmVyLgoKMjAwNi0wNy0xMyAxNToyMjoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoKMjAwNi0wNy0xMiAwOTozNDoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBtcGVnMiBUUyBkZXBheWxvYWRlci4gQ2xvc2luZyAjMzQ3MjM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICBBZGRlZCBtcGVnMiBUUyBkZXBheWxvYWRlci4gQ2xvc2luZyAjMzQ3MjM0LgoKMjAwNi0wNy0xMiAwOToyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCjIwMDYtMDctMTEgMjI6NDY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBSZW1vdmUgZ19hc3NlcnQgdGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19jbG9zZSk6CgkgIFJlbW92ZSBnX2Fzc2VydCB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KCjIwMDYtMDctMTAgMjA6MTE6MzQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IERvbid0IHB1c2ggdGFnIGV2ZW50cyBmb3VuZCBieSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgYmVmb3JlIG91dHB1dHRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAocHVzaF90YWdfbGlzdHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgRG9uJ3QgcHVzaCB0YWcgZXZlbnRzIGZvdW5kIGJ5IGdzdF9yaWZmX3BhcnNlX2luZm8oKSBiZWZvcmUgb3V0cHV0dGluZwoJICBHU1RfRVZFTlRfTkVXU0VHTUVOVC4KCjIwMDYtMDctMTAgMTY6NDE6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IHJlcGxhY2VkIGNsb3Nlc29ja2V0IGFuZCBjbG9zZSBpbiBjb2RlIHdpdGggb25lIENMT1NFX1NPQ0tFVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgcmVwbGFjZWQgY2xvc2Vzb2NrZXQgYW5kIGNsb3NlIGluIGNvZGUgd2l0aCBvbmUgQ0xPU0VfU09DS0VULgoJICBTb21lIG1vcmUgY2xlYW51cHMuIEZpeGVzICMzNDUzMDEuCgoyMDA2LTA3LTEwIDE1OjI2OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBGaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIEZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MuCgoyMDA2LTA3LTEwIDE0OjQ5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgoyMDA2LTA3LTEwIDE0OjQyOjE1ICswMDAwICBNYXRoaXMgSG9mZXIgPG1hdGhpcy5ob2ZlckBkcmVhbWxhYi5uZXQ+CgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWF0aGlzIEhvZmVyIDxtYXRoaXMgZG90IGhvZmVyIGF0IGRyZWFtbGFiIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXRfY2FwcyksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2Rpc3Bvc2UpLCAoZ3N0X2lpcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9jbGFzc19pbml0KSwgKGdzdF9paXJfaW5pdCksIChpaXJfc2V0X2NhcHMpLAoJICAoaWlyX3RyYW5zZm9ybV9pcCksIChpaXJfc2V0X3Byb3BlcnR5KSwgKGlpcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0X2NhcHMpLCAobHB3c2luY190cmFuc2Zvcm1faXApLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA2LTA3LTEwIDEwOjIxOjU3ICswMDAwICBSb2IgVGF5bG9yIDxyb2J0YXlsb3JAZmxvb3BpbHkub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogSWYgYSBkZXN0aW5hdGlvbiBpcyBhZGRlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBzZXQgdG8gUEFVU0VELCB0aGUgbXVsdGljYXN0IGdyb3VwIGlzIG5vdCBqLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iIFRheWxvciA8cm9idGF5bG9yIGF0IGZsb29waWx5IGRvdCBvcmc+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGpvaW5fbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgSWYgYSBkZXN0aW5hdGlvbiBpcyBhZGRlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBzZXQgdG8gUEFVU0VELCB0aGUKCSAgbXVsdGljYXN0IGdyb3VwIGlzIG5vdCBqb2luZWQgYXMgdGhlIHNvY2tldCBpcyBub3QgY3JlYXRlZCB5ZXQuCgkgIEFsc28gVFRMIGFuZCBMT09QIHNob3VsZCBhbHNvIGJlIHNldC4gRml4ZXMgIzM0NjkyMS4KCjIwMDYtMDctMTAgMDk6NTc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgoyMDA2LTA3LTEwIDA5OjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSk6CgkgIEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCjIwMDYtMDctMDggMjI6NDE6MjUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy4qOiBGaXggdXNlLWRhbWFnZSBwcm9wZXJ0eSB0byBhY3R1YWxseSB3b3JrIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTA5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2Vfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2FwcyksIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2luaXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEZpeCB1c2UtZGFtYWdlIHByb3BlcnR5IHRvIGFjdHVhbGx5IHdvcmsgOikKCSAgQWRkIHN0YXJ0eCwgc3RhcnR5LCBlbmR4LCBlbmR5IHByb3BlcnRpZXMgc28gc2NyZWVuY2FzdHMgb3RoZXIgdGhhbiBmdWxsCgkgIHNjcmVlbiBvbmVzIGNhbiB3b3JrLgoKMjAwNi0wNy0wOCAxOTowMzo1NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLio6IEFkZCB1c2VfZGFtYWdlIHByb3BlcnR5IHRvIG9mZmVyIGFiaWxpdHkgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTA4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2Vfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KSwgKGdzdF94aW1hZ2Vfc3JjX2luaXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEFkZCB1c2VfZGFtYWdlIHByb3BlcnR5IHRvIG9mZmVyIGFiaWxpdHkgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCgkgIFhEYW1hZ2Ugb3Igbm90LgoKMjAwNi0wNy0wNyAxNTowNDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2ZpbHRlcnMuYzogQXZvaWQgZ29vbSBjb3JlZHVtcGluZyBieSBjbGVhcmluZyBtZW1vcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uKToKCSAgQXZvaWQgZ29vbSBjb3JlZHVtcGluZyBieSBjbGVhcmluZyBtZW1vcnkuCgkgIEZpeGVzIDM0NTY3OS4KCjIwMDYtMDctMDcgMTQ6MzA6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgoyMDA2LTA3LTA1IDIwOjIxOjAyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOiBBZGQgYSBsaW5rIHRvIGxpYmdzdHRhZy0wLjEwLmxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgQWRkIGEgbGluayB0byBsaWJnc3R0YWctMC4xMC5saWIuCgoyMDA2LTA3LTA1IDE0OjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRG9uJ3QgcmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGEgYnVmZmVyIGlzIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSAod2hpY2ggbWlnaHQgaGFwcGVuIHdpdGggbGFyZ2UgSUQzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIERvbid0IHJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhIGJ1ZmZlciBpcyBiZWZvcmUKCSAgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0gKHdoaWNoIG1pZ2h0IGhhcHBlbiB3aXRoCgkgIGxhcmdlIElEM3YyIHRhZ3MgaWYgdGhlIHRhZyByZWFkaW5nIHdhcyBkb25lIHB1bGxyYW5nZQoJICBiYXNlZCBhbmQgd2UgdGhlbiBzd2l0Y2hlZCB0byBwdXNoIG1vZGUgbGF0ZXIgb24pLgoJICBGaXhlcyByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IGZyb20gSnVuZSAyOXRoLgoKMjAwNi0wNy0wNSAxMDoxNDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IE1ha2UgVVRGLTggdGhlIGRlZmF1bHQgZW5jb2Rpbmcgd2hlbiB3cml0aW5nIHN0cmluZyB0YWdzIChiZWZvcmUsIG91ciBVVEYtOCBzdHJpbmdzIHdvdWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBNYWtlIFVURi04IHRoZSBkZWZhdWx0IGVuY29kaW5nIHdoZW4gd3JpdGluZyBzdHJpbmcKCSAgdGFncyAoYmVmb3JlLCBvdXIgVVRGLTggc3RyaW5ncyB3b3VsZCBhdXRvbWF0aWNhbGx5CgkgIGJlIGNvbnZlcnRlZCB0byBJU08tODg1OS0xIGJ5IHRhZ2xpYiBhbmQgd3JpdHRlbiBhcwoJICBJU08tODg1OS0xIGZpZWxkcyBpZiB0aGF0IHdhcyBwb3NzaWJsZSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHV0Zjhfc3RyaW5nX2luX2J1ZiksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfY2hlY2tfdGFnX2J1ZmZlciksIChpZGVudGl0eV9jYiksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgQWRkIHRlc3QgY2FzZSB0aGF0IG1ha2VzIHN1cmUgb3VyIFVURi04IHN0cmluZ3MgaGF2ZQoJICBhY3R1YWxseSBiZWVuIHdyaXR0ZW4gaW50byB0aGUgdGFnIGFzIFVURi04LgoKMjAwNi0wNy0wNCAxNjowMDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTGV0J3MgdHJ5IHRoYXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTGV0J3MgdHJ5IHRoYXQgYWdhaW4uCgoyMDA2LTA3LTA0IDE1OjQwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIG1vbm9zY29wZSBwbHVnaW4gZm9yIG5vdyB1bnRpbCBpdCBmdWxmaWxscyBhbGwgdGhlIHJlcXVpcmVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIG1vbm9zY29wZSBwbHVnaW4gZm9yIG5vdyB1bnRpbCBpdCBmdWxmaWxscwoJICBhbGwgdGhlIHJlcXVpcmVtZW50cy4KCjIwMDYtMDctMDMgMjA6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IG1vbm9zY29wZSB2aXN1YWxpc2F0aW9uIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2Jhc2VfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpLCAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfZmluYWxpemUpLCAoZ3N0X21vbm9zY29wZV9yZXNldCksCgkgIChnc3RfbW9ub3Njb3BlX3Npbmtfc2V0Y2FwcyksIChnc3RfbW9ub3Njb3BlX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9tb25vc2NvcGVfc3JjX25lZ290aWF0ZSksIChnZXRfYnVmZmVyKSwgKGdzdF9tb25vc2NvcGVfY2hhaW4pLAoJICAoZ3N0X21vbm9zY29wZV9zaW5rX2V2ZW50KSwgKGdzdF9tb25vc2NvcGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBQb3J0IG1vbm9zY29wZSB2aXN1YWxpc2F0aW9uIHRvIDAuMTAuCgoyMDA2LTA3LTAzIDIwOjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgSVY0MSBmb3VyY2MgKHNlZSBidWcgIzE3MTExMSk7IGRvbid0IG91dHB1dCBjb25mdXNpbmcKCSAgZGVidWcgbWVzc2FnZSB3aGVuIHNraXBwaW5nIGF0b21zLgoKMjAwNi0wNy0wMyAxNjo0MzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgbm90CgkgIEZMT1dfRVJST1IuIEZpeGVzICdpbnRlcm5hbCBzdHJlYW0gZXJyb3InIGVycm9ycyB0aGF0CgkgIHdvdWxkIHNvbWV0aW1lcyBvY2N1ciBpbiB0b3RlbSB3aGVuIHNjcnViYmluZyB0byB0aGUKCSAgZW5kIG9mIGFuIElEM3YxIHRhZ2dlZCBtcDMgZmlsZS4KCjIwMDYtMDctMDMgMTU6MzE6MjIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBJbXBsZW1lbnQgYnVmZmVyIGNsaXBwaW5nL2Ryb3BwaW5nIHVzaW5nIEdzdFNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGJ1ZmZlcl9jbGlwKSwgKHVzZXJfZW5kX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfY2hhaW4pLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBJbXBsZW1lbnQgYnVmZmVyIGNsaXBwaW5nL2Ryb3BwaW5nIHVzaW5nIEdzdFNlZ21lbnQuCgkgIFRoaXMgcHJvdmlkZXMgYWNjdXJhdGUgc2Vla2luZy4KCjIwMDYtMDctMDMgMTU6Mjg6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFByb3BlciBhZ2dyZWdhdGlvbiBvZiBlYWNoIHN0cmVhbSdzIEdzdEZsb3dSZXR1cm4gaW4gb3JkZXIgdG8gZmlndXJlIG91dCB3aGV0aGVyIHRoZSB0YXNrIHNob3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfYWdncmVnYXRlZF9mbG93KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKHB1c2hfdGFnX2xpc3RzKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFByb3BlciBhZ2dyZWdhdGlvbiBvZiBlYWNoIHN0cmVhbSdzIEdzdEZsb3dSZXR1cm4gaW4gb3JkZXIgdG8gZmlndXJlIG91dAoJICB3aGV0aGVyIHRoZSB0YXNrIHNob3VsZCBzdG9wIG9yIG5vdC4KCSAgRG9uJ3Qgc2VuZCBpbmxpbmUgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIG91dCBhIE5FV19TRUdNRU5ULCBtb3JlCgkgIHNwZWNpZmljYWxseSBmb3IgR1NUX1RBR19FVkVOVC4KCSAgQ2hhbmdlIGEgR1NUX0VSUk9SIHRvIGEgR1NUX1dBUk5JTkcgZm9yIGEgbm9uLWZhdGFsIHNpdHVhdGlvbiBpbiByZWFkaW5nCgkgIHN1Yi1pbmRleGVzLgoKMjAwNi0wNi0zMCAwNzoxMToyNCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IE1vdmUgIk1vbml0b3IiIHNsaWRlciB0byBpbnB1dCB0YWIgc28gaXQgd29ya3MgbW9yZSBsaWtlIHNkdGF1ZGlvY29udHJvbCwgd2hpY2ggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KToKCSAgTW92ZSAiTW9uaXRvciIgc2xpZGVyIHRvIGlucHV0IHRhYiBzbyBpdCB3b3JrcyBtb3JlIGxpa2UKCSAgc2R0YXVkaW9jb250cm9sLCB3aGljaCBpcyB3aGF0IHBlb3BsZSBvbiBTb2xhcmlzIGFyZSB1c2VkCgkgIHRvIHVzaW5nIGZvciB0aGVpciBtaXhlciBwcm9ncmFtICgjMzQ2MjU5KS4KCjIwMDYtMDYtMjkgMTQ6NTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogZml4IGEgbGVhaywgY2xlYW4gdXAgYXQgdGhlIGVuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggYSBsZWFrLCBjbGVhbiB1cCBhdCB0aGUgZW5kCgoyMDA2LTA2LTI5IDExOjQxOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2VuZCB0YWcgZXZlbnQgYWZ0ZXIgbmV3c2VnbWVudCBldmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgU2VuZCB0YWcgZXZlbnQgYWZ0ZXIgbmV3c2VnbWVudCBldmVudC4KCjIwMDYtMDYtMjkgMTE6MTE6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgaW4gY2VydGFpbiBjYXNlcyB3aGVyZSBhIHJlYWQgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBpbgoJICBjZXJ0YWluIGNhc2VzIHdoZXJlIGEgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBpcwoJICByZXF1ZXN0ZWQuIEZpeGVzICMzNDU5MzAuCgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBGaXggc2FtZSBpc3N1ZSBoZXJlIGFzIHdlbGwuCgoyMDA2LTA2LTI5IDExOjA1OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IGh5cG90aGV0aWNhbCBjcmFzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMjkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIEZpeCBoeXBvdGhldGljYWwgY3Jhc2guCgoyMDA2LTA2LTI4IDA4OjM2OjMwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IERvIG5vdCBtb2RpZnkgdGhlIHBvcnRzIHZhbHVlLiBJZiB0aGUgdXNlciBoYXMgdHVybmVkIG9mZiB0aGUgYnVpbHQtaW4gc3BlYWtlcnMsIHRoZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKToKCSAgRG8gbm90IG1vZGlmeSB0aGUgcG9ydHMgdmFsdWUuIElmIHRoZSB1c2VyIGhhcyB0dXJuZWQgb2ZmIHRoZQoJICBidWlsdC1pbiBzcGVha2VycywgdGhlbiB3ZSBzaG91bGQgbm90IHJlc2V0IGl0IGluIHRoZSBwcmVwYXJlCgkgIGZ1bmN0aW9uLCBzaW5jZSB0aGlzIGNhdXNlcyB0aGUgYnVpbHQtaW4gc3BlYWtlcnMgdG8gdHVybgoJICBiYWNrIG9uIGFueXRpbWUgdGhlIHVzZXIgY2hhbmdlcyBhIHRyYWNrIGluIHRvdGVtLCByaHl0aG1ib3gsCgkgIGV0Yy4gKCMzNDYwNjYpLgoKMjAwNi0wNi0yMyAwOTozNTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uYzogRml4IGRvdWJsZSBjYXBzIHVucmVmIHdoZW4gbmVnb3RpYXRpb24gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpOgoJICBGaXggZG91YmxlIGNhcHMgdW5yZWYgd2hlbiBuZWdvdGlhdGlvbiBmYWlscy4KCjIwMDYtMDYtMjIgMTk6MzE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgcGx1cyB0d28gbWlub3IgbWFjcm8gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIHBsdXMgdHdvIG1pbm9yIG1hY3JvIGZpeGVzLgoKMjAwNi0wNi0yMiAxNjoyNzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFRyeSB0byBmaXggdXAgYnJva2VuIG1hdHJvc2thIGZpbGVzIGNvbnRhaW5pbmcgc3VidGl0bGUgc3RyZWFtcyB3aXRoIG5vbi1VVEY4IGNoYXJhY3RlciBlbmNvZGluZ3MgKGNvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVHJ5IHRvIGZpeCB1cCBicm9rZW4gbWF0cm9za2EgZmlsZXMgY29udGFpbmluZyBzdWJ0aXRsZQoJICBzdHJlYW1zIHdpdGggbm9uLVVURjggY2hhcmFjdGVyIGVuY29kaW5ncyAoY291cnRlc3kgb2YKCSAgbWt2bWVyZ2UpIHVzaW5nIGVpdGhlciB0aGUgZW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZQoJICBHU1RfU1VCVElUTEVfRU5DT0RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlCgkgIGN1cnJlbnQgbG9jYWxlJ3MgY2hhcmFjdGVyIHNldCBpZiBpdCBpcyBub24tVVRGOC4KCSAgRml4ZXMgIzMzNzA3Ni4KCjIwMDYtMDYtMjIgMTI6MTc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogU2V0IGltYWdlIHR5cGUgZnJvbSBBUElDIGZyYW1lIGFzICJpbWFnZS10eXBlIiBmaWVsZCBvZiBHU1RfVEFHX0lNQUdFIGJ1ZmZlciBjYXBzICgjMzQ0NjA1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgU2V0IGltYWdlIHR5cGUgZnJvbSBBUElDIGZyYW1lIGFzICJpbWFnZS10eXBlIiBmaWVsZAoJICBvZiBHU1RfVEFHX0lNQUdFIGJ1ZmZlciBjYXBzICgjMzQ0NjA1KS4KCjIwMDYtMDYtMjAgMTk6NDA6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy86IFN1cHBvcnQgY2hhaW4tYmFzZWQgb3BlcmF0aW9uLCBzaG91bGQgbWFrZSBmbGFjLW92ZXItREFBUCB3b3JrICgjMzQwNDkyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksIChnc3RfZmxhY19kZWNfZmluYWxpemUpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFja19zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2tfc3RyZWFtKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2tfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrX3N0cmVhbSksIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZV9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfd3JpdGVfc3RyZWFtKSwKCSAgKGdzdF9mbGFjX2RlY19sb29wKSwgKGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFpbiksIChnc3RfZmxhY19kZWNfY29udmVydF9zaW5rKSwKCSAgKGdzdF9mbGFjX2RlY19nZXRfc2lua19xdWVyeV90eXBlcyksIChnc3RfZmxhY19kZWNfc2lua19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBTdXBwb3J0IGNoYWluLWJhc2VkIG9wZXJhdGlvbiwgc2hvdWxkIG1ha2UgZmxhYy1vdmVyLURBQVAKCSAgd29yayAoIzM0MDQ5MikuCgoyMDA2LTA2LTIwIDE1OjM1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IERvYyB1cGRhdGVzLCBtZXJnZSBzb21lIHVudXNlZCBzeW1ib2xzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgRG9jIHVwZGF0ZXMsIG1lcmdlIHNvbWUgdW51c2VkIHN5bWJvbHMuCgoyMDA2LTA2LTIwIDE0OjU3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHJ0c3AgcGx1Z2luLiBGaXhlcyAjMzQ1MzkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBydHNwIHBsdWdpbi4gRml4ZXMgIzM0NTM5My4KCjIwMDYtMDYtMjAgMTI6MTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBVc2UgYmV0dGVyIEdfT1NfKiBtYWNyb3MuIEZpeGVzICMzNDUzMDEgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFVzZSBiZXR0ZXIgR19PU18qIG1hY3Jvcy4gRml4ZXMgIzM0NTMwMSBzb21lIG1vcmUuCgoyMDA2LTA2LTIwIDEwOjM1OjQ4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBBZGQgYSBTdW5BdWRpbyBzb3VyY2UgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX25ldyksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2xpc3RfdHJhY2tzKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfbXV0ZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9yZWNvcmQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX2luaXQpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfYmFzZV9pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2dldF9wcm9wZXJ0eSksIChnc3Rfc3VuYXVkaW9zcmNfZ2V0Y2FwcyksCgkgIChnc3Rfc3VuYXVkaW9zcmNfb3BlbiksIChnc3Rfc3VuYXVkaW9zcmNfY2xvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvc3JjX3VucHJlcGFyZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVhZCksIChnc3Rfc3VuYXVkaW9zcmNfZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgQWRkIGEgU3VuQXVkaW8gc291cmNlIHBsdWdpbi4KCSAgU3VwcG9ydCBzdGVyZW8gYW5kIHJpZ2h0L2xlZnQgY2hhbm5lbCBnYWluIGluIHRoZSBtaXhlciBwbHVnaW4uCgkgIFN1cHBvcnQgdGhlIFJFQ09SRCBmbGFnIHNvIHRoYXQgeW91IGNhbiBzd2l0Y2ggYmV0d2VlbiBsaW5lLWlucHV0IGFuZAoJICBtaWNyb3Bob25lIGluIGdub21lLXZvbHVtZS1jb250cm9sLgoJICBDb2RlIGNsZWFudXBzIGxpa2UgdXNpbmcgYW4gZW51bWVyYXRvciBmb3IgdHJhY2sgbnVtYmVyIGluc3RlYWQgb2YgYW4KCSAgaW50ZWdlci4gRml4ZXMgIzM0NDkyMy4KCjIwMDYtMDYtMjAgMTA6MzE6NDEgKzAwMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmZpPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogTWFrZSBSVFNQIHBsdWdpbiBjb21waWxlIG9uIHdpbmRvd3MuIEZpeGVzICMzNDUzMDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uaSBWYWx0YW5lbiA8am9uaSBkb3QgdmFsdGFuZW4gYXQgbW92aWFsIGRvdCBmaT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgIE1ha2UgUlRTUCBwbHVnaW4gY29tcGlsZSBvbiB3aW5kb3dzLiBGaXhlcyAjMzQ1MzAxLgoJICBTb21lIGNoYW5nZXMgdG8gb3JpZ2luYWwgcGF0Y2ggdG8gY2F0Y2ggZXJyb3JzIGJldHRlci4KCSAgdXNlIGlmZGVmIFdJTjMyIGluc3RlYWQgb2YgaWZuZGVmLgoKMjAwNi0wNi0xOSAxMDowMDoxOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogSWYgd2UgaGF2ZSBsaWJyYXcxMzk0ID49IDEuMi4xLCB0aGVuIHdlIG5lZWQgbGliaWVjNjE4ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBJZiB3ZSBoYXZlIGxpYnJhdzEzOTQgPj0gMS4yLjEsIHRoZW4gd2UgbmVlZCBsaWJpZWM2MTg4My4KCjIwMDYtMDYtMTggMTQ6MDA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFmdGVyIGEgZmFpbGVkIGJ1ZmZlciBhbGxvYywgd2UgbmVlZCB0byBhYm9ydCB0aGUganBlZyBkZWNvZGluZyAoaXQgc3RhcnRlZCB3aGVuIHBhcnNpbmcgaGVhZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgQWZ0ZXIgYSBmYWlsZWQgYnVmZmVyIGFsbG9jLCB3ZSBuZWVkIHRvIGFib3J0IHRoZSBqcGVnIGRlY29kaW5nIChpdAoJICBzdGFydGVkIHdoZW4gcGFyc2luZyBoZWFkZXJzIHRvIGZpZ3VyZSBvdXQgaG93IG1hbnkgYnl0ZXMgd2UgbmVlZAoJICB0byByZXF1ZXN0IGRvd25zdHJlYW0pLgoKMjAwNi0wNi0xOCAxMjozNzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoIzM0NTIzMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKToKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKCMzNDUyMzIpLgoKMjAwNi0wNi0xNyAxNDozNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LCAjMzQzNjAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksCgkgICMzNDM2MDIpLgoKMjAwNi0wNi0xNiAxMjozNTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNi0xNiAxMDo1NjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfUExVR0lOX0RPQ1MsIC0tZW5hYmxlLXBsdWdpbi1kb2NzIGV0Yy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9QTFVHSU5fRE9DUywgLS1lbmFibGUtcGx1Z2luLWRvY3MgZXRjLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgQWRkL2ZpeCBhcGV2Mm11eCBkb2NzLgoKMjAwNi0wNi0xNiAwOTo0OTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fd2luZG93X2Rlc3Ryb3kpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHBvcnQgdG8gZGVyaXZlIGZyb20gYmFzZXRyYW5zZm9ybSBhbmQgc2VuZCByZXN1bHRzIHZpYSBtZXNzYWdlcwoJICAobGlrZSBsZXZlbCBlbGVtZW50KQoKMjAwNi0wNi0xNSAxNTo1ODowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCjIwMDYtMDYtMTUgMDg6NTA6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgRml4ZXMgIzM0NDk0NC4KCjIwMDYtMDYtMTQgMTU6NTk6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogUmVzZXQgc2VnbWVudCBpbmZvIG9uIGZsdXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jbGFzc19pbml0KSwgKGdzdF9kdmRlY19pbml0KSwKCSAgKGdzdF9kdmRlY19maW5hbGl6ZSksIChnc3RfZHZkZWNfc2lua19ldmVudCksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgc2VnbWVudCBpbmZvIG9uIGZsdXNoLgoJICBBbGxvYyBzZWdtZW50IGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2Vlayk6CgkgIERvbid0IHNlbmQgc2VnbWVudHMgdHdpY2UuCgoyMDA2LTA2LTE0IDE1OjA3OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogUmVzcGVjdCBzZWdtZW50LnN0b3AuIEZpeGVzICMzNDI1OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgIFJlc3BlY3Qgc2VnbWVudC5zdG9wLiBGaXhlcyAjMzQyNTkyLgoKMjAwNi0wNi0xNCAxMToyODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBObyBsYW5ndWFnZSBzcGVjaWZpZWQgbWVhbnMgdGhlIGltcGxpZWQgbGFuZ3VhZ2UgaXMgRW5nbGlzaCBhY2NvcmRpbmcgdG8gdGhlIG1hdHJvc2thIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkIG1lYW5zIHRoZSBpbXBsaWVkIGxhbmd1YWdlIGlzIEVuZ2xpc2gKCSAgYWNjb3JkaW5nIHRvIHRoZSBtYXRyb3NrYSBzcGVjIChwYXJ0aWFsbHkgZml4ZXMgIzM0NDcwOCk7CgkgIGFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0LgoKMjAwNi0wNi0xNCAwOTozMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3IGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldwoJICBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdGhlciBzdHVmZi4gU2V0IGR1cmF0aW9uCgkgIHRvICd1bmtub3duJyBpbiBpbml0aWFsIGhlYWRlciBhbmQgcmVzZW5kIGhlYWRlciB3aXRoIHByb3BlcgoJICBkdXJhdGlvbiBvbiBFT1M7IHVwZGF0ZSBTZWJhc3RpYW4ncyBlLW1haWwgYWRkcmVzcy4KCjIwMDYtMDYtMTQgMDg6MDY6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogV2hlbiBvcGVyYXRpbmcgY2hhaW4tYmFzZWQsIGRvbid0IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHRoZSBjaHVua2luZyBvZiB0aGUgaW5jb21pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBXaGVuIG9wZXJhdGluZyBjaGFpbi1iYXNlZCwgZG9uJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgdGhlCgkgIGNodW5raW5nIG9mIHRoZSBpbmNvbWluZyBkYXRhIGFuZCBtYWtlIHN0cmVhbWluZyB3b3JrIG9uIGRheXMgb3RoZXIKCSAgdGhhbiB0aGUgc2Vjb25kIFRodXJzZGF5IGFmdGVyIGEgZnVsbCBtb29uLiBBbHNvIGZpeCB1cCBkZWJ1ZwoJICBtZXNzYWdlcyBoZXJlIGFuZCB0aGVyZSBhbmQgbWFrZSB1c2Ugb2YgdGhlIG1vc3QgZXhjZWxsZW50IG5ldwoJICBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uLgoJICBTa2lwIGFueSAnYmV4dCcgY2h1bmtzIGluIGZyb250IG9mIHRoZSAnZm10ICcgY2h1bmsuIEZpeGVzICMzNDM4MzcuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFJlbW92ZSB0cmFpbGluZyBjb21tYSBhZnRlciBsYXN0IGVudW0gdmFsdWUsIHNvbWUgY29tcGlsZXJzIGRvbid0CgkgIGxpa2UgdGhhdC4KCjIwMDYtMDYtMTMgMTc6MDU6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHByZW1hdHVyZSBFT1MgZ3JhY2VmdWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBIYW5kbGUgcHJlbWF0dXJlIEVPUyBncmFjZWZ1bGx5LgoKMjAwNi0wNi0xMyAwOTo1NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHJldmVudCBvdXQgb2YgYm91bmRzIGFycmF5IGFjY2VzcyB3aGVuIHNjcnViYmluZyB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIGZpbGUgYmV0d2VlbiB0aGUgbGFzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgUHJldmVudCBvdXQgb2YgYm91bmRzIGFycmF5IGFjY2VzcyB3aGVuIHNjcnViYmluZyB0b3dhcmRzCgkgIHRoZSBlbmQgb2YgdGhlIGZpbGUgYmV0d2VlbiB0aGUgbGFzdCBpbmRleCBlbnRyeSBhbmQgdGhlCgkgIGVuZC4gRml4ZXMgb2NjYXNpb25hbCAnc3RhcnQgPD0gc3RvcCcgbmV3c2VnbWVudCBldmVudAoJICBhc3NlcnRpb25zIHdoZW4gc2NydWJiaW5nIGluIE1KUEVHIGZpbGVzLgoKMjAwNi0wNi0xMiAxMToxMzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFuZCBhbm90aGVyIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQW5kIGFub3RoZXIgb25lLgoKMjAwNi0wNi0xMiAxMTowNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMTEgMTk6MzE6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRXh0cmFjdCBpbWFnZXMgZnJvbSBJRDN2MiB0YWdzIChBUElDIGZyYW1lcykuIEZpeGVzICMzMzk3MDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAoc2Nhbl9lbmNvZGVkX3N0cmluZyksIChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgRXh0cmFjdCBpbWFnZXMgZnJvbSBJRDN2MiB0YWdzIChBUElDIGZyYW1lcykuIEZpeGVzICMzMzk3MDQuCgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgPj0gMC4xMC44IChmb3IgR1NUX1RBR19JTUFHRSBhbmQKCSAgR1NUX1RBR19QUEVWSUVXX0lNQUdFIHVzZWQgaW4gdGhlIHBhdGNoIGFib3ZlKS4KCjIwMDYtMDYtMTEgMTg6NTY6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3JhdzEzOTQvLmdpdGlnbm9yZToKCSogZXh0L3RhZ2xpYi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMDYtMTEgMTg6NTI6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IGdyYXR1aXRvdXMgY29tbWVudCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSk6CgkgIGdyYXR1aXRvdXMgY29tbWVudCBjaGFuZ2VzCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IGxldmVsIHRlc3QgbGVha3MKCjIwMDYtMDYtMTEgMTg6NDQ6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA2LTExIDE4OjIwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24gaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSk6CgkgIFVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uIGhlcmUuCgoyMDA2LTA2LTExIDEzOjU3OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IHJlcXVpcmUgYW0xNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICByZXF1aXJlIGFtMTcKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBjbGVhbiB1cCBidWlsZCBmdXJ0aGVyCgoyMDA2LTA2LTExIDEzOjU1OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZQoKMjAwNi0wNi0xMCAxNTozMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgoyMDA2LTA2LTA5IDIwOjM2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2NvbmYvTWFrZWZpbGUuYW06IEhvbm91ciAtLWRpc2FibGUtc2NoZW1hcy1pbnN0YWxsIGNvbmZpZ3VyZSBvcHRpb24uIEZpeGVzICMzNDQxMDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICBIb25vdXIgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBjb25maWd1cmUgb3B0aW9uLiBGaXhlcyAjMzQ0MTAwLgoKMjAwNi0wNi0wOSAxODozMzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOiBBZGQgLWxtIHRvIExJQlMgZm9yIHBvdygpIGZ1bmN0aW9uLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMgKHN1Y2ggYXMgbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgQWRkIC1sbSB0byBMSUJTIGZvciBwb3coKSBmdW5jdGlvbiwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIKCSAgZGVwZW5kZW5jaWVzIChzdWNoIGFzIGxpYnhtbC0yLjApIGRyYWdzIGl0IGluIGF1dG9tYXRpY2FsbHkKCSAgKCMzNDM2MDMpLgoKMjAwNi0wNi0wOSAxODoxNzoyMyArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFdlIHNob3VsZCB1c2UgJFNFRCBhbmQgbm90ICQoU0VEKSBpbiBjb25maWd1cmUuYWMgKCMzNDM2NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBzaG91bGQgdXNlICRTRUQgYW5kIG5vdCAkKFNFRCkgaW4gY29uZmlndXJlLmFjICgjMzQzNjc4KS4KCjIwMDYtMDYtMDkgMTc6Mzg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUywgZml4ZXMgYnVpbGQgb24gY3lnd2luICgjMzQzODY2KS4KCjIwMDYtMDYtMDkgMTc6Mjk6MDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEF0dGFjaGVkIGZpbmQgYSBwYXRjaCB0aGF0IGZpeGVzIGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCB0aGUgU3VuQXVkaW8gbWl4ZXIgcGx1Z2luIGFuZCBmaXhlcyAjMzQ0MTAxOiAxLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX25ldyksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfbXV0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSk6CgkgIEF0dGFjaGVkIGZpbmQgYSBwYXRjaCB0aGF0IGZpeGVzIGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCB0aGUgU3VuQXVkaW8gbWl4ZXIKCSAgcGx1Z2luIGFuZCBmaXhlcyAjMzQ0MTAxOgoJICAxLiBUaGUgZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0IGtlcHQgYXBwZW5kaW5nIHRoZSBzYW1lIDMgdHJhY2tzIG9udG8KCSAgdGhlIHRyYWNrbGlzdCBjYXVzaW5nIGdub21lLXZvbHVtZS1jb250cm9sJ3MgcHJlZmVyZW5jZXMgZGlhbG9nIHRvIGJlIG1lc3NlZAoJICB1cCBhbmQgd291bGQgY29yZSBkdW1wIGlmIHlvdSBjaGVja2VkL3VuY2hlY2tlZCBhbnkgaXRlbS4KCSAgMi4gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IHNldHRpbmcgdGhlIE1VVEUgZmxhZyBwcm9wZXJseS4gIEZpeGluZyB0aGlzIG1ha2VzCgkgIGdub21lLXZvbHVtZS1jb250cm9sIHdvcmsgYmV0dGVyLgoJICAzLiBOb3cgd2UgcHJvcGVybHkgZGVmaW5lIHRoZSBpbnB1dCB0cmFjayB0byBiZSBHU1RfTUlYRVJfVFJBQ0tfSU5QVVQgYW5kCgkgIHRoZSBtb25pdG9yIHRvIGJlIEdTVF9NSVhFUl9UUkFDS19PVVRQVVQsIHNvIHRoYXQgbWFrZXMgZ25vbWUtdm9sdW1lLWNvbnRyb2wKCSAgbG9vayBiZXR0ZXIuCgkgIEFsc28gc29tZSBtaW5vciBjbGVhbnVwIGluIGdzdHN1bmF1ZGlvc2luay5jLgoKMjAwNi0wNi0wOSAxNzoxMjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQVBJOiBBZGRlZCBJRENUIG1ldGhvZCBwcm9wZXJ0eQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfaWRjdF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2pwZWdfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX2RlY29kZV9pbmRpcmVjdCksIChnc3RfanBlZ19kZWNfZGVjb2RlX2RpcmVjdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2pwZWdfZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfanBlZ19kZWNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIEFQSTogQWRkZWQgSURDVCBtZXRob2QgcHJvcGVydHkKCSAgU21hbGwgY2xlYW51cHMuCgkgIEF2b2lkIGR5bmFtaWMgYWxsb2NhdGlvbiBvZiB0cml2aWFsIGZpeGVkIHN0cnVjdHVyZS4KCSAgQWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciB0ZW1wIDQ6NDo0IFlVViBidWZmZXJzLiBGaXhlcyAjMzQzNjYxLgoKMjAwNi0wNi0wNyAwOToyNToxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogV2Ugbm93IHJlcXVpcmUgbGlicmF3MTM5NCA+PSAxLjEuMCBhbmQgdGhhdCB2ZXJzaW9uIG9ud2FyZHMgYWxsIGhhdmUgLnBjIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2Ugbm93IHJlcXVpcmUgbGlicmF3MTM5NCA+PSAxLjEuMCBhbmQgdGhhdCB2ZXJzaW9uIG9ud2FyZHMgYWxsCgkgIGhhdmUgLnBjIGZpbGVzLgoKMjAwNi0wNi0wMiAxNTowMjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogVHJ5aW5nIHRvIGdldCBpdGVtcyBmcm9tIGFuIEFOWSBvciBFTVBUWSBjYXBzIGlzIC4uLiBzdHVwaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfZ2V0Y2Fwcyk6CgkgIFRyeWluZyB0byBnZXQgaXRlbXMgZnJvbSBhbiBBTlkgb3IgRU1QVFkgY2FwcyBpcyAuLi4gc3R1cGlkLgoKMjAwNi0wNi0wMiAxMTozMzoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy4qOiBBZGRlZCBHc3RTZWdtZW50IGhhbmRsaW5nLCBub3cgaW1wbGVtZW50cyBkcm9wcGluZy9jbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19ldmVudCksCgkgIChnc3RfZHZkZWNfY2hhaW4pLCAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIEFkZGVkIEdzdFNlZ21lbnQgaGFuZGxpbmcsIG5vdyBpbXBsZW1lbnRzIGRyb3BwaW5nL2NsaXBwaW5nLgoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA2LTAxIDIxOjA3OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuaDoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0zMSAxNjoyMzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogSGFuZGxlIFFvUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2ZpbmFsaXplKSwgKGdzdF9nb29tX3Jlc2V0KSwgKGdzdF9nb29tX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnc3RfZ29vbV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dvb21fc2lua19ldmVudCksIChnZXRfYnVmZmVyKSwgKGdzdF9nb29tX2NoYWluKSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBIYW5kbGUgUW9TLgoJICBIYW5kbGUgZmx1c2hpbmcsIGRpc2NvbnQgYW5kIGV2ZW50cy4KCSAgRml4IHRpbWVzdGFtcHMgYW5kIHZhcmlvdXMgb3RoZXIgY2xlYW51cHMuCgoyMDA2LTA1LTMxIDE1OjM3OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IEZpeCBidXMgcmVzZXQgd2hlbiB1c2luZyBsaWJpZWM2MTg4MwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOgoJICBGaXggYnVzIHJlc2V0IHdoZW4gdXNpbmcgbGliaWVjNjE4ODMKCjIwMDYtMDUtMzEgMTA6MzE6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCBsaWJpZWM2MTg4MyBhbmQgc2V0IG5lY2Vzc2FyeSBDRkxBR1MgYW5kIExJQlMgZm9yIGR2MTM5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCBsaWJpZWM2MTg4MyBhbmQgc2V0IG5lY2Vzc2FyeSBDRkxBR1MgYW5kIExJQlMgZm9yIGR2MTM5NC4KCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgQWRkIENGTEFHUy4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfaWVjNjE4ODNfcmVjZWl2ZSksCgkgIE5ldyBtZXRob2QsIHRvIHJlY2VpdmUgdXNpbmcgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX2lzb19yZWNlaXZlKSwKCSAgI2lmZGVmJ2Qgb3V0IGlmIGxpYmllYzYxODgzIGlzIHByZXNlbnQuCgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCksCgkgIEdldCB1c2VyZGF0YSBjb3JyZWN0bHkgaWYgdXNpbmcgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSksCgkgIFdoZW4gdXNpbmcgbGliaWVjNjE4ODMsIG9ubHkgcG9sbCBvbmUgZmQgYW5kIG5vIG5lZWQgdG8gcmVhZC4KCSAgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICBSZXBsYWNlIGdfd2FybmluZ3MuCgkgIChnc3RfZHYxMzk0c3JjX3N0YXJ0KSwKCSAgQ3JlYXRlIG5ldyBoYW5kbGUgd2hlbiB3ZSBrbm93IHdoaWNoIGR2IHBvcnQuICBNb3JlIHJlbGlhYmxlCgkgIHRoYW4gc2V0dGluZyBwb3J0IG9uIGFuIGV4aXN0aW5nIGhhbmRsZS4gIEluaXRpYWxpc2UgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX3N0b3ApOgoJICBJZiB1c2luZyBsaWJpZWM2MTg4MywgdGhlbiBjbGVhbnVwIGl0cyBoYW5kbGUgcHJvcGVybHkuCgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIEFkZCBsaWJpZWM2MTg4MyBoYW5kbGUuCgoyMDA2LTA1LTMwIDIxOjA3OjM4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IGFkZCBhbiBleHBsaWNpdCBkbGwgaW1wb3J0ZWQgZGVjbGFyYXRpb24gZm9yIEdTVF9DQVRfRVZFTlQrV0lOMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhZGQgYW4gZXhwbGljaXQgZGxsIGltcG9ydGVkIGRlY2xhcmF0aW9uIGZvciBHU1RfQ0FUX0VWRU5UK1dJTjMyCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIHNvcnQgZmlsZSBsaXN0aW5nCgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgIGFkZCBnc3RhdmltdXguYyB0byB0aGUgcHJvamVjdAoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgIGFkZCBsaW5rIHRvIHpsaWIgbGlicmFyeQoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgIGFkZCBtYXRyb3NrYS1pZHMuYyB0byB0aGUgcHJvamVjdAoKMjAwNi0wNS0zMCAxNDozNToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgQWRkIGFwZXYybXV4IGVsZW1lbnQgKCMzNDMxMjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIEFkZCBhcGV2Mm11eCBlbGVtZW50ICgjMzQzMTIyKS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfY3JlYXRlX3RhZ3MpLAoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfY2hlY2tfdGFncyksIChmaWxsX21wM19idWZmZXIpLCAoZ290X2J1ZmZlciksCgkgIChkZW11eF9wYWRfYWRkZWQpLCAodGVzdF90YWdsaWJfYXBldjJtdXhfY2hlY2tfb3V0cHV0X2J1ZmZlciksCgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF93aXRoX3RhZ3MpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXBldjJtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGFwZXYybXV4IGVsZW1lbnQuCgoyMDA2LTA1LTI4IDE3OjMzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogR1NUX1BUUl9GT1JNQVQgc2hvdWxkIGJlIHVzZWQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl91cGRhdGVfY2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgR1NUX1BUUl9GT1JNQVQgc2hvdWxkIGJlIHVzZWQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wNS0yOCAxNDozODoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogU29tZSBjbGVhbi11cHMgYW5kIGFkZGl0aW9uczogbWFwIEFQRSAnZmlsZScgdGFnIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9nZXRfZ3N0X3RhZ19mcm9tX3RhZyksCgkgIChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFNvbWUgY2xlYW4tdXBzIGFuZCBhZGRpdGlvbnM6IG1hcCBBUEUgJ2ZpbGUnIHRhZyB0bwoJICBHU1RfVEFHX0xPQ0FUSU9OICgjMzQzMTIzKTsgYWRkIHN1cHBvcnQgZm9yIGV4dHJhY3RpbmcKCSAgdGhlIHRyYWNrIGNvdW50IGFuZCBjbGVhbiB1cCBwYXJzaW5nIGEgYml0ICgjMzQzMTI3KS4KCjIwMDYtMDUtMjggMTM6NDk6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEluaXRpYWxpemUgc2VnbWVudCB0byBHU1RfRk9STUFUX1VOREVGSU5FRCBpbiBSRUFEWS0+UEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgSW5pdGlhbGl6ZSBzZWdtZW50IHRvIEdTVF9GT1JNQVRfVU5ERUZJTkVEIGluIFJFQURZLT5QQVVTRUQuCgoyMDA2LTA1LTI4IDEzOjMwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBDbGlwIG91dGdvaW5nIGJ1ZmZlcnMgYWNjb3JkaW5nIHRvIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19maW5hbGl6ZSksCgkgIChnc3RfanBlZ19kZWNfaW5pdCksIChnc3RfanBlZ19kZWNfY2hhaW4pLAoJICAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBDbGlwIG91dGdvaW5nIGJ1ZmZlcnMgYWNjb3JkaW5nIHRvIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQuCgoyMDA2LTA1LTI4IDEwOjM5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogSGFuZGxlICB3cml0aW5nIG9mIHRyYWNrLWNvdW50IG9yIGFsYnVtLXZvbHVtZS1jb3VudCB3aXRob3V0IHRyYWNrLW51bWJlciBvciBhbGJ1bWUtdm9sdW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEhhbmRsZSAgd3JpdGluZyBvZiB0cmFjay1jb3VudCBvciBhbGJ1bS12b2x1bWUtY291bnQgd2l0aG91dAoJICB0cmFjay1udW1iZXIgb3IgYWxidW1lLXZvbHVtZS1udW1iZXIgKGluIHRoaXMgY2FzZSB0aGUgbnVtYmVyCgkgIHdpbGwganVzdCBiZSBzZXQgdG8gMCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF9jaGVja190YWdzKToKCSAgSXQgd291bGQgYmUgbmljZSBpZiB3ZSBhY3R1YWxseSBjaGVja2VkIHRoZSB2YWx1ZXMgcmVjZWl2ZWQgZm9yCgkgIHRyYWNrL2FsYnVtLXZvbHVtZSBudW1iZXIvY291bnQgaW4gIF9jaGVja190YWdzKCksIHJhdGhlciB0aGFuCgkgIHNldHRpbmcgdGhlbSBhZ2FpbiAuLi4KCjIwMDYtMDUtMjggMTA6MDU6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQSB0cmFjay92b2x1bWUgbnVtYmVyIG9yIGNvdW50IG9mIDAgZG9lcyBub3QgbWFrZSBzZW5zZSwganVzdCBpZ25vcmUgaXQgYWxvbmcgd2l0aCBuZWdhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIEEgdHJhY2svdm9sdW1lIG51bWJlciBvciBjb3VudCBvZiAwIGRvZXMgbm90IG1ha2Ugc2Vuc2UsCgkgIGp1c3QgaWdub3JlIGl0IGFsb25nIHdpdGggbmVnYXRpdmUgbnVtYmVycyAoYSB0YWcgbWlnaHQKCSAgb25seSBjb250YWluIGEgdHJhY2sgY291bnQgd2l0aG91dCBhIHRyYWNrIG51bWJlcikuCgoyMDA2LTA1LTI3IDEzOjExOjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBYm9ydCBkZWNvbXByZXNzaW9uIHdoZW4gcmVjZWl2aW5nIEZMVVNIX1NUT1AuIFRoaXMgc2hvdWxkIGF2b2lkIGlzc3VlcyB3aGVuIGludGVycnVwdGluZyBkZWNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KToKCSAgQWJvcnQgZGVjb21wcmVzc2lvbiB3aGVuIHJlY2VpdmluZyBGTFVTSF9TVE9QLiBUaGlzIHNob3VsZCBhdm9pZAoJICBpc3N1ZXMgd2hlbiBpbnRlcnJ1cHRpbmcgZGVjb2Rpbmcgd2l0aCBmbHVzaGVzLgoKMjAwNi0wNS0yNyAxMjoxMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWMuYzogRG9uJ3QgI2luY2x1ZGUgZmlsZSB3ZSBkb24ndCBkaXN0IGFueSBsb25nZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSAgRG9uJ3QgI2luY2x1ZGUgZmlsZSB3ZSBkb24ndCBkaXN0IGFueSBsb25nZXIuCgoyMDA2LTA1LTI3IDExOjI3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUkVBRE1FOiBSZXBsYWNlIGN1cnJlbnQgUkVBRE1FIChjb250YWluaW5nIHRoZSByZWxlYXNlIG5vdGVzIGZyb20gc29tZSAwLjkueCB2ZXJzaW9uKSB3aXRoIGEgcHJvcGVyIFJFQURNRSB0YWtlbiBmcm9tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFQURNRToKCSAgUmVwbGFjZSBjdXJyZW50IFJFQURNRSAoY29udGFpbmluZyB0aGUgcmVsZWFzZSBub3RlcyBmcm9tCgkgIHNvbWUgMC45LnggdmVyc2lvbikgd2l0aCBhIHByb3BlciBSRUFETUUgdGFrZW4gZnJvbSB0aGUgY29yZS4KCjIwMDYtMDUtMjYgMjI6MzU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl9mcmVxdWVuY3lfY2hhbmdlZCksCgkgIChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBmaXggdHlwbwoKMjAwNi0wNS0yNiAxMzoxNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AKCSAgdGltZS4KCjIwMDYtMDUtMjYgMTE6NDg6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoKMjAwNi0wNS0yNCAxNjowMzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEltcGxlbWVudCBFT1MgY29ycmVjdGx5IGJ5IGVpdGhlciBwb3N0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9sb29wKToKCSAgSW1wbGVtZW50IEVPUyBjb3JyZWN0bHkgYnkgZWl0aGVyIHBvc3RpbmcKCSAgU0VHTUVOVF9ET05FIG9yIHB1c2hpbmcgYW4gRU9TIG1lc3NhZ2UgZGVwZW5kaW5nCgkgIG9uIHRoZSBzZWVrIHR5cGUuIEZpeGVzICMzNDI1OTIKCjIwMDYtMDUtMjQgMTE6NTY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoKMjAwNi0wNS0yNCAxMDowMDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBTb21lIGNsZWFudXBzIGluIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIFNvbWUgY2xlYW51cHMgaW4gdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgUmVtb3ZlIHNvbWUgR1N0cmVhbWVyIDAuMC4yIGJpdHMuCgoyMDA2LTA1LTIzIDIwOjE1OjA0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBnc3RfY29sbGVjdF9wYWRzX3N0b3AoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgKCMzNDI3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICBnc3RfY29sbGVjdF9wYWRzX3N0b3AoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGNoYWluaW5nIHVwCgkgIHRvIHRoZSBwYXJlbnQgY2xhc3MgKCMzNDI3MzQpLgoKMjAwNi0wNS0yMyAxNjo0NToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjLzogUmVtb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNydWZ0IGZvciBkZWFsaW5nIHdpdGggRkxBQyBBUEkgY2hhbmdlcyBpbiB0aGUgMS4wLnggc2VyaWVzIC0gd2UgcmVxdWlyZSAxLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9mbGFjX2NvbXBhdC5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBSZW1vdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgY3J1ZnQgZm9yIGRlYWxpbmcgd2l0aCBGTEFDIEFQSQoJICBjaGFuZ2VzIGluIHRoZSAxLjAueCBzZXJpZXMgLSB3ZSByZXF1aXJlIDEuMS4xIG9yIG5ld2VyIHRoZXNlIGRheXMuCgoyMDA2LTA1LTIzIDEzOjQ0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyB0aGVvcmEgdmlkZW8gKCMzNDI0NDg7IHRvbyBiYWQgbm9uZSBvZiB0aGUgdXN1YWwgbGludXggcGxheWVycyBjYW4gYWN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKHhpcGgzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodm9yYmlzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodGhlb3JhX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHRoZW9yYSB2aWRlbyAoIzM0MjQ0ODsgdG9vIGJhZAoJICBub25lIG9mIHRoZSB1c3VhbCBsaW51eCBwbGF5ZXJzIGNhbiBhY3R1YWxseSBwbGF5IHRoaXMpLiBQbGF5YmFjawoJICBpbiBHU3RyZWFtZXIgd2lsbCByZXF1aXJlIGFkZGl0aW9uYWwgY2hhbmdlcyB0byB0aGVvcmFkZWMgaW4gLWJhc2UuCgkgIFJlZmFjdG9yIHN0cmVhbWhlYWRlcnMgPD0+IENvZGVjUHJpdmF0ZURhdGEgY29kZSBhIGJpdDsgc29tZSBzbWFsbAoJICBjbGVhbnVwcy4KCjIwMDYtMDUtMjIgMTg6MDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHBvL1BPVEZJTEVTLmluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLCAocGx1Z2luX2luaXQpOgoJICBwby9QT1RGSUxFUy5pbjoKCSAgVGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgZmlsZSBpcyBlbmNyeXB0ZWQuIE1vdmUgcGx1Z2luX2luaXQgc3R1ZmYKCSAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSwgYWRkIHN0dWZmIGZvciBpMThuLCBtYWtlIGRlYnVnIGNhdGVnb3J5CgkgIHN0YXRpYy4KCjIwMDYtMDUtMjIgMTU6MjM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBjcmFzaGVzIHdoZW4gdGhlIGhvcml6b250YWwgc3Vic2FtcGxpbmcgaXMgMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoaHJlc2FtcGxlY3B5MSksCgkgIChnc3RfanBlZ19kZWNfZGVjb2RlX2luZGlyZWN0KSwgKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBjcmFzaGVzIHdoZW4gdGhlIGhvcml6b250YWwgc3Vic2FtcGxpbmcgaXMgMS4KCSAgRml4ZXMgIzM0MjA5Ny4KCjIwMDYtMDUtMjIgMTQ6NTY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICBjb3ZlciB1cCB0aGUgZGlydHkgdHJ1dGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvdmVyIHVwIHRoZSBkaXJ0eSB0cnV0aAoKMjAwNi0wNS0yMiAxMzo1MzoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IC0gYWRkIG9kbWwgKGxhcmdlIGZpbGUpIGluZGV4IHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfdGFnKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCksCgkgIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksCgkgIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksCgkgIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLCAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgU29tZSBlbmhhbmNlbWVudHMgZm9yIGF2aW11eCAoIzM0MjUyNik6CgkgIC0gYWRkIG9kbWwgKGxhcmdlIGZpbGUpIGluZGV4IHN1cHBvcnQKCSAgLSBzdG9yZSBjb2RlYyBpbml0IGRhdGEgKGUuZy4gaHVmZnl1dikKCSAgLSBtaXNjZWxsYW5lb3VzIG90aGVyIGZpeGVzL2NsZWFudXBzCgoyMDA2LTA1LTIyIDEzOjUxOjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgZml4IGRlc2NyaXB0aW9ucyBhbmQgbGljZW5zZSBibG9ja3MgY3V0IGFuZCBwYXN0ZSBhbnlvbmUgPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRlc2NyaXB0aW9ucyBhbmQgbGljZW5zZSBibG9ja3MKCSAgY3V0IGFuZCBwYXN0ZSBhbnlvbmUgPwoKMjAwNi0wNS0yMSAxNjo0MTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgIFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoKMjAwNi0wNS0yMSAxNjoyMzoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgTGluayB0byBiYXNlIGxpYnJhcmllcwoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIHVzZSBuZXcgdGhyZXNoaG9sZCBwcm9wZXJ0eQoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pLAoJICAoZ3N0X3NwZWN0cnVtX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBnc3RfYWRhcHRlciwgc3VwcG9ydCBtdWx0aXBsZS1jaGFubmVscywgYWRkIHRocmVzaG9sZCBwcm9wZXJ0eSBmb3IKCSAgcmVzdWx0LCBhZGQgZG9jcywgZml4IHJlc3VsdGluZyBzcGVjdHJ1bSByYW5nZSAod2FzIGluY2x1ZGluZyBtaXJyb3JlZAoJICByZXN1bHRzKQoKMjAwNi0wNS0yMCAyMjo0MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IChnc3Rfc3BlY3RydW1fZml4X2RvdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoKMjAwNi0wNS0xOSAxODo1ODowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoKMjAwNi0wNS0xOSAxODozMToyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTE5IDE0OjA1OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBEb24ndCBvdXRwdXQgYW55IHRhZyB3aGVuIHdlIGVuY291bnRlciBhIG5lZ2F0aXZlIHRyYWNrIG51bWJlciAtIHRoZSB0YWcgdHlwZSBpcyB1aW50LCBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgRG9uJ3Qgb3V0cHV0IGFueSB0YWcgd2hlbiB3ZSBlbmNvdW50ZXIgYSBuZWdhdGl2ZSB0cmFjayBudW1iZXIgLSB0aGUKCSAgdGFnIHR5cGUgaXMgdWludCwgc28gd2UgZW5kIHVwIG91dHB1dHRpbmcgaHVnZSBwb3NpdGl2ZSBudW1iZXJzCgkgIGluc3RlYWQuIChGaXhlczogIzM0MjAyOSkKCjIwMDYtMDUtMTggMjM6MDQ6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgZm9yIG5ldyBHU1RQQl9QTFVHSU5TX0RJUgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHVwZGF0ZSBmb3IgbmV3IEdTVFBCX1BMVUdJTlNfRElSCgoyMDA2LTA1LTE4IDE5OjM0OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWDExCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2lmYWNlX3N1cHBvcnRlZCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIENvZGUgY2xlYW51cHMsIGZpeCBkZWJ1ZyBtYWNyb3MKCjIwMDYtMDUtMTggMTQ6NDU6MzMgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBydHAvZ3N0L2dzdHJ0cGgyNjNwYXkuYzogUHJvcGVybHkgc2V0IHN0YXRpYyBjYXBzIGZvciBIMjYzIGF0IDM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0xOCAgUGhpbGlwcGUgS2FsYWYgIDxwaGlsaXBwZS5rYWxhZiBhdCBjb2xsYWJvcmEuY28udWs+CgkgICogcnRwL2dzdC9nc3RydHBoMjYzcGF5LmM6CgkgIFByb3Blcmx5IHNldCBzdGF0aWMgY2FwcyBmb3IgSDI2MyBhdCAzNC4KCjIwMDYtMDUtMTggMTI6NDY6MDggKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IE1lcmdlIGV2ZW50IHRhZ3MgYW5kIHRhZyBzZXR0ZXIgdGFncyBjb3JyZWN0bHkgKCMzMzk5MTgpLiBBbHNvLCBkb24ndCBsZWFrIHRhZ2xpc3QgaW4gY2FzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGdtYWlsIGNvbT4KCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAoZ3N0X3RhZ19saWJfbXV4X3JlbmRlcl90YWcpOgoJICBNZXJnZSBldmVudCB0YWdzIGFuZCB0YWcgc2V0dGVyIHRhZ3MgY29ycmVjdGx5ICgjMzM5OTE4KS4gQWxzbywKCSAgZG9uJ3QgbGVhayB0YWdsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA1LTE3IDE4OjA5OjA2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgRml4ZWQgY2FwcyBmb3IgSDI2MyAobm90IHRoZSBzYW1lIGFzIEgyNjMrKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgY2FwcyBmb3IgSDI2MyAobm90IHRoZSBzYW1lIGFzIEgyNjMrKQoKMjAwNi0wNS0xNyAxMjozNjoyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IFdlIGNhbiBvbmx5IGRvIGNhcHMgaW50ZXJzZWN0aW9uIGlmIHRoZSBvdGhlcmNhcHMgYXJlIG5vbi1lbXB0eSBhbmQgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19nZXRjYXBzKToKCSAgV2UgY2FuIG9ubHkgZG8gY2FwcyBpbnRlcnNlY3Rpb24gaWYgdGhlIG90aGVyY2FwcyBhcmUgbm9uLWVtcHR5IGFuZCBub3QKCSAgQU5ZLiBFbHNlIHdlIHJldHVybiB0aGUgcGFkIHRlbXBsYXRlIChiYXNlX2NhcHMpLgoKMjAwNi0wNS0xNyAxMToyMDo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGNyYXNoIHdoZW4gb3V0cHV0dGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGNlcnRhaW4gcGljdHVyZXMgKGFsd2F5cyBnb29kIHRvIHVzZSB0aGUgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggY3Jhc2ggd2hlbiBvdXRwdXR0aW5nIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgY2VydGFpbgoJICBwaWN0dXJlcyAoYWx3YXlzIGdvb2QgdG8gdXNlIHRoZSByaWdodCBzdHJ1Y3QgbWVtYmVyIGZvcgoJICB0aGUgbnVtYmVyIG9mIHJlY29yZHMgaW4gYW4gYXJyYXkpLgoKMjAwNi0wNS0xNyAwODoxMDozMSArMDAwMCAgSmluZHJpY2ggTWFrb3ZpY2thIDxqaW5kcmljaC5tYWtpdmlja2FAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBEb24ndCBjcmVhdGUgdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlcnMgYWxsIHRoZSB0aW1lLiBEcmFtYXRpY2FsbHkgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugd2l0aCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmluZHJpY2ggTWFrb3ZpY2thICA8amluZHJpY2gubWFraXZpY2thIGF0IGl0b25pcyB0dj4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9wdWxsX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLAoJICAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpOgoJICBEb24ndCBjcmVhdGUgdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlcnMgYWxsIHRoZSB0aW1lLiBEcmFtYXRpY2FsbHkKCSAgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugd2l0aCBtdWx0aXBsZSBjb25jdXJyZW50bHkgcnVubmluZwoJICBtYXRyb3NrYWRlbXV4IGluc3RhbmNlcyAoIzM0MTgxOCkgKGFuZCBhdm9pZHMgZG9pbmcKCSAgdW5uZWNlc3NhcmlseSBpbmVmZmljaWVudCB0aGluZ3MgaW4gdGhlIGdlbmVyYWwgY2FzZSkuCgoyMDA2LTA1LTE2IDE3OjIwOjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogSW4gc25hcHNob3QgbW9kZSwgd2UgYWx3YXlzIHJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoYXRldmVyIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgSW4gc25hcHNob3QgbW9kZSwgd2UgYWx3YXlzIHJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoYXRldmVyIHRoZQoJICByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9wdXNoX2V2ZW50KCkuCgoyMDA2LTA1LTE2IDE0OjA3OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogTWFrZSB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBiZSBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgcGFyZW50LCBzbyB0aGF0IGRlYnVnIG91dHB1dCBpcyBtb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpOgoJICBNYWtlIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBlbGVtZW50IGJlIGJhc2VkIG9uIHRoZSBuYW1lIG9mIHRoZQoJICBwYXJlbnQsIHNvIHRoYXQgZGVidWcgb3V0cHV0IGlzIG1vcmUgdXNlZnVsLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoZmluZF91dGYxNl9ib20pLAoJICAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgUmV3b3JrIHN0cmluZyBwYXJzaW5nIHRvIGFsd2F5cyB3YWxrIG92ZXIgQk9NIG1hcmtlcnMgaW4gVVRGMTYKCSAgc3RyaW5ncywgdXNpbmcgdGhlIGVuZGlhbm5lc3MgaW5kaWNhdGVkIGJ5IHRoZSBpbm5lcm1vc3Qgb25lLAoJICB0aGVuIHRyeWluZyB0aGUgb3Bwb3NpdGUgZW5kaWFubmVzcyBpZiB0aGF0IGZhaWxzIHRvIGNvbnZlcnQKCSAgdG8gdmFsaWQgVVRGLTguIEZpeGVzICMzNDE3NzQKCjIwMDYtMDUtMTYgMTM6MzE6MDIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGlicG5nL01ha2VmaWxlLmFtOiBBZGQgTElCUE5HX0NGTEFHUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgUGF0Y2ggZnJvbTogTWF0dGhpZXUgPG1hdHRoaWV1IGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBBZGQgTElCUE5HX0NGTEFHUy4KCjIwMDYtMDUtMTUgMTE6MjA6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA2LTA1LTE1IDA5OjAwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgaW1hZ2VzIChBUElDIGZyYW1lcykgaW50byBJRDN2MiB0YWdzIChwaWN0dXJlIHR5cGUgYWx3YXlzIHNldCB0byAnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIGltYWdlcyAoQVBJQyBmcmFtZXMpIGludG8gSUQzdjIKCSAgdGFncyAocGljdHVyZSB0eXBlIGFsd2F5cyBzZXQgdG8gJ290aGVyJyBmb3Igbm93IHRob3VnaCkuCgoyMDA2LTA1LTE0IDEyOjUwOjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXBkYXRlIGRvY3M7IHdhdnBhcnNlIGltcGxlbWVudHMgcHVzaCBhbmQgcHVsbCBtb2Rlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFVwZGF0ZSBkb2NzOyB3YXZwYXJzZSBpbXBsZW1lbnRzIHB1c2ggYW5kIHB1bGwgbW9kZXMuCgoyMDA2LTA1LTEyIDE4OjEwOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBPb29wcywgYml0dGVuIGJ5IHRoZSBjb3B5LWFuZC1wYXN0ZSBkZXNpZ24gcGFyYWRpZ20sIGZpeGVzIHNlZWsgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE9vb3BzLCBiaXR0ZW4gYnkgdGhlIGNvcHktYW5kLXBhc3RlIGRlc2lnbiBwYXJhZGlnbSwgZml4ZXMKCSAgc2VlayBhZ2Fpbi4KCjIwMDYtMDUtMTIgMTg6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNvbWUgY2xlYW51cHMsIHByZXBhcmUgdG8gdXNlIEdzdFNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU29tZSBjbGVhbnVwcywgcHJlcGFyZSB0byB1c2UgR3N0U2VnbWVudC4KCSAgRml4IGVycm9yIGluIGVudHJ5IHdhbGtpbmcgY29kZS4KCSAgRml4IFZCUiBkZXRlY3Rpb24uCgkgIFNtYXJ0ZXIgdGltZXN0YW1wIGNhbGN1bGF0aW9uIGNvZGUuCgkgIFVuaWZvcm0gZXJyb3IvZW9zIGhhbmRsaW5nLgoKMjAwNi0wNS0xMiAxNzo0NDoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCB1c2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMgaWYgd2UncmUgTk9UIHNlZWtpbmcgaW4gcmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2ZtdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeCB1c2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMgaWYgd2UncmUgTk9UIHNlZWtpbmcgaW4gcmVhZHkuCgkgIEZpeCB0eXBvcy4KCjIwMDYtMDUtMTIgMDg6MjM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEFkZCBDRkxBR1MgYW5kIExJQlMgZm9yIGxpYmdzdGJhc2UsIGZpeGVzIGJ1aWxkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIENGTEFHUyBhbmQgTElCUyBmb3IgbGliZ3N0YmFzZSwgZml4ZXMgYnVpbGQgb24KCSAgQ3lnd2luICgjMzQxNDg5KS4KCjIwMDYtMDUtMTIgMDg6MjE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogU29tZSBtb3JlIGRlYnVnIGluZm8uIE5vIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nIHJldHVybmVkIGJ5IGdfY29udmVydCgpIGlzIHJlYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKToKCSAgU29tZSBtb3JlIGRlYnVnIGluZm8uIE5vIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nCgkgIHJldHVybmVkIGJ5IGdfY29udmVydCgpIGlzIHJlYWxseSBVVEYtOCAtIGVpdGhlciBpdCBpcyBvcgoJICB3ZSBnZXQgTlVMTCByZXR1cm5lZC4KCjIwMDYtMDUtMTEgMTc6NTk6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xMSAwOTowOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlCgkgIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb25hbCBlc2RzIGJveC4gUHJvbW90ZSB0aGUKCSAgZGVmYXVsdCBBQUMgdG8gbXAzIHdoZW4gaW5kaWNhdGVkLiBGaXhlcyAjMzMwNjMyLgoKMjAwNi0wNS0xMCAxNzo0NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9kdW1wX3Vua25vd24pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIERvbid0ICNkZWZpbmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSwgdXNlIHNvbWV0aGluZyBtb3JlCgkgIHNwZWNpZmljIGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwNi0wNS0xMCAxMzo1MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IHBhcnNpbmcgb2YgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIHNvbWUgbW9yZSwgYnkgZW5zdXJpbmcgdGhhdCB3ZSBvbmx5IHRyeSBhbmQgcGFyc2Ugc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIEZpeCBwYXJzaW5nIG9mIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBzb21lIG1vcmUsIGJ5IGVuc3VyaW5nIHRoYXQKCSAgd2Ugb25seSB0cnkgYW5kIHBhcnNlIHN0cmluZ3MgdGhhdCBhKSBTdGFydCB3aXRoICcoJyBhbmQgYikgQ29uc2lzdAoJICBvbmx5IG9mIGRpZ2l0cy4KCSAgQWxzbywgd2hlbiBmaW5kaW5nIGFuIGVzY2FwaW5nICcoKCcgc2VxdWVuY2UsIGJ1c3QgaXQgYmFjayB0byAnKCcgYnkKCSAgc3dhbGxvd2luZyB0aGUgZmlyc3QgcGFyZW50aGVzaXMKCjIwMDYtMDUtMTAgMTE6MTc6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuKjogTW92ZSB0aGUgZXNkX2dldF9zZXJ2ZXJfaW5mbygpIGludG8gZ3N0X2VzZHNpbmtfb3BlbigpIGFuZCBmYWlsIHdpdGggYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSBvbiBlcnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19maW5hbGl6ZSksIChnc3RfZXNkc2lua19nZXRjYXBzKSwKCSAgKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfY2xvc2UpOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICBNb3ZlIHRoZSBlc2RfZ2V0X3NlcnZlcl9pbmZvKCkgaW50byBnc3RfZXNkc2lua19vcGVuKCkgYW5kIGZhaWwKCSAgd2l0aCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIG9uIGVycm9ycy4KCjIwMDYtMDUtMTAgMTA6Mjk6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDb25zdC1pZnkgR0VudW1WYWx1ZSBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX2RlcHRoc19nZXRfdHlwZSksCgkgIChnc3RfZXNkbW9uX2NoYW5uZWxzX2dldF90eXBlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9wcm9maWxlX2dldF90eXBlKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19kaXRoZXJfZ2V0X3R5cGUpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9wcm90b2NvbF9nZXRfdHlwZSk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfbWV0aG9kX2dldF90eXBlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X2lsYmNfbW9kZV9nZXRfdHlwZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9maWxsX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb19taXhlcl9iYWNrZ3JvdW5kX2dldF90eXBlKToKCSAgQ29uc3QtaWZ5IEdFbnVtVmFsdWUgYXJyYXlzLgoKMjAwNi0wNS0wOSAxNDowODoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBXb3JrIGFyb3VuZCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBidWcgdGhhdCByZXN1bHRzIGluIGF2aW11eCBtYXJraW5nIGFsbCBmcmFtZXMgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpOgoJICBXb3JrIGFyb3VuZCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBidWcgdGhhdAoJICByZXN1bHRzIGluIGF2aW11eCBtYXJraW5nIGFsbCBmcmFtZXMgaW4gdGhlIGluZGV4IGFzCgkgIGtleWZyYW1lcyAoIzM0MDg1OSkuCgoyMDA2LTA1LTA4IDE5OjIxOjE4ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgoyMDA2LTA1LTA4IDE1OjIwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAocXRkZW11eF9kdW1wX212aGQpOgoJICBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIEFsc28gcmVwb3J0IGR1cmF0aW9uIGluIHB1c2ggbW9kZSBzaW5jZSB3ZSBjYW4uCgoyMDA2LTA1LTA4IDE0OjM1OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC5jOiBNYWtlIHBhcnNpbmcgb2YgdXJscyBzdWNrIHNsaWdodGx5IGxlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgTWFrZSBwYXJzaW5nIG9mIHVybHMgc3VjayBzbGlnaHRseSBsZXNzLgoKMjAwNi0wNS0wOCAxMTo1MzowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGF1dG9nZW4uc2g6IGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6IChDT05GSUdVUkVfREVGX09QVCk6CgkgIGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUuCgoyMDA2LTA1LTA4IDEwOjU5OjA1ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBDODkgY29tcGxpYW5jZSBmaXhlcy4gRml4ZXMgIzM0MDk4MAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9kaXNwb3NlKToKCSAgQzg5IGNvbXBsaWFuY2UgZml4ZXMuIEZpeGVzICMzNDA5ODAKCjIwMDYtMDUtMDYgMDk6MDE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IEhhbmRsZSBzZWdtZW50IHNlZWtzIHRoYXQgaW5jbHVkZSB0aGUgZW5kIG9mIHRoZSBmaWxlIGFzIHN0b3AgcG9pbnQgcHJvcGVybHk6IHdoZW4gdGhlIGRlY29kZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgSGFuZGxlIHNlZ21lbnQgc2Vla3MgdGhhdCBpbmNsdWRlIHRoZSBlbmQgb2YgdGhlIGZpbGUgYXMgc3RvcCBwb2ludAoJICBwcm9wZXJseTogd2hlbiB0aGUgZGVjb2RlciBoaXRzIEVPUyB3ZSB3YW50IHRvIHNlbmQgYSBTRUdNRU5UX0RPTkUKCSAgbWVzc2FnZSBpbnN0ZWFkIG9mIGFuIEVPUyBldmVudCBpbiBjYXNlIHdlJ3JlIGluIHNlZ21lbnQgc2VlawoJICBtb2RlIChmaXhlcyAjMzQwNjk5KS4KCjIwMDYtMDUtMDYgMDA6MTQ6MDkgKzAwMDAgIE1hY2llaiBLYXRhZmlhc3ogPG1hdGhyaWNrQG1hdGhyaWNrLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCjIwMDYtMDUtMDUgMjA6MTI6NTkgKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24uCgoyMDA2LTA1LTA0IDE3OjI3OjI3ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBEb24ndCBsZWFrIGNhcHMgd2hlbiBmcmVlaW5nIHRoZSBzdHJlYW0gY29udGV4dCAoIzM0MDYyMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCB4ZXJpcyBkb3QgY3o+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpOgoJICBEb24ndCBsZWFrIGNhcHMgd2hlbiBmcmVlaW5nIHRoZSBzdHJlYW0gY29udGV4dCAoIzM0MDYyMykuCgoyMDA2LTA1LTA0IDE1OjQwOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4zID09PQoKMjAwNi0wNS0wNCAxNTozNjowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDQgMTU6Mjg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgoyMDA2LTA1LTA0IDE1OjA1OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDMgMTg6NDQ6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTA1LTAzIDE4OjQxOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCBzdHJjbXAoKSBOVUxMIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RyZWFtX2lzX3ZvcmJpc19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRG9uJ3Qgc3RyY21wKCkgTlVMTCBzdHJpbmdzLgoJICBPbmx5IHN0YXJ0IG5ldyBjbHVzdGVycyBvbiB2aWRlbyBrZXlmcmFtZXMsIG5vdCBvbiBhbnkKCSAgcmFuZG9tIGF1ZGlvIGJ1ZmZlciB0aGF0IGRvZXNuJ3QgaGF2ZSB0aGUgREVMVEFfVU5JVAoJICBmbGFnIHNldCAoZml4ZXMgJ21ha2UgY2hlY2snIGFnYWluKS4KCjIwMDYtMDUtMDMgMTQ6NTE6NTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IG1pc2ludGVycHJldCBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIHZlcnkgaGlnaCB0aW1lc3RhbXAgdmFsdWUgYW5kIHRoZW4gZGVhZC1sb2NrIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RyZWFtX2lzX3ZvcmJpc19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRG9uJ3QgbWlzaW50ZXJwcmV0IEdTVF9DTE9DS19USU1FX05PTkUgYXMgdmVyeSBoaWdoIHRpbWVzdGFtcAoJICB2YWx1ZSBhbmQgdGhlbiBkZWFkLWxvY2sgd2hlbiBtdXhpbmcgdm9yYmlzIGF1ZGlvIHN0cmVhbXMKCSAgKHRoZSB0aHJlZSB2b3JiaXMgaGVhZGVyIGJ1ZmZlcnMgY2Fycnkgbm8gdGltZXN0YW1wLCBhbmQgaXQKCSAgd291bGQgdHJ5IHRvIG11eCB0aGVzZSBhZnRlciBhbGwgdmlkZW8gYnVmZmVycykuIEZpeGVzICMzNDAzNDYuCgkgIEltcHJvdmUgY2x1c3RlcmluZzogc3RhcnQgYSBuZXcgY2x1c3RlciBhbHNvIHdoZW5ldmVyIHdlIGdldAoJICBhIGtleWZyYW1lLgoKMjAwNi0wNS0wMyAxNDozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEgZGVhZCBjb2RlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhCgkgIGRlYWQgY29kZSBibG9jay4KCjIwMDYtMDUtMDMgMTQ6Mjg6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHdpbjMyIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIGFkZCB3aW4zMiBzdHVmZgoKMjAwNi0wNS0wMyAxNDoyNjo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgd2luMzIgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgYWRkIHdpbjMyIHN0dWZmCgoyMDA2LTA1LTAyIDIyOjM0OjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogRml4IHRpbWVvdmVybGF5IGZvciBub24tbXVsdGlwbGUtb2YtNCB3aWR0aHMuIFRoaXMgZm91cmNjIGNyYXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgIEZpeCB0aW1lb3ZlcmxheSBmb3Igbm9uLW11bHRpcGxlLW9mLTQgd2lkdGhzLiBUaGlzIGZvdXJjYyBjcmFwCgkgIFNVQ0tTLgoKMjAwNi0wNS0wMiAyMTo1Mjo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCjIwMDYtMDUtMDIgMTg6NTA6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IGRvbid0IGxlYWsgY2Fwcy1zdHJpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fdXBkYXRlX2NhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgIGRvbid0IGxlYWsgY2Fwcy1zdHJpbmcKCjIwMDYtMDUtMDIgMTU6NDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogTGV0IGNvcmUgaW5zZXJ0IGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgVFlQRV9OT1RfRk9VTkQgZXJyb3JzLCBpdCdzIGp1c3QgYXMgZ29vZCBhcyBvdXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBMZXQgY29yZSBpbnNlcnQgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGZvciBUWVBFX05PVF9GT1VORAoJICBlcnJvcnMsIGl0J3MganVzdCBhcyBnb29kIGFzIG91ciBvd24gYW5kIGhhcyB0aGUgYWRkZWQKCSAgYm9udXMgb2YgYmVpbmcgdHJhbnNsYXRlZC4KCjIwMDYtMDUtMDIgMTU6NDA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGFuZCB3ZXJlIG5vdCBhYmxlIHRvIGZpbmQgb3V0IHRoZSB0eXBlIG9mIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9pbml0KSwKCSAgKGdzdF90YWdfZGVtdXhfc2lua19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfc2lua19ldmVudCk6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYW5kIHdlcmUgbm90CgkgIGFibGUgdG8gZmluZCBvdXQgdGhlIHR5cGUgb2Ygc3RyZWFtLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6IChmaWxsX21wM19idWZmZXIpLCAoZ290X2J1ZmZlciksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgRGVjcmVhc2UgbnVtLWJ1ZmZlcnMgdG8gMTYgcGVyIGl0ZXJhdGlvbiBhZ2Fpbiwgb3RoZXJ3aXNlIHRoZQoJICBtYW55IG1lbWNweSgpcyBhbmQgcmVhbGxvY2F0aW9ucyBpbiB0aGUgdGVzdCB3aWxsIGhhbW1lciBzbG93CgkgIENQVXMgY29tcGxldGVseSBhbmQgbWFrZSB0aGUgdGVzdCB0aW1lb3V0LgoKMjAwNi0wNS0wMiAxMzoyNDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGZpZ3VyZSBvdXQgd2hlcmUgcGx1Z2lucy1iYXNlIHBsdWdpbnMgYXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZmlndXJlIG91dCB3aGVyZSBwbHVnaW5zLWJhc2UgcGx1Z2lucyBhcmUKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdXNlIHBsdWdpbnMtYmFzZSBwbHVnaW5zLCBzbyB3ZSBoYXZlIHR5cGVmaW5kIGZ1bmN0aW9ucwoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgaW5jcmVhc2UgbnVtLWJ1ZmZlcnMsIHRoaXMgbWFrZXMgc3VyZSB0aGUgdGVzdCBlcnJvcnMgb3V0IGluc3RlYWQKCSAgb2YgdGltaW5nIG91dCB3aGVuIG5vIHR5cGVmaW5kIGZ1bmN0aW9ucyBhcmUgcHJlc2VudAoKMjAwNi0wNS0wMiAxMzowMTo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZml4IGRvY3MgZm9yIHdhdnBhcnNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcyBmb3Igd2F2cGFyc2UKCjIwMDYtMDUtMDEgMjE6Mzc6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoKMjAwNi0wNS0wMSAxMTo0NjozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IGFsc28gY2hlY2sgLmNjIGZpbGVzIGZvciBndGstZG9jIG1hcmt1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGFsc28gY2hlY2sgLmNjIGZpbGVzIGZvciBndGstZG9jIG1hcmt1cAoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAoaWQzdjJtdXhfc3VpdGUpLCAobWFpbik6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgbW92ZSB0YWdsaWItYmFzZWQgaWQzdjJtdXhlciB0byAtZ29vZC4gIEZpeGVzICMzMzYxMTAuCgoyMDA2LTA1LTAxIDExOjQ1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgIGFkZCBpY3lkZW11eCBpbnNwZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgaWN5ZGVtdXggaW5zcGVjdGlvbgoKMjAwNi0wNS0wMSAxMTo0MzozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBhZGQgeGltYWdlc3JjIGZvciB0cmFuc2xhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHhpbWFnZXNyYyBmb3IgdHJhbnNsYXRpb24KCjIwMDYtMDQtMzAgMTY6MTY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTMwIDE1OjMyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcwoKMjAwNi0wNC0zMCAxNDo1NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoKMjAwNi0wNC0yOSAxODo0NjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkgY2FzZSBvZiBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KQoJICBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNC0yOSAxODoxODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvIGl0cyBvd24gc3ViY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50bwoJICBpdHMgb3duIHN1YmNsYXNzLgoKMjAwNi0wNC0yOSAxNjoxNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAuLi4gYW5kIGZpeCBtdWx0aWNoYW5uZWwvV0FWRk9STUFURVggc3VwcG9ydCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICAuLi4gYW5kIGZpeCBtdWx0aWNoYW5uZWwvV0FWRk9STUFURVggc3VwcG9ydCBhZ2Fpbi4KCjIwMDYtMDQtMjggMjM6MDk6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBBZGQgcHVzaCAoc3RyZWFtaW5nKSBtb2RlIHRvIHdhdnBhcnNlIChmaXhlcyAjMzM3NjI1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9jdWVzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBBZGQgcHVzaCAoc3RyZWFtaW5nKSBtb2RlIHRvIHdhdnBhcnNlIChmaXhlcyAjMzM3NjI1KQoKMjAwNi0wNC0yOCAyMTo0MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBlbGVtZW50IHJlbmFtZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVsZW1lbnQgcmVuYW1lZAoKMjAwNi0wNC0yOCAxOToyMjo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgYWRkIHBsdWdpbiBkb2NzIGZvciB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBwbHVnaW4gZG9jcyBmb3IgeGltYWdlc3JjCgoyMDA2LTA0LTI4IDE5OjE1OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB4aW1hZ2VzcmMgaWNsZXMgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIGFkZCB4aW1hZ2VzcmMgaWNsZXMgdGVzdAoKMjAwNi0wNC0yOCAxODo1NzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIHhpbWFnZXNyYyBwbHVnLWluIHRvIGdvb2QgYWZ0ZXIgcmV2aWV3LiAgRml4ZXMgIzMzNjc1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBNb3ZlIHhpbWFnZXNyYyBwbHVnLWluIHRvIGdvb2QgYWZ0ZXIgcmV2aWV3LiAgRml4ZXMgIzMzNjc1Ni4KCjIwMDYtMDQtMjggMTY6NTE6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgYm9yZ2lmeSBuYW1pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgbmFtaW5nCgoyMDA2LTA0LTI4IDE2OjQ2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGRvYyB0d2Vha3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB0d2Vha3MKCjIwMDYtMDQtMjggMTY6MTU6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgoyMDA2LTA0LTI4IDE1OjMzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIHBlZGFudGljIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoKMjAwNi0wNC0yOCAxNDo1Nzo1NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lio6IEZpeCBldmVudCBoYW5kbGluZzogY2FjaGUgZXZlbnRzIHdoZW4gdHlwZWZpbmRpbmcgYW5kIGZvcndhcmQgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwgICAgICAgICAoZ3N0X2ljeWRlbXV4X2luaXQpLCAoZ3N0X2ljeWRlbXV4X3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfaWN5ZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncyksCgkgIChnc3RfaWN5ZGVtdXhfaGFuZGxlX2V2ZW50KSwgKGdzdF9pY3lkZW11eF9zZW5kX2NhY2hlZF9ldmVudHMpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpLCAoZ3N0X2ljeWRlbXV4X2FkZF9tZXRhKSwKCSAgKGdzdF9pY3lkZW11eF9jaGFpbiksIChnc3RfaWN5ZGVtdXhfc2VuZF90YWdfZXZlbnQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBGaXggZXZlbnQgaGFuZGxpbmc6IGNhY2hlIGV2ZW50cyB3aGVuIHR5cGVmaW5kaW5nIGFuZCBmb3J3YXJkIGxhdGVyLgoKMjAwNi0wNC0yOCAxNDo1NToyMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogUmVnaXN0ZXIgb3N4YXVkaW9zcmMgdG8gdGhlIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIG9zeGF1ZGlvc3JjIHRvIHRoZSBwbHVnaW4uCgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2RvX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfYmFzZV9pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2NyZWF0ZV9yaW5nYnVmZmVyKSwgKGdzdF9vc3hfYXVkaW9fc3JjX2lvX3Byb2MpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgUG9ydCBvZiBvc3hhdWRpb3NyYyB0byAwLjEwLgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgQWRkIG9zeGF1ZGlvc3JjCgoyMDA2LTA0LTI4IDEyOjAwOjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBjb21taXQgQ2hhbmdlbG9nIGZvciBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1pdCBDaGFuZ2Vsb2cgZm9yIHByZXZpb3VzIGNvbW1pdAoKMjAwNi0wNC0yOCAxMTo1NzozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIEZvcmdvdCB0byBjb21taXQsIHF1aWNrIGNvbW1pdCBiZTQgYXBwbGUgZGllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRm9yZ290IHRvIGNvbW1pdCwgcXVpY2sgY29tbWl0IGJlNCBhcHBsZSBkaWVzCgoyMDA2LTA0LTI4IDExOjM3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlY29nbmlzZSBhbmQgc2tpcCBhbnkgYnl0ZSBvcmRlciBtYXJrZXIgKEJPTSkgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChoYXNfdXRmMTZfYm9tKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBSZWNvZ25pc2UgYW5kIHNraXAgYW55IGJ5dGUgb3JkZXIgbWFya2VyIChCT00pIGluCgkgIFVURi0xNiBzdHJpbmdzLgoKMjAwNi0wNC0yNyAxNjowNTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBkb2NzIGZvciBib3RoIGF2aWRlbXV4IGFuZCBhdmltdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQWRkIGRvY3MgZm9yIGJvdGggYXZpZGVtdXggYW5kIGF2aW11eC4KCjIwMDYtMDQtMjcgMTQ6NTE6MDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpLzogUG9ydCBBVkkgbXV4ZXIgdG8gR1N0cmVhbWVyLTAuMTAgKCMzMzIwMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2dldF90eXBlKSwKCSAgKGdzdF9hdmlfbXV4X2Jhc2VfaW5pdCksIChnc3RfYXZpX211eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX211eF9jbGFzc19pbml0KSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3BhZF9saW5rKSwgKGdzdF9hdmlfbXV4X3BhZF91bmxpbmspLAoJICAoZ3N0X2F2aV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9hdmlfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX3RhZyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X3ZpZGVvX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdWRpb19oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX2luZGV4KSwgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfcmVzdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksCgkgIChnc3RfYXZpX211eF9maWxsX3F1ZXVlKSwgKGdzdF9hdmlfbXV4X3NlbmRfcGFkX2RhdGEpLAoJICAoZ3N0X2F2aV9tdXhfc3RyaXBfYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9sb29wKSwgKGdzdF9hdmlfbXV4X2NvbGxlY3RfcGFkcyksCgkgIChnc3RfYXZpX211eF9nZXRfcHJvcGVydHkpLCAoZ3N0X2F2aV9tdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgUG9ydCBBVkkgbXV4ZXIgdG8gR1N0cmVhbWVyLTAuMTAgKCMzMzIwMzEpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB1bml0IHRlc3QgZm9yIEFWSSBtdXhlci4KCjIwMDYtMDQtMjYgMjE6Mjk6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiByZXZlcnRlZCBwYXRjaCAjMzM3NjI1IGZvciB0aGUgcHJpY2Ugb2YgMSBob3VyIHNsZWVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgcmV2ZXJ0ZWQgcGF0Y2ggIzMzNzYyNSBmb3IgdGhlIHByaWNlIG9mIDEgaG91ciBzbGVlcAoKMjAwNi0wNC0yNiAyMDoxMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IGNvcnJlY3QgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBwdXNoIG1vZGUgKGZyb20gbXkgbGFzdCBjb21taXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2N1ZXMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgY29ycmVjdCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHB1c2ggbW9kZQoJICAoZnJvbSBteSBsYXN0IGNvbW1pdCkKCjIwMDYtMDQtMjYgMTc6Mzc6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogRml4IGNvbXBpbGUgcHJvYmxlbSBieSBkZWZpbmluZyBFU0RfTUFYX1dSSVRFX1NJWkUgaWYgaXQgaXMgbm90IGluIGVzZC5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICBGaXggY29tcGlsZSBwcm9ibGVtIGJ5IGRlZmluaW5nIEVTRF9NQVhfV1JJVEVfU0laRSBpZgoJICBpdCBpcyBub3QgaW4gZXNkLmgKCjIwMDYtMDQtMjYgMTc6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLio6IFJld3JpdGUgYXVwYXJzZSB0byBzdWNrIGEgbGl0dGxlIGJpdCBsZXNzOiBtYWtlIHNvdXJjZSBwYWQgZHluYW1pYywgc28gZGVjb2RlYmluL3BsYXliaW4gd28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVfcGFyc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfcmVzZXQpLCAoZ3N0X2F1X3BhcnNlX2FkZF9zcmNwYWQpLAoJICAoZ3N0X2F1X3BhcnNlX3JlbW92ZV9zcmNwYWQpLCAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksCgkgIChnc3RfYXVfcGFyc2VfY2hhaW4pLCAoZ3N0X2F1X3BhcnNlX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9hdV9wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X2F1X3BhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdV9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9hdV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F1X3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBSZXdyaXRlIGF1cGFyc2UgdG8gc3VjayBhIGxpdHRsZSBiaXQgbGVzczogbWFrZSBzb3VyY2UgcGFkCgkgIGR5bmFtaWMsIHNvIGRlY29kZWJpbi9wbGF5YmluIHdvcmsgd2l0aCBub24tcmF3IGZvcm1hdHMKCSAgbGlrZSBhbGF3L211bGF3OyBhZGQgcXVlcnkgZnVuY3Rpb24gZm9yIGR1cmF0aW9uL3Bvc2l0aW9uCgkgIHF1ZXJpZXM7IGNoZWNrIHdoZXRoZXIgd2UgaGF2ZSBlbm91Z2ggZGF0YSBiZWZvcmUgYXR0ZW1wdGluZwoJICB0byBwYXJzZSB0aGUgaGVhZGVyIChpbnN0ZWFkIG9mIGNyYXNoaW5nIHdoZW4gdGhhdCBpcyBub3QgdGhlCgkgIGNhc2UpOyB3b3JrIGFyb3VuZCBhdWRpb2NvbnZlcnQgc3Vja2luZyBieSBzd2FwcGluZyBlbmRpYW5uZXNzCgkgIHRvIHRoZSBuYXRpdmUgZW5kaWFubmVzcyBvdXJzZWx2ZXMgZm9yIGZsb2F0IGZvcm1hdHM7IHNlbmQKCSAgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50LiBGaXhlcyAjMTYxNzEyLgoKMjAwNi0wNC0yNiAxNjoyOTozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9vc3hhdWRpby86IFBvcnQgb2Ygb3N4YXVkaW9zaW5rIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAoZ3N0X29zeF9hdWRpb19lbGVtZW50X2dldF90eXBlKSwKCSAgKGdzdF9vc3hfYXVkaW9fZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfZG9faW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9vc3hfYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2lvX3Byb2MpLCAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBQb3J0IG9mIG9zeGF1ZGlvc2luayB0byAwLjEwCgoyMDA2LTA0LTI2IDA4OjU1OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IEFsd2F5cyB3cml0ZSBFU0RfQlVGX1NJWkUgYnl0ZXMgYW5kIHVzZSBFU0RfTUFYX1dSSVRFX1NJWkUgYXMgdGhlIHNpemUgb2YgdGhlIHJpbmdidWZmZXIuIFRoaXMgc2hvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksIChnc3RfZXNkc2lua19kZWxheSk6CgkgIEFsd2F5cyB3cml0ZSBFU0RfQlVGX1NJWkUgYnl0ZXMgYW5kIHVzZSBFU0RfTUFYX1dSSVRFX1NJWkUgYXMKCSAgdGhlIHNpemUgb2YgdGhlIHJpbmdidWZmZXIuIFRoaXMgc2hvdWxkIGZpeCBoYW5ncyB3aXRoIG9sZGVyCgkgIGVzZCBzb3VuZCBzZXJ2ZXJzLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTI1IDIxOjM5OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgIChnc3RfdmlkZW90ZW1wbGF0ZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjUgMTc6NTc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IFNvdXJjZSBwYWQgaGFzIGZpeGVkIGNhcHMuIElmIHdlIGRvbid0IHNldCB0aGlzLCBiYWQgdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSB3aW5kb3cgaXMgcmVzaXplZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgU291cmNlIHBhZCBoYXMgZml4ZWQgY2Fwcy4gSWYgd2UgZG9uJ3Qgc2V0IHRoaXMsIGJhZAoJICB0aGluZ3MgaGFwcGVuIHdoZW4gdGhlIHdpbmRvdyBpcyByZXNpemVkLgoKMjAwNi0wNC0yNSAxNjozODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEhhbmRsZSBjYXNlIHdoZXJlIHRoZSBUcmFja1R5cGUgZWJtbCBjaHVuayBkb2VzIG5vdCBjb21lIGJlZm9yZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfYXVkaW9fY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X2NvbXBsZXhfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSB0aGUgVHJhY2tUeXBlIGVibWwgY2h1bmsgZG9lcyBub3QgY29tZSBiZWZvcmUgdGhlCgkgIFRyYWNrSW5mb0F1ZGlvIG9yIFRyYWNrSW5mb1ZpZGVvIGVibWwgY2h1bmsgKCMzMzk0NDYpLiBJZ25vcmUgUW9TCgkgIGV2ZW50cy4KCjIwMDYtMDQtMjUgMTY6MDk6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogSXQncyBjb2RlY19kYXRhLCBub3QgY29kZWNfaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgSXQncyBjb2RlY19kYXRhLCBub3QgY29kZWNfaW5mby4KCjIwMDYtMDQtMjUgMTE6NDU6MDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIGNvZGVjX2RhdGEgZm9yIFZmVyBjb21wYXRpYmlsaXR5IGNvZGVjIElEcyAoIzMzOTQ1MSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBjb2RlY19kYXRhIGZvciBWZlcgY29tcGF0aWJpbGl0eSBjb2RlYyBJRHMgKCMzMzk0NTEpCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIFNhbWUgaGVyZSwgaGFuZGxlIGNvZGVjX2RhdGEgYW5kIGFkZCBhZGRpdGlvbmFsIGNhcHMgd2UgY2FuIGhhbmRsZQoJICBub3cgdG8gdGhlIHBhZCB0ZW1wbGF0ZSAoaHVmZnl1diwgZHYgYW5kIGgyNjMgdmlkZW8pICgjMzM5NDUxKQoKMjAwNi0wNC0yNSAxMTowOToyNCArMDAwMCAgSm9zZWYgWmxvbWVrIDxqb3NlZi56bG9tZWtAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggdGltZXN0YW1waW5nIG9mIEItZnJhbWVzLCB1c2Ugc2lnbmVkIGludGVnZXJzLCBkbyBzb21lIHJvdW5kaW5nICgjMzM5Njc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlZiBabG9tZWsgIDxqb3NlZiBkb3QgemxvbWVrIGF0IGl0b25pcyBkb3QgdHY+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfYnVmZmVyX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBGaXggdGltZXN0YW1waW5nIG9mIEItZnJhbWVzLCB1c2Ugc2lnbmVkIGludGVnZXJzLCBkbwoJICBzb21lIHJvdW5kaW5nICgjMzM5Njc4KS4KCjIwMDYtMDQtMjQgMTg6MzA6NTUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICBqdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgoyMDA2LTA0LTIzIDE1OjU1OjMwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGEgYmFkIGNvbnZlcnNpb24gdXNpbmcgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZS4gZmFicyAoKGdkb3VibGUpIGRlbXV4LT5pbmRleFtlbnRyeV0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgRml4IGEgYmFkIGNvbnZlcnNpb24gdXNpbmcgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZS4KCSAgZmFicyAoKGdkb3VibGUpIGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSAtIChnZG91YmxlKSBzZWVrX3BvcykgY2FuIG5vdCBiZQoJICByZXBsYWNlZCBieSBmYWJzIChnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChkZW11eC0+aW5kZXhbZW50cnldLnRpbWUgLSBzZWVrX3BvcykpIGFzIHRoZQoJICBkaWZmZXJlbmNlIGNvdWxkIGJlIG5lZ2F0aXZlLiBmYWJzIChnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChkZW11eC0+aW5kZXhbZW50cnldLnRpbWUpIC0KCSAgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoc2Vla19wb3MpKSBpcyB0aGUgZ29vZCBzb2x1dGlvbi4gVGhhbmtzIHRvIFRpbSB3aG8gaGFzIHNlZW4gbXkKCSAgbWlzdGFrZS4KCjIwMDYtMDQtMjIgMTU6MzI6NDggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgaWN5ZGVtdXgKCjIwMDYtMDQtMjEgMTg6MDc6MTAgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFdoZW4gc3BsaXR0aW5nIGF1ZGlvIGNodW5rcywgdGhlIGJsb2NrIGFsaWdubWVudCBpcyBub3QgdGFrZW4gaW4gY29uc2lkZXJhdGlvbiwgc28gdGhlIHNtYWxsZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICBXaGVuIHNwbGl0dGluZyBhdWRpbyBjaHVua3MsIHRoZSBibG9jayBhbGlnbm1lbnQgaXMgbm90IHRha2VuIGluCgkgIGNvbnNpZGVyYXRpb24sIHNvIHRoZSBzbWFsbGVyIGNodW5rcyBjb3VsZCBiZSBvZiBzaXplIHdoaWNoIGlzCgkgIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBibG9jayBhbGlnbm1lbnQuIEZpeGVzICMzMzY5MDQKCjIwMDYtMDQtMjEgMTc6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogVXNlIHNjYWxlIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfY29udmVydCk6CgkgIFVzZSBzY2FsZSBmdW5jdGlvbnMKCjIwMDYtMDQtMjEgMTc6Mjc6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHYvZ3N0ZHYuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNC0yMSAxNzoxNToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBBZGQgJ2Zvcm1hdCcgcHJvcGVydHkgdG8gZm9yY2UgcXVlcnlpbmcgdG8gYSBwYXJ0aWN1bGFyIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2ZpbmFsaXplKSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfY2xhc3NfaW5pdCksIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2luaXQpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9kb19xdWVyeSksIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2dldF9wcm9wZXJ0eSk6CgkgIEFkZCAnZm9ybWF0JyBwcm9wZXJ0eSB0byBmb3JjZSBxdWVyeWluZyB0byBhIHBhcnRpY3VsYXIgZm9ybWF0LgoKMjAwNi0wNC0yMSAxNTo1MDoyOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2L2dzdGR2LmMgKHBsdWdpbl9pbml0KTogbGliZHYgaXMgYSBtYXJnaW5hbCBkZWNvZGVyLCBhdCBiZXN0LCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuIERyb3AgaXRzIHJhbmsgaW4gdGhhdCBjYXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTIxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3Rkdi5jIChwbHVnaW5faW5pdCk6IGxpYmR2IGlzIGEgbWFyZ2luYWwgZGVjb2RlciwgYXQKCSAgYmVzdCwgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLiBEcm9wIGl0cyByYW5rIGluIHRoYXQgY2FzZS4gT1RPSCBvbgoJICB4ODYgaXQncyBxdWl0ZSBmaW5lLiBTZWUgY2hhbmdlcyBmcm9tIHRvZGF5IGluIGdzdC1mZm1wZWcgYXMgd2VsbC4KCjIwMDYtMDQtMjEgMDk6Mjc6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBpY3lkZW11eCwgYW5kIHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pY3lkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2ljeWRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwgKGdzdF9pY3lkZW11eF9pbml0KSwKCSAgKGdzdF9pY3lkZW11eF9zaW5rX3NldGNhcHMpLCAoZ3N0X2ljeWRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2ljeWRlbXV4X3JlbW92ZV9zcmNwYWQpLAoJICAodW5pY29kaWZ5KSwgKGdzdF9pY3lkZW11eF91bmljb2RpZnkpLAoJICAoZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpLCAoZ3N0X2ljeWRlbXV4X2FkZF9tZXRhKSwKCSAgKGdzdF9pY3lkZW11eF9jaGFpbiksIChnc3RfaWN5ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9pY3lkZW11eF9zZW5kX3RhZ19ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKHR5cGVmaW5kX3N1Y2NlZWQpLAoJICAocGx1Z2luX2luaXQpLCAoaWN5ZGVtdXhfZm91bmRfcGFkKSwgKGNyZWF0ZV9pY3lkZW11eCksCgkgIChjbGVhbnVwX2ljeWRlbXV4KSwgKHB1c2hfZGF0YSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChpY3lkZW11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGljeWRlbXV4LCBhbmQgdGVzdHMuCgoyMDA2LTA0LTIwIDE3OjQ4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBQb3N0IFNFR01FTlRfRE9ORSBtZXNzYWdlIGluIFRJTUUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgIFBvc3QgU0VHTUVOVF9ET05FIG1lc3NhZ2UgaW4gVElNRSBmb3JtYXQuCgoyMDA2LTA0LTIwIDE3OjI5OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgoyMDA2LTA0LTIwIDE2OjMzOjU1ICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggaW5kZXggY3JlYXRpb24gd2hlbiB3ZSBoYXZlIHRvIHNjYW4gdGhlIGZpbGUgdG8gY3JlYXRlIGFuIGluZGV4LiBUaGVyZSBtYXkgYmUgb3RoZXIgdHlwZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicml6aW8gR2VubmFyaSAgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgRml4IGluZGV4IGNyZWF0aW9uIHdoZW4gd2UgaGF2ZSB0byBzY2FuIHRoZSBmaWxlIHRvIGNyZWF0ZQoJICBhbiBpbmRleC4gVGhlcmUgbWF5IGJlIG90aGVyIHR5cGVzIG9mIFJJRkYgJ0xJU1QnIGNodW5rcyB0aGFuCgkgICdtb3ZpJyBhbmQgd2UgbmVlZCB0byBza2lwIHRoZW0gcHJvcGVybHkgYXMgd2VsbCBvciB3ZSdsbCBlbmQgdXAKCSAgcmVhZGluZyBnYXJiYWdlICgjMzM2ODg5KS4gU29tZSBvdGhlciBjb3NtZXRpYyBjaGFuZ2VzLgoKMjAwNi0wNC0yMCAxNDoyMTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MgKGZpeGVzICMzMzgyOTApLiBBbHNvIGRlbW90ZSBzb21lIHJlY3VycmluZyBkZWJ1ZyBtZXNzYWdlIGZyb20gRC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcyAoZml4ZXMgIzMzODI5MCkuIEFsc28gZGVtb3RlCgkgIHNvbWUgcmVjdXJyaW5nIGRlYnVnIG1lc3NhZ2UgZnJvbSBERUJVRyB0byBMT0cgbGV2ZWwuCgoyMDA2LTA0LTIwIDEzOjIzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2V0IERJU0NPTlQgZmxhZyBvbiBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250aW51aXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFNldCBESVNDT05UIGZsYWcgb24gZmlyc3QgYnVmZmVyIGFmdGVyIGEgZGlzY29udGludWl0eS4KCSAgRml4IG5ld3NlZ21lbnQgZXZlbnRzIHNlbnQgd2hlbiBzZWVraW5nIGFuZCBob25vdXIgS0VZX1VOSVQKCSAgc2VlayBmbGFnLiBDcmVhdGUgcGFkIHdpdGggYm9ndXMgY2FwcyBpZiB3ZSBkb24ndCByZWNvZ25pc2UKCSAgdGhlIHN0cmVhbSBjb2RlYyBpZC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNi0wNC0yMCAxMTowMDoxNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgZW5kIG9mIHNlZ21lbnQgcHJvcGVybHkgd2hlbiBzZXQ7IGRvbid0IGRlYWQtbG9jayB3aGVuIHBvc3Rpbmcgc3RhcnQgb2Ygc2VnbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEhhbmRsZSBlbmQgb2Ygc2VnbWVudCBwcm9wZXJseSB3aGVuIHNldDsgZG9uJ3QgZGVhZC1sb2NrIHdoZW4KCSAgcG9zdGluZyBzdGFydCBvZiBzZWdtZW50IG1lc3NhZ2Ugd2hlbiBkb2luZyBhIHNlZ21lbnQgc2Vlay4KCSAgRml4ZXMgIzMzODgxMC4KCjIwMDYtMDQtMjAgMDk6NDg6MDUgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBBZGQgcXRkcncgbWltZSB0eXBlLgoJICBGaXhlcyAjMzM5MDQxCgoyMDA2LTA0LTIwIDA5OjExOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IE1ha2UgbXBlZzIgYWFjIGF1ZGlvIHdvcms6IGNyZWF0ZSBhcnRpZmljaWFsIHByaXZhdGUgY29kZWMgZGF0YSBjaHVuayB3aGljaCBmYWFkMiBzZWVtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgTWFrZSBtcGVnMiBhYWMgYXVkaW8gd29yazogY3JlYXRlIGFydGlmaWNpYWwgcHJpdmF0ZSBjb2RlYyBkYXRhCgkgIGNodW5rIHdoaWNoIGZhYWQyIHNlZW1zIHRvIHJlcXVpcmUsIGp1c3QgYXMgd2UgZG8gZm9yIG1wZWc0IGFhYy4KCSAgQWxzbyBjYWxsIGdzdF9yaWZmX2luaXQoKS4gUGFydGlhbGx5IGZpeGVzICMzMzg3NjcuCgoyMDA2LTA0LTE5IDE1OjE2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogU2V0IGNhcHMgb24gZmlyc3Qgb3V0Z29pbmcgYnVmZmVyLCBzbyB0aGF0IGl0IGRvZXNuJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5IHdpdGggYSBub24tbmVnb3RpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdmVuY19pbml0KSwKCSAgKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLCAoZ3N0X3dhdmVuY19wdXNoX2hlYWRlciksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnZXRfaWRfZnJvbV9uYW1lKSwgKGdzdF93YXZlbmNfZXZlbnQpLAoJICAoZ3N0X3dhdmVuY19jaGFpbiksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgU2V0IGNhcHMgb24gZmlyc3Qgb3V0Z29pbmcgYnVmZmVyLCBzbyB0aGF0IGl0IGRvZXNuJ3QgZXJyb3Igb3V0CgkgIGltbWVkaWF0ZWx5IHdpdGggYSBub24tbmVnb3RpYXRlZCBlcnJvciAoIzMzODcxNikuIFJld3JpdGUgYW5kCgkgIGNsZWFuIHVwIGEgYml0OyBmaXggc2V0Y2FwcyBmdW5jdGlvbiB0byBwYXJzZSB0aGluZ3MgcHJvcGVybHk7CgkgIGZpeCBzaW5rIGNhcHMgKDhiaXQgYXVkaW8gaXMgdW5zaWduZWQgYW5kIGRvZXNuJ3QgaGF2ZSBkZXB0aCk7CgkgIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3M7IHJlbW92ZSB1bnVzZWQgcHJvcGVydGllcyBzdHVmZi4KCjIwMDYtMDQtMTkgMDk6Mjc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgRml4ZXMgIzMzODkzNS4KCjIwMDYtMDQtMTggMTg6MTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogTGVhdmUgSlBFRyBkZWNvZGluZyB0byBvdXIganBlZ2RlYyBwbHVnaW4uIGdka3BpeGJ1ZmRlYyBjYW5ub3QgaGFuZGxlIE1KUEVHIHN0cmVhbXMgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIExlYXZlIEpQRUcgZGVjb2RpbmcgdG8gb3VyIGpwZWdkZWMgcGx1Z2luLiBnZGtwaXhidWZkZWMgY2Fubm90CgkgIGhhbmRsZSBNSlBFRyBzdHJlYW1zIGFuZCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBmb3IgdGhvc2UgaWYgdGhlCgkgIHVzZXIgZG9lc24ndCBoYXZlIGpwZWdkZWMgaW5zdGFsbGVkIChyZXN1bHRpbmcgaW4gYSBjcnlwdGljIGVycm9yCgkgIG1lc3NhZ2UgYWJvdXQgaHVmZm1hbiB0YWJsZXMpLiBCZXR0ZXIgdG8gZGlzYWJsZSBKUEVHIGRlY29kaW5nIGhlcmUKCSAgYW5kIGxldCB0aGUgdXNlciBmaWd1cmUgb3V0IHRoYXQgc2hlIG5lZWRzIHRvIGluc3RhbGwganBlZ2RlYy4KCjIwMDYtMDQtMTggMTg6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuKjogTWFrZSB3b3JrIHdpdGggcGFja2V0aXNlZC9mcmFtZWQgaW5wdXQgKGUuZy4gcG5nLWluLXF1aWNrdGltZSkuIFVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfZmx1c2gpLCAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBNYWtlIHdvcmsgd2l0aCBwYWNrZXRpc2VkL2ZyYW1lZCBpbnB1dCAoZS5nLiBwbmctaW4tcXVpY2t0aW1lKS4gVXNlCgkgIEdTVF9FTEVNRU5UX0VSUk9SIHdoZW4gd2UgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLiBBZGQgc29tZQoJICBHU1RfREVCVUdfRlVOQ1BUUiBoZXJlIGFuZCB0aGVyZS4gVXNlIEdTVF9MT0cgZm9yIHJlY3VycmluZwoJICBkZWJ1ZyBtZXNzYWdlcy4gRml4IGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDQtMTggMTc6Mjk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogTm8gbmVlZCB0byBzcGVjaWFsLWNhc2UgZm9yIEdkay0yLjAgYW55IGxvbmdlciwgd2UgcmVxdWlyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2dldF9jYXBzbGlzdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zZXRfcHJvcGVydHkpLCAoZ3N0X2dka19waXhidWZfZ2V0X3Byb3BlcnR5KToKCSAgTm8gbmVlZCB0byBzcGVjaWFsLWNhc2UgZm9yIEdkay0yLjAgYW55IGxvbmdlciwgd2UgcmVxdWlyZQoJICBHZGsgMi4yIG9yIG5ld2VyOyBtaW5vciBjbGVhbi11cHMuCgoyMDA2LTA0LTE4IDE3OjE3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmV3cml0ZSBhIGJpdDogdXNlIEdzdEJhc2VTaW5rOjpzdGFydCBhbmQgc3RvcCBpbnN0ZWFkIG9mIGEgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9iYXNlX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpLCAoZ3N0X3Nob3V0MnNlbmRfc3RhcnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY29ubmVjdCksIChnc3Rfc2hvdXQyc2VuZF9zdG9wKSwKCSAgKGdzdF9zaG91dDJzZW5kX3JlbmRlciksIChnc3Rfc2hvdXQyc2VuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zaG91dDJzZW5kX3NldGNhcHMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFJld3JpdGUgYSBiaXQ6IHVzZSBHc3RCYXNlU2luazo6c3RhcnQgYW5kIHN0b3AgaW5zdGVhZCBvZiBhIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbjsgdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZXBvcnRpbmcsIG5vdAoJICBnX2Vycm9yKCkgb3IgR1NUX0VSUk9SKCk7IGRvbid0IHVucmVmIGNhcHMgaW4gc2V0Y2FwcyBmdW5jdGlvbiwKCSAgd2lsbCBjYXVzZSBjcmFzaGVzIG9yIGFzc2VydGlvbiBmYWlsdXJlczsgcmVtb3ZlICh1bnVzZWQpICJzeW5jIgoJICBwcm9wZXJ0eSwgYmFzZXNpbmsgYWxyZWFkeSBoYXMgc3VjaCBhIHByb3BlcnR5OyBtaXNjLiBvdGhlcgoJICBtaW5vciBmaXhlcyBhbmQgY2xlYW51cHMuCgoyMDA2LTA0LTE4IDE0OjE1OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIHRyYW5zbGF0YWJsZSBlcnJvciBtZXNzYWdlIGZvciB3aGVuIHdlIGNhbm5vdCBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIsIGFzICJDYW5ub3Qgb3BlbiByZXNvdXJjZSBmb3Igd3JpdGluZyIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19wcmVwYXJlKToKCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgdHJhbnNsYXRhYmxlIGVycm9yIG1lc3NhZ2UgZm9yIHdoZW4gd2UgY2Fubm90CgkgIGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciwgYXMgIkNhbm5vdCBvcGVuIHJlc291cmNlCgkgIGZvciB3cml0aW5nIiBpc24ndCByZWFsbHkgYW4gYWNjZXB0YWJsZSBtZXNzYWdlIHRvIHNob3cKCSAgdG8gdGhlIHVzZXIgaW4gdGhpcyBjYXNlLgoKMjAwNi0wNC0xOCAxMzozMjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0LWkxOG4tcGx1Z2luLmg6IFJlbW92ZSBib2d1cyBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgUmVtb3ZlIGJvZ3VzIGZpbGUgdGhhdCBkb2Vzbid0IGJlbG9uZyBoZXJlLgoKMjAwNi0wNC0xNyAxOTo1NzoxMCArMDAwMCAgUGhpbGlwcGUgVmFsZW1ib2lzIDxsZXBoaWxvdXNvcGhlQHVzZXJzLnNmLm5ldD4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IEhhbmRsZSB0YWdzIGJlaW5nIHJlY2VpdmVkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGlzIGVzdGFibGlzaGVkIHByb3Blcmx5IChzZWUgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBoaWxpcHBlIFZhbGVtYm9pcwoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9ldmVudCksCgkgIChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLCAoZ3N0X3Nob3V0MnNlbmRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBIYW5kbGUgdGFncyBiZWluZyByZWNlaXZlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gdG8KCSAgdGhlIHNlcnZlciBpcyBlc3RhYmxpc2hlZCBwcm9wZXJseSAoc2VlICMzMzg2MzYpLgoKMjAwNi0wNC0xNyAxOTo0MzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCjIwMDYtMDQtMTcgMTk6MTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiBEb24ndCBjcmFzaCBpbiBjYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZmFpbHM6IGRvbid0IHNldCBwb2ludGVyIHRvIE5VTEwgYnkgYXNzaWduaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3JlbmRlcik6CgkgIERvbid0IGNyYXNoIGluIGNhc2UgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBmYWlsczoKCSAgZG9uJ3Qgc2V0IHBvaW50ZXIgdG8gTlVMTCBieSBhc3NpZ25pbmcgRkFMU0U7IGVycm9yIG91dAoJICBwcm9wZXJseSBieSB1c2luZyBHU1RfRUxFTUVOVF9FUlJPUiBhbmQgcmV0dXJuaW5nCgkgIEdTVF9GTE9XX0VSUk9SIChmaXhlcyAjMzM4NjM2KS4gTGFzdGx5LCBmcmVlIGNvbm5lY3Rpb24KCSAgYmVmb3JlIHJlc2V0dGluZyB0aGUgcG9pbnRlci4KCjIwMDYtMDQtMTcgMTA6MDE6NTEgKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKEZpeGVzICMzMzg3MTMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIFJlY29nbmlzZSBUQ08gKEdlbnJlKSB0YWdzIGluIElEM3YyLjIuIFBhdGNoIGJ5IEFsZXggTGFuY2FzdGVyCgkgIChGaXhlcyAjMzM4NzEzKQoKMjAwNi0wNC0xMyAyMTo0NTo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgoyMDA2LTA0LTEzIDA5OjE1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICByZXZlcnRpbmcgcnRwIHBhdGNoZXMgdG8gZml4IGZyZWV6ZSBicmVhayBvbiAtYmFzZSBhcyBleHBsYWluZWQgb24gdGhlIGxpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmVydGluZyBydHAgcGF0Y2hlcyB0byBmaXggZnJlZXplIGJyZWFrIG9uIC1iYXNlIGFzIGV4cGxhaW5lZCBvbiB0aGUgbGlzdAoKMjAwNi0wNC0xMyAwOTowMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHAvOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNi0wNC0xMyAwMzo0Mjo1MSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMTIgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgQWRkZWQgbmV3IGlMQkMgcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBQYXlsb2FkZXIgdXNlcyBuZXcgYXVkaW8gcGF5bG9hZCBiYXNlCgkgIGNsYXNzLgoKMjAwNi0wNC0xMiAyMTo1NzowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgoyMDA2LTA0LTEyIDA5OjQyOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2dldF9jYXBzbGlzdCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBSR0JBIGFzIGEgcG9zc2libGUgb3V0cHV0IGZvcm1hdC4KCSAgQ29ycmVjdGx5IGZyZWUgdGhlIHN1cHBvcnRlZCBtaW1ldHlwZXMuCgkgIGRlcHJlY2F0ZSBzaWxlbnQgYXJnLCBpdCdzIG5vdCB1c2VkLgoJICBSZXR1cm4gcmVzdWx0IGZyb20gX2FsbG9jX2J1ZmZlciB0byBwZWVyLgoKMjAwNi0wNC0xMSAxODowMzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IERvbid0IGxlYWsgbWVtb3J5IGFsbG9jYXRlZCBieSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBieSBvdmVyd3JpdGluZyBHU1RfQlVGRkVSX01BTExPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBsZWFrIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgYnkKCSAgb3ZlcndyaXRpbmcgR1NUX0JVRkZFUl9NQUxMT0NEQVRBLgoKMjAwNi0wNC0xMSAxNToyNzozMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBmaXggdmVyc2lvbiBudW1iZXIgbWFjcm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2ZXJzaW9uIG51bWJlciBtYWNybwoKMjAwNi0wNC0xMSAwOTozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IEhhbmRsZSBtb3JlIHRoYW4gb25lIGZyYW1lIGlmIHRoZSBjb250ZW50IGlzIGZyYW1lZCwgbGlrZSB3aXRoIHBuZy1pbi1xdWlja3RpbWUgKCMzMzE5MTcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwgKHVzZXJfZW5kX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX2NoYWluKSwKCSAgKGdzdF9wbmdkZWNfc2lua19zZXRjYXBzKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19jbGVhciksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgSGFuZGxlIG1vcmUgdGhhbiBvbmUgZnJhbWUgaWYgdGhlIGNvbnRlbnQgaXMgZnJhbWVkLAoJICBsaWtlIHdpdGggcG5nLWluLXF1aWNrdGltZSAoIzMzMTkxNykuCgoyMDA2LTA0LTEwIDE5OjU1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy9vc3MvOiAtIHRoZSB1c2VyLXZpc2libGUgZXJyb3Igc3RyaW5ncyB3ZXJlIGluIHRoZSB3cm9uZyBjYXRlZ29yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvY29tbW9uLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfdW5wcmVwYXJlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSksCgkgIChnc3Rfb3NzX3NyY191bnByZXBhcmUpOgoJICAtIHRoZSB1c2VyLXZpc2libGUgZXJyb3Igc3RyaW5ncyB3ZXJlIGluIHRoZSB3cm9uZyBjYXRlZ29yeQoJICAtIGFuZCB0aGUgbWVzc2FnZXMgd2VyZSBub3QgbWFya2VkIGZvciB0cmFuc2xhdGlvbgoJICAtIHdoaWNoIGlzIGFjdHVhbGx5IGEgZ29vZCB0aGluZywgYmVjYXVzZSB0aGV5IHdlcmUgZXhhY3RseQoJICB0aGUga2luZCBvZiBtZXNzYWdlIHlvdSB3b3VsZCBuZXZlciB3YW50IGFueW9uZSB0byBzZWUKCSAgLSB0aGUgbWFjcm9zIHdlcmUgdXNpbmcgdmFyaWFibGVzIHRoYXQgZGlkbid0IGV4aXN0IGluIHRoZSBtYWNybwoJICBhcmd1bWVudHMKCSAgLSBhbmQgdGhleSB3ZXJlIG9idmlvdXNseSBjb3BpZWQgZnJvbSBlYWNoIG90aGVyIGFuZCB0aGVuIG1vZGlmaWVkCgkgIC0gc28gYSBjb21tb24gaGVhZGVyIG1ha2VzIHNlbnNlCgoyMDA2LTA0LTEwIDE3OjE2OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgoyMDA2LTA0LTEwIDE2OjA5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBEb24ndCB0cnkgdG8gbW9kaWZ5IHJlYWQtb25seSBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBEb24ndCB0cnkgdG8gbW9kaWZ5IHJlYWQtb25seSBkYXRhLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBGaXggY29tbWVudCAod29uJ3QgY3Jhc2ggYW55IGxvbmdlciBub3cpLgoKMjAwNi0wNC0xMCAxNTo0ODo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiBVc2UgY29waWVzIG9mIGhlYWRlciBidWZmZXJzIGZvciBjYXBzIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmNvdW50aW5nIHByb2JsZW1zIChhcyBpbiB0aGVvcmFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBVc2UgY29waWVzIG9mIGhlYWRlciBidWZmZXJzIGZvciBjYXBzIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmNvdW50aW5nCgkgIHByb2JsZW1zIChhcyBpbiB0aGVvcmFkZWMsIHZvcmJpc2RlYykuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYSB0eXBvIGluIHRlc3QgdGhhdCBtZWFudCBpdCB3YXMgdGVzdGluZyB0aGUgd3JvbmcgdGhpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoY2hlY2tfaGVhZGVycyk6CgkgIEZpeCByZWZjb3VudCBjaGVja3Mgbm93IHRoYXQgd2UgdXNlIGJ1ZmZlci1jb3BpZXMgZm9yIGNhcHMuCgoyMDA2LTA0LTEwIDE1OjQzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyB3aXRoIEFOWSBjYXBzIGZvciBhdWRpbyBhbmQgdmlkZW8gc291cmNlIHBhZHMgYW5kIGdldCByaWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgVXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHdpdGggQU5ZIGNhcHMgZm9yIGF1ZGlvIGFuZCB2aWRlbwoJICBzb3VyY2UgcGFkcyBhbmQgZ2V0IHJpZCBvZiBhIGxvdCBvZiB1bm5lY2Vzc2FyeSAoYW5kIHBhcnRpYWxseQoJICBicm9rZW4pIGNvZGUgZm9yIHRoZSB0ZW1wbGF0ZSBjYXBzLiBDbGVhbiB1cCBjYXBzIGZpbmRpbmcKCSAgZnVuY3Rpb25zLiBGaXhlcyBwbGF5YmFjayBvZiBhdWRpbyBmaWxlcy9zdHJlYW1zIHRoYXQgZG8gbm90CgkgIGNvbnRhaW4gdGhlIHNhbXBsZSByYXRlIGFuZC9vciBudW1iZXIgb2YgY2hhbm5lbHMgaW4gdGhlIGF1ZGlvCgkgIGNvbnRleHQgKGhhcHBlbnMgYSBsb3Qgd2l0aCB2b3JiaXMvbXAzIC5ta2EgZmlsZXMgaXQgc2VlbXMpLgoJICBGaXhlcyAjMzM3MTgzLgoJICBBbHNvIGFkZCBteXNlbGYgdG8gY29weXJpZ2h0IGhvbGRlcnMuCgoyMDA2LTA0LTEwIDE1OjI5OjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogVXNlIGdfbGlzdF9kZWxldGVfbGluayAoKSBpbnN0ZWFkIG9mIGdfbGlzdF9yZW1vdmVfbGluayAoKSBzbyB0aGF0IHdlIGZyZWUgdGhlIGxpbmsgYXMgd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF90cmFja19saXN0X2RlbF9jbGlwKToKCSAgVXNlIGdfbGlzdF9kZWxldGVfbGluayAoKSBpbnN0ZWFkIG9mIGdfbGlzdF9yZW1vdmVfbGluayAoKSBzbyB0aGF0CgkgIHdlIGZyZWUgdGhlIGxpbmsgYXMgd2VsbCBhcyB0aGUgY29udGFpbmVkIGRhdGEuCgoyMDA2LTA0LTEwIDE0OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgoyMDA2LTA0LTEwIDEwOjEwOjU1ICswMDAwICBSeWFuIExvcnRpZSAoZGVzcnQpIDxkZXNydEBkZXN0ci5jYT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHNvbWUgY3Jhc2hlcnMgd2l0aCBlbXB0eSBjaHVua3MuIChGaXhlcyAjMzM3NzQ5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJ5YW4gTG9ydGllIChkZXNydCkgPGRlc3J0IGF0IGRlc3RyIGRvdCBjYT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICBGaXggc29tZSBjcmFzaGVycyB3aXRoIGVtcHR5IGNodW5rcy4gKEZpeGVzICMzMzc3NDkpCgoyMDA2LTA0LTEwIDA4OjMxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCjIwMDYtMDQtMDkgMTg6MzA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkb25lIHNvbWUgY2xlYW5zIGluIHNvdXJjZXMKCSAgKiB3aW4zMi92czY6CgkgIGFkZCBwcm9qZWN0IGZpbGVzIGZvciBuZW9uLCBxdGRlbXV4CgoyMDA2LTA0LTA5IDE3OjMxOjM3ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogdXNlIEdfR0lOVDY0X0NPTlNUQU5UIGZvciBJTlQ2NCBjb25zdGFudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgdXNlIEdfR0lOVDY0X0NPTlNUQU5UIGZvciBJTlQ2NCBjb25zdGFudHMKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRlZmluZSByaW50IGZvciBXSU4zMiAjZGVmaW5lIHJpbnQoeCkgKGZsb29yKCh4KSswLjUpKQoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICBhZGQgbWlzc2luZyBsaWJyYXJpZXMgZm9yIHRoZSBsaW5rIGFuZCByZW1vdmUgYXZpbXV4LmMgZnJvbQoJICB0aGUgcHJvamVjdCBhcyBpdCBpc24ndCBwb3J0ZWQgdG8gMC4xMCB5ZXQKCjIwMDYtMDQtMDkgMTQ6MDA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIHdlIGFjdHVhbGx5IGRpZCB0aGUgcmlnaHQgdGhpbmcgaGVyZSAoYWxzbywgR19HVUlOVDY0X0NPTlNUQU5UIG9ubHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgd2UgYWN0dWFsbHkgZGlkIHRoZSByaWdodCB0aGluZwoJICBoZXJlIChhbHNvLCBHX0dVSU5UNjRfQ09OU1RBTlQgb25seSBleGlzdHMgc2luY2UgR0xpYi0yLjEwKS4KCjIwMDYtMDQtMDkgMTM6NTI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IENhbid0IGp1c3QgcmVwbGFjZSAxTEwgd2l0aCAxTCBoZXJlIGp1c3QgYmVjYXVzZSBNU1ZDIGRvZXNuJ3Qgc3VwcG9ydCBpdCwgYXMgaXQgbWlnaHQgbGVhZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgQ2FuJ3QganVzdCByZXBsYWNlIDFMTCB3aXRoIDFMIGhlcmUganVzdCBiZWNhdXNlIE1TVkMgZG9lc24ndAoJICBzdXBwb3J0IGl0LCBhcyBpdCBtaWdodCBsZWFkIHRvIGluY29ycmVjdCByZXN1bHRzIHdoZW4gZG9pbmcgdGhlCgkgIGJpdHNoaWZ0aW5nIGhlcmUuIFVzaW5nIEdMaWIncyBHX0dVSU5UNjRfQ09OU1RBTlQoKSBtYWNybyB0bwoJICBmb3JjZSBhIDY0LWJpdCBjb25zdGFudCBpbiBhIHdheSB0aGF0IGFsbCBjb21waWxlcnMgYXJlIGhhcHB5IHdpdGguCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDIxOjIxOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOiAoZ3N0X3J0cF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiAoZ3N0X3J0cF9oMjYzX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzogKGdzdF9vc3NkbWFidWZmZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAoZ3N0X29zeGF1ZGlvZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiAoZ3N0X29zeGF1ZGlvc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA2OjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjQxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyNTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwKCSAgKHF0ZGVtdXhfZHVtcF9zdGNvKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIEZpeCB0aW1lc3RhbXBzIGZvciBBTVIgYW5kIElNQTQuICBGaXhlcyAoIzMzNzQzNikuCgkgIENyZWF0ZSBhIGR1bW15IHNlZ21lbnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGVkaXQgbGlzdC4KCjIwMDYtMDQtMDggMTM6MDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IERvbid0IHRyeSB0byBzZWVrIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICh3b3VsZCBvY2Nhc2lvbmFsbHkgZGlzcGxheSBlcnJvciBkaWFsb2dzIGluIHRvdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIHNlZWsgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKHdvdWxkCgkgIG9jY2FzaW9uYWxseSBkaXNwbGF5IGVycm9yIGRpYWxvZ3MgaW4gdG90ZW0gd2hlbiBzZWVraW5nCgkgIHRvIHRoZSBlbmQpICgjMzM1ODY5KS4gV2lsbCBzdGlsbCB0aHJvdyBhbiBlcnJvciB0aG91Z2gKCSAgaWYgdGhlIGZpbGUgaXMgdHJ1bmNhdGVkIGFuZCB0aGUgdG90YWxfc2FtcGxlcyB2YWx1ZSBpbgoJICB0aGUgc3RyZWFtIGhlYWRlciBpcyB3cm9uZy4KCjIwMDYtMDQtMDcgMTg6MTU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IElmIHRoZSBzdHJlYW0gaGVhZGVyIGRvZXNuJ3QgY29udGFpbiB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMsIHNlYXJjaCBmb3IgdGhlIGxhc3QgZmxhYyBmcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfY2FsY3VsYXRlX2NyYzgpLAoJICAoZ3N0X2ZsYWNfZGVjX3NjYW5fZ290X2ZyYW1lKSwgKGdzdF9mbGFjX2RlY19zY2FuX2Zvcl9sYXN0X2Jsb2NrKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBJZiB0aGUgc3RyZWFtIGhlYWRlciBkb2Vzbid0IGNvbnRhaW4gdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzLAoJICBzZWFyY2ggZm9yIHRoZSBsYXN0IGZsYWMgZnJhbWUgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgY2FsY3VsYXRlCgkgIHRoZSB0b3RhbCBkdXJhdGlvbiBmcm9tIHRoYXQgZnJhbWUncyBvZmZzZXQgKGZpeGVzICMzMzc2MDkpLgoKMjAwNi0wNC0wNyAxNTo1Mzo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0byAyNWZwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0bwoJICAyNWZwcwoKMjAwNi0wNC0wNyAxNTo0NzoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IChtYWluKToKCSAgQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgoyMDA2LTA0LTA3IDE1OjI3OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoY29tcG9zaXRlX3BpeGVsKSwgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTA3IDEwOjQ4OjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCB1bnJlZiB0aGUgR3N0UGFkVGVtcGxhdGUgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIERvbid0IHVucmVmIHRoZSBHc3RQYWRUZW1wbGF0ZSByZXR1cm5lZCBieQoJICBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlKCkuCgoyMDA2LTA0LTA2IDE5OjE2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfZmluZF9pbmRleCksCgkgIChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBBdm9pZCBvdmVyZmxvd3MgaW4gcHJvbG9ndWUgaW1hZ2UgZGV0ZWN0aW9uIGNvZGUuCgkgIEF2b2lkIHJvdW5kb2ZmIGVycm9ycyBpbiB0aW1lc3RhbXAgY2FsY3VsYXRpb25zLgoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wNiAwOToxNDozMCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay4qOiBVc2Ugc3BlYy0+c2Vnc2l6ZSBhbmQgc3BlYy0+c2VndG90YWwgaW4gdGhlIHByZXBhcmUgZnVuY3Rpb24gdG8gaW5pdGlhbGlzZSB0aGUgcmluZyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBVc2Ugc3BlYy0+c2Vnc2l6ZSBhbmQgc3BlYy0+c2VndG90YWwgaW4gdGhlIHByZXBhcmUgZnVuY3Rpb24KCSAgdG8gaW5pdGlhbGlzZSB0aGUgcmluZyBidWZmZXIgaW5zdGVhZCBvZiB1c2luZyB0aGUgYnVmZmVyLXRpbWUKCSAgcHJvcGVydHkgKCMzMzc0MjEpLgoKMjAwNi0wNC0wNiAwODo1Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHdoaWNoIGlzIHVzZWQgYnkgc3BlZXhkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpCgkgIHdoaWNoIGlzIHVzZWQgYnkgc3BlZXhkZWMuCgoyMDA2LTA0LTA1IDE4OjI3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4LzogRml4IHNlZWtpbmcgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgKCMzMzcwMzMpOyBjbGVhbiB1cCBhbmQgcmVmYWN0b3IgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoZ3N0X3NwZWV4X2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleF9kZWNfcmVzZXQpLCAoZ3N0X3NwZWV4X2RlY19pbml0KSwgKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKHNwZWV4X2RlY19zaW5rX3F1ZXJ5KSwKCSAgKHNwZWV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoc3BlZXhfZGVjX3NyY19xdWVyeSksCgkgIChzcGVleF9kZWNfc3JjX2V2ZW50KSwgKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpLCAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwgKHNwZWV4X2RlY19jaGFpbiksCgkgIChnc3Rfc3BlZXhfZGVjX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlZXhfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChzcGVleF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgRml4IHNlZWtpbmcgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgKCMzMzcwMzMpOyBjbGVhbiB1cCBhbmQKCSAgcmVmYWN0b3IgYSBiaXQuCgoyMDA2LTA0LTA1IDEyOjQxOjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBkaXN0aW5ndWlzaCBiZXR3ZWVuIGRldmljZSBub3QgZm91bmQgYW5kIGNvdWxkIG5vdCBvcGVuIGZvciByZWFkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkaXN0aW5ndWlzaCBiZXR3ZWVuIGRldmljZSBub3QgZm91bmQgYW5kIGNvdWxkIG5vdCBvcGVuIGZvcgoJICByZWFkaW5nCgoyMDA2LTA0LTA1IDA4OjM2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApOgoJICBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMKCSAgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBBbHNvIHBlcmZvcm0gRU9TIHdoZW4gd2UgcnVuIHBhc3QgdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDYtMDQtMDQgMTE6MjA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE1hcmsgZGlzY29udGludWl0aWVzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIFBvc3QgYmV0dGVyIGVycm9ycyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBIYW5kbGUgRU9TIGFuZCBzZWdtZW50IGVuZCBwcm9wZXJseS4KCjIwMDYtMDQtMDQgMDg6MzE6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChwbHVnaW5faW5pdCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBJbXBsZW1lbnQgY29ycmVjdCBhY2N1cmF0ZSBhbmQga2V5ZnJhbWUgc2Vla2luZy4KCSAgVXNlIF9ERUJVR19PQkpFQ1Qgd2hlbiBwb3NzaWJsZS4KCjIwMDYtMDQtMDMgMTM6Mjk6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA0LTAzIDEzOjI4OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0CgoyMDA2LTA0LTAzIDA5OjAyOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBhIC5wYyBmaWxlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSBnb29kIHBsdWdpbnMgaW4gdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHBrZ2NvbmZpZy8uY3ZzaWdub3JlOgoJICAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgYWRkIGEgLnBjIGZpbGUgc28gb3RoZXIgbW9kdWxlcyBjYW4gdXNlIGdvb2QgcGx1Z2lucyBpbiB0ZXN0cwoKMjAwNi0wNC0wMSAxNjo1MDo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoKMjAwNi0wNC0wMSAxNTozMDo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGRpc2FibGUgdXNlIG9mIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzYWJsZSB1c2Ugb2YgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsgY29ycmVjdGx5CgoyMDA2LTA0LTAxIDE0OjAzOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGFkZGluZyBpbnNwZWN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgaW5zcGVjdCBmaWxlcwoKMjAwNi0wNC0wMSAxMDoxNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICA1IHNlY29uZCB0aW1lb3V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA1IHNlY29uZCB0aW1lb3V0CgoyMDA2LTA0LTAxIDEwOjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICByZW5hbWUgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIHRlc3QKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wNC0wMSAwOTo1Njo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGNsZWFuIHVwLCB1c2UgQVNfVkVSU0lPTiBhbmQgQVNfTkFOTwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGNsZWFuIHVwLCB1c2UgQVNfVkVSU0lPTiBhbmQgQVNfTkFOTwoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICB1c2UgUEFDS0FHRV9WRVJTSU9OIGRlZmluZQoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25iLnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICB1cGRhdGVkCgoyMDA2LTAzLTMxIDE3OjUyOjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6ICh0ZXJtaW5hdGVfcGxheWJhY2spLCAobWFpbik6CgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNjozMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNToyMTozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMvOiBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8geWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubwoJICB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCjIwMDYtMDMtMzAgMjM6NDY6NDIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICoqKiBlbXB0eSBsb2cgbWVzc2FnZSAqKioKCjIwMDYtMDMtMzAgMjM6Mzc6MTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dFxqcGVnXHNtb2tlY29kZWMuYzogdXNlIG9mIEdTVF9ERUJVRyBpbnN0ZWFkIG9mIERFQlVHKGEuLi4pIGZvciBXSU4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHRcanBlZ1xzbW9rZWNvZGVjLmM6CgkgIHVzZSBvZiBHU1RfREVCVUcgaW5zdGVhZCBvZiBERUJVRyhhLi4uKSBmb3IgV0lOMzIKCSAgKiBleHRcc3BlZXhcZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBtb3ZlIGZpcnN0IGluc3RydWN0aW9uIGFmdGVyIGFsbCB2YXJpYWJsZXMgZGVjbGFyYXRpb25zCgkgICogZ3N0XGFscGhhXGdzdGFscGhhLmM6CgkgICogZ3N0XGVmZmVjdHZcZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdFxzbXB0ZVxwYWludC5jOgoJICAqIGdzdFx2aWRlb2ZpbHRlclxnc3R2aWRlb2JhbGFuY2UuYzoKCSAgZGVmaW5lIE1fUEkgaWYgaXQncyBub3QgZGVmaW5lZCAoaXQncyBub3QgZGVmaW5lZCBvbiBXSU4zMikKCSAgKiBnc3RcY3V0dGVyXGdzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgICogZ3N0XGlkM2RlbXV4XGlkM3YyZnJhbWVzLmM6IChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pOgoJICAqIGdzdFxsZXZlbFxnc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9wcm9wZXJ0eSksIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3RcbWF0cm9za2FcbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3RcbWF0cm9za2FcbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3Rcd2F2cGFyc2VcZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIHVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICAqIGdzdFxnb29tXGZpbHRlcnMuYzogKHNldFBpeGVsUkdCXyk6CgkgIGZpeCBhIGRlYnVnIHdoaWNoIHdhcyB1c2luZyB1bmRlZmluZWQgdmFyaWFibGUKCSAgKiBnc3RcbGV2ZWxcZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3RcbWF0cm9za2FcZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICByZXBsYWNlIExMIHN1ZmZpeCB3aXRoIEwgc3VmZml4IChMTCBpc24ndCBzdXBwb3J0ZWQgYnkgTVNWQzYuMCkKCSAgKiB3aW4zMi92czY6CgkgIGFkZCB2czYgcHJvamVjdHMgZmlsZXMgZm9yIG1vc3Qgb2YgcGx1Z2lucy1nb29kCgoyMDA2LTAzLTMwIDE1OjM3OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgYmV0dGVyL3VuaWZpZWQgbG9uZyBkZXNjcmlwdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAoZ3N0X3ZpZGVvdGVtcGxhdGVfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpOgoJICBiZXR0ZXIvdW5pZmllZCBsb25nIGRlc2NyaXB0aW9ucwoJICBGaXhlZCAjMzM2NjAyCgkgIFNvbWUgY2xlYW51cHMgdG8gYXVwYXJzZSwgZG9uJ3Qgc2VuZCBtdWx0aXBsZSBuZXdzZWdtZW50cy4KCjIwMDYtMDMtMjkgMTY6MDY6NTAgKzAwMDAgIE1pY2hhZWwgRG9taW5pYyBLIDxtZGtAbWRrLm9yZy5wbD4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4Lio6IFNlZWsgaW4gUkVBRFkgcGF0Y2guIE9ubHkgd29ya3MgZm9yIHB1bGwgYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZyb20gYSBwYXRjaCBieTogTWljaGFlbCBEb21pbmljIEsuIDxtZGsgYXQgbWRrIGRvdCBvcmcgZG90IHBsPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3Jlc2V0KSwgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBTZWVrIGluIFJFQURZIHBhdGNoLiBPbmx5IHdvcmtzIGZvciBwdWxsIGJhc2VkIG1vZGUuCgkgIEZpeGVzICMzMjM4ODAKCjIwMDYtMDMtMjcgMTc6MDY6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgoyMDA2LTAzLTI3IDE0OjA5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IEZpeCB0d28gY3Jhc2hlcnM6IGRvbid0IHVucmVmIHRoZSBzYW1lIGNhcHMgdHdpY2UsIGFuZCBzZXQgcGl4YnVmIGxvYWRlciB0byBOVUxMIGFmdGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfZmx1c2gpLAoJICAoZ3N0X2dka19waXhidWZfZXZlbnQpOgoJICBGaXggdHdvIGNyYXNoZXJzOiBkb24ndCB1bnJlZiB0aGUgc2FtZSBjYXBzIHR3aWNlLCBhbmQKCSAgc2V0IHBpeGJ1ZiBsb2FkZXIgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0LgoKMjAwNi0wMy0yNyAxNDowMDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy4qOiBEb24ndCBsZWFrIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4ZW5jX2ZpbmFsaXplKSwgKGdzdF9zcGVleGVuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgRG9uJ3QgbGVhayBhZGFwdGVyLgoJICBBIHB1c2ggKmFsd2F5cyogdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIsIGV2ZW4gb24KCSAgZXJyb3JzLgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMDMtMjYgMTk6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi4qOiBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0byBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8KCSAgY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgY2FuJ3QKCSAgYWRqdXN0IG9mZnNldHMgeWV0IHdoZW4gd2UgZ2V0IGl0LCBhcyB3ZSBkb24ndAoJICBrbm93IHRoZSBzaXplIG9mIHRoZSB0YWcgeWV0IGZvciBzdXJlIGF0IHRoYXQgcG9pbnQuCgkgIEFsc28gZG8gc29tZSBtaW5vciBjbGVhbmluZyB1cCBoZXJlIGFuZCB0aGVyZSBhbmQgYWRkCgkgIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDMtMjYgMTI6MjQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogQ3JlYXRlIHNvdXJjZSBwYWQgd2l0aG91dCBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQ3JlYXRlIHNvdXJjZSBwYWQgd2l0aG91dCBsZWFraW5nLgoKMjAwNi0wMy0yNSAyMTo1NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91ciBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIKCSAgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWlkMyBjYXBzOyBhbHNvLAoJICBkb24ndCB1c2UgYWxyZWFkeS1mcmVlZCBzdHJpbmdzIGluIGRlYnVnIG1lc3NhZ2VzOwoJICBmaW5hbGx5LCBhZGp1c3QgYnVmZmVyIG9mZnNldHMgb24gYnVmZmVycyBzZW50IG91dC4KCjIwMDYtMDMtMjUgMTM6MDI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsCgkgIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmaXhlZCBwcm9wZXJseSAoYW5kIG1ha2UKCSAgYnVpbGRib3RzIGhhcHB5KS4KCjIwMDYtMDMtMjUgMDU6MzE6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoKMjAwNi0wMy0yNCAxOTo0MTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjLzogU3BpZmlmeSBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTcGlmaWZ5IGEgYml0LgoJICBGaXggZGVhZGx5IGxvY2sgb3JkZXIgZXJyb3IgaW4gc2Vla2luZyBjb2RlLCBTVFJFQU1fTE9DSwoJICBjYW5ub3QgYmUgdGFrZW4gd2l0aGluIExPQ0sgYW5kIHRoZSBzdHJlYW1pbmcgdmFyaWFibGVzIGFyZQoJICBwcm90ZWN0ZWQgd2l0aCB0aGUgU1RSRUFNX0xPQ0sgYW55d2F5LgoKMjAwNi0wMy0yNCAxODo1NjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogdGhpcyBwYXRjaCBjb21iaW5lcyB0aGUgZ2xvYmFsIGluaXRfZnJhbWVzIHdpdGggdGhlIHN0cmVhbSBpbml0X2ZyYW1lcy4gUmF0aW9uYWxlIGJlaW5nIHRoYXQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICB0aGlzIHBhdGNoIGNvbWJpbmVzIHRoZSBnbG9iYWwgaW5pdF9mcmFtZXMgd2l0aCB0aGUgc3RyZWFtCgkgIGluaXRfZnJhbWVzLiBSYXRpb25hbGUgYmVpbmcgdGhhdCB0aGUgZ2xvYmFsIGRlbGF5IHNob3VsZAoJICBiZSBzdWJ0cmFjdGVkIGZyb20gYW55IHN0cmVhbSBkZWxheS4KCSAgRml4ZXMgIzMzNTg1OC4KCjIwMDYtMDMtMjQgMTc6MTE6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IHVzZSBERUJVR19GVU5DUFRSIGZvciBjb2xsZWN0cGFkcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KToKCSAgdXNlIERFQlVHX0ZVTkNQVFIgZm9yIGNvbGxlY3RwYWRzCgoyMDA2LTAzLTI0IDA5OjU0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiBEb24ndCBjcmFzaCB3aGVuIGVuY29kaW5nIGltYWdlcyB3aGVyZSB0aGUgbnVtYmVyIG9mIHJvd3MgaXNuJ3QgYSBtdWx0aXBsZSBvZiAyKkRDVFNJWkUuIEFkZCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2luaXQpLCAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCB3aGVuIGVuY29kaW5nIGltYWdlcyB3aGVyZSB0aGUgbnVtYmVyIG9mIHJvd3MgaXNuJ3QKCSAgYSBtdWx0aXBsZSBvZiAyKkRDVFNJWkUuIEFkZCBzb21lIEdTVF9ERUJVR19GVU5DUFRSLgoKMjAwNi0wMy0yMyAyMToyODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1vcmUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZpeGVzLgoKMjAwNi0wMy0yMyAyMDoxMjo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay4qOiBGaXggZXNkIGNob3BweSBwbGF5YmFjayBieSBjb25maWd1cmluZyBhdWRpb3NpbmsgY29ycmVjdGx5LiBGaXhlcyAjMzI1MTkxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZXNkc2lua19nZXRjYXBzKSwgKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfY2xvc2UpLAoJICAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksIChnc3RfZXNkc2lua191bnByZXBhcmUpLAoJICAoZ3N0X2VzZHNpbmtfZGVsYXkpLCAoZ3N0X2VzZHNpbmtfcmVzZXQpOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICBGaXggZXNkIGNob3BweSBwbGF5YmFjayBieSBjb25maWd1cmluZyBhdWRpb3NpbmsKCSAgY29ycmVjdGx5LiBGaXhlcyAjMzI1MTkxCgoyMDA2LTAzLTIzIDE5OjU3OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogTWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlLgoKMjAwNi0wMy0yMyAxNjo1MDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBEb24ndCB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBqdXN0IGJlY2F1c2UgdGhlIGhlYWRlciBjbGFpbXMgYSBiaWdnZXIgc2l6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRG9uJ3QgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUganVzdCBiZWNhdXNlCgkgIHRoZSBoZWFkZXIgY2xhaW1zIGEgYmlnZ2VyIHNpemUgKGxpa2Ugd2l0aCB0cnVuY2F0ZWQgZmlsZXMpLgoKMjAwNi0wMy0yMyAxNTozNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBEZWxheSBzb3VyY2UgcGFkIGNyZWF0aW9uIHVudGlsIHdlIGhhdmUgdGhlIGZpcnN0IGNodW5rIG9mIG1lZGlhIGRhdGEsIHNvIHRoZSB3ZSBjYW4gZXhhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBEZWxheSBzb3VyY2UgcGFkIGNyZWF0aW9uIHVudGlsIHdlIGhhdmUgdGhlIGZpcnN0IGNodW5rIG9mCgkgIG1lZGlhIGRhdGEsIHNvIHRoZSB3ZSBjYW4gZXhhbWluZSB0aGUgZGF0YSBhbmQgYWRqdXN0IHRoZQoJICBjYXBzIGFjY29yZGluZ2x5IGlmIHJlcXVpcmVkLiBUaGlzIG1ha2VzIHBsYXliYWNrIG9mIC53YXYKCSAgZmlsZXMgd2l0aCBEVFMtZGVjbGFyZWQtYXMtUENNIGNvbnRlbnQgd29yayAoIzMxMzI2NikuCgoyMDA2LTAzLTIyIDE5OjUwOjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCB2aWRlb2JhbGFuY2UgcGx1Z24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB2aWRlb2JhbGFuY2UgcGx1Z24KCjIwMDYtMDMtMjIgMTM6MDI6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBtZW50aW9uIGZpeGVkIGJ1ZyBudW1iZXIgaW4gdGhlIGNoYW5nZWxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVudGlvbiBmaXhlZCBidWcgbnVtYmVyIGluIHRoZSBjaGFuZ2Vsb2cKCjIwMDYtMDMtMjIgMTM6MDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRG9uJ3QgYXR0ZW1wdCB0eXBlZmluZGluZyBvbiB0b28tc2hvcnQgYnVmZmVycyB0aGF0IGhhdmUgYmVlbiBjb21wbGV0ZWx5IHRyaW1tZWQgYXdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCBhdHRlbXB0IHR5cGVmaW5kaW5nIG9uIHRvby1zaG9ydCBidWZmZXJzIHRoYXQgaGF2ZSBiZWVuCgkgIGNvbXBsZXRlbHkgdHJpbW1lZCBhd2F5LgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyk6CgkgIEltcHJvdmUgdGhlIGRlYnVnIG91dHB1dAoKMjAwNi0wMy0yMSAxODoxMjo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2VzZHNpbmtfaW5pdCksCgkgIChnc3RfZXNkc2lua19maW5hbGl6ZSksIChnc3RfZXNkc2lua19nZXRjYXBzKSwgKGdzdF9lc2RzaW5rX29wZW4pLAoJICAoZ3N0X2VzZHNpbmtfY2xvc2UpLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksIChnc3RfZXNkc2lua193cml0ZSksCgkgIChnc3RfZXNkc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2VzZHNpbmtfZ2V0X3Byb3BlcnR5KToKCSAgU29tZSBjbGVhbnVwcy4KCSAgUmVzZXQgZmQgdG8gLTEgd2hlbiB3ZSBjbG9zZSB0aGVtLgoKMjAwNi0wMy0yMSAxNjoxOTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogdGhlIE9QVElPTlMgcmVxdWVzdCByZXN1bHQgaXMgb3B0aW9uYWwgc28gZG9uJ3QgZmFpbCBvbiBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIHRoZSBPUFRJT05TIHJlcXVlc3QgcmVzdWx0IGlzIG9wdGlvbmFsIHNvIGRvbid0CgkgIGZhaWwgb24gaXQuCgoyMDA2LTAzLTIxIDE0OjUzOjM2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogZ2NjIDQuMSB1bnJlZmVyZW5jZWQgcG9pbnRlciBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZXNldCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVzZXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBnY2MgNC4xIHVucmVmZXJlbmNlZCBwb2ludGVyIGZpeGVzLgoKMjAwNi0wMy0yMSAxMzowNzozMSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggYmxvY2sgYWxpZ25tZW50IGNhbGN1bGF0aW9uLiBBbGlnbm1lbnQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIGFkZGluZyB0aGUgYnl0ZSBvZmZzZXQgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKToKCSAgRml4IGJsb2NrIGFsaWdubWVudCBjYWxjdWxhdGlvbi4gQWxpZ25tZW50IHNob3VsZCBiZSBkb25lIGJlZm9yZQoJICBhZGRpbmcgdGhlIGJ5dGUgb2Zmc2V0IHdoZXJlIHRoZSBkYXRhIHN0YXJ0cyAoIzMzNTIzMSkuCgoyMDA2LTAzLTIwIDE4OjM0OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IEVuc3VyZSB0aGF0IHdlIHNldCBjb3JyZWN0IGNhcHMgb24gYnVmZmVycyB0aGF0IGFyZSB0cmFuc2ZlcnJlZCBkaXJlY3QgZnJvbSB0aGUgaW5wdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY29ycmVjdCBjYXBzIG9uIGJ1ZmZlcnMgdGhhdCBhcmUgdHJhbnNmZXJyZWQKCSAgZGlyZWN0IGZyb20gdGhlIGlucHV0LgoKMjAwNi0wMy0yMCAxNzozODo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IEZyZWUgZmlsdGVyIGRhdGEgd2hlbiBjbGVhbmluZyB1cC4gKEZpeGVzOiAjMzM0OTk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyRGVzdHJveSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2Nsb3NlKToKCSAgRnJlZSBmaWx0ZXIgZGF0YSB3aGVuIGNsZWFuaW5nIHVwLiAoRml4ZXM6ICMzMzQ5OTUpCgoyMDA2LTAzLTIwIDA4OjU5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgoyMDA2LTAzLTE3IDE2OjM0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoKMjAwNi0wMy0xNyAxNTozMzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY29tcGlsZSB1ZHAgYW5kIHJ0c3AgcGx1Z2lucyBvbiB3aW4zMiAobWluZ3cpIG9yIG90aGVyIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIDxzeXMvc29ja2V0Lmg+IGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNvbXBpbGUgdWRwIGFuZCBydHNwIHBsdWdpbnMgb24gd2luMzIgKG1pbmd3KSBvciBvdGhlcgoJICBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSA8c3lzL3NvY2tldC5oPiBmb3Igc29tZSByZWFzb24gKCMzMTYyMDMpLgoKMjAwNi0wMy0xNiAxNzoyODowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBDaGFuZ2UgYnVzIHJlc2V0IGhhbmRsZXIgc28gaXQgcmVwb3J0cyB1c2VmdWwgaW5mb3JtYXRpb24gc3VjaCBhcyB3aGV0aGVyIHRoZSBkZXZpY2UgYmVpbmcgdXNlZCBjb25uZWN0ZWQgb3IgZGlzY29ubmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZSBidXMgcmVzZXQgaGFuZGxlciBzbyBpdCByZXBvcnRzIHVzZWZ1bCBpbmZvcm1hdGlvbiBzdWNoIGFzCgkgIHdoZXRoZXIgdGhlIGRldmljZSBiZWluZyB1c2VkIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQKCjIwMDYtMDMtMTYgMTY6MDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogV2Ugb25seSBjYXJlIGFib3V0IGdhaW4gYW5kIHBlYWsgZGF0YSBmb3IgdGhlIG1hc3RlciB2b2x1bWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKToKCSAgV2Ugb25seSBjYXJlIGFib3V0IGdhaW4gYW5kIHBlYWsgZGF0YSBmb3IgdGhlIG1hc3RlciB2b2x1bWUuCgoyMDA2LTAzLTE2IDEzOjIyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlYWQgcmVwbGF5IGdhaW4gdGFncyAoIzMyMzcyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfaWRfc3RyaW5nKSwgKHBhcnNlX3VuaXF1ZV9maWxlX2lkZW50aWZpZXIpLAoJICAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKSwgKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgUmVhZCByZXBsYXkgZ2FpbiB0YWdzICgjMzIzNzIxKS4KCjIwMDYtMDMtMTUgMjM6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGJlY2F1c2Ugb2YgYnVnZ3kgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpIGluIDAuMTAuNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byBnc3QtcGx1Z2lucy1iYXNlIENWUyBiZWNhdXNlCgkgIG9mIGJ1Z2d5IGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSBpbiAwLjEwLjUuCgoyMDA2LTAzLTE1IDIyOjMwOjI0ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICBGaXhlZCBvbmUgb2YgdGhlIGNhcHMgaW4gdGhlIGNvZGUgZnJvbSBtdWxhdyB0byBhbGF3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgb25lIG9mIHRoZSBjYXBzIGluIHRoZSBjb2RlIGZyb20gbXVsYXcgdG8gYWxhdy4KCjIwMDYtMDMtMTUgMTY6MjE6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgIFVzZSBTVFJFQU0sIFRZUEVfTk9UX0ZPVU5EIGFzIHRoZSBlcnJvciBjbGFzcyB3aGVuCgkgIHR5cGVmaW5kaW5nIGZhaWxzLgoKMjAwNi0wMy0xNSAxNjoxNzoxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBtZW1sZWFrIHdpdGggZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaW5pdCksIChnc3RfZHZkZW11eF9hZGRfcGFkcyk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX2luaXQpLAoJICAoZ3N0X21uZ2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2luaXQpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoZ3N0X3NwZWV4X2RlY19pbml0KToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9pbml0KToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfaW5pdCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfZ2V0cmFuZ2UpLAoJICAoZ3N0X2VmZW5jZV9jaGVja2dldHJhbmdlKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9pbml0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19pbml0KToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogKGdzdF9ydHBfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpOgoJICBGaXggbWVtbGVhayB3aXRoIGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpLgoJICBUaGlzIHVzZXMgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSBpbnN0ZWFkLgoJICBGaXhlcyAjMzMzNTEyCgoyMDA2LTAzLTE1IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSk6CgkgIExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoKMjAwNi0wMy0xNSAxNDozOToyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaW5pdCksIChnc3RfcXRkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIC0gVW5yZWYgdGhlIEdzdEFkYXB0ZXIgaW4gZmluYWxpemUuCgkgIC0gVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCksIHNob3J0ZXIgYW5kIHNhZmVyLgoJICAtIEZyZWUgdW51c2VkIFF0RGVtdXhTdHJlYW0gd2hlbiBub3QgdXNlZC4KCjIwMDYtMDMtMTQgMTc6NTY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC41IGZvciBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCksIHVzZWQgYnkgaWQzZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjUgZm9yIGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSwKCSAgdXNlZCBieSBpZDNkZW11eC4KCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX3VzZXJfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChwYXJzZV91bmlxdWVfZmlsZV9pZGVudGlmaWVyKToKCSAgQWRkIHN1cHBvcnQgZm9yIFVGSUQgYW5kIFRYWFggZnJhbWVzIGFuZCBleHRyYWN0IG11c2ljYnJhaW56IHRhZ3MuCgoyMDA2LTAzLTE0IDE3OjI0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwgbW92aW5nIGl0IGZyb20gX2NsYXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsCgkgIG1vdmluZyBpdCBmcm9tIF9jbGFzc19pbml0KCkgdG8gYmVnaW5uaW5nIG9mIF9iYXNlX2luaXQoKS4KCjIwMDYtMDMtMTQgMTU6Mjg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENhdGNoIHNob3J0IHJlYWRzLCBsaWtlIHRoZXkgbWlnaHQgaGFwcGVuIHdpdGggdHJ1bmNhdGVkIGZpbGVzIChzZWUgIzMwNTI3OSk7IHJlbW92ZSB1bm5lY2Vzc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBDYXRjaCBzaG9ydCByZWFkcywgbGlrZSB0aGV5IG1pZ2h0IGhhcHBlbiB3aXRoIHRydW5jYXRlZAoJICBmaWxlcyAoc2VlICMzMDUyNzkpOyByZW1vdmUgdW5uZWNlc3NhcnkgaW5kZW50YXRpb24uCgoyMDA2LTAzLTE0IDE0OjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggRElCIGltYWdlIGludmVyc2lvbiBmb3IgcGljdHVyZXMgd2l0aCBhIGRlcHRoICE9IDggKCMzMDUyNzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgIEZpeCBESUIgaW1hZ2UgaW52ZXJzaW9uIGZvciBwaWN0dXJlcyB3aXRoIGEKCSAgZGVwdGggIT0gOCAoIzMwNTI3OSkuCgoyMDA2LTAzLTE0IDA5OjIzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBGaXggZHVyYXRpb25zIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYWZ0ZXIgc2Vla2luZyBpbiBNSlBFRyBmaWxlcyAoIzMzNDA4Myk7IHNvbWUgbWlub3IgY2xlYW4tdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBGaXggZHVyYXRpb25zIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYWZ0ZXIgc2Vla2luZwoJICBpbiBNSlBFRyBmaWxlcyAoIzMzNDA4Myk7IHNvbWUgbWlub3IgY2xlYW4tdXBzLgoKMjAwNi0wMy0xMyAxODoyODoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAocmUtZml4ZXMgIzMyNzY1OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIEltcGxlbWVudCBzZWVrIGluIFJFQURZIChyZS1maXhlcyAjMzI3NjU4KQoKMjAwNi0wMy0xMyAxNzoyMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkCgkgIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSBvZiB0aGUgcGx1Z2luICh0YWdsaWJtdXggPT4gdGFnbGliKQoKMjAwNi0wMy0xMyAxNTo0OTowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNsb3NlICMzMzM3ODQgdW5yZWYgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX2dldF9wYXJlbnQoKSBieTogQ2hyaXN0b3BoZSBGZXJnZWF1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2Fwcyk6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fZ2V0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfZ2V0Y2FwcyksCgkgIChnc3RfanBlZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX3NpbmtsaW5rKSwKCSAgKGdzdF9tbmdkZWNfc3JjX2dldGNhcHMpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nZW5jX3NpbmtsaW5rKSwKCSAgKGdzdF9tbmdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX3NyY2xpbmspOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZGVjX3NyY19ldmVudCksIChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X3ZpZHNpbmtjb25uZWN0KSwKCSAgKGdzdF9hdmltdXhfYXVkc2lua2Nvbm5lY3QpLCAoZ3N0X2F2aW11eF9oYW5kbGVfZXZlbnQpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2dldGNhcHMpLAoJICAoZ3N0X25lZ290aWF0aW9uX3BhZF9saW5rKSwgKGdzdF9uZWdvdGlhdGlvbl9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfc2lua19saW5rKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKG11bGF3ZW5jX3NldGNhcHMpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2xpbmspOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX3NyY2Nvbm5lY3QpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfc2lua2Nvbm5lY3QpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2Fwcyk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19jaGFpbik6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6IChnc3Rfb3N4YXVkaW9zcmNfZ2V0KToKCSAgY2xvc2UgIzMzMzc4NCB1bnJlZiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfZ2V0X3BhcmVudCgpCgkgIGJ5OiBDaHJpc3RvcGhlIEZlcmdlYXUuCgoyMDA2LTAzLTEzIDEwOjA1OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCjIwMDYtMDMtMTIgMTU6MzM6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2ZyZWUpOgoJICBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0CgkgIGluc3RlYWQuCgoyMDA2LTAzLTEyIDE1OjI1OjUxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMKCSAgYnVpbGRib3QgaGFwcHkuCgkgIEkgd2lsbCBqdXN0IHVzZSB0aGUgc2FtZSBjb21tZW50IFJvbmFsZCB1c2VkIHdoZW4gaGUgYWRkZWQgdGhlc2UgbGluZXM6CgkgIFlldCBBbm90aGVyIEhhY2sgKHRtKSBmb3Iga2VybmVsIGhlYWRlciBib3JrZWRuZXNzLgoKMjAwNi0wMy0xMiAxNTowMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoKMjAwNi0wMy0xMiAxNDo0Mzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgUFBDLWJ1aWxkYm90IGhhcHB5LgoKMjAwNi0wMy0xMSAyMjo1MDowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgoyMDA2LTAzLTExIDEwOjU4OjA4ICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogZml4IHdyaXRpbmcgb2YgVFBPUyB0YWdzIChhbGJ1bSBudW1iZXIpLAoJICBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCjIwMDYtMDMtMDkgMjA6MDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgoyMDA2LTAzLTA5IDE3OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wOSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIHJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCjIwMDYtMDMtMDkgMTE6NDc6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBIYW5kbGUgZXZlbnRzIGluIHB1c2ggbW9kZSBiZXR0ZXIsIGNhbiBub3cgZG8gbm9uLWZsdXNoaW5nIHNlZWtzIGluIHB1c2ggbW9kZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zZWdtZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgSGFuZGxlIGV2ZW50cyBpbiBwdXNoIG1vZGUgYmV0dGVyLCBjYW4gbm93IGRvIG5vbi1mbHVzaGluZwoJICBzZWVrcyBpbiBwdXNoIG1vZGUgYXMgd2VsbC4KCjIwMDYtMDMtMDggMTI6MTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZQoJICAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIGZvciB0aGF0CgkgIChmaXhlcyAjMzMyMDY2KS4KCjIwMDYtMDMtMDcgMTc6MzE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogQXBwbGllZCBwYXRjaCBmcm9tIEthaSBWZWhtYW5lbiwgZml4ZXMgIzMzMzYyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KToKCSAgQXBwbGllZCBwYXRjaCBmcm9tIEthaSBWZWhtYW5lbiwgZml4ZXMgIzMzMzYyNC4KCjIwMDYtMDMtMDYgMjI6MjI6NDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogSW1wbGVtZW50IHBhbGV0dGVkIGFuZCBncmF5c2NhbGUgcG5nIGZpbGVzIGhhbmRsaW5nLiAoIzE1MDM2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgIEltcGxlbWVudCBwYWxldHRlZCBhbmQgZ3JheXNjYWxlIHBuZyBmaWxlcyBoYW5kbGluZy4KCSAgKCMxNTAzNjMpLgoKMjAwNi0wMy0wNiAwMDoxMDoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogZml4IGEgdGFnIGxpc3QgYXNzZXJ0IGZvbGxvdyBnc3QtcGx1Z2lucy1iYXNlL2V4dC9vZ2cvUkVBRE1FOyBzZXQgT0ZGU0VUIGFuZCBPRkZTRVRfRU5ELiAgTXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgIGZpeCBhIHRhZyBsaXN0IGFzc2VydAoJICBmb2xsb3cgZ3N0LXBsdWdpbnMtYmFzZS9leHQvb2dnL1JFQURNRTsgc2V0IE9GRlNFVAoJICBhbmQgT0ZGU0VUX0VORC4gIE11eGVzIGNvcnJlY3RseSB3aXRoIGdzdC1wbHVnaW5zLWJhc2UKCSAgPiAwLjkuMwoKMjAwNi0wMy0wNSAxMzowMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgoyMDA2LTAzLTA0IDIwOjExOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogVXNlIG5ldyB0eXBlZmluZCBoZWxwZXIgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCwgYW5kIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZiB1cHN0cmVhbSBzdXBwb3J0cyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF9jaGFpbiksIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBuZXcgdHlwZWZpbmQgaGVscGVyIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwsIGFuZAoJICBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYgdXBzdHJlYW0gc3VwcG9ydHMgdGhhdC4KCjIwMDYtMDMtMDQgMTg6NTc6MzcgKzAwMDAgIEJlbmphbWluIFBpbmVhdSA8YmVuLnBpbmVhdUBnbWFpbC5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcywgYnJlYWtzIGJ1aWxkIGZyb20gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMsIGJyZWFrcyBidWlsZCBmcm9tIENWUwoJICB3aXRoIC1XZXJyb3IgKCMzMzMzOTIsIHBhdGNoIGJ5OiBCZW5qYW1pbiBQaW5lYXUpCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAzLTAzIDE4OjM2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgd2F2cGFyc2UgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGRlZCB3YXZwYXJzZSBkb2NzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKGZpeGVzICMzMjc2NTgpCgkgIEFkZGVkIGRvY3MgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoKMjAwNi0wMy0wMyAxNzo1MToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSWYgd2UgaGF2ZSBhbiBpbmRleCwgdXNlIGEgZHVyYXRpb24gYmFzZWQgb24gdGhlIGluZGV4IGluc3RlYWQgb2YgYmxpbmRseSB0cnVzdGluZyB0aGUgaW5mb3JtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJZiB3ZSBoYXZlIGFuIGluZGV4LCB1c2UgYSBkdXJhdGlvbiBiYXNlZCBvbiB0aGUgaW5kZXggaW5zdGVhZAoJICBvZiBibGluZGx5IHRydXN0aW5nIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFtIGhlYWRlcnMKCSAgKGZpeGVzICMzMzE4MTcpLgoKMjAwNi0wMy0wMyAxNTo1MDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHNtb2tlIGFuZCBqcGVnIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZGVkIHNtb2tlIGFuZCBqcGVnIHRvIHRoZSBkb2NzLgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2luaXQpLAoJICAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJICBQb3J0IHNtb2tlZGVjIChmaXhlcyAjMzMxOTA1KS4KCSAgQWRkZWQgc29tZSBkb2NzLgoJICBTb21lIGNsZWFudXBzLgoKMjAwNi0wMy0wMyAxNDozOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHZpZGVvYmFsYW5jZSBhbmQgdmlkZW9mbGlwIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZGVkIHZpZGVvYmFsYW5jZSBhbmQgdmlkZW9mbGlwIHRvIHRoZSBkb2NzLgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIChnc3RfdmlkZW9fYmFsYW5jZV91cGRhdGVfdGFibGVzX3BsYW5hcjQxMSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pc19wYXNzdGhyb3VnaCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV91cGRhdGVfcHJvcGVydGllcyksIChvaWxfdGFibGVsb29rdXBfdTgpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfcGxhbmFyNDExX2lwKSwgKGdzdF92aWRlb19iYWxhbmNlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fYmFsYW5jZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfZmluYWxpemUpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pbml0KSwgKGdzdF92aWRlb19iYWxhbmNlX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYmFsYW5jZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfZ2V0X3R5cGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgUG9ydGVkIHRvIDAuMTAuIChGaXhlcyAjMzI2MTYwKQoJICBBZGRlZCBkb2NzLgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIEFkZGVkIGRvY3MuCgoyMDA2LTAzLTAzIDExOjA3OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMgd2hlbiBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcwoJICB3aGVuIHBhcnNpbmcuCgkgIEFsc28gbGV0J3MgYmUgYSBiaXQgbGVzcyB2dWxnYXIgaW4gb3VyIHdhcm5pbmcgbWVzc2FnZXMgOikKCjIwMDYtMDMtMDIgMTU6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGN1cnJlbnQgY29yZSBhbmQgLWJhc2UgQ1ZTIChjb3JlIGZvciBuZXcgdHlwZWZpbmQgaGVscGVyIEFQSSwgYW5kIC1iYXNlIGZvciB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byBjdXJyZW50IGNvcmUgYW5kIC1iYXNlIENWUwoJICAoY29yZSBmb3IgbmV3IHR5cGVmaW5kIGhlbHBlciBBUEksIGFuZCAtYmFzZSBmb3IgdGhlCgkgIFdBVkZPUk1BVEVYIHN1cHBvcnQgdGhhdCB3YXMgYWRkZWQgdG8gbGliZ3N0cmlmZiBhbmQKCSAgaXMgbmVlZGVkIGJ5IHdhdnBhcnNlKS4KCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3RhZ19kZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIG5ldyB0eXBlZmluZCBoZWxwZXJzIGZvciB0eXBlZmluZGluZyBpbnN0ZWFkIG9mIG91cgoJICBob21lLWdyb3duIHN0dWZmOyBhbHNvLCBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYKCSAgdXBzdHJlYW0gc3VwcG9ydHMgdGhhdC4KCjIwMDYtMDItMjggMTE6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZiBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mCgkgIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKHNlZSAjMzI3MDgzKQoKMjAwNi0wMi0yOCAxMDo0MDowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJICByZW1vdmUgY29uZmxpY3QgaW5kaWNhdG9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29uZmxpY3QgaW5kaWNhdG9yCgoyMDA2LTAyLTI4IDEwOjM5OjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIGFkZCBtaXNzaW5nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBlbnRyeQoKMjAwNi0wMi0yOCAxMDoyOToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgoyMDA2LTAyLTI4IDEwOjIyOjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgZHZkZWMgYW5kIGR2ZGVtdXggdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGRlZCBkdmRlYyBhbmQgZHZkZW11eCB0byBkb2NzLgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2Jhc2VfaW5pdCksIChnc3RfZHZkZWNfY2hhaW4pOgoJICBBZGRlZCBkb2NzLgoJICBDaGVjayBmcmFtZSBzaXplcyBzbyB3ZSBkb24ndCBjcmFzaCB3aGVuIGRvbid0IGhhdmUgZW5vdWdoCgkgIGRhdGEuCgkgIFNlbmQgbmljZSBlcnJvciBtZXNzYWdlcyBvbiBlcnJvci4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9maW5hbGl6ZSksIChnc3RfZHZkZW11eF9yZXNldCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NyY19wYWlyKSwgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc2lua19wYWlyKSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc3JjX3RvX3NpbmspLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1c2hfc2VlayksCgkgIChnc3RfZHZkZW11eF9kb19zZWVrKSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZHZkZW11eF9kZW11eF9hdWRpbyksCgkgIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9jaGFpbiksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEFkZGVkIGRvY3MuCgkgIEltcGxlbWVudCBwdWxsIG1vZGUuCgkgIEZpeCBtZW1sZWFrcy4KCSAgUmVkdWNlIG1lbWNweSBmb3IgdGhlIHZpZGVvIGRlbXV4aW5nLgoKMjAwNi0wMi0yOCAwOToyMToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvYW5ub2RleC86IEFkZCBhIGxpdHRsZSBleHRyYSBkZWJ1Zy4gTWFrZSB0aGUgZGVjb2RlciBub3QgcmV0dXJuIE5PVF9MSU5LRUQsIGFzIHdlIHdhbnQgdG8gY29udGludWUgZGVjb2RpbmcgYWxsIEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2NtbWxfZGVjX25ld19idWZmZXIpLCAoZ3N0X2NtbWxfZGVjX3BhcnNlX3ByZWFtYmxlKSwKCSAgKGdzdF9jbW1sX2RlY19wYXJzZV9oZWFkKSwgKGdzdF9jbW1sX2RlY19wdXNoX2NsaXApOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogKGdzdF9jbW1sX3BhcnNlcl9wYXJzZV9jaHVuayk6CgkgIEFkZCBhIGxpdHRsZSBleHRyYSBkZWJ1Zy4gTWFrZSB0aGUgZGVjb2RlciBub3QgcmV0dXJuIE5PVF9MSU5LRUQsCgkgIGFzIHdlIHdhbnQgdG8gY29udGludWUgZGVjb2RpbmcgYWxsIENNTUwgYW5kIGVtaXR0aW5nIHRhZ3MuCgoyMDA2LTAyLTI3IDE0OjM3OjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhbm5vZGV4IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGFubm9kZXggcGx1Z2luCgoyMDA2LTAyLTI3IDE0OjAwOjE4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3Rza2VsdGFnLio6IERlbGV0ZWQ7IHRoZXNlIGZpbGVzIGFyZW4ndCB1c2VkIGFueSBtb3JlIGVpdGhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuaDoKCSAgRGVsZXRlZDsgdGhlc2UgZmlsZXMgYXJlbid0IHVzZWQgYW55IG1vcmUgZWl0aGVyLgoKMjAwNi0wMi0yNSAyMDozNzoyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0LWNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3QtY2hlY2suCgoyMDA2LTAyLTI1IDE5OjM2OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogRml4IGFub3RoZXIgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKTogRml4IGFub3RoZXIKCSAgbWVtbGVhay4KCjIwMDYtMDItMjUgMTk6MDc6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGEgbWVtbGVhayBpbiBnc3RfY21tbF90cmFja19saXN0X2FkZF9jbGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBGaXggYSBtZW1sZWFrIGluIGdzdF9jbW1sX3RyYWNrX2xpc3RfYWRkX2NsaXAuCgkgIEhhbmRsZSBvdmVyZmxvd3MgaW4gY2xpcCdzIHN0YXJ0IGFuZCBlbmQgdGltZXMuCgkgIEFkZCB0aGUgImVuY29kZWQiIHBhcmFtZXRlciB0byBjbW1sZGVjIGFuZCBjbW1sZW5jIGNhcHMuCgkgIERvIG5vdCBwYXJzZSBqdW5rIGF0IHRoZSBlbmQgb2YgYSBDTU1MIHByZWFtYmxlIGJ1ZmZlci4KCSAgUmVnaXN0ZXIgYSBsaWJ4bWwgZXJyb3IgaGFuZGxlciB0byBub3QgcHJpbnQgc3R1ZmYgb24gc3RkZXJyLgoJICBDaGVjayBmb3IgYmFkIGNsaXAgc3RhcnQgYW5kIGVuZCB0aW1lcyBpbiB0aGUgdGVzdHN1aXRlcy4KCjIwMDYtMDItMjUgMTE6Mzc6MTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2Fubm9kZXgvOiBGaXggcG9zc2libGUgbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZGVjX2ZpbmFsaXplKSwgKGdzdF9jbW1sX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2VuY19maW5hbGl6ZSksIChnc3RfY21tbF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX3RyYWNrX2xpc3RfZGVzdHJveSk6IEZpeAoJICBwb3NzaWJsZSBtZW1sZWFrcy4KCjIwMDYtMDItMjQgMjM6NTI6MjggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBGaXggdGVzdHMgc28gdGhhdCB0aGV5IHVzZSB0aGUgcGx1Z2lucy1iYXNlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogRml4IHRlc3RzIHNvIHRoYXQgdGhleSB1c2UKCSAgdGhlIHBsdWdpbnMtYmFzZSB0YWdzLgoKMjAwNi0wMi0yNCAyMzozNjo1OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IFJlLWVuYWJsZSBtb2R1bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBSZS1lbmFibGUgbW9kdWxlLgoKMjAwNi0wMi0yNCAyMzozMjoxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRm9yZ290IHRvIHJlbW92ZSB0aGF0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZvcmdvdCB0byByZW1vdmUgdGhhdCB0ZXN0LgoKMjAwNi0wMi0yNCAyMzozMTowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBUcnkgdG8gZml4IEFubm9kZXggcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9za2VsZGVjLmM6IFRyeSB0byBmaXggQW5ub2RleCBwbHVnaW4uCgoyMDA2LTAyLTI0IDIzOjA2OjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRob3NlIGNoZWNrcyBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRob3NlIGNoZWNrcyBhcyB3ZWxsLgoKMjAwNi0wMi0yNCAyMjo0OToyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc2FibGUgYW5ub2RleCBmb3Igbm93IHVudGlsIHdlIGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgaXQgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBEaXNhYmxlIGFubm9kZXggZm9yIG5vdyB1bnRpbCB3ZSBmaWd1cmUgb3V0CgkgIGhvdyB0byBtYWtlIGl0IGJ1aWxkLgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOiBOb3RlIGZvciBUaG9tYXMgOgoJICBBZGQgYSBydWxlIHRvIHlvdXIgY2hlY2tsaXN0IDogInBsZWFzZSB0cnkgdG8gYXQgbGVhc3QgYnVpbGQKCSAgd2hhdCB5b3UgYXJlIGdvaW5nIHRvIGNvbW1pdCBpbnRvIC1nb29kLCBvciBpZiB5b3UgYXJlIHRvbyBsYXp5CgkgIHRvIGRvIHRoYXQsIHBsZWFzZSBjaGVjayB0aGF0IHRoZSBidWlsZGJvdHMgYXJlIG5vdCBjcnlpbmcgYmVjYXVzZQoJICBvZiB5b3VyIGNvbW1pdC4iCgoyMDA2LTAyLTI0IDE5OjUxOjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHZGtwaXhidWYgcG9ydGVkIGZyb20gMC44IHRvIDAuMTAgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+LiBnc3RfbG9hZGVyIGFuZCBnZGtwaXhidWZhbmltYXRpb24gc3RpbGwgbmVlZCBwb3J0LgoKMjAwNi0wMi0yNCAxOTo0OTozMiArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgcGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoKMjAwNi0wMi0yNCAxOTowNzoxMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIEFubm9kZXggZWxlbWVudHMgZnJvbSBBbGVzc2VuZHJvIERlY2luYTogc2tlbGV0b24gYW5kIENNTUwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NrZWxkZWMuYzoKCSAgQWRkIEFubm9kZXggZWxlbWVudHMgZnJvbSBBbGVzc2VuZHJvIERlY2luYTogc2tlbGV0b24gYW5kIENNTUwuCgkgIEluY2x1ZGVzIHRlc3RzICYgZG9jcywgb2ggbXkhIFBhc3NlcyBUaG9tYXMncyAtZ29vZCBjaGVja2xpc3QKCSAgZW50aXJlbHkuIFdvdy4KCjIwMDYtMDItMjQgMTc6MDk6NTYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGF1dG9nZW4uc2g6IENoZWNrIGZvciBhdXRvbWFrZSAxLjkgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQ2hlY2sgZm9yIGF1dG9tYWtlIDEuOSBhcyB3ZWxsLgoKMjAwNi0wMi0yNCAxNDo0OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogQ2hhbmdlIG1pbi4gc2FtcGxlIHJhdGUgdG8gOGtIeiB0byBtYXRjaCBmbGFjZGVjJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgQ2hhbmdlIG1pbi4gc2FtcGxlIHJhdGUgdG8gOGtIeiB0byBtYXRjaCBmbGFjZGVjJ3MuCgoyMDA2LTAyLTIzIDIwOjA4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vTWFrZWZpbGUuYW06IEFkZCBHU1RfQkFTRV9DRkxBR1MgYW5kIEdTVF9CQVNFX0xJQlMgKHNlZW1zIHRvIGJlIHJlcXVpcmVkIGZvciBDeWd3aW4sIHNlZSAjMzE3MDQ4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9CQVNFX0NGTEFHUyBhbmQgR1NUX0JBU0VfTElCUyAoc2VlbXMgdG8gYmUKCSAgcmVxdWlyZWQgZm9yIEN5Z3dpbiwgc2VlICMzMTcwNDgpCgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgQ3lnd2luIGhhcyBpbmNsdWRlcyBmb3IgYm90aCB0aGUgdW5peCBuZXR3b3JrIHNvY2tldCBBUEkKCSAgYW5kIHRoZSB3aW5kb3dzIEFQSSwgYnV0IG9ubHkgb25lIGNhbiBiZSBpbmNsdWRlZCwgc28gZml4CgkgIGluY2x1ZGVzIHRvIG9ubHkgdXNlIG9uZSBvciB0aGUgb3RoZXIsIHByZWZlcmluZyB0aGUgdW54aQoJICBvbmUgKCMzMTcwNDgpLgoKMjAwNi0wMi0yMyAxMjoyMToyNSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIHJ0cC9nc3QvOiBTZXBhcmF0ZWQgdGhlIEc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMgaW50byBzZXBhcmF0ZSBlbGVtZW50cyBmb3IgbXVsYXcvYWxhdy4gQWxzbyByZW1vdmVkIHRoZSBvbGQgZzcxMS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMyAgUGhpbGlwcGUgS2FsYWYgIDxwaGlsaXBwZS5rYWxhZiBhdCBjb2xsYWJvcmEuY28udWs+CgkgICogcnRwL2dzdC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0Z3N0cnRwcGNtYXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0Z3N0cnRwcGNtYXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBydHAvZ3N0L01ha2VmaWxlLmFtOgoJICAqIHJ0cC9nc3QvZ3N0cnRwLmM6CgkgICogcnRwL2dzdC9SRUFETUU6CgkgIFNlcGFyYXRlZCB0aGUgRzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycyBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzIGZvcgoJICBtdWxhdy9hbGF3LiBBbHNvIHJlbW92ZWQgdGhlIG9sZCBnNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoKMjAwNi0wMi0yMiAyMDoyMjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi86IFVlYmVyIHNwaWZmaWZ5IHNvbWUgbW9yZSwgYWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2Jhc2VfaW5pdCksIChnc3RfZHZkZWNfaW5pdCksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2NoYWluKSwKCSAgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgVWViZXIgc3BpZmZpZnkgc29tZSBtb3JlLCBhZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgVXNlIF9zY2FsZS4KCSAgVXNlIHNlZ21lbnRzLCByZXNwZWN0IHBsYXliYWNrIHJhdGUgZnJvbSBuZXdzZWdtZW50LgoJICBGaXggcmVmY291bnQgaXNzdWUuCgoyMDA2LTAyLTIyIDA5OjMzOjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5IDogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBBZGQgaW1hZ2UvcG5nIGZvciBmb3VyY2MgJ3BuZyAnCgoyMDA2LTAyLTIwIDIxOjE5OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmV0dXJuX2J1ZiksCgkgIChnc3RfeGltYWdlc3JjX29wZW5fZGlzcGxheSksIChnc3RfeGltYWdlc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2VzcmNfc3RvcCksIChnc3RfeGltYWdlc3JjX3VubG9jayksCgkgIChnc3RfeGltYWdlc3JjX3JlY2FsYyksIChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwKCSAgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfY2xlYXJfYnVmcG9vbCksIChnc3RfeGltYWdlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2Rpc3Bvc2UpLCAoZ3N0X3hpbWFnZXNyY19maW5hbGl6ZSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfc2V0X2NhcHMpLAoJICAoZ3N0X3hpbWFnZXNyY19maXhhdGUpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfaGFuZGxlX3hlcnJvciksCgkgICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpLCAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpLAoJICAoeGltYWdldXRpbF94Y29udGV4dF9jbGVhciksCgkgICh4aW1hZ2V1dGlsX2NhbGN1bGF0ZV9waXhlbF9hc3BlY3RfcmF0aW8pLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZmluYWxpemUpLCAoZ3N0X3hpbWFnZV9idWZmZXJfZnJlZSksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9pbml0KSwgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX25ldyksCgkgIChnc3RfeGltYWdldXRpbF94aW1hZ2VfZGVzdHJveSk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoKPT09IHJlbGVhc2UgMC4xMC4xID09PQoKMjAwNi0wMi0yMCAxOToxMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCjIwMDYtMDItMjAgMTM6MDg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndCBlbmFibGVkIGZvciB0aGUgYnVpbGQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndAoJICBlbmFibGVkIGZvciB0aGUgYnVpbGQsIGJ1dCBpdCBoZWxwcyBtZSB3aW4gdGhlIGZlYXR1cmUtY291bnQKCSAgY29tcGV0aXRpb25zIG9vaCB5ZWFoLgoKMjAwNi0wMi0xOSAxNjowMjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlIHNjYWxpbmcgY29kZSBmb3IgYWRkZWQgcHJlY2lzc2lvbiBhbmQgbW9yZSBjb3JyZWN0IHN0b3AgcG9zaXRpb24gaW4gY2FzZSBzY2FsZT09MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2F2aWgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgVXNlIHNjYWxpbmcgY29kZSBmb3IgYWRkZWQgcHJlY2lzc2lvbiBhbmQgbW9yZSBjb3JyZWN0IHN0b3AKCSAgcG9zaXRpb24gaW4gY2FzZSBzY2FsZT09MC4KCjIwMDYtMDItMTkgMTI6MDk6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy4qOiBJbXBsZW1lbnQgRFVSQVRJT04gcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIEltcGxlbWVudCBEVVJBVElPTiBxdWVyeS4KCjIwMDYtMDItMTkgMTE6NTc6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4LzogU2V0IE1BTExPQ0RBVEEgZm9yIHRoZSB0ZW1wIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSAgKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19pbml0KSwKCSAgKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLCAoZmx4X2RlY29kZV9jb2xvciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBTZXQgTUFMTE9DREFUQSBmb3IgdGhlIHRlbXAgYnVmZmVycyBzbyB3ZSBkb24ndCBsZWFrLgoJICBTb21lIGRlYnVnIGNsZWFudXBzLgoJICBDb25zdW1lIGFsbCBkYXRhIGluIHRoZSBhZGFwdGVyIGJlZm9yZSBsZWF2aW5nIHRoZSBjaGFpbgoJICBmdW5jdGlvbi4gRml4ZXMgIzMzMDY3OC4KCjIwMDYtMDItMTggMjA6NDg6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogSGFuZGxlIDAgZGF0YSBzaXplIGluIG90aGVyd2lzZSB2YWxpZCBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBIYW5kbGUgMCBkYXRhIHNpemUgaW4gb3RoZXJ3aXNlIHZhbGlkIGZyYW1lcy4KCSAgSGFuZGxlIG51bWVyaWMgc3RyaW5ncyBpbiAyLjQuMCBldmVuIHdoZW4gbm90IGluIHBhcmVudGhlc2VzCgoyMDA2LTAyLTE4IDE3OjIwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogUmVjb2duaXNlIFNTQS9BU1MgYW5kIFVTRiBzdWJ0aXRsZSBmb3JtYXRzIGFuZCBzZXQgcHJvcGVyIGNhcHMgd2hlbiB0aGV5IGFyZSBmb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgUmVjb2duaXNlIFNTQS9BU1MgYW5kIFVTRiBzdWJ0aXRsZSBmb3JtYXRzIGFuZAoJICBzZXQgcHJvcGVyIGNhcHMgd2hlbiB0aGV5IGFyZSBmb3VuZC4KCjIwMDYtMDItMTcgMTg6MjU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4IGVudHJpZXMgKCMzMzE1ODIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXgKCSAgZW50cmllcyAoIzMzMTU4MikuCgoyMDA2LTAyLTE3IDE3OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGZvciBzb21lIG9kZC1zaXplZCBpbWFnZXMgKHNlZSBpbWFnZSBjb250YWluZWQgaW4gcXVpY2t0aW1lIHN0cmVhbSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19kZWNvZGVfZGlyZWN0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgZm9yIHNvbWUgb2RkLXNpemVkIGltYWdlcwoJICAoc2VlIGltYWdlIGNvbnRhaW5lZCBpbiBxdWlja3RpbWUgc3RyZWFtIGluICMzMjcwODMpOwoJICB1c2UgZ19tYWxsb2MoKSBpbnN0ZWFkIG9mIGdfYWxsb2NhKCkuCgoyMDA2LTAyLTE3IDE2OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZSBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdGhhdC4KCSAgRml4ZXMgIzMzMTU0My4KCjIwMDYtMDItMTcgMTU6Mzc6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUsIGZpeGVzICMzMTk4ODQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2hhaW4pOgoJICBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlLCBmaXhlcyAjMzE5ODg0CgoyMDA2LTAyLTE3IDExOjE5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpby5jOiBJbml0IGRlYnVnIGNhdGVnb3J5ICgjMzMxMjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAocGx1Z2luX2luaXQpOgoJICBJbml0IGRlYnVnIGNhdGVnb3J5ICgjMzMxMjUzKS4KCjIwMDYtMDItMTcgMTA6NTM6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9nY29uZi9nY29uZi5jOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgSnVyZydzIHBhdGNoIGZvciBtdWx0aWRldmljZSBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgSnVyZydzIHBhdGNoIGZvciBtdWx0aWRldmljZSBzdXBwb3J0CgoyMDA2LTAyLTE2IDIwOjMwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFBhc3MgZXh0cmFfZGF0YSB0byBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2FwcygpLCBzbyB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgUGFzcyBleHRyYV9kYXRhIHRvIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKCksIHNvIHRoYXQKCSAgV0FWRUZPUk1BVEVYIHN0dWZmIHdvcmtzLiBQb3N0IGF1ZGlvIGNvZGVjIG5hbWUgYW5kIHBvc3QKCSAgaXQgYXMgdGFnbGlzdCBvbiB0aGUgYnVzLiBBbGxvdyB1cCB0byA4IGNoYW5uZXNsIGZvciByYXcKCSAgUENNIGluIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuCgoyMDA2LTAyLTE2IDE2OjUzOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBcHBsaWVkICMzMTg2NjMuIEdpdmVzIHF1aXRlIGEgZmV3IGZhbHNlIHBvc2l0aXZlcyBpbiBhdXRvc2NhbiBtb2RlLCBidXQgaXQncyBiZXR0ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9maW5hbGl6ZSksIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGlwYXJ0X2dldF9wcm9wZXJ0eSk6CgkgIEFwcGxpZWQgIzMxODY2My4gR2l2ZXMgcXVpdGUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGluCgkgIGF1dG9zY2FuIG1vZGUsIGJ1dCBpdCdzIGJldHRlciB0aGFuIG5vdGhpbmcuIE5vdCBjbG9zaW5nIHlldC4KCjIwMDYtMDItMTYgMTQ6MTM6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIEZpeCBhcmdzLgoKMjAwNi0wMi0xNiAxNDowMjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDYtMDItMTYgMTA6NTg6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogSUQzIDIuMy4wIHVzZWQgc3luY2gtc2FmZSBpbnRlZ2VycyBmb3IgdGhlIHRhZyBzaXplLCBidXQgbm90IGZvciB0aGUgZnJhbWUgc2l6ZS4gKEZpeGVzICMzMzEzNjgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBJRDMgMi4zLjAgdXNlZCBzeW5jaC1zYWZlIGludGVnZXJzIGZvciB0aGUgdGFnIHNpemUsIGJ1dCBub3QgZm9yIHRoZQoJICBmcmFtZSBzaXplLiAoRml4ZXMgIzMzMTM2OCkKCjIwMDYtMDItMTYgMTA6NDI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9SRUFETUU6IFVwZGF0ZWQgUkVBRE1FLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9SRUFETUU6CgkgIFVwZGF0ZWQgUkVBRE1FLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE1ha2Ugc3VyZSB0aGUgUlRQIHBvcnQgaXMgYW4gZXZlbiBwb3J0IGFuIHRyeSB0byBhbGxvY2F0ZQoJICBhbm90aGVyIGlmIG5vdC4KCSAgQWRkZWQgcmV0cnkgcHJvcGVydHkgdG8gY29udHJvbCBtYXggcmV0cmllcyBmb3IgcG9ydCBhbGxvY2F0aW9uLgoJICBNYWtlIHN1cmUgUlRDUCBwb3J0IGlzIFJUUCBwb3J0KzEuCgkgIENsZWFudXAgd2hlbiBwb3J0IGFsbG9jYXRpb24gZmFpbHMuCgkgIEZpeGVzICMzMTkxODMuCgoyMDA2LTAyLTE2IDA5OjE3OjU4ICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBEb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwYXJlbnQgY2xhc3MncyBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwYXJlbnQgY2xhc3MncyBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24gKCMzMzEzODUsIHBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuKS4KCjIwMDYtMDItMTUgMTI6MTc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgSEFMIHNvdW5kIGRldmljZSB3cmFwcGVyIHBsdWdpbnMuIENsb3NlcyAjMzI5MTA2CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9oYWxfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfaGFsX2F1ZGlvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9oYWxfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmg6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyksCgkgIChnc3RfaGFsX3JlbmRlcl9iaW5fZnJvbV91ZGkpLCAoZ3N0X2hhbF9nZXRfYXVkaW9fc2luayksCgkgIChnc3RfaGFsX2dldF9hdWRpb19zcmMpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIEFkZCBIQUwgc291bmQgZGV2aWNlIHdyYXBwZXIgcGx1Z2lucy4gQ2xvc2VzICMzMjkxMDYKCjIwMDYtMDItMTUgMTI6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCjIwMDYtMDItMTUgMTA6MTU6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEFkZCBjb21tZW50IGluIGEgZnVsdGlsZSBhdHRlbXB0IHRvIHN0b3AgdGhlIGNvcHktYW5kLXBhc3RlIHBhcmFkaWdtIGxlYWRpbmcgdG8gZHVwbGljYXRpb24gb2YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgQWRkIGNvbW1lbnQgaW4gYSBmdWx0aWxlIGF0dGVtcHQgdG8gc3RvcCB0aGUgY29weS1hbmQtcGFzdGUKCSAgcGFyYWRpZ20gbGVhZGluZyB0byBkdXBsaWNhdGlvbiBvZiBiYWQgY29kZS4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgIE1pbWUgcGFyYW1ldGVycyBoYXZlIHRvIGJlIGNoZWNrZWQgY2FzZSBpbnNlbnNpdGl2ZQoKMjAwNi0wMi0xNSAwOTo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMKCSAgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDYtMDItMTQgMjM6MjM6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQWR2YW5jZSBzdHJlYW0gdGltZSBmb3IgbGFnZ2luZyBzdWJ0aXRsZSBzdHJlYW1zIGJ5IHNlbmRpbmcgbmV3c2VnbWVudCBldmVudHMgd2l0aCB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgQWR2YW5jZSBzdHJlYW0gdGltZSBmb3IgbGFnZ2luZyBzdWJ0aXRsZSBzdHJlYW1zIGJ5IHNlbmRpbmcKCSAgbmV3c2VnbWVudCBldmVudHMgd2l0aCB0aGUgdXBkYXRlIGZsYWcgc2V0LgoKMjAwNi0wMi0xNCAxODo1MDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBEb24ndCBhbnN3ZXIgZHVyYXRpb24gcXVlcnkuIFRoaXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8gcmVwbHlpbmcKCSAgRkFMU0UgdG8gc2VlayBldmVudHMuCgoyMDA2LTAyLTE0IDE2OjU4OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBUaGVyZSBjYW4gYmUgYm9ndXMgZGF0YSBiZWZvcmUgdGhlIGhkcmwgTElTVCB0YWcgaW4gdGhlIFJJRkYgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICBUaGVyZSBjYW4gYmUgYm9ndXMgZGF0YSBiZWZvcmUgdGhlIGhkcmwgTElTVCB0YWcgaW4gdGhlIFJJRkYgaGVhZGVyLgoJICBJdCdzIGhhcmQgdG8gc2F5IGlmIGl0J3Mgbm90IHJlc3BlY3RpbmcgdGhlIEFWSSBzcGVjaWZpY2F0aW9ucyBvciBub3QsCgkgIGJ1dCBzaW5jZSBHb29nbGUgVmlkZW8gaXMgcHJvZHVjaW5nIEFWSXMgbGlrZSB0aGF0IGFuZCB0aGUgb3RoZXIgcGxheWVyCgkgIGRvbid0IHNlZW0gdG8gY29tcGxhaW4sIEkgZ3Vlc3Mgd2Ugc2hvdWxkIGRvIHRoZSBzYW1lLgoKMjAwNi0wMi0xNCAxMToyNDo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgRXJyb3JzIG91dCBncmFjZWZ1bGx5LgoKMjAwNi0wMi0xMyAyMjowNDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLCAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZSksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgSXQgc3RpbGwgbmVlZHMgc29tZSBsb3ZlIGZvciBzZWVraW5nLgoKMjAwNi0wMi0xMyAxMjowMDo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQWRkIG1vcmUgdmFsaWRhdGlvbiB0byBlbnN1cmUgdGhhdCBhIGNoYXIgZW5jb2RpbmcgY29udmVyc2lvbiBwcm9kdWNlZCBhIHZhbGlkIFVURi04IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBZGQgbW9yZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IGEgY2hhciBlbmNvZGluZyBjb252ZXJzaW9uCgkgIHByb2R1Y2VkIGEgdmFsaWQgVVRGLTggc3RyaW5nLgoKMjAwNi0wMi0xMyAxMDo0MzoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHJvcGVybHkgaGFuZGxlIGVuZCBvZiBzZWdtZW50LiBDbG9zZXMgIzMzMDg4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgUHJvcGVybHkgaGFuZGxlIGVuZCBvZiBzZWdtZW50LiBDbG9zZXMgIzMzMDg4NS4KCjIwMDYtMDItMTMgMTA6MzY6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDogRm9yIGdvdCB0byBjb21taXQgdGhpcyBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBGb3IgZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCjIwMDYtMDItMTIgMTg6NTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuKjogTWFrZSBtb3JlIHRoaW5ncyB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV92aWRlb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIE1ha2UgbW9yZSB0aGluZ3Mgd29yay4KCSAgSGFuZGxlIEFDQyBjb25maWcgc3RyaW5ncy4KCjIwMDYtMDItMTIgMTM6MTA6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogc2V0IHRpbWVzdGFtcHMgaWYgbm8gaW5jb21pbmcgdGltZXN0YW1wcyBzZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgc2V0IHRpbWVzdGFtcHMgaWYgbm8gaW5jb21pbmcgdGltZXN0YW1wcyBzZXQKCjIwMDYtMDItMTEgMTM6NTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IC4uLiBhbmQgZml4IHRoZSB2ZXJ5IHNhbWUgbGVha3MgaW4gR3N0VGFnRGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3RhZ19kZW11eF9kb190eXBlZmluZCk6CgkgIC4uLiBhbmQgZml4IHRoZSB2ZXJ5IHNhbWUgbGVha3MgaW4gR3N0VGFnRGVtdXguCgoyMDA2LTAyLTExIDEzOjM1OjEzICswMDAwICBKb24gVHJvd2JyaWRnZSA8dHJvd0B4aW1pYW4uY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X2lkM2RlbXV4X2RvX3R5cGVmaW5kKToKCSAgRml4IGEgY291cGxlIG9mIG1lbSBsZWFrcy4gKFBhdGNoIGJ5IEpvbmF0aGFuIE1hdHRoZXcKCSAgPGpvbmF0aGFuIGF0IGthb2xpbiBkb3Qgd2g5IGRvdCBuZXQ+KQoKMjAwNi0wMi0xMCAxNzozNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBGaXJzdCBzZXQgb3B0aW9ucywgdGhlbiBzZXQgY2FwcyBvciBlbHNlIHRoZSBiYXNlY2xhc3Mgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3B0aW9ucywgZHVoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIEZpcnN0IHNldCBvcHRpb25zLCB0aGVuIHNldCBjYXBzIG9yIGVsc2UgdGhlIGJhc2VjbGFzcwoJICB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvcHRpb25zLCBkdWguCgoyMDA2LTAyLTEwIDE3OjE2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IERvbid0IHdhc3RlIHRpbWUgbG9va2luZyBmb3IgYSBjb25maWcgc3RyaW5nIGlmIHdlIGhhdmUgY29kZWNfaW5mbyBvbiB0aGUgaW5jb21taW5nIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IHdhc3RlIHRpbWUgbG9va2luZyBmb3IgYSBjb25maWcgc3RyaW5nIGlmIHdlIGhhdmUgY29kZWNfaW5mbwoJICBvbiB0aGUgaW5jb21taW5nIGNhcHMuCgoyMDA2LTAyLTEwIDE2OjQwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFNheSBzb21ldGhpbmcgYWJvdXQgY2FzZS1zZW5zaXRpdml0eSBvZiBjYXBzIHZzIG1pbWUtYXR0cmlidXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFNheSBzb21ldGhpbmcgYWJvdXQgY2FzZS1zZW5zaXRpdml0eSBvZiBjYXBzIHZzIG1pbWUtYXR0cmlidXRlcy4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpLCAoZ3N0X3J0cF9tcDRnX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfbXA0Z19wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBBZGRlZCBiZWdpbm5pbmdzIG9mIG1wZWc0LWdlbmVyaWMgcGF5bG9hZGVyIChSRkMgMzY0MCkKCjIwMDYtMDItMDkgMTQ6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJlc3VyZWN0ZWQgcnRwZGVjIHRvIG1ha2UgcnRzcHNyYyBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldF90eXBlKSwKCSAgKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCksIChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKSwKCSAgKGdzdF9ydHBkZWNfY2hhaW5fcnRwKSwgKGdzdF9ydHBkZWNfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwZGVjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2R1bXApOgoJICBSZXN1cmVjdGVkIHJ0cGRlYyB0byBtYWtlIHJ0c3BzcmMgaGFwcHkgYWdhaW4uCgkgIFNraXAgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXNzaW9uIGlkLgoJICBEb24ndCBjcmFzaCB3aGVuIGR1bXBpbmcgYSBtZXNzYWdlIHdpdGggYW4gZW1wdHkgYm9keS4KCjIwMDYtMDItMDkgMTQ6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IEFkZGVkIG1vcmUgbWVhbmluZ2Z1bGwgd2FybmluZ3Mgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2hhaW4pOgoJICBBZGRlZCBtb3JlIG1lYW5pbmdmdWxsIHdhcm5pbmdzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIENsZWFyIEYgYml0IG9uIG91dGdvaW5nIEFNUiBwYWNrZXRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEFkZGVkIGRlYnVnZ2luZyBjYXRlZ29yeQoJICBTdXBwb3J0IHBheWxvYWRpbmcgb2YgbXVsdGlwbGUgQU1SIGZyYW1lcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZGVwYXlfZGF0YSk6CgkgIEFkZGVkIHNvbWUgZGVidWdnaW5nLgoKMjAwNi0wMi0wOSAxMToyNTo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMiA9PT0KCjIwMDYtMDItMDkgMTE6MjI6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgUmVsZWFzaW5nIDAuMTAuMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzaW5nIDAuMTAuMgoKMjAwNi0wMi0wOCAxNzozNTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDItMDggMTc6MTg6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBPb3BzLCBqdW1waW5nIHRoZSBndW4gd2l0aCB0aGUgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPb3BzLCBqdW1waW5nIHRoZSBndW4gd2l0aCB0aGUgQ2hhbmdlTG9nIGVudHJ5CgoyMDA2LTAyLTA4IDE3OjE2OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlIGFuZCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yLjIgZm9yIEFQSSBhZGRpdGlvbnMgKGFuZCAxIG1pZ3JhdGlvbiBvZiBnc3RfYmluX2ZpbmRfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZSBhbmQgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMi4yCgkgIGZvciBBUEkgYWRkaXRpb25zIChhbmQgMSBtaWdyYXRpb24gb2YgZ3N0X2Jpbl9maW5kX3VuY29ubmVjdGVkX3BhZCkKCjIwMDYtMDItMDggMTc6MTI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBSZWdpc3RlciBtdXNpY2JyYWlueiB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIG11c2ljYnJhaW56IHRhZ3MuCgoyMDA2LTAyLTA3IDE4OjMxOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgoyMDA2LTAyLTA3IDE4OjAxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZQoJICB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBidWcsIGFuZCBtYWtlcwoJICB0aGUgZHVtcCBvZiBvZmZzZXRzIGNvbXBhcmFibGUgdG8gb3RoZXIgdG9vbHMKCjIwMDYtMDItMDcgMTc6NTQ6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZyBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcKCSAgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgoyMDA2LTAyLTA3IDE2OjIzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2djb25mLmg6IFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiB0aGF0IG5vIGxvbmdlciBleGlzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICBSZW1vdmUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gdGhhdCBubyBsb25nZXIgZXhpc3RzLgoKMjAwNi0wMi0wNyAxMzozOTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IE1ha2Ugc2hvdXQyIHdvcmsgZm9yIG5vbiBvZ2cgc3RyZWFtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0Y2FwcyksIChnc3Rfc2hvdXQyc2VuZF9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHNob3V0MiB3b3JrIGZvciBub24gb2dnIHN0cmVhbXMKCjIwMDYtMDItMDYgMTc6MjY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBVcGRhdGVkIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLCAoZ3N0X211bHRpdWRwc2lua19jbGVhciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyksIChnc3RfbXVsdGl1ZHBzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgVXBkYXRlZCBkb2NzLgoJICBBZGRlZCBwcm9wZXJ0aWVzIGJ5dGVzLXNlcnZlZCwgYnl0ZXNfdG9fc2VydmUuCgkgIFBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2VzLAoJICBFbWl0IGNsaWVudCBhZGRlZCBzaWduYWwgdG9vLgoKMjAwNi0wMi0wNiAxNTo0MToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBIYW5kbGUgc2Vla2luZyBpbiBhIGxlc3MgYnJva2VuIHdheS4KCSAgRml4IEFNUiBjYXBzIHRvIG1hdGNoIHRoZSBBTVIgZGVjb2Rlci4KCSAgU2V0IGZpcnN0IHRpbWVzdGFtcCBvbiBBTVIgc2FtcGxlcyB0byAwIGZvciBub3cuCgkgIFJlbW92ZSBzb21lIFxuIGluIERFQlVHIHN0cmluZ3MuCgkgIFVzZSBfc2NhbGVfaW50IGZvciBtYXhpbXVtIHByZWNpc2lvbi4KCjIwMDYtMDItMDYgMTU6MzE6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBhZGRpbmcgZG9jcyBmb3IgbXVsdGl1ZHBzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgZG9jcyBmb3IgbXVsdGl1ZHBzaW5rCgoyMDA2LTAyLTA2IDE1OjI4OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBwZWFrIGJlbG93IGRlY2F5IGlzIG5vdCBuZWNlc3NhcmlseSBhbiBlcnJvciwgc28gZG9uJ3QgRVJST1IgbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIHBlYWsgYmVsb3cgZGVjYXkgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLCBzbyBkb24ndCBFUlJPUiBsb2cKCjIwMDYtMDItMDYgMTU6Mjc6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGN2cyB2ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY3ZzIHZlcnNpb25zCgoyMDA2LTAyLTA2IDE0OjI1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuKjogTWFrZSBzdXJlIHdlIHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGluIEJZVEVTIGZvcm1hdCBiZWZvcmUgc2VuZGluZyBidWZmZXJzICgjMzI4NTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX3Jlc2V0KSwKCSAgKGdzdF9lYm1sX3dyaXRlX2ZsdXNoX2NhY2hlKSwgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCksCgkgIChnc3RfZWJtbF93cml0ZV9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBNYWtlIHN1cmUgd2Ugc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgaW4gQllURVMgZm9ybWF0CgkgIGJlZm9yZSBzZW5kaW5nIGJ1ZmZlcnMgKCMzMjg1MzEpLgoKMjAwNi0wMi0wNiAxMjoxODo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBhc3MgdW5oYW5kbGVkIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiBqdXN0IGRyb3BwaW5nIHRoZW0gKCMzMjY0NDYpLiBVcGRhdGUgcXVlcnkgdHlwZSBhcnJheXMgaGVyZSBhbmQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9nZXRfcXVlcnlfdHlwZXMpLAoJICAoc3BlZXhfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9zcGVleGVuY19zaW5rX3F1ZXJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KToKCSAgUGFzcyB1bmhhbmRsZWQgcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIGp1c3QgZHJvcHBpbmcKCSAgdGhlbSAoIzMyNjQ0NikuIFVwZGF0ZSBxdWVyeSB0eXBlIGFycmF5cyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDItMDYgMTE6NTc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiBDb2xsZWN0cGFkcyBpbiBjb3JlIGdvdCBjaGFuZ2VkIGFuZCBub3cgYWxzbyBob2xkcyBhIHJlZmVyZW5jZSB0byBhbnkgcGFkIHRoYXQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpOgoJICBDb2xsZWN0cGFkcyBpbiBjb3JlIGdvdCBjaGFuZ2VkIGFuZCBub3cgYWxzbyBob2xkcyBhCgkgIHJlZmVyZW5jZSB0byBhbnkgcGFkIHRoYXQgaXMgcGFydCBvZiBpdC4gRml4IHJlZmNvdW50CgkgIGNoZWNrcyBpbiB0ZXN0IGNhc2UgYWNjb3JkaW5nbHkuCgoyMDA2LTAyLTA2IDExOjQxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOiBGaXggaW5jbHVkZSwgZm9yIG5vdyBHc3RUYWdEZW11eCBpcyBpbiB0aGUgYXBldGFnIGRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICBGaXggaW5jbHVkZSwgZm9yIG5vdyBHc3RUYWdEZW11eCBpcyBpbiB0aGUgYXBldGFnIGRpci4KCjIwMDYtMDItMDYgMTE6MzQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgY2RpbyBwbHVnaW4gdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgQWRkIGNkaW8gcGx1Z2luIHRvIGRvY3MuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICBUaGUgcGx1Z2luIGlzIGNhbGxlZCAnY2Rpbycgbm90ICdjZGRpbycuCgoyMDA2LTAyLTA2IDEwOjU2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIEFQRSB0YWcgZGVtdXhlciAoIzMyNTY0OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4Lmg6CgkgIEFkZCBBUEUgdGFnIGRlbXV4ZXIgKCMzMjU2NDkpLgoKMjAwNi0wMi0wNSAyMjoyMjo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvOiBJZ25vcmUgY2hhbmdpbmcgdGhlIEdDb25mIGtleSB0byAiIi4gSWdub3JlIEdDb25mIGtleSB1cGRhdGVzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIHRoZSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X3ZpZGVvX3NpbmspLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NyYyksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfdmlkZW9fc3JjKToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgSWdub3JlIGNoYW5naW5nIHRoZSBHQ29uZiBrZXkgdG8gIiIuIElnbm9yZSBHQ29uZiBrZXkgdXBkYXRlcwoJICB0aGF0IGRvbid0IGFjdHVhbGx5IGNoYW5nZSB0aGUgc3RyaW5nLgoJICBGb3Igbm93LCBpZ25vcmUgdGhlIEdDb25mIGtleSB3aGVuIHRoZSBzdGF0ZSBpcyA+IFJFQURZLCBhcwoJICBpdCBicmVha3Mgc3RyZWFtaW5nLiBTb21ldGltZSBpdCB3aWxsIGJlIG5pY2UgdG8gYnJpbmcgdGhlCgkgIG5ldyBzaW5rIG9ubGluZSBldmVuIG1pZC1zdHJlYW0sIGJ5IHNlbmRpbmcgTkVXU0VHTUVOVCBpbmZvCgkgIGFuZCBwb3NzaWJseSBwcmVyb2xsaW5nLgoJICAoRml4ZXMgIzMyNjczNikKCjIwMDYtMDItMDUgMjA6NDM6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBNYWtlIGdvb20gcmVlbnRyYW50IGJ5IG1vdmluZyBhbGwgaW1wb3J0YW50IHN0YXRpYyB2YXJpYWJsZXMgaW50byBpbnN0YW5jZSBzdHJ1Y3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyTmV3KSwgKGNhbGN1bGF0ZVBYYW5kUFkpLAoJICAoc2V0UGl4ZWxSR0IpLCAoc2V0UGl4ZWxSR0JfKSwgKGdldFBpeGVsUkdCKSwgKGdldFBpeGVsUkdCXyksCgkgICh6b29tRmlsdGVyU2V0UmVzb2x1dGlvbiksICh6b29tRmlsdGVyRGVzdHJveSksCgkgICh6b29tRmlsdGVyRmFzdFJHQiksIChwb2ludEZpbHRlcik6CgkgICogZ3N0L2dvb20vZmlsdGVycy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9pbml0KSwgKGdvb21fc2V0X3Jlc29sdXRpb24pLAoJICAoZ29vbV91cGRhdGUpLCAoZ29vbV9jbG9zZSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmg6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fZGlzcG9zZSksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6IChnb29tX2xpbmVzKToKCSAgKiBnc3QvZ29vbS9saW5lcy5oOgoJICBNYWtlIGdvb20gcmVlbnRyYW50IGJ5IG1vdmluZyBhbGwgaW1wb3J0YW50IHN0YXRpYyB2YXJpYWJsZXMKCSAgaW50byBpbnN0YW5jZSBzdHJ1Y3R1cmVzLgoJICAoRml4ZXMgIzMyOTE4MSkKCjIwMDYtMDItMDQgMTU6NDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFRoaXJkIGF0dGVtcHQsIHVzZSBnc3RfcGFkX2lzX2xpbmtlZCgpIHRoaXMgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgVGhpcmQgYXR0ZW1wdCwgdXNlIGdzdF9wYWRfaXNfbGlua2VkKCkgdGhpcyB0aW1lLgoKMjAwNi0wMi0wNCAxMzozMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQWRqdXN0IGZvciBkYXRhIGxlbmd0aCBpbmRpY2F0b3JzIHdoZW4gcGFyc2luZyAoRml4ZXMgIzMyOTgxMCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWRqdXN0IGZvciBkYXRhIGxlbmd0aCBpbmRpY2F0b3JzIHdoZW4gcGFyc2luZyAoRml4ZXMgIzMyOTgxMCkKCSAgRml4IHN0dXBpZCBidWcgcGFyc2luZyBVVEYtOCB0YWcgdGV4dC4KCSAgT3V0cHV0IHRhZyBzdHJpbmdzIHdpdGggbXVsdGlwbGUgZmllbGRzIGFzIG11bHRpcGxlIHRhZ3MsIHNvIHRoZQoJICBhcHAgZ2V0cyBhbGwgdGhlIGRhdGEuCgoyMDA2LTAyLTAzIDIwOjA1OjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgRml4ZWQgYSBidWcgYWRkIGluIGxhc3QgY29tbWl0LCB3aGVyZSBubyBldmVudCBpcyBzZW5kLiBUaGFua3MgVGltIHRvIHNob3cgbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBhIGJ1ZyBhZGQgaW4gbGFzdCBjb21taXQsIHdoZXJlIG5vIGV2ZW50IGlzIHNlbmQuIFRoYW5rcyBUaW0gdG8gc2hvdyBtZS4KCjIwMDYtMDItMDMgMTg6MDc6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIEp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCjIwMDYtMDItMDMgMTY6NTU6NDIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wMi0wMyAxMzowNjoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTmV2ZXIgb3V0cHV0IGEgdGFnIHdpdGggYSBudWxsIGNvbnRlbnRzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKGlkM3YyX2dlbnJlX3N0cmluZ190b190YWdsaXN0KSwKCSAgKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgTmV2ZXIgb3V0cHV0IGEgdGFnIHdpdGggYSBudWxsIGNvbnRlbnRzIHN0cmluZy4KCjIwMDYtMDItMDIgMjE6MDA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE9ubHkgcGF1c2UgaWYgYWxsIHBhZHMgYXJlIHVubGlua2VkIEFORCB3ZSd2ZSB0cmllZCB0byBzZW5kIGRhdGEgb24gYWxsIG9mIHRoZW0gYXQgbGVhc3Qgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpOgoJICBPbmx5IHBhdXNlIGlmIGFsbCBwYWRzIGFyZSB1bmxpbmtlZCBBTkQgd2UndmUgdHJpZWQgdG8gc2VuZCBkYXRhCgkgIG9uIGFsbCBvZiB0aGVtIGF0IGxlYXN0IG9uY2UuCgoyMDA2LTAyLTAyIDEyOjI5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIGxvb3AgZnVuY3Rpb24vdGFzayBwYXVzZSBpdHNlbGYgd2hlbiBhbGwgc291cmNlIHBhZHMgYXJlIHVubGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNYWtlIGxvb3AgZnVuY3Rpb24vdGFzayBwYXVzZSBpdHNlbGYgd2hlbiBhbGwgc291cmNlIHBhZHMgYXJlCgkgIHVubGlua2VkLgoKMjAwNi0wMi0wMiAxMDo0NzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZnVuY3Rpb25zIGZyb20gY29yZSB0byByZW5kZXIgYSBiaW4gZnJvbSBhIHN0cmluZy4gRml4ZXMgYnVpbGQuIFVwIHJlcXVpcmVtZW50cyB0byBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fZnJvbV9rZXkpOgoJICBVc2UgbmV3IGZ1bmN0aW9ucyBmcm9tIGNvcmUgdG8gcmVuZGVyIGEgYmluIGZyb20gYQoJICBzdHJpbmcuIEZpeGVzIGJ1aWxkLiBVcCByZXF1aXJlbWVudHMgdG8gY29yZSBDVlMuCgoyMDA2LTAyLTAxIDExOjAxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBEb24ndCBwdXNoIGJ1ZmZlcnMgaW50byB0aGUgYWRhcHRlciB0aGF0IHdlIGFyZSBnb2luZyB0byBwdXNoIGRvd25zdHJlYW0gYWdhaW4gd2l0aG91dCBmcmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgIERvbid0IHB1c2ggYnVmZmVycyBpbnRvIHRoZSBhZGFwdGVyIHRoYXQgd2UgYXJlIGdvaW5nIHRvCgkgIHB1c2ggZG93bnN0cmVhbSBhZ2FpbiB3aXRob3V0IGZyYW1pbmcgYW55d2F5LiBBbHNvLCB0aGUKCSAgYWRhcHRvciB0YWtlcyBvd25lcnNoaXAgb2YgYnVmZmVycyBwdXQgaW50byBpdCAoZml4ZXMKCSAgYXVwYXJzZSBwdXNoaW5nIGludmFsaWQgYnVmZmVycyBmb3IgLmF1IGZpbGVzIHdpdGgKCSAgQURQQ00gY29udGVudHMpLiBGaW5hbGx5LCBzZXQgY2FwcyBvbiBhbGwgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDYtMDEtMzAgMjM6MTM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogU29tZW9uZSBzaG91bGQga2ljayBteSBidXR0LiBSZW1vdmUgSUQzdjEgdGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YxKSwgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9pZDNkZW11eF9zZW5kX3RhZ19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjFfdGFnKToKCSAgU29tZW9uZSBzaG91bGQga2ljayBteSBidXR0LiBSZW1vdmUgSUQzdjEgdGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlCgkgIGZpbGUuCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZXMuIFNlbmQgdGhlIFRBRyBtZXNzYWdlIGFzIHNvb24gYXMgd2UgY29tcGxldGUKCSAgdHlwZWZpbmRpbmcsIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbCB3ZSBzZW5kIHRoZSBmaXJzdCBidWZmZXIuCgkgIERvd25zdHJlYW0gdGFnIGV2ZW50IGlzIHN0aWxsIHNlbnQgYmVmb3JlIHRoZSBmaXJzdCBidWZmZXIuCgoyMDA2LTAxLTI5IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZyBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3NldGNhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nCgkgIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBSZXdyaXRlIGEgYml0LCBtb3N0bHkgdG8gZml4IGZsb3cgbG9naWMgYW5kIHRvIG1ha2Ugc2Vla2luZyB3b3JrLgoJICBGaXggYnVmZmVyL2V2ZW50IHJlZmNvdW50aW5nLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiBBZGQKCSAgd2lkdGggb2YgMzIgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLiBVc2UgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wMS0yNyAxMjoxNzo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2LzogQ2FsbCBkdl9zZXRfZXJyb3JfbG9nIChkdl9kZWNvZGVyX3QgKiwgTlVMTCk7IGFmdGVyIGR2X2RlY29kZXJfbmV3IHRvIG5vdCBoYXZlIHdhcmluZ3MgZmxvb2Rpbmcgc3RkZXJyLiB0aGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTI3ICBKYW4gR2VyYmVyICA8akBib290bGFiLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYyAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2FsbCBkdl9zZXRfZXJyb3JfbG9nIChkdl9kZWNvZGVyX3QgKiwgTlVMTCk7IGFmdGVyIGR2X2RlY29kZXJfbmV3CgkgIHRvIG5vdCBoYXZlIHdhcmluZ3MgZmxvb2Rpbmcgc3RkZXJyLiB0aGlzIGlzIHRoZSBzdWdnZXN0ZWQgd2F5CgkgIGFsc28gdXNlZCBpbiBkdmdyYWIgYW5kIGtpbm8uICgjMzI4MzM2KQoKMjAwNi0wMS0yNyAwMTo0MzowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRnJlZSB0aGUgZGV2aWNlIG5hbWUgc3RyaW5nIHdoZW4gZmluYWxpc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19maW5hbGlzZSk6CgkgIEZyZWUgdGhlIGRldmljZSBuYW1lIHN0cmluZyB3aGVuIGZpbmFsaXNlZC4KCjIwMDYtMDEtMjYgMTY6MjM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgoyMDA2LTAxLTI1IDIyOjA1OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IHB1dCBmdW5jdGlvbiBjYWxscyBpbiBnX3JldHVybl9pZl9mYWlsKCkgc3RhdGVtZW50cywgb3IgdGhleSdsbCBiZSByZXBsYWNlZCB3aXRoIE5PLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3JlbW92ZV9zcmNwYWQpOgoJICBEb24ndCBwdXQgZnVuY3Rpb24gY2FsbHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpIHN0YXRlbWVudHMsCgkgIG9yIHRoZXknbGwgYmUgcmVwbGFjZWQgd2l0aCBOT09QcyBpZiBzb21lb25lIGNvbXBpbGVzIHdpdGgKCSAgR19ESVNBQkxFX0NIRUNLUyBkZWZpbmVkLgoKMjAwNi0wMS0yNSAyMDozMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIGNoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNi0wMS0yNSAxODoyMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTmV2ZXIgdHJ1c3QgQU5ZIGluZm9ybWF0aW9uIGVuY29kZWQgaW4gYSBtZWRpYSBmaWxlLCBlc3BlY2lhbGx5IHdoZW4gaXQncyBnaXZpbmcgeW91IHNpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIE5ldmVyIHRydXN0IEFOWSBpbmZvcm1hdGlvbiBlbmNvZGVkIGluIGEgbWVkaWEgZmlsZSwgZXNwZWNpYWxseQoJICB3aGVuIGl0J3MgZ2l2aW5nIHlvdSBzaXplcy4gKEZpeGVzICMzMjg0NTIpCgoyMDA2LTAxLTI0IDE4OjAzOjQ2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCB3cml0dGVuIGJ5IEthaSBWZWhtYW5lbiA8a2FpLnZlaG1hbmVuQG5va2lhLmNvbT4gYXBwbGllZC4gU2VlIGJ1ZyAjMzI1MTQ4LgoKMjAwNi0wMS0yNCAxMTo1ODo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgSWYgc2FtcGxlX3NpemUgaXMgYXZhaWxhYmxlLCB1c2UgdGhhdCBmb3IgdGhlIHNhbXBsZXMnIGR1cmF0aW9uIGluCgkgIHRoZSBpbmRleC4gVGhpcyBlbmFibGVzIHNpbmdsZSBmcmFtZSBzdHJlYW1zIHRvIHdvcmsgKGFuZCBJIGltYWdpbmUKCSAgZml4ZXMgc29tZSBvdGhlciBjYXNlcykuCgkgIFRlc3RlZCBvbiB0ZXN0c3VpdGUsIG5vIHJlZ3Jlc3Npb24uCgoyMDA2LTAxLTIzIDE4OjM5OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkZWQgcmVjb2duaXRpb24gb2YgUmVhbCBBdWRpbyBhbmQgVmlkZW8gc3RyZWFtcyBpbiBtYXRyb3NrYSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGRlZCByZWNvZ25pdGlvbiBvZiBSZWFsIEF1ZGlvIGFuZCBWaWRlbyBzdHJlYW1zIGluIG1hdHJvc2thIGRlbXV4ZXIuCgoyMDA2LTAxLTIzIDE1OjEwOjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6IF8gVlAzMSA6IHZpZGVvL3gtdnAzIF8gQVZESiA6IGltYWdlL2pwZWcgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOgoJICBfIFZQMzEgOiB2aWRlby94LXZwMwoJICBfIEFWREogOiBpbWFnZS9qcGVnCgkgIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZHYsIHN5c3RlbXN0cmVhbT0oYm9vbGVhbilmYWxzZQoJICBfIDB4NmQ3MzAwMTcgOiBhdWRpby94LWFkcGNtLCBsYXlvdXQ9KHN0cmluZylxdWlja3RpbWUKCjIwMDYtMDEtMjMgMTQ6MzI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlbW92ZSBlcnJhbnQgYnJlYWsgc3RhdGVtZW50LCBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgR0NDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgUmVtb3ZlIGVycmFudCBicmVhayBzdGF0ZW1lbnQsIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aAoJICBvbGRlciBHQ0MuCgoyMDA2LTAxLTIzIDEyOjA0OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWVudGlvbiB0aGF0IG15IGxhc3QgY29tbWl0IGZpeGVzICMzMjgyNDEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lbnRpb24gdGhhdCBteSBsYXN0IGNvbW1pdCBmaXhlcyAjMzI4MjQxCgoyMDA2LTAxLTIzIDExOjA2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3N1bmF1ZGlvLzogRXhwb3J0IGZ1bmN0aW9ucyB0aGF0IGFyZSBuZWVkZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUsIG1ha2VzIHRoZSBtaXhlciBhY3R1YWxseSB3b3JrOyBhZGp1c3QgbWFnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCk6CgkgIEV4cG9ydCBmdW5jdGlvbnMgdGhhdCBhcmUgbmVlZGVkIGluIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlLAoJICBtYWtlcyB0aGUgbWl4ZXIgYWN0dWFsbHkgd29yazsgYWRqdXN0IG1hZ2ljIG1pbmltdW0gYnVmZmVyLXRpbWUKCSAgdmFsdWUgZnJvbSAzbXMgdG8gNW1zIHRvIHdvcmsgYXJvdW5kIHN0dXR0ZXJpbmcgZHVyaW5nIG1wMwoJICBwbGF5YmFjayAoIzMyNzc2NSkuCgoyMDA2LTAxLTIzIDEwOjQ0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggcG9zc2libGUgZGVhZGxvY2sgaW4gbWF0cm9za2EgbXV4ZXIgKCMzMjc4MjUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBwb3NzaWJsZSBkZWFkbG9jayBpbiBtYXRyb3NrYSBtdXhlciAoIzMyNzgyNSkuCgoyMDA2LTAxLTIzIDA5OjU5OjAzICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBDODkgZml4ZXM6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgQzg5IGZpeGVzOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgYW5kCgkgIG1ha2UgZ2NjLTIuOXggaGFwcHkgKCMzMjgyNjQ7IHBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlcgoJICA8amVuc2dyIGF0IGdteCBkb3QgbmV0PikuCgoyMDA2LTAxLTIzIDA5OjIyOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IFJld3JpdGUgcGFyc2luZyBvZiB0ZXh0IHRhZ3MgdG8gaGFuZGxlIG11bHRpcGxlIE5VTEwgdGVybWluYXRlZCBzdHJpbmdzLiBQYXJzZSBudW1lcmljIGdlbnJlIHN0cmluZ3MgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKSwgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAoaWQzdjJfYXJlX2RpZ2l0cyksCgkgIChpZDN2Ml9nZW5yZV9zdHJpbmdfdG9fdGFnbGlzdCksIChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKSwgKGZyZWVfdGFnX3N0cmluZ3MpOgoJICBSZXdyaXRlIHBhcnNpbmcgb2YgdGV4dCB0YWdzIHRvIGhhbmRsZSBtdWx0aXBsZSBOVUxMIHRlcm1pbmF0ZWQKCSAgc3RyaW5ncy4gUGFyc2UgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIGFuZCBJRDN2MiB0eXBlCgkgICIoMykoNilBbHRlcm5hdGl2ZSIgc3R5bGUgZ2VucmUgc3RyaW5ncy4KCSAgUGFyc2UgZGF0ZXMgdGhhdCBhcmUgb25seSBZWVlZIG9yIFlZWVktbW0gZm9ybWF0LgoKMjAwNi0wMS0yMSAxMTo0Mzo1MyArMDAwMCAgRmFicml6aW8gPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgRml4IDhiaXQgY2FzZSAoIzMyNzEzMywgYmFzZWQgb24gcGF0Y2ggYnk6IEZhYnJpemlvCgkgIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoJICBBbHNvLCAiR19MSVRUTEVfRU5ESUFOIiBhbmQgIkdfQklHX0VORElBTiIgYXJlIG5vdAoJICB2YWxpZCBsaXRlcmFscyBmb3IgZW5kaWFubmVzcyBpbiBjYXBzIHN0cmluZ3MsCgkgIG9ubHkgIkxJVFRMRV9FTkRJQU4iIGFuZCAiQklHX0VORElBTiIgYXJlIHZhbGlkLgoKMjAwNi0wMS0yMCAxNTowNjoyOCArMDAwMCAgQ2hyaXN0b3BoIEJ1cmdoYXJkdCA8aGF3a2VzQHdlYi5kZT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSBsaWJvaWwsIG90aGVyd2lzZSBvdXIgb2lsIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCk6CgkgIERvbid0IGZvcmdldCB0byBpbml0aWFsaXplIGxpYm9pbCwgb3RoZXJ3aXNlIG91ciBvaWwgZnVuY3Rpb25zCgkgIHdpbGwgY3Jhc2ggKGZpeGVzICMzMjc4NzE7IHBhdGNoIGJ5OiBDaHJpc3RvcGggQnVyZ2hhcmR0CgkgIDxoYXdrZXMgYXQgd2ViIGRvdCBkZT4pLgoKMjAwNi0wMS0xOSAyMTo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgKGxhc3QgZW50cnkgbWF5IGhhdmUgYmVlbiBzbGlnaHRseSBtaXNsZWFkaW5nKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgKGxhc3QgZW50cnkgbWF5IGhhdmUgYmVlbiBzbGlnaHRseSBtaXNsZWFkaW5nKQoKMjAwNi0wMS0xOSAyMTowMDo1MCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgY29uZmlndXJlLmFjOiBqdXN0IGxpa2UgaW4gdGhlIGNvcmUgYW5kIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1aWxkIG9uIFNvbGFyaXMgKGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBsYWluIEFTX0xJQlRPT0xfVEFHUyBpbnN0ZWFkIG9mIEFTX0xJQlRPT0xfVEFHUyhbQ1hYXSksIGp1c3QKCSAgbGlrZSBpbiB0aGUgY29yZSBhbmQgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVpbGQgb24gU29sYXJpcyAoZml4ZXMKCSAgIzMyNjY4MzsgcGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPikKCjIwMDYtMDEtMTkgMDA6MTA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby86IEZpeCBidWlsZCBmb3IgbGliY2RpbyB2ZXJzaW9ucyA+PSA3NjsgZ2l2ZSBzbGlnaHRseSBsb3dlciByYW5rIHRoYW4gY2RwYXJhbm9pYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19nZXRfY2R0ZXh0KToKCSAgRml4IGJ1aWxkIGZvciBsaWJjZGlvIHZlcnNpb25zID49IDc2OyBnaXZlIHNsaWdodGx5IGxvd2VyIHJhbmsKCSAgdGhhbiBjZHBhcmFub2lhLgoKMjAwNi0wMS0xOCAxOTozMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbGliY2RpbyBjZGRhIHNvdXJjZSwgZm9ybWVybHkga25vd24gYXMgY2RkYXNyYywgbm93IGtub3duIGFzIGNkaW9jZGRhc3JjIChmaXhlcyAjMzIzMzI3KS4gU2hvdWxkIGFsc28gcmVhZCBDRC1URS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5oOgoJICBQb3J0IGxpYmNkaW8gY2RkYSBzb3VyY2UsIGZvcm1lcmx5IGtub3duIGFzIGNkZGFzcmMsIG5vdyBrbm93biBhcwoJICBjZGlvY2RkYXNyYyAoZml4ZXMgIzMyMzMyNykuIFNob3VsZCBhbHNvIHJlYWQgQ0QtVEVYVCBpZiBhdmFpbGFibGUsCgkgIGJ1dCB0aGF0J3Mgbm90IHRlc3RlZCAoZml4ZXMgIzMxNzY1OCkuCgoyMDA2LTAxLTE4IDE5OjA4OjA4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBjb252ZXJzaW9uIGZyb20gVElNRSB0byBCWVRFUyBmb3JtYXQgKGZpeGVzICMzMjY4NjQ7CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KToKCSAgRml4IGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIEJZVEVTIGZvcm1hdCAoZml4ZXMgIzMyNjg2NDsKCSAgcGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4pCgoyMDA2LTAxLTE4IDE4OjU0OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCjIwMDYtMDEtMTcgMTY6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlCgkgIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoKMjAwNi0wMS0xNiAxMDoyMzo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBsb3ZlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBsb3ZlCgoyMDA2LTAxLTE1IDIwOjIxOjQ4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBjb21waWxhdGlvbiBvZiBpZDNkZW11eCB3aGVuIHpsaWIgaXMgbm90IHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBGaXggY29tcGlsYXRpb24gb2YgaWQzZGVtdXggd2hlbiB6bGliIGlzIG5vdCBwcmVzZW50LgoJICAoRml4ZXMgIzMyNjYwMjsgcGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoKQoKMjAwNi0wMS0xNSAxNDoxMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvTWFrZWZpbGUuYW06IG90aGVyd2lzZSBidWlsZCB3aWxsIGZhaWwgZm9yIGZvbGtzIHdpdGggbGliZXNkIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeCAoIzMyNzAwOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgIEFkZCAkKEVTRF9DRkxBR1MpLCBvdGhlcndpc2UgYnVpbGQgd2lsbCBmYWlsIGZvciBmb2xrcwoJICB3aXRoIGxpYmVzZCBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXggKCMzMjcwMDkpLgoKMjAwNi0wMS0xMyAxOToyOToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCjIwMDYtMDEtMTMgMTk6MjU6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJICByZWxlYXNpbmcgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4xCgoyMDA2LTAxLTEzIDE4OjM3OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogZml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjE4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogV2ltIFRheW1hbnMKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgZml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjE4CgoyMDA2LTAxLTEzIDE4OjM1OjAwICswMDAwICBNaWtlIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjEyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTEzICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICBwYXRjaCBieTogTWlrZSBTbWl0aAoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9sZXZlbF9tZXNzYWdlX2FwcGVuZF9jaGFubmVsKToKCSAgRml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjEyCgoyMDA2LTAxLTExIDExOjM5OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogcHJlcmVsZWFzaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcHJlcmVsZWFzaW5nCgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmIucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDYtMDEtMTEgMTE6MDQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIENsb3NlcyAjMzI2NTI0CgoyMDA2LTAxLTEwIDEyOjM4OjU5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRG9uJ3QgbGVhayBmaWx0ZXIgYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF9kaXNwb3NlKToKCSAgRG9uJ3QgbGVhayBmaWx0ZXIgYXJyYXlzLgoKMjAwNi0wMS0wOSAxNzowNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgYWRkIFN1biBBdWRpbyBwbHVnaW4uIFZlcmlmaWVkIHRoYXQgbm90aGluZyBicmVha3MgYW5kIHRoYXQgbWFrZSBjaGVjayB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBTdW4gQXVkaW8gcGx1Z2luLiBWZXJpZmllZCB0aGF0IG5vdGhpbmcgYnJlYWtzIGFuZCB0aGF0IG1ha2UgY2hlY2sgd29ya3MuCgkgIERvbid0IHRoaW5rIHRoZSBkb2NzIGdldHMgcHJvcGVybHkgYnVpbHQgeWV0LCBidXQgSSBkb24ndCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRvIGVuYWJsZSB0aGF0LgoKMjAwNi0wMS0wNyAyMDowMTowOSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC86IEFsbG93IHVkcHNyYyBhbmQgZHludWRwc2luayB0byB0YWtlIGEgc29ja2ZkIGFzIGEgcGFyYW1ldGVyLiBGb3IgdWRwc3JjLCBvdmVycmlkZXMgdGhlIHBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wMS0wNyAgUGhpbGlwcGUgS2hhbGFmICA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBBbGxvdyB1ZHBzcmMgYW5kIGR5bnVkcHNpbmsgdG8gdGFrZSBhIHNvY2tmZCBhcyBhIHBhcmFtZXRlci4gRm9yIHVkcHNyYywKCSAgb3ZlcnJpZGVzIHRoZSBwb3J0IG9yIG11bHRpY2FzdCBwYXJhbWV0ZXJzLiBGaXhlcyBidWdzICMzMjMwMjEuCgoyMDA2LTAxLTA2IDE2OjI4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogQWRkIG5ldyBnY29uZmF1ZGlvc3JjIGFuZCBnY29uZnZpZGVvc3JjIGVsZW1lbnRzIChuZWVkZWQgZm9yIGdub21lLXNvdW5kLXJlY29yZGVyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGNiX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoY2JfdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIEFkZCBuZXcgZ2NvbmZhdWRpb3NyYyBhbmQgZ2NvbmZ2aWRlb3NyYyBlbGVtZW50cwoJICAobmVlZGVkIGZvciBnbm9tZS1zb3VuZC1yZWNvcmRlcikuCgoyMDA2LTAxLTA2IDExOjQ2OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IEFkZCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBmb3IgcHJvcGVyIGRlY29kZWJpbiBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBBZGQgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgZm9yIHByb3BlciBkZWNvZGViaW4gYmVoYXZpb3VyLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfY29tbWVudF9mcmFtZSksCgkgIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBGYWlsdXJlIHRvIGRlY29kZSBzb21lIHRhZ3MgaXMgbm90IGEgR1NUX0VSUk9SKCkgYnV0IGEKCSAgR1NUX1dBUk5JTkcoKQoJICBXaGVuIGl0ZXJhdGluZyBvdmVyIGEgY2h1bmsgb2YgdGV4dCwgY2hlY2sgdGhhdCB3ZSBoYXZlbid0IGdvbmUgdG9vCgkgIGZhci4KCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA2LTAxLTA1IDE3OjAzOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgoyMDA2LTAxLTA0IDE3OjI4OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvOiBGaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBGaXggbGVha3MuCgoyMDA2LTAxLTAyIDE5OjM4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBEb24ndCBnX2Fzc2VydCgpIHdoZXJlIHdlIHNob3VsZCBqdXN0IHJldHVybiBGQUxTRTsgcmVtb3ZlIHVubmVjZXNzYXJ5IGdfYXNzZXJ0KCk7IGluaXRpYWxpemUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSksCgkgIChnc3RfZmxhY19kZWNfY29udmVydF9zcmMpLCAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZ19hc3NlcnQoKSB3aGVyZSB3ZSBzaG91bGQganVzdCByZXR1cm4gRkFMU0U7IHJlbW92ZQoJICB1bm5lY2Vzc2FyeSBnX2Fzc2VydCgpOyBpbml0aWFsaXplIHNvbWUgZmllbGRzIHByb3Blcmx5IGluCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiAoZml4ZXMgIzMyNTUwNCkuIEFsc28sIHVzZQoJICBHU1RfREVCVUdfT0JKRUNUIGluIHR3byBtb3JlIHBsYWNlcy4KCjIwMDUtMTItMzAgMTU6NTE6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogYWxzbyByZW1vdmUgc21vb3Rod2F2ZSdzIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgYWxzbyByZW1vdmUgc21vb3Rod2F2ZSdzIE1ha2VmaWxlLmFtCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBmaXggcGx1Z2luIGRvY3MKCjIwMDUtMTItMzAgMTU6Mzk6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3Ntb290aHdhdmUvLmdpdGlnbm9yZToKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL1JFQURNRToKCSogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgd2VudCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgd2VudCBiYWQKCjIwMDUtMTItMzAgMTU6MzQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiBhZGRlZCBtaXNzaW5nIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBhZGRlZCBtaXNzaW5nIE1ha2VmaWxlLmFtCgoyMDA1LTEyLTMwIDE1OjI4OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBtb3ZlZCBsZXZlbC1leGFtcGxlIHRvIHRlc3RzL2V4YW1wbGVzL2xldmVsLWV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgbW92ZWQgbGV2ZWwtZXhhbXBsZSB0byB0ZXN0cy9leGFtcGxlcy9sZXZlbC1leGFtcGxlCgkgICogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL2RlbW8uYzogKG1haW4pOgoJICAqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9wbG90LmM6IChtYWluKToKCSAgc29tZSBpbml0aWFsIGZpeGVzCgoyMDA1LTEyLTI5IDE2OjM2OjE5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBUcmFjayBwYWNrZXRzIHNlbnQgcGVyIGNsaWVudCBpbiBhZGRpdGlvbiB0byBieXRlcyBzZW50OyBwcm92aWRlIHRoaXMgaW5mbyB0aHJvdWdoIGdldC1zdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBUcmFjayBwYWNrZXRzIHNlbnQgcGVyIGNsaWVudCBpbiBhZGRpdGlvbiB0byBieXRlcyBzZW50OyBwcm92aWRlCgkgIHRoaXMgaW5mbyB0aHJvdWdoIGdldC1zdGF0cyBzaWduYWwKCjIwMDUtMTItMjkgMTE6MjY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IENhbid0IHVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgb24gYSBHc3RBZGFwdGVyICgjMzI1MTkxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Rpc3Bvc2UpOgoJICBDYW4ndCB1c2UgZ3N0X29iamVjdF91bnJlZigpIG9uIGEgR3N0QWRhcHRlciAoIzMyNTE5MSkuCgoyMDA1LTEyLTI4IDE4OjU1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IElmIGEgYnJva2VuIHRhZyBoYXMgMCBieXRlcyBwYXlsb2FkLCBhdCBsZWFzdCBzdGlsbCBza2lwIHRoZSAxMCBieXRlIGhlYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICBJZiBhIGJyb2tlbiB0YWcgaGFzIDAgYnl0ZXMgcGF5bG9hZCwgYXQgbGVhc3Qgc3RpbGwgc2tpcAoJICB0aGUgMTAgYnl0ZSBoZWFkZXIKCjIwMDUtMTItMjIgMTU6MDA6NDEgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvOiBNYWtpbmcgdGhlc2UgZGVwYXlsb2FkZXJzIChIMjYzKyBhbmQgbXBlZzQgdmlkZW8pIGluaGVyaXQgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0yMiAgUGhpbGlwcGUgS2hhbGFmICA8YnVyZ2VyQHNwZWVkeS5vcmc+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIE1ha2luZyB0aGVzZSBkZXBheWxvYWRlcnMgKEgyNjMrIGFuZCBtcGVnNCB2aWRlbykgaW5oZXJpdCBmcm9tCgkgIFJ0cEJhc2VEZXBheWxvYWRlckNsYXNzLiBGaXhlcyBidWdzICMzMjM5MjIgYW5kICMzMjM5MDguCgoyMDA1LTEyLTIxIDE3OjE1OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuKjogUmVnZW5lcmF0ZSB0aGUgcGx1Z2luIGhpZWFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFJlZ2VuZXJhdGUgdGhlIHBsdWdpbiBoaWVhcmNoeS4KCjIwMDUtMTItMjEgMTU6MjQ6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGlkM2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0yMSAgSmFuIFNjaG1pZHQgIDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2lkM2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgaWQzZGVtdXguCgkgIERvbid0IGZhaWwgaWYgdGhlIGZpcnN0IGJ1ZmZlciBpcyBub3QgYXQgb2Zmc2V0IDAsIGp1c3QKCSAgYXR0ZW1wdCB0byB0eXBlZmluZCBhbmQgZG8gcGFzcyB0aHJvdWdoCgkgIFJlbmFtZSB0aGUgZ3N0X3R5cGUgZnVuY3Rpb24gZnJvbSBnc3RfZ3N0X2lkM2RlbXV4Li4KCjIwMDUtMTItMjAgMTI6NDQ6MjUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IENvbGxlY3Qgc3RhdGlzdGljczsgcmV0dXJuIHRoZW0gZnJvbSBnZXRfc3RhdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQ29sbGVjdCBzdGF0aXN0aWNzOyByZXR1cm4gdGhlbSBmcm9tIGdldF9zdGF0cy4KCjIwMDUtMTItMTkgMTU6NDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFN0dXBpZCBzaWduZWRuZXNzIGlzc3VlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBTdHVwaWQgc2lnbmVkbmVzcyBpc3N1ZS4uLgoKMjAwNS0xMi0xOSAxNToxOTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NoYWluKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKToKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgR2V0IHNvbWV0aGluZyBmcm9tIHRoZSBwZWVyIHBhZCBvbmNlIHdlJ3ZlIGNoZWNrZWQgaWYgdGhlcmUgaXMgYSBwZWVyIHBhZC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBDb3VwbGUgb2YgZml4ZXMKCjIwMDUtMTItMTkgMTU6MDY6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENvbnN0cnVjdCBpbmRleCBmb3IgaW5kZXhsZXNzIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgQ29uc3RydWN0IGluZGV4IGZvciBpbmRleGxlc3MgZmlsZXMuCgkgIE1ha2Ugc3VyZSBwYWQvYnVmZmVycyBhcmUgY29ycmVjdGx5IHJlc2V0IHRvIE5VTEwgb25jZSB3ZSBkb24ndCBuZWVkCgkgIHRoZW0gYW55bW9yZSwgZWxzZSB3ZSBnZXQgbG92ZWx5IHNlZ2ZhdWx0cy9hc3NlcnRpb25zLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBZZXMsIHlvdSBjYW4gaGF2ZSA5NktIeiBhdWRpbyBhbmQgd21hIGluIHdhdiA6KAoKMjAwNS0xMi0xOCAxNToxNDo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBvcHRpb25hbCBkZXBlbmRlbmN5IG9uIHpsaWIgZm9yIGlkM2RlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIG9wdGlvbmFsIGRlcGVuZGVuY3kgb24gemxpYiBmb3IgaWQzZGVtdXgKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfZ3N0X2lkM2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pZDNkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X3Jlc2V0KSwgKGdzdF9pZDNkZW11eF9pbml0KSwgKGdzdF9pZDNkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pZDNkZW11eF9yZW1vdmVfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksIChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfaWQzZGVtdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF9pZDNkZW11eF9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjEpLCAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjIpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2lkM2RlbXV4X3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9pZDNkZW11eF9zcmNfY2hlY2tnZXRyYW5nZSksIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSksCgkgIChnc3RfaWQzZGVtdXhfc3JjX2dldHJhbmdlKSwgKGdzdF9pZDNkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2lkM2RlbXV4X3BhZF9xdWVyeSksIChnc3RfaWQzZGVtdXhfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKHNpbXBsZV9maW5kX3BlZWspLCAoc2ltcGxlX2ZpbmRfc3VnZ2VzdCksCgkgIChnc3RfaWQzZGVtdXhfZG9fdHlwZWZpbmQpLCAoZ3N0X2lkM2RlbXV4X3NlbmRfdGFnX2V2ZW50KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAocmVhZF9zeW5jaF91aW50KSwKCSAgKGlkM2RlbXV4X3JlYWRfaWQzdjFfdGFnKSwgKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lX2hkcl9zaXplKSwgKGNvbnZlcnRfZmlkX3RvX3YyNDApLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtZnJhbWVzLnR4dDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKSwgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFsbCBuZXcgTEdQTCBpZDMgZGVtdXhlci4gQ2FuIHVzZSB6bGliIGZvciBjb21wcmVzc2VkIGZyYW1lcywKCSAgb3RoZXJ3aXNlIGl0IGRpc2NhcmRzIHRoZW0uIFdvcmtzIG9uIG15IHRlc3QgZmlsZXMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfbG9vcCk6CgkgIERvbid0IHNlbmQgRU9TIHRvIGEgbm9uLWV4aXN0aW5nIHNyY3BhZAoJICBUaGUgZGVidWcgY2F0ZWdvcnkgY2FuIGJlIHN0YXRpYwoKMjAwNS0xMi0xNyAxNzo0ODozOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOiBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCB2ZXJ0aWNhbCBzeW5jIGFuZAoJICBjb2xvciBiYWxhbmNlIGludGVyZmFjZS4KCjIwMDUtMTItMTYgMjE6NTc6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX29wZW5fYXVkaW8pOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfcHJlcGFyZSk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoKMjAwNS0xMi0xNiAxOTozMjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVc2UgR3N0U2VnbWVudCB0byBpbXBsZW1lbnQgbW9yZSBzZWVraW5nIGZlYXR1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfb3RoZXIpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVc2UgR3N0U2VnbWVudCB0byBpbXBsZW1lbnQgbW9yZSBzZWVraW5nIGZlYXR1cmVzLgoKMjAwNS0xMi0xNiAxMjoyNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgoyMDA1LTEyLTE2IDEwOjEyOjQ5ICswMDAwICBCZW5qYW1pbiBQaW5lYXUgPGJlbi5waW5lYXVAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQWRkIDxuZXRpbmV0L2luLmg+IGluY2x1ZGUgYW5kIG1vdmUgPGFycGEvaW5ldC5oPiBpbmNsdWRlIHRvIG1ha2UgdGhpbmdzIHdvcmsgb24gT3BlbkJTRCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIEFkZCA8bmV0aW5ldC9pbi5oPiBpbmNsdWRlIGFuZCBtb3ZlIDxhcnBhL2luZXQuaD4gaW5jbHVkZQoJICB0byBtYWtlIHRoaW5ncyB3b3JrIG9uIE9wZW5CU0QgYXMgd2VsbCAoZml4ZXMgIzMyMzcxNzsKCSAgcGF0Y2ggYnk6IEJlbmphbWluIFBpbmVhdSkKCjIwMDUtMTItMTYgMDk6NTk6MjEgKzAwMDAgIGdjb2NhdHJlQGdtYWlsLmNvbSA8Z2NvY2F0cmVAZ21haWwuY29tPgoKCSAgZXh0L3dhdnBhY2svOiBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlCgkgIGNhcHMgKGZpeGVzICMzMjI5NzM7IHBhdGNoIGJ5OiBnY29jYXRyZUBnbWFpbC5jb20pLiBBbHNvCgkgIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZ29uZSBpbiAwLjEwLgoKMjAwNS0xMi0xNCAyMDowNTo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBTZXQgY2xvY2sgcmF0ZSB0byBiZSBmaXhlZCBpbiA4MDAwLiBJdCBmaXhlcyBidWcgIzMyNDAxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldCBjbG9jayByYXRlIHRvIGJlIGZpeGVkIGluIDgwMDAuIEl0IGZpeGVzIGJ1ZyAjMzI0MDEyLgoKMjAwNS0xMi0xNCAxODowNzoxNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC86IEZpeGVkIHBheWxvYWQgcmFuZ2UgaW4gcGF5bG9kZXIgY2Fwcy4gUmVtb3ZlZCBwYXlsb2FkIHJhbmdlIGNvbXBsZXRseSBmcm9tIGRlcGF5bG9hZGVycyBhcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNCAgUGhpbGlwcGUgS2hhbGFmICA8YnVyZ2VyQHNwZWVkeS5vcmc+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL1JFQURNRToKCSAgRml4ZWQgcGF5bG9hZCByYW5nZSBpbiBwYXlsb2RlciBjYXBzLiBSZW1vdmVkIHBheWxvYWQgcmFuZ2UgY29tcGxldGx5IGZyb20KCSAgZGVwYXlsb2FkZXJzIGFzIHRoZXkgZG9uJ3QgcmVxdWlyZSBwYXlsb2FkIHR5cGUgaW4gdGhlaXIgY2Fwcy4gSW4gZWZmZWN0LAoJICB0aGVyZSBpc24ndCBhbnkgc3BlY2lmaWMgcGF5bG9hZCB0eXBlIGZvciBhbnkgZ2l2ZW4gY29kZWMsIG9ubHkgc3VnZ2VzdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjMzI0MDExLgoKMjAwNS0xMi0xMyAyMTo1ODo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IENvZGUgY2xlYW51cCBhbmQgcmUtZW5hYmxpbmcgcXVldWVkIHRpbWUgdmFsaWRpdHkgY2hlY2sgZm9yIGNvcnJlY3QgRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOiBDb2RlIGNsZWFudXAgYW5kIHJlLWVuYWJsaW5nCgkgIHF1ZXVlZCB0aW1lIHZhbGlkaXR5IGNoZWNrIGZvciBjb3JyZWN0IEVPUyBoYW5kbGluZy4KCjIwMDUtMTItMTMgMTc6MTg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBhbmQgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGFuZCBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMi0xMyAxMDo0NTowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IElmIHRoZSBzcGVlZCBvZiB0aGUgZmlsZSBpcyBudWxsIGluIHRoZSBoZWFkZXIsIHNldCB0aGUgZnJhbWVfdGltZSB0byB0aGUgZGVmYXVsdCBzZXR0aW5nIG9mIEdTVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgIElmIHRoZSBzcGVlZCBvZiB0aGUgZmlsZSBpcyBudWxsIGluIHRoZSBoZWFkZXIsIHNldCB0aGUgZnJhbWVfdGltZSB0byB0aGUgZGVmYXVsdAoJICBzZXR0aW5nIG9mIEdTVF9TRUNPTkQgLyA3MC4gV2hpY2ggaXMgdGhlIGRlZmF1bHQgZnJhbWVfZGVsYXkgZm9yIC5mbGkgZmlsZXMgYXMKCSAgc3RhdGVkIGluIHRoaXMgZG9jdW1lbnQgOiBodHRwOi8vd3d3LmNvbXB1cGhhc2UuY29tL2ZsaWMuaHRtCgkgIFdvdWxkIGJlIG5pY2UgdG8gaGF2ZSB0aGUgdGltZSBjb252ZXJzaW9uIGRvbmUgcHJvcGVybHkgdG9vCgkgIChkdXJhdGlvbiA9IGZseGgtPmZyYW1lcyAqIGZseGRlYy0+ZnJhbWVfdGltZSkKCjIwMDUtMTItMTIgMjI6Mjk6MzQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkaW5nIGRvY3VtZW50YXRpb24gZm9yIHZpZGVvbWl4ZXIgb24gbXkgd2F5IHdpdGggYSBmdW5ueSBzYW1wbGUgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEFkZGluZwoJICBkb2N1bWVudGF0aW9uIGZvciB2aWRlb21peGVyIG9uIG15IHdheSB3aXRoIGEgZnVubnkgc2FtcGxlCgkgIHBpcGVsaW5lLgoKMjAwNS0xMi0xMiAyMTo0MzowMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBjYXBzIG5lZ290aWF0aW9uLiAoIzMyMzg5NikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBGaXggY2FwcyBuZWdvdGlhdGlvbi4gKCMzMjM4OTYpCgoyMDA1LTEyLTEyIDE4OjE0OjU4ICswMDAwICBBcndlZCB2LiBNZXJrYXR6IDx2Lm1lcmthdHpAZ214Lm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFNldCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gYXVkaW8gbGFjZXMsIGZpeGVzIHBsYXliYWNrIG9mIG1wMyBmcm9tIG1hdHJvc2thLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0IGNvcnJlY3QgdGltZXN0YW1wcyBvbiBhdWRpbyBsYWNlcywgZml4ZXMgcGxheWJhY2sgb2YgbXAzIGZyb20gbWF0cm9za2EuCgoyMDA1LTEyLTEyIDEwOjQwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9sb29wKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19zcmNfcXVlcnkpLCAoZ3N0X21tc19jcmVhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfdmlkZW9fbGluayksCgkgIChnc3Rfc3dmZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGliLTIuNiB1c2Vycy4KCjIwMDUtMTItMTIgMTA6MzA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLio6IFVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgZm9yIEdzdE9iamVjdHMgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpIGFuZCBmaXggYSBtZW0gbGVhayBpbiBhIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVfcGFyc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfZGlzcG9zZSksIChnc3RfYXVfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2F1X3BhcnNlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBVc2UgZ3N0X29iamVjdF91bnJlZigpIGZvciBHc3RPYmplY3RzIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSBhbmQgZml4IGEgbWVtIGxlYWsgaW4gYSBkZWJ1ZwoJICBzdGF0ZW1lbnQ7IHdoaWxlIHdlJ3JlIGF0IGl0LCBhbHNvIGJvcmdpZnksIHVzZQoJICBib2lsZXJwbGF0ZSBtYWNyb3MgYW5kIGNsZWFuIHVwIGEgbGl0dGxlIGJpdC4KCjIwMDUtMTItMTEgMjA6Mjc6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IEFkZGVkIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfZ2V0cmFuZ2UpLAoJICAoZ3N0X2VmZW5jZV9jaGVja2dldHJhbmdlKSwgKGdzdF9lZmVuY2VfYWN0aXZhdGVfc3JjX3B1bGwpOgoJICBBZGRlZCBwdWxsIG1vZGUuCgoyMDA1LTEyLTExIDE5OjI1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIGF1ZGlvdGVzdHNyYyBpbnN0ZWFkIG9mIHNpbmVzcmMgKCMzMjM3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICAqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgVXNlIGF1ZGlvdGVzdHNyYyBpbnN0ZWFkIG9mIHNpbmVzcmMgKCMzMjM3OTgpLgoKMjAwNS0xMi0xMSAxNzo1MDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IG1vcmUgZGVidWctZnVuYy1wdHIgdXNhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCk6CgkgIG1vcmUgZGVidWctZnVuYy1wdHIgdXNhZ2UKCjIwMDUtMTItMTEgMTY6NDM6NDIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgTm93IGZseGRlYyB3b3JrcyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgZmx4ZGVjIHdvcmtzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYXMgd2VsbC4KCjIwMDUtMTItMTEgMTY6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IE1ha2Ugc3VyZSBHU1RfQlVGRkVSX0RBVEEgaXMgc2V0IG9uIGZlbmNlZCBjb3BpZWQgYnVmZmVyczsgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2NoYWluKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpOgoJICBNYWtlIHN1cmUgR1NUX0JVRkZFUl9EQVRBIGlzIHNldCBvbiBmZW5jZWQgY29waWVkIGJ1ZmZlcnM7IGZpeAoJICBHU1RfREVCVUcgY3Jhc2hlciB3aGVyZSBHU1RfVElNRV9GT1JNQVQgd2FzIG5vdCB1c2VkIGluCgkgIGNvbmp1bmN0aW9uIHdpdGggR1NUX1RJTUVfQVJHUy4gQWxzbywgZG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzCgkgIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHBhZCBmdW5jdGlvbnMuCgoyMDA1LTEyLTEwIDIwOjI2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBSZXdyaXRlIGZsYWNkZWMgYSBiaXQsIHNvIHRoYXQgZXZlbiBzZWVraW5nIG1pZ2h0IHdvcmsgbm93LiBNb3N0IGltcG9ydGFudGx5LCBkb24ndCBhY3QgdXBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNfZGVjX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfZW9mKSwgKGdzdF9mbGFjX2RlY193cml0ZSksIChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfY29udmVydF9zcmMpLCAoZ3N0X2ZsYWNfZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksIChnc3RfZmxhY19kZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfZmxhY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgUmV3cml0ZSBmbGFjZGVjIGEgYml0LCBzbyB0aGF0IGV2ZW4gc2Vla2luZyBtaWdodCB3b3JrIG5vdy4gTW9zdAoJICBpbXBvcnRhbnRseSwgZG9uJ3QgYWN0IHVwb24gYW55IGZsb3cgcmV0dXJuIHZhbHVlcyB3ZSBnZXQsIGp1c3QgdGVsbAoJICB0aGUgZGVjb2RlciBldmVyeXRoaW5nJ3MgZGFuZHkgYW5kIGFjdCBvbiB0aGUgZmxvdyByZXR1cm4gdmFsdWVzCgkgIGxhdGVyIG9uIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBXZSBkb24ndCB3YW50IHRvIG1lc3MgdXAgdGhlIGludGVybmFsCgkgIGRlY29kZXIgc3RhdGUgZm9yIG5vbi1mYXRhbCB0aGluZ3MgbGlrZSBmbHVzaGluZyBwYWRzIGV0Yy4gT3RoZXIKCSAgdGhhbiB0aGF0LCB1c2UgR3N0U2VnbWVudCAoc2VnbWVudCBzZWVrcyBkb24ndCB3b3JrIHlldCB0aG91Z2gsIGJ1dAoJICBzaG91bGQgYmUgZWFzeSB0byBhZGQpLCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBkcm9wIHRoZSBzdXBlcmZsdW91cwoJICAnZmxhY2RlYzonIGZyb20gZGVidWcgbWVzc2FnZXMsIHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50LCBhbmQKCSAgbG90cyBvZiBvdGhlciB0aGluZ3MuCgoyMDA1LTEyLTEwIDE0OjU3OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgY29tbWVudCBpbiBPU1MgaW5jbHVkZXMgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGNvbW1lbnQgaW4gT1NTIGluY2x1ZGVzIGNoZWNrLgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgKiBzeXMvb3NzL29zc19wcm9iZS5jOgoJICBEb24ndCBhc3N1bWUgdGhlIE9TUyBzb3VuZGNhcmQuaCBpbmNsdWRlIGlzIGFsd2F5cyBpbgoJICB0aGUgc3lzLyBkaXJlY3RvcnkuIEluc3RlYWQsIHVzZSB0aGUgZXhpc3RpbmcgZGVmaW5lcwoJICBmcm9tIGNvbmZpZy5oIHRvIGluY2x1ZGUgdGhlIHJpZ2h0IGZpbGUuIEZpeGVzCgkgIGNvbXBpbGF0aW9uIG9uIE9wZW5CU0QgMy44ICgjMzIzNzE4KS4KCjIwMDUtMTItMDkgMTk6NTE6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBib3JnaWZ5IGFuZCBmaXggdXAgZG9jdW1lbnRhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBhbmQgZml4IHVwIGRvY3VtZW50YXRpb24KCjIwMDUtMTItMDkgMTU6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzCgkgIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIGVycm9yaW5nLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIGUuZy4ganBlZyBzdHJlYW1zIHdpdGggMCBkdXJhdGlvbiBmcmFtZXMgYXMgaGF2aW5nIDAgZnJhbWVyYXRlLgoJICBEZWJ1ZyBmaXhlcy4gU29tZSA2NCBiaXQgdmFyaWFibGUgZml4ZXMKCjIwMDUtMTItMDkgMTE6MTI6NDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWNjZXB0IGEgd2lkZXIgcmFuZ2Ugb2YgZmxhYyBmaWxlcywgbW9yZSBjbG9zZWx5IG1hdGNoaW5nIGZsYWMgc3AKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAocmF3X2NhcHNfZmFjdG9yeSksIChnc3RfZmxhY2RlY193cml0ZSk6CgkgIEFjY2VwdCBhIHdpZGVyIHJhbmdlIG9mIGZsYWMgZmlsZXMsIG1vcmUgY2xvc2VseSBtYXRjaGluZyBmbGFjIHNwCgoyMDA1LTEyLTA4IDE2OjI3OjEyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG11bHRpcGFydCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtdWx0aXBhcnQgZWxlbWVudHMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IEZpeCBmbGFjLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBBZGQgZG9jcy4KCjIwMDUtMTItMDcgMTE6NDY6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1lbWxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBNZW1sZWFrIGZpeGVzLgoJICBTZW5kIG91dCBFT1MgZm9yIHZhbGlkIHJlYXNvbnMgKGNvdWxkbid0IHB1bGxfcmFuZ2UoKSBmcm9tIHVwc3RyZWFtCgkgIGZvciBleGFtcGxlKS4KCjIwMDUtMTItMDcgMTE6NDA6NDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1lbWxlYWsgYW5kIGNyYXNoZXIgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICBNZW1sZWFrIGFuZCBjcmFzaGVyIGZpeGVzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBNZW1sZWFrIGZpeGVzCgoyMDA1LTEyLTA2IDE5OjU1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0NDo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJKiBleHQvZXNkL2VzZHNpbmsuaDoKCSogZXh0L2ZsYWMvZmxhY19jb21wYXQuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkqIGV4dC9nY29uZi9nY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSogZXh0L2pwZWcvc21va2Vmb3JtYXQuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5jOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJKiBnc3QvcnRzcC9ydHNwdXJsLmM6CgkqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC9zbXB0ZS9wYWludC5oOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvcmlmZi5oOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNSAxODoxMjowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjEwLjAgPT09CgoyMDA1LTEyLTA1IDE4OjAzOjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDE4OjAxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxNjoyMTowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTItMDUgMTU6MDg6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDUtMTItMDUgMTM6MDQ6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6IChnc3RfeGluZV9pbnB1dF9nZXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2NoYWluKToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMzowMzowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTI6MjM6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczogUmVtb3ZlIGFyZ3MgZm9yIHBsdWdpbnMgdGhhdCBhcmVuJ3QgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGFyZ3MgZm9yIHBsdWdpbnMgdGhhdCBhcmVuJ3QgaW4gLWdvb2QuCgoyMDA1LTEyLTA0IDIyOjI2OjA3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHJlbW92ZSBwYW5nbyBwbHVnaW4gYXMgaXRzIGdvbmUgaW50byBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgcGFuZ28gcGx1Z2luIGFzIGl0cyBnb25lIGludG8gYmFzZQoKMjAwNS0xMi0wMyAxODo1MTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucwoKMjAwNS0xMi0wMyAxODo1MDoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJICByZW1vdmUgZmRzcmMgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGZkc3JjIGRvY3MKCjIwMDUtMTItMDEgMTk6MTg6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjcgPT09CgoyMDA1LTEyLTAxIDE5OjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTEyLTAxIDE5OjEzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTItMDEgMTc6NTM6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTItMDEgMTU6MzQ6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgYWRkIG11bHRpcGFydCBwbHVnaW4gdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG11bHRpcGFydCBwbHVnaW4gdG8gZG9jcwoKMjAwNS0xMi0wMSAxNToyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5oOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmg6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuaDoKCSAgbW92ZSBwYW5nbyB0byBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHBhbmdvIHRvIGJhc2UKCjIwMDUtMTItMDEgMTQ6Mzk6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC86IHBhcnNlcnMgYXJlIGRlcGF5ZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSAgcGFyc2VycyBhcmUgZGVwYXllcnMKCjIwMDUtMTItMDEgMTQ6MzA6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIERvIGJ1cmdlcidzIHJlbmFtZSBmb3IgcnRwIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRG8gYnVyZ2VyJ3MgcmVuYW1lIGZvciBydHAgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgoyMDA1LTExLTMwIDE5OjAyOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2LzogRml4IHNlZWtpbmcgaW4gZHZkZW11eCBhZ2FpbiwgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBGaXggc2Vla2luZyBpbiBkdmRlbXV4IGFnYWluLCBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA1LTExLTMwIDE4OjQ4OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBmaXggdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0ZXN0cwoKMjAwNS0xMS0zMCAxODo0MDoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIHRlc3RzIHN1YmRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRlc3RzIHN1YmRpcgoKMjAwNS0xMS0zMCAxODozNjowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYWRkIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgTWFrZWZpbGUuYW0KCjIwMDUtMTEtMzAgMTg6Mjg6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBQT1JURURfMDk6CgkgICogZG9jcy9yYW5kb20vUE9SVEVEXzA5OgoJICBtb3ZlCgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIGFkZAoJICAqIHdpbjMyL2dzdC5zbG46CgkgIHJlbW92ZQoKMjAwNS0xMS0zMCAxODoyNDowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay8uZ2l0aWdub3JlOgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogY29uZmlndXJlLmFjOgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiBleGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIGV4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIGV4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiBleGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBtb3ZlIHVuZGVyIHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHVuZGVyIHRlc3RzCgoyMDA1LTExLTMwIDE2OjU3OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoKMjAwNS0xMS0zMCAxNDo1MzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLio6IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCksIChyZXNpemVfYml0bWFwKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9yZW5kZXJfdGV4dCksIChnc3RfdGV4dF9yZW5kZXJfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9yZW5kZXJfZml4YXRlX2NhcHMpLCAoZ3N0X3RleHRfcmVuZGVyZXJfYml0bWFwX3RvX2F5dXYpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2NoYWluKSwgKGdzdF90ZXh0X3JlbmRlcl9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9yZW5kZXJfaW5pdCksIChnc3RfdGV4dF9yZW5kZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5oOgoJICBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDUtMTEtMzAgMTM6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IHBhbmdvLWJhc2VkIHRleHRvdmVybGF5LCB0aW1lb3ZlcmxheSBhbmQgdGV4dHJlbmRlciB0byAwLjkgYW5kIGFkZCBiYWNrZ3JvdW5kIHNoYWRpbmcgYW5kIHRleHQgd3JhcHBpbmcgbW9kZXMuIE0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiAoZ3N0X2Nsb2NrX292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9jbG9ja19vdmVybGF5X3JlbmRlcl90aW1lKSwgKGdzdF9jbG9ja19vdmVybGF5X2dldF90ZXh0KSwKCSAgKGdzdF9jbG9ja19vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X2Nsb2NrX292ZXJsYXlfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5oOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9nZXRfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV91cGRhdGVfd3JhcF9tb2RlKSwgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF90ZXh0X292ZXJsYXlfZ2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NoYWRlX3kpLCAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0X3l1djQyMCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3Jlc2l6ZV9iaXRtYXApLCAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3B1c2hfZnJhbWUpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfdGltZV9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltZV9vdmVybGF5X3JlbmRlcl90aW1lKSwgKGdzdF90aW1lX292ZXJsYXlfZ2V0X3RleHQpLAoJICAoZ3N0X3RpbWVfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90aW1lX292ZXJsYXlfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIFBvcnQgcGFuZ28tYmFzZWQgdGV4dG92ZXJsYXksIHRpbWVvdmVybGF5IGFuZCB0ZXh0cmVuZGVyIHRvIDAuOQoJICBhbmQgYWRkIGJhY2tncm91bmQgc2hhZGluZyBhbmQgdGV4dCB3cmFwcGluZyBtb2Rlcy4gTWFrZQoJICB0aW1vdmVybGF5IGRlcml2ZSBmcm9tIHRleHRvdmVybGF5LiBBbHNvIGFkZCBuZXcgY2xvY2tvdmVybGF5CgkgIGVsZW1lbnQuCgoyMDA1LTExLTMwIDExOjEwOjAxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC91ZHAvTWFrZWZpbGUuYW06IE1vdmVkIHRvIG5ldGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMzAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOiBNb3ZlZCB0byBuZXRidWZmZXIuCgoyMDA1LTExLTMwIDEwOjE4OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFBvcnRlZCBtdWx0aXBhcnQgbXV4L2RlbXV4IHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMzAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogUE9SVEVEX085OgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9pbml0KSwgKGdzdF9tdWx0aXBhcnRfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3Npbmtjb25uZWN0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6IFBvcnRlZCBtdWx0aXBhcnQgbXV4L2RlbXV4IHRvCgkgIDAuOS4KCjIwMDUtMTEtMzAgMDg6MjY6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogdXBkYXRlIGZvciBzeW1ib2xzIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdHlwZSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2ZsaXBfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdXBkYXRlIGZvciBzeW1ib2xzIGNoYW5nZQoKMjAwNS0xMS0yOSAxNzo0NjowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvdWRwLzogdGhlIG9sZCBnc3RuZXQgbGliIHdhcyByZW5hbWVkIGdzdG5ldGJ1ZmZlciAoIzMyMjI1NykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdGhlIG9sZCBnc3RuZXQgbGliIHdhcyByZW5hbWVkIGdzdG5ldGJ1ZmZlciAoIzMyMjI1NykKCjIwMDUtMTEtMjkgMTU6NDI6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQWN0dWFsbHkgcmVuZGVyIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICBBY3R1YWxseSByZW5kZXIgdGhlIHRleHQgZnJvbSB0aGUgdGV4dCBwYWQuCgoyMDA1LTExLTI5IDE0OjQ5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlYnVnLzogVXBkYXRlIGZvciBHc3RCYXNlVHJhbnNmb3JtIGV2ZW50IHZpcnR1YWwgbWV0aG9kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6IChnc3RfbmF2c2Vla19ldmVudCk6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2V2ZW50KToKCSAgVXBkYXRlIGZvciBHc3RCYXNlVHJhbnNmb3JtIGV2ZW50IHZpcnR1YWwgbWV0aG9kCgoyMDA1LTExLTI5IDEwOjU1OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9jYWlyby9NYWtlZmlsZS5hbTogbm8gbmVlZCB0byBsaW5rIHRvIHZpZGVvZmlsdGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI5ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgbm8gbmVlZCB0byBsaW5rIHRvIHZpZGVvZmlsdGVyCgoyMDA1LTExLTI5IDEwOjQ2OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgcmVtb3ZlIHRoZSB2aWRlb2ZpbHRlciBsaWJyYXJ5IGFuZCBsaW5rIHRvIHRoZSBvbmUgaW4gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHRoZSB2aWRlb2ZpbHRlciBsaWJyYXJ5IGFuZCBsaW5rIHRvIHRoZSBvbmUgaW4gYmFzZQoKMjAwNS0xMS0yOSAwMTozMDo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICBib3JnaWZ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5CgoyMDA1LTExLTI4IDE3OjMxOjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2VsZXNzIGNoZWNrIG5vdyB3ZSdyZSBzZXR0aW5nIHRoZSBjdXJyZW50IGVudHJ5IGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBVc2VsZXNzIGNoZWNrIG5vdyB3ZSdyZSBzZXR0aW5nIHRoZSBjdXJyZW50IGVudHJ5IGNvcnJlY3RseS4KCjIwMDUtMTEtMjggMTY6NTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZW5jLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uIChmaXhlcyAjMzIyNjY3KTsgbWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfcmVzeW5jKSwgKGdzdF9qcGVnZW5jX2NoYWluKSwKCSAgKGdzdF9qcGVnZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfanBlZ2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2pwZWdlbmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb24gKGZpeGVzICMzMjI2NjcpOyBtYWtlCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZTsgZG9uJ3QgcmVwZWF0IHRoZSBjdXJyZW50IGZ1bmN0aW9uCgkgIG5hbWUgaW4gR1NUX0RFQlVHIHN0YXRlbWVudHM7IHVzZSBHU1RfUk9VTkRfVVBfKiBtYWNyb3M7IHVzZQoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBtaXNjLiBtaW5vciBjbGVhbnVwcy4KCjIwMDUtMTEtMjggMTU6NDM6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc3JjZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IKCSAgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHRzIGluIDAgY2hhbm5lbHMgd2l0aCBzYW1wbGVyYXRlcyBvZiAwLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIHVwd2FyZCB0cmFuc2l0aW9ucywgdGhlbiBjYWxsIHBhcmVudCBzdGF0ZV9jaGFuZ2UsIHRoZW4gZG8KCSAgZG93bndhcmQgdHJhbnNpdGlvbnMuCgoyMDA1LTExLTI4IDE1OjEzOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogTG9vayBmb3IgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMsIG5vdCBwaXhlbF93aWR0aCBhbmQgcGl4ZWxfaGVpZ2h0IChGaXhlczogIzMyMjY0NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIExvb2sgZm9yIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzLCBub3QgcGl4ZWxfd2lkdGggYW5kCgkgIHBpeGVsX2hlaWdodCAoRml4ZXM6ICMzMjI2NDUpCgoyMDA1LTExLTI4IDEyOjU5OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRnJvbSBNaWNoYWwgQmVuZXM6IGZyYW1lIGR1cmF0aW9uIHNob3VsZCBiZSBHU1RfU0VDT05EIC8gZnJhbWVyYXRlLCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIEZyb20gTWljaGFsIEJlbmVzOgoJICBmcmFtZSBkdXJhdGlvbiBzaG91bGQgYmUgR1NUX1NFQ09ORCAvIGZyYW1lcmF0ZSwgbm90CgkgIEdTVF9TRUNPTkQgKiBmcmFtZXJhdGUuIChGaXhlczogIzMyMjY0MykKCjIwMDUtMTEtMjcgMTc6MDI6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBmaXggdXAgR1NUX1BMVUdJTl9MREZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IHVwIEdTVF9QTFVHSU5fTERGTEFHUwoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIGZpeCBpbmNsdWRlcyAoc2VlICMzMTcwNDMpCgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBzdG9wIGluc3RhbGxpbmcgdGhpcyBsaWJyYXJ5CgoyMDA1LTExLTI3IDE1OjMwOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbm8gbmVlZCBmb3IgYW4gQVNfTElCVE9PTCBjYWxsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBubyBuZWVkIGZvciBhbiBBU19MSUJUT09MIGNhbGwKCjIwMDUtMTEtMjcgMTQ6MzM6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoKMjAwNS0xMS0yNiAxMjo1NDo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGluY29taW5nIFZpZGVvIGR2IHN0cmVhbSBkb2Vzbid0IGhhdmUgYSBwaXhlbCBhc3BlY3QgcmF0aW8gc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGluY29taW5nIFZpZGVvIGR2IHN0cmVhbSBkb2Vzbid0IGhhdmUKCSAgYSBwaXhlbCBhc3BlY3QgcmF0aW8gc2V0LgoKMjAwNS0xMS0yNSAyMjoxNDo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGRvY3VtZW50IGZsYWNkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvY3VtZW50IGZsYWNkZWMKCjIwMDUtMTEtMjUgMjE6MzY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIGRvIHNvbWUgbmFtZSBib3JnaWZ5aW5nIGRvY3VtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkbyBzb21lIG5hbWUgYm9yZ2lmeWluZwoJICBkb2N1bWVudAoKMjAwNS0xMS0yNSAyMTowMjoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2N1bWVudGluZyBhdXRvKnNpbmsgdXNpbmcgc3Ryc3RyIGZvciB0aGUgdmlkZW8gc2luayBsb29rdXAsIGNsYXNzIGZpZWxkIGlzIG5vdCBvcmRlcmVkIHVwZGF0ZSBvdGhlciBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19mYWN0b3J5X2ZpbHRlcik6CgkgIGRvY3VtZW50aW5nIGF1dG8qc2luawoJICB1c2luZyBzdHJzdHIgZm9yIHRoZSB2aWRlbyBzaW5rIGxvb2t1cCwgY2xhc3MgZmllbGQgaXMgbm90IG9yZGVyZWQKCSAgdXBkYXRlIG90aGVyIHBsdWdpbnMKCjIwMDUtMTEtMjUgMTk6NTg6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgoyMDA1LTExLTI1IDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC93YXZwYWNrLzogcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKSwKCSAgKGdzdF93YXZwYWNrX2RlY193dmNsaW5rKSwgKGdzdF93YXZwYWNrX2RlY19nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NldHVwX2NvbnRleHQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2RlY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGZpbmRfaGVhZGVyKSwgKGZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlZWspLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoKMjAwNS0xMS0yNSAxODowMzoyNCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBjbG9zZSBjb250cm9sIHNvY2tldHMgaW4gdWRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdG9wKToKCSAgUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBjbG9zZSBjb250cm9sIHNvY2tldHMgaW4gdWRwc3JjLgoKMjAwNS0xMS0yNCAxNTowNzowNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiBGbHVzaCB0aGUgcGxhbmVzIGxpc3Qgb24gcmV2ZXJzZSBjYXBzIG5lZ290aWF0aW9uLiBUaGlzIHdhcyBjcmFzaGluZyBiZWNhdXNlIG9mIGRpZmZlcmVudGx5IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfcGxhbmV0YWJsZV9jbGVhciksIChnc3RfcXVhcmt0dl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F1YXJrdHZfYmFzZV9pbml0KSwgKGdzdF9xdWFya3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfaW5pdCk6IEZsdXNoIHRoZSBwbGFuZXMgbGlzdCBvbiByZXZlcnNlIGNhcHMKCSAgbmVnb3RpYXRpb24uIFRoaXMgd2FzIGNyYXNoaW5nIGJlY2F1c2Ugb2YgZGlmZmVyZW50bHkgc2l6ZWQKCSAgYnVmZmVycy4KCjIwMDUtMTEtMjQgMTI6NTA6MjggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0LzogSGFuZGxlIHN0cmlkZXMgY29ycmVjdGx5LCBmaXggaWRlbnRpdHkgZmxpcHBpbmcsIGNvbnZlcnQgbmF2aWdhdGlvbiBldmVudCBjb3JyZWN0bHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChkcmF3X2JveF9wbGFuYXI0MTEpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKGdzdF92aWRlb2ZsaXBfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb2ZsaXBfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9mbGlwX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvZmxpcF9mbGlwKSwKCSAgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtKSwgKGdzdF92aWRlb2ZsaXBfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfdmlkZW9mbGlwX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9mbGlwX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9mbGlwX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9pbml0KTogSGFuZGxlIHN0cmlkZXMKCSAgY29ycmVjdGx5LCBmaXggaWRlbnRpdHkgZmxpcHBpbmcsIGNvbnZlcnQgbmF2aWdhdGlvbiBldmVudAoJICBjb3JyZWN0bHkgYWdhaW4uCgoyMDA1LTExLTI0IDExOjE2OjUzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBSRUFETUU6CgkgIEZpeCAjMzIwMjg4OiB3cm9uZyByZWFkbWUgaW4gcGx1Z2lucy1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggIzMyMDI4ODogd3JvbmcgcmVhZG1lIGluIHBsdWdpbnMtZ29vZAoKMjAwNS0xMS0yNCAxMTowNjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgZml4IHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjE6MjU6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMDowNToyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS42ID09PQoKMjAwNS0xMS0yMyAxOTo1Nzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE5OjU2OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxOToxNDowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgYWRkaW5nIGN1dHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGN1dHRlcgoKMjAwNS0xMS0yMyAxOTowNToyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTEtMjMgMTY6NDk6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IE9vcHMsIGluaXRpYWxpc2UgdGhlIGZyYW1lcmF0ZSBHVmFsdWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfaW5pdCk6CgkgIE9vcHMsIGluaXRpYWxpc2UgdGhlIGZyYW1lcmF0ZSBHVmFsdWUKCjIwMDUtMTEtMjMgMTU6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVmlkZW9GaWx0ZXIgaW5oZXJpdHMgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X3RpbWVvdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCksCgkgIChnc3RfdGltZW92ZXJsYXlfc2V0X2NhcHMpLCAoZ3N0X3RpbWVvdmVybGF5X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3RyYW5zZm9ybSksIChnc3RfdGltZW92ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90aW1lb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9nZXRfdHlwZSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF91bml0X3NpemUpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X3NldF9jYXBzKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF90cmFuc2Zvcm0pLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfYmFzZV9pbml0KSwgKGdzdF9uYXZpZ2F0aW9udGVzdF9jbGFzc19pbml0KSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9pbml0KSwgKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdHlwZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X3NldF9jYXBzKSwKCSAgKGdzdF9hZ2luZ3R2X2dldF91bml0X3NpemUpLCAoZ3N0X2FnaW5ndHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9hZ2luZ3R2X2Jhc2VfaW5pdCksIChnc3RfYWdpbmd0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9hZ2luZ3R2X2luaXQpLCAoZ3N0X2FnaW5ndHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfc2V0X2NhcHMpLAoJICAoZ3N0X2RpY2V0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9kaWNldHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9kaWNldHZfYmFzZV9pbml0KSwgKGdzdF9kaWNldHZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGljZXR2X2luaXQpLAoJICAoZ3N0X2RpY2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl9zZXRfY2FwcyksCgkgIChnc3RfZWRnZXR2X2dldF91bml0X3NpemUpLCAoZ3N0X2VkZ2V0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2VkZ2V0dl9iYXNlX2luaXQpLCAoZ3N0X2VkZ2V0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9lZGdldHZfaW5pdCksCgkgIChnc3RfZWRnZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9zZXRfY2FwcyksCgkgIChnc3RfcXVhcmt0dl9nZXRfdW5pdF9zaXplKSwgKGZhc3RyYW5kKSwKCSAgKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F1YXJrdHZfYmFzZV9pbml0KSwKCSAgKGdzdF9xdWFya3R2X2NsYXNzX2luaXQpLCAoZ3N0X3F1YXJrdHZfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfc2V0X2NhcHMpLAoJICAoZ3N0X3JldnR2X2dldF91bml0X3NpemUpLCAoZ3N0X3JldnR2X3RyYW5zZm9ybSksCgkgIChnc3RfcmV2dHZfYmFzZV9pbml0KSwgKGdzdF9yZXZ0dl9jbGFzc19pbml0KSwgKGdzdF9yZXZ0dl9pbml0KSwKCSAgKGdzdF9yZXZ0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl9zZXRfY2FwcyksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3NoYWdhZGVsaWN0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9iYXNlX2luaXQpLCAoZ3N0X3NoYWdhZGVsaWN0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfaW5pdCksIChnc3Rfc2hhZ2FkZWxpY3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X3NldF9jYXBzKSwKCSAgKGdzdF92ZXJ0aWdvdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmVydGlnb3R2X3RyYW5zZm9ybSksCgkgIChnc3RfdmVydGlnb3R2X2Jhc2VfaW5pdCksIChnc3RfdmVydGlnb3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZlcnRpZ290dl9pbml0KSwgKGdzdF92ZXJ0aWdvdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3dhcnB0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF93YXJwdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF93YXJwdHZfYmFzZV9pbml0KSwgKGdzdF93YXJwdHZfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2FycHR2X2luaXQpLAoJICAoZ3N0X3dhcnB0dl9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6IChnc3RfdmlkZW9maWx0ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvZmlsdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvZmlsdGVyX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb2ZsaXBfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9mbGlwX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvZmxpcF9mbGlwKSwgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb2ZsaXBfaGFuZGxlX3NyY19ldmVudCksIChnc3RfdmlkZW9mbGlwX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9mbGlwX2Jhc2VfaW5pdCksIChnc3RfdmlkZW9mbGlwX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9pbml0KSwgKHBsdWdpbl9pbml0KSwgKGdzdF92aWRlb2ZsaXBfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDogVmlkZW9GaWx0ZXIgaW5oZXJpdHMgZnJvbQoJICBCYXNlVHJhbnNmb3JtLCBpdCdzIGp1c3QgYSBwbGFjZSBob2xkZXIgZm9yIG5vdyBhbmQgZXZlcnkgdmlkZW8KCSAgZWZmZWN0IHBsdWdpbiBoYXMgYmVlbiBwb3J0ZWQgdG8gdXNlIEJhc2VUcmFuc2Zvcm0gZmVhdHVyZXMKCSAgZGlyZWN0bHkuIFF1YXJrVFYgd2FzIGZpeGVkIHRvbyAod2FzIGJyb2tlbiksIG5hdmlnYXRpb250ZXN0CgkgIHdvcmtzCgkgIGFuZCBiZXN0IGZvciB0aGUgZW5kLCB2aWRlb2ZsaXAgY29udmVydHMgbmF2aWdhdGlvbiBldmVudHMKCSAgZGVwZW5kaW5nCgkgIG9uIGZsaXAgbWV0aG9kICEgRml4ZXMgIzMyMDk1MwoKMjAwNS0xMS0yMyAxNDoyMjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXhlcyBmb3IgQVBJIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXhlcyBmb3IgQVBJIGNoYW5nZXMKCjIwMDUtMTEtMjMgMTI6MTk6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGN1dHRlciB0byBzcGVjIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY3V0dGVyIHRvIHNwZWMgaW4KCjIwMDUtMTEtMjMgMTE6NTc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgoyMDA1LTExLTIyIDIzOjU4OjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvanBlZy86IEpQRUcgZnJhY3Rpb255IGdvb2RuZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfc2V0Y2FwcyksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgSlBFRyBmcmFjdGlvbnkgZ29vZG5lc3MuCgoyMDA1LTExLTIyIDIyOjM1OjU3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZ3JhcGhpYy5oOgoJICBGaXggZm9yICMzMjE0MzA6IHVucmVzb2x2ZWQgc3ltYm9scyBkdWUgdG8gaW5jb3JyZWN0IGxpbmthZ2Ugb24gaW5saW5lIGZ1bmN0aW9ucyBpbiBnb29tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvciAjMzIxNDMwOiB1bnJlc29sdmVkIHN5bWJvbHMgZHVlIHRvIGluY29ycmVjdCBsaW5rYWdlIG9uIGlubGluZSBmdW5jdGlvbnMKCSAgaW4gZ29vbS4KCSAgRG9lcyBub3QsIGhvd2V2ZXIsIGZpeCB0aGUgZ2VuZXJhbCBjcmFja2hlYWRlZG5lc3Mgb2YgZ29vbSAoZ2xvYmFsIHZhcmlhYmxlcywKCSAgb2ggbXkhKTsgdGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gLWJhZC4KCjIwMDUtMTEtMjIgMjI6MjE6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW9yZSBmcmFjdGlvbmFsIGZyYW1lcmF0ZSBjb252ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19saW5rKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9pbml0KSwKCSAgKGdzdF9hdmltdXhfdmlkc2lua2Nvbm5lY3QpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBNb3JlIGZyYWN0aW9uYWwgZnJhbWVyYXRlIGNvbnZlcnNpb25zCgoyMDA1LTExLTIyIDIwOjA3OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6CgkgIChnc3RfdmlkZW9maWx0ZXJfZm9ybWF0X2dldF9zdHJ1Y3R1cmUpLCAoZ3N0X3ZpZGVvZmlsdGVyX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvZmlsdGVyX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcy4KCjIwMDUtMTEtMjIgMTg6MTE6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZml4IHVwIG1vcmUgZW51bXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB1cCBtb3JlIGVudW1zCgoyMDA1LTExLTIyIDE3OjM5OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZyYWN0aW9uYWwgZnJhbWVyYXRlcywgdmlkZW9taXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMsIHZpZGVvbWl4ZXIuCgoyMDA1LTExLTIyIDE3OjA5OjM2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZHYvOiBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMgZm9yIERWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgRnJhY3Rpb25hbCBmcmFtZXJhdGVzIGZvciBEVi4KCjIwMDUtMTEtMjIgMTQ6NDQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IFVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9mcmVlKCkgdG8gZnJlZSBmZWF0dXJlIGxpc3QgYW5kIGluIHRoZSBjYXNlIG9mIGF1dG92aWRlb3NpbmsgZnJlZSB0aGUgbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgVXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2ZyZWUoKSB0byBmcmVlIGZlYXR1cmUgbGlzdCBhbmQKCSAgaW4gdGhlIGNhc2Ugb2YgYXV0b3ZpZGVvc2luayBmcmVlIHRoZSBsaXN0IGF0IGFsbC4gQWxzbwoJICBtaXNjZWxsYW5lb3VzIGNvc21ldGljIGZpeGVzLgoKMjAwNS0xMS0yMiAxMzoxMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiBjb3B5IGNhbGN1bGF0aW9uIGNvZGUgZnJvbSBsZXZlbDsgcmVtb3ZlIHVzZSBvZiBzb21lIGF1ZGlvIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX3NldF9wcm9wZXJ0eSksIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgY29weSBjYWxjdWxhdGlvbiBjb2RlIGZyb20gbGV2ZWw7IHJlbW92ZSB1c2Ugb2Ygc29tZSBhdWRpbwoJICBmdW5jdGlvbnMKCjIwMDUtMTEtMjIgMTM6MTE6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6NDg6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6NDE6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6Mzg6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoKMjAwNS0xMS0yMiAxMTo1Nzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KSBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKSBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKQoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmMgKHNwZWVkX3NpbmtfZXZlbnQpCgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jIChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCkKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIyIDExOjUzOjM0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCkgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpCgkgIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSkKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKQoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYyAoZ3N0X2ZsYWNlbmNfc2Vla19jYWxsYmFjaykKCSAgKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpCgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmMgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpCgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmMgKGdzdF9nY29uZl92aWRlb19zaW5rX2luaXQpCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYyAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KQoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jIChzcGVleF9kZWNfZXZlbnQsIHNwZWV4X2RlY19jaGFpbikKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmMgKGdzdF9hdXBhcnNlX2NoYWluKQoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KQoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYyAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KQoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYyAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKQoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlaykKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmMgKGdzdF9nb29tX2V2ZW50KQoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmMgKGdzdF9lYm1sX3dyaXRlX3NlZWspCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCkKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCkKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jIChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSkKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYyAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKQoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIyIDExOjQ5OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgVVJJSGFuZGxlciBpbnRlcmZhY2UgYW5kIGVsZW1lbnQgcHJvcGVydGllcyBhcmUgbm93IHByb3Blcmx5IHN5bmNocm9uaXplZCBmb3IgRFYxMzk0c3JjIGFuZCBVRFBTcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2MTM5NHNyY19pbml0KSwgKGdzdF9kdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY191cGRhdGVfdXJpKSwgKGdzdF91ZHBzcmNfc2V0X3VyaSksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3VyaV9nZXRfdXJpKToKCSAgVVJJSGFuZGxlciBpbnRlcmZhY2UgYW5kIGVsZW1lbnQgcHJvcGVydGllcyBhcmUgbm93IHByb3Blcmx5CgkgIHN5bmNocm9uaXplZCBmb3IgRFYxMzk0c3JjIGFuZCBVRFBTcmMKCjIwMDUtMTEtMjIgMTE6MzY6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBsaWJnc3R0YWdlZGl0IGhhcyBiZWVuIHJlbmFtZWQgdG8gbGliZ3N0dGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgIGxpYmdzdHRhZ2VkaXQgaGFzIGJlZW4gcmVuYW1lZCB0byBsaWJnc3R0YWcuCgoyMDA1LTExLTIxIDIwOjExOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQXBwbHkgcGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBmaXggIzMxOTE4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJlYWRfYm9keSk6CgkgIEFwcGx5IHBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gZml4ICMzMTkxODQuCgoyMDA1LTExLTIxIDE5OjUwOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvcnQgY3V0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2N1dHRlcl9pbml0KSwgKGdzdF9jdXR0ZXJfbWVzc2FnZV9uZXcpLCAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX3NldF9wcm9wZXJ0eSksIChnc3RfY3V0dGVyX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCksIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgcG9ydCBjdXR0ZXIKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgZml4IHVwIHBsdWdpbiBkZXRhaWxzCgoyMDA1LTExLTIxIDE4OjA5OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbG9vcCksCgkgIChnc3RfZmxhY2RlY19zcmNfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19zaW5rX2V2ZW50X2hhbmRsZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2Vlayk6CgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZwoJICBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQ0sKCSAgdG8gR1NUX1BBRF9TVFJFQU1fTE9DSy4gRG9uJ3QgbGVhayByZWZlcmVuY2VzIGluIGZseGRlYyBldmVudAoJICBmdW5jdGlvbnMuCgoyMDA1LTExLTIxIDE3OjUyOjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBGb3Jnb3QgdG8gY29tbWl0IGhlYWRlciBmaWxlIGNoYW5nZXMsIE1ha2VmaWxlLmFtIGNoYW5nZXMuIE9vcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGb3Jnb3QgdG8gY29tbWl0IGhlYWRlciBmaWxlIGNoYW5nZXMsIE1ha2VmaWxlLmFtIGNoYW5nZXMuIE9vcHMuCgoyMDA1LTExLTIxIDE3OjQ5OjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgZ3N0X29iamVjdF91bnJlZiwgbm90IGdfb2JqZWN0X3VucmVmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3Rfb2JqZWN0X3VucmVmLCBub3QgZ19vYmplY3RfdW5yZWYKCjIwMDUtMTEtMjEgMTc6Mzc6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KToKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoKMjAwNS0xMS0yMSAxNzoyMzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFkZCBkZWJ1ZyBtZXNzYWdlIGluIHBhZCBhY3RpdmF0ZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWRkIGRlYnVnIG1lc3NhZ2UgaW4gcGFkIGFjdGl2YXRlIGZ1bmN0aW9uLgoKMjAwNS0xMS0yMSAxNzoxODowMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1cGFyc2UvOiBQYXJ0aWFsbHkgZml4ICMxNjE3MTIuIHBsYXliaW4gc3RpbGwgZG9lc24ndCB3b3JrIG9uIHRoZXNlIGZpbGVzLCAob24gdGhlIGJ1ZyByZXBvcnQsIEFuZHkgc2F5cyB3ZSBhcmVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1cGFyc2VfaW5pdCksIChnc3RfYXVwYXJzZV9kaXNwb3NlKSwgKGdzdF9hdXBhcnNlX2NoYWluKSwKCSAgKGdzdF9hdXBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBQYXJ0aWFsbHkgZml4ICMxNjE3MTIuIHBsYXliaW4gc3RpbGwgZG9lc24ndCB3b3JrIG9uIHRoZXNlIGZpbGVzLAoJICAob24gdGhlIGJ1ZyByZXBvcnQsIEFuZHkgc2F5cyB3ZSBhcmVuJ3QgdHlwZWZpbmRpbmcgaXQgZm9yIHNvbWUKCSAgcmVhc29uPykgYnV0IGF0IGxlYXN0IGF1cGFyc2UgaXNuJ3QgdG90YWxseSBidXN0ZWQgbGlrZSBpdCB3YXMgYmVmb3JlLgoKMjAwNS0xMS0yMSAxNjo0NTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogakBib290bGFiLm9yZywgIzMyMTkwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBEWDUwLCBESVZYIGFuZCBESVYzIGZvdXJjY3MgKHBhdGNoIGJ5CgkgIGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoKMjAwNS0xMS0yMSAxNjozNjowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgKi4qOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqICouaDoKCSAgKiAqLmM6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCjIwMDUtMTEtMjEgMTU6MDY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRmlsbGVyIGV2ZW50cyBhcmUgZ29uZSBmb3Igbm93LCBjb21tZW50IG91dCBzZWN0aW9uIGdlbmVyYXRpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgRmlsbGVyIGV2ZW50cyBhcmUgZ29uZSBmb3Igbm93LCBjb21tZW50IG91dCBzZWN0aW9uIGdlbmVyYXRpbmcKCSAgdGhlbS4KCjIwMDUtMTEtMjEgMTQ6Mzk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9mcm9tX2NhcHMpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3R5cGVfZ2V0KSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX2RyZWYpLCAocXRkZW11eF9kdW1wX3N0c2QpLAoJICAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoKMjAwNS0xMS0yMSAxNDozMzoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogKCMzMjIwMjcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX3NpbmtfZml4YXRlKToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19maXhhdGUpOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKToKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qCgkgICgjMzIyMDI3KQoKMjAwNS0xMS0yMSAxNDozMTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogKCMzMjIwMjcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9zcmNmaXhhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qCgkgICgjMzIyMDI3KQoKMjAwNS0xMS0yMSAxMzozODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeGVzIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX3NldGNhcHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKHdyaXRlX21ldGFkYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXhlcyBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTI6MTM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggZm9yIGNvbGxlY3QgcGFkcyBBUEkgY2hhbmdlLiBBbHNvIGZpeCB0ZXh0b3ZlcmxheSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksIChnc3RfdGV4dF9vdmVybGF5X3BvcF92aWRlbyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3BvcF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KSwgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBmb3IgY29sbGVjdCBwYWRzIEFQSSBjaGFuZ2UuIEFsc28gZml4IHRleHRvdmVybGF5IHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTEtMjAgMTc6MDQ6NTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBSZXBsYWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6IFJlcGxhY2UKCSAgR1NUX1BBRF9JU19VU0FCTEUgYnkgc29tZXRoaW5nIGFwcHJvYWNoaW5nIGl0LgoKMjAwNS0xMS0yMCAxNjo0MzozMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KTogRml4IGZvcgoJICBBUEkgY2hhbmdlcy4KCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IEZpeCBmb3IgQVBJCgkgIGNoYW5nZXMsCgkgIGJ1dCBhbHNvIGZpeCB0aGUgY29kZSB0aGF0IHdhcyBub3QgY2hlY2tpbmcgcmV0dXJuIHZhbHVlcyBmcm9tCgkgIHBhZF9wdXNoIG5laXRoZXIgdXNpbmcgcGFkX2FsbG9jX2J1ZmZlci4KCjIwMDUtMTEtMTggMTg6MTk6MjEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBBZGRlZCBkZWJ1ZyBjYXRlZ29yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdlbmNfY2hhaW4pOgoJICBBZGRlZCBkZWJ1ZyBjYXRlZ29yeQoJICBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGVuIHNlbmRpbmcgYW4gRU9TLCBzbyB0aGUgd2hvbGUgcGlwZWxpbmUKCSAgZ29lcyB0byBFT1MuCgoyMDA1LTExLTE3IDE4OjIzOjIzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBDcmVhdGVkIFNwZWV4IHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXI7IE9wdGltaXplIEc3MTEgcGF5bG9hZGVyIHRvIHVzZSBhZGFwdGVyIGFuZCBzZW5kIHBhY2tldHMgdW50aWwgTVRVIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIFNwZWV4IHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXI7IE9wdGltaXplIEc3MTEgcGF5bG9hZGVyIHRvIHVzZSBhZGFwdGVyIGFuZCBzZW5kIHBhY2tldHMgdW50aWwgTVRVIHNpemUuCgoyMDA1LTExLTE2IDE5OjA4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogRml4IGxlYWsgaW4gY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwgKHNldHVwX3NpbmtfcGFkKToKCSAgRml4IGxlYWsgaW4gY2hlY2suCgoyMDA1LTExLTE2IDE3OjAwOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuYzogRml4IHN0YXRlIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhbmdlX3N0YXRlKToKCSAgRml4IHN0YXRlIGNoYW5nZS4KCjIwMDUtMTEtMTYgMTE6MDI6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgTW92ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKTogTW92ZSBjb21tZW50LgoKMjAwNS0xMS0xNiAxMDo0Mzo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogQ2xlYW4gdXAgd2l0aCB0aGUgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENsZWFuIHVwIHdpdGggdGhlIGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNS0xMS0xNSAxOTo0MToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIHNlZWtpbmcsIHNlZWsgdG8gY2xvc2VzdCBpbmRleCBlbnRyeSBhdCBvciBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzZWVrIHBvc2l0aW9uLCBuby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBXaGVuIHNlZWtpbmcsIHNlZWsgdG8gY2xvc2VzdCBpbmRleCBlbnRyeSBhdCBvciBiZWZvcmUgdGhlIHJlcXVlc3RlZAoJICBzZWVrIHBvc2l0aW9uLCBub3QganVzdCB0aGUgY2xvc2VzdCBvbmUgKCMzMjEwMDEpLgoKMjAwNS0xMS0xNSAxMjoxNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW52ZXJ0IERJQiBpbWFnZXMgYWdhaW4gKHNlZSAjMTMyMzQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoc3dhcF9saW5lKSwgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBJbnZlcnQgRElCIGltYWdlcyBhZ2FpbiAoc2VlICMxMzIzNDEpLgoKMjAwNS0xMS0xNCAwMjoxMzozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvZHYvZ3N0ZHYuYzoKCSogZXh0L2VzZC9nc3Rlc2QuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RlbGVtZW50cy5jOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCjIwMDUtMTEtMTIgMTM6MzE6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IE9ubHkgR1NUX0RFQlVHKCkgaW5mb3JtYXRpb24gb24gdGhlIHZhbGlkIGNvbXBvbmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIE9ubHkgR1NUX0RFQlVHKCkgaW5mb3JtYXRpb24gb24gdGhlIHZhbGlkIGNvbXBvbmVudHMuCgoyMDA1LTExLTExIDE5OjM0OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjUgPT09CgoyMDA1LTExLTExIDE5OjMzOjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNQoKMjAwNS0xMS0xMSAxODozMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTEtMTEgMTY6NDg6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFllYWgsIGltcGxlbWVudCBwcm9wZXIgc2Vla2luZy4gRXhhY3Qgc2Vla2luZyBhbmQgc2VnbWVudCBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFllYWgsIGltcGxlbWVudCBwcm9wZXIgc2Vla2luZy4gRXhhY3Qgc2Vla2luZyBhbmQgc2VnbWVudCBzZWVraW5nLgoJICBTdGlsbCBuZWVkIHRvIGRvIHNvbWUgY2hlY2tzIGZvciBzZWdtZW50X3N0b3AuCgoyMDA1LTExLTExIDE1OjE3OjQ0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGZpeCBDYWlybyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IENhaXJvIGVudHJ5CgoyMDA1LTExLTEwIDEyOjM0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCjIwMDUtMTEtMTAgMTI6MjI6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IHRyeSB0byByZWFkeSBidWZmZXIgZHVyYXRpb24gZnJvbSBidWZmZXIgdGhhdCB3ZSBkb24ndCBvd24gYW55ICBsb25nZXIgYW5kIHRoYXQgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRG9uJ3QgdHJ5IHRvIHJlYWR5IGJ1ZmZlciBkdXJhdGlvbiBmcm9tIGJ1ZmZlciB0aGF0IHdlIGRvbid0CgkgIG93biBhbnkgIGxvbmdlciBhbmQgdGhhdCBtaWdodCBhbHJlYWR5IGhhdmUgYmVlbiB1bnJlZmZlZC4KCSAgKCMzMjExMzYpCgoyMDA1LTExLTA5IDIxOjM1OjI5ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgQXR0ZW1wdGluZyB0byBvcHRpbWl6ZSB0aGUgY29kZSBmb3IgZW1iZWRkZWQgc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEF0dGVtcHRpbmcgdG8gb3B0aW1pemUgdGhlIGNvZGUgZm9yIGVtYmVkZGVkIHN5c3RlbXMuCgoyMDA1LTExLTA4IDA4OjU0OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IERvbid0IHJlLXVzZSBhbHJlYWR5IGNsb3NlZCBmaWxlIGRlc2NyaXB0b3IuICgjMzIwOTIwKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbG9zZSk6CgkgIERvbid0IHJlLXVzZSBhbHJlYWR5IGNsb3NlZCBmaWxlIGRlc2NyaXB0b3IuICgjMzIwOTIwKQoKMjAwNS0xMS0wNyAxNzozNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay4qOiBDYWNoZSBwcm9iZWQgY2FwczsgZml4IGRlYnVnIG91dHB1dCBmb3IgU0VUX1BBUkFNIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfb3NzX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9vc3Nfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgQ2FjaGUgcHJvYmVkIGNhcHM7IGZpeCBkZWJ1ZyBvdXRwdXQgZm9yIFNFVF9QQVJBTSBtYWNyb3MuCgoyMDA1LTExLTA3IDE1OjA5OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvLzogUG9ydCBjYWlybyB0ZXh0b3ZlcmxheSBwbHVnaW4gdG8gMC45LiBBZGQgJ3NoYWRlZC1iYWNrZ3JvdW5kJyBwcm9wZXJ0eSBhbmQgcmVkbyBwb3NpdGlvbi4gRG9lc24ndCBoYW5kbGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGV4dF9vdmVybGF5X2ZpbmFsaXplKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksIChnc3RfdGV4dF9vdmVybGF5X2ZvbnRfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSksIChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZ2V0Y2FwcyksIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksIChnc3RfdGV4dF9vdmVybGF5X3NoYWRlX3kpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0XzEpLCAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0X3N1YjJ4MiksCgkgIChnc3RfdGV4dF9vdmVybGF5X3B1c2hfZnJhbWUpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIFBvcnQgY2Fpcm8gdGV4dG92ZXJsYXkgcGx1Z2luIHRvIDAuOS4gQWRkICdzaGFkZWQtYmFja2dyb3VuZCcKCSAgcHJvcGVydHkgYW5kIHJlZG8gcG9zaXRpb24uIERvZXNuJ3QgaGFuZGxlIHVwc3RyZWFtIHJlbmVnb3RpYXRpb24KCSAgeWV0IHRob3VnaC4KCjIwMDUtMTEtMDcgMTA6MzE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSB0aGUgU1RSRUFNX0xPQ0sgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEltcHJvdmUgc29tZSBkZWJ1ZyBtZXNzYWdlcy4gRG9uJ3QgbGVhayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBObyBuZWVkIHRvIHRha2UgdGhlIFNUUkVBTV9MT0NLIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBJbXByb3ZlCgkgIHNvbWUgZGVidWcgbWVzc2FnZXMuIERvbid0IGxlYWsgcGFkIG5hbWVzIGluIGRlYnVnIG1lc3NhZ2VzLgoKMjAwNS0xMS0wNyAxMDoyNzowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBEb24ndCBlcnJvciBvdXQgd2hlbiB0aGUgc291cmNlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNS0xMS0wMiAxOTo0MjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCBhbmQgc2V0IGtpZCB0byBOVUxMIHN0YXRlIGJlZm9yZSByZW1vdmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsIGFuZCBzZXQga2lkCgkgIHRvIE5VTEwgc3RhdGUgYmVmb3JlIHJlbW92aW5nIGl0LgoKMjAwNS0xMS0wMiAxNjo0ODo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHNpZ2gsIHN0YXRpYyBwYWQgdGVtcGxhdGVzIGFyZW4ndCByZWZjb3VudGVkIHByb3Blcmx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzaWdoLCBzdGF0aWMgcGFkIHRlbXBsYXRlcyBhcmVuJ3QgcmVmY291bnRlZCBwcm9wZXJseQoKMjAwNS0xMS0wMSAxNjoxNDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBnc3QvbGV2ZWwvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA1LTExLTAxIDE1OjE1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQWRkZWQgcHJvcGVyIGV2ZW50IGhhbmRsaW5kLCBtYWRlIGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudCB1c2UgR1NUX0ZPUk1BVF9CWVRFUyAob3RoZXJ3aXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSksCgkgIChnc3Rfd2F2ZW5jX2luaXQpLCAoZ3N0X3dhdmVuY19ldmVudCksIChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgQWRkZWQgcHJvcGVyIGV2ZW50IGhhbmRsaW5kLAoJICBtYWRlIGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudCB1c2UgR1NUX0ZPUk1BVF9CWVRFUyAob3RoZXJ3aXNlIGl0J3MKCSAgaWdub3JlZCksCgkgIGFuZCBkb24ndCBzZXQgYSBkdXJhdGlvbiBvZiAwIGZvciBidWZmZXJzIG90aGVyd2lzZSB0aGV5IGFyZSBkaXNjYXJkZWQKCSAgYnkgR3N0QmFzZVNpbmsuCgkgIEdzdFdhdkVuYyBuZWVkcyBzb21lIHNlcmlvdXMgbG92aW5nLCBhZnRlciBnb2luZyB0aHJvdWdoIHRoZSBjb2RlIEknbQoJICByZWFsbHkgd29uZGVyaW5nIGhvdyB0aGlzIGNhbiBzdGF5IGluIC1nb29kIC4uLgoKMjAwNS0xMS0wMSAxNToxMToxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBGaXggbGVha3MgYW5kIGludmFsaWQgbWVtb3J5IGFjY2VzcyBhcyByZXBvcnRlZCBieSB2YWxncmluZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCksCgkgIChzZXR1cF9tYXRyb3NrYW11eCksIChjaGVja19idWZmZXJfZGF0YSksIChHU1RfU1RBUlRfVEVTVCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9maW5hbGl6ZSksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBGaXggbGVha3MgYW5kIGludmFsaWQgbWVtb3J5IGFjY2VzcyBhcyByZXBvcnRlZCBieSB2YWxncmluZAoKMjAwNS0xMS0wMSAxNDo0MTowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICAuLi4gYW5kIGFkZCB0aGUgbWlzc2luZyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAuLi4gYW5kIGFkZCB0aGUgbWlzc2luZyBmaWxlCgoyMDA1LTExLTAxIDE0OjM2OjAyICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIGFkZCBhIHVuaXQgdGVzdCBmb3IgbWF0cm9za2FtdXggZml4IHRoZSBidWdzIHRoYXQgdGhlIHVuaXQgdGVzdCBleHBvc2VkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBhZGQgYSB1bml0IHRlc3QgZm9yIG1hdHJvc2thbXV4CgkgIGZpeCB0aGUgYnVncyB0aGF0IHRoZSB1bml0IHRlc3QgZXhwb3NlZAoKMjAwNS0xMS0wMSAxNDozNDoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBmaXggTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBNYWtlZmlsZS5hbQoKMjAwNS0xMS0wMSAxMjozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluIGNsYXNzX2luaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluCgkgIGNsYXNzX2luaXQuCgoyMDA1LTExLTAxIDEyOjM1OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2V0IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgZWJtbCBoZWFkZXJzIGFzIHdlbGwsIHNvIHRoYXQgdGhlIGVsZW1lbnQgYWZ0ZXIgbWF0cm9za2FtdXggY2FuIGdldCB0aGUgdGltLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9uZXcpLAoJICAoZ3N0X2VibWxfd3JpdGVfcmVzZXQpLCAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9uZXcpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgU2V0IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgZWJtbCBoZWFkZXJzIGFzIHdlbGwsIHNvIHRoYXQgdGhlCgkgIGVsZW1lbnQgYWZ0ZXIgbWF0cm9za2FtdXggY2FuIGdldCB0aGUgdGltZXN0YW1wIGFscmVhZHkgd2hlbgoJICByZWFkaW5nIHRoZSBmaXJzdCBlYm1sIGVsZW1lbnQgYW5kIGRvZXNuJ3QgaGF2ZSB0byB3YWl0IGZvcgoJICB0aGUgYWN0dWFsIGRhdGEgYnVmZmVyIGZvciB0aGF0ICgjMzIwMzA4KS4KCjIwMDUtMTAtMzEgMjI6MDg6NTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTMxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYyAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3VubGluaykKCSAgKGdzdF92aWRlb21peGVyX3BhZF9saW5rKTogS2lsbCBzb21lIG1lbWxlYWtzLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2dldF9wcm9wZXJ0eSk6IFN0eWxlIGZpeC4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9zZXRfcHJvcGVydHkpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfaW5pdCk6IFN0eWxlIGZpeC4KCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOiBLaWxsIG1lbWxlYWsuCgkgIChnc3RfdmlkZW9taXhlcl9sb29wKTogS2lsbCBtZW1sZWFrLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKTogS2lsbCBtZW1sZWFrLgoKMjAwNS0xMC0zMSAxOTowODoyNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIEp1c3Qgc29tZSBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBzb21lIGNsZWFudXAuCgoyMDA1LTEwLTMxIDE0OjQxOjMxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBBZGQgY2hlY2tzIHRvIEdTVF9GTE9XX05PVF9MSU5LRUQgZm9yIHZhbHVlcyByZXR1cm5lZCBmcm9tIGdzdF9wYWRfcHVzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBjaGVja3MgdG8gR1NUX0ZMT1dfTk9UX0xJTktFRCBmb3IgdmFsdWVzIHJldHVybmVkIGZyb20gZ3N0X3BhZF9wdXNoLgoKMjAwNS0xMC0zMSAxMjowMDoxMCArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICBQYXlsb2FkZXIgbm93IHNldHMgc29tZSBkZWZhdWx0IGNhcHMgb24gdGhlIHNyY3BhZCBpZiBjYXBzIG9uIHRoZSBzaW5rcGFkIGFyZSBuZXZlciBzZXQuIFRoaXMgaXMgaW1wb3J0YW50IGZvciB0aGUgZzcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBheWxvYWRlciBub3cgc2V0cyBzb21lIGRlZmF1bHQgY2FwcyBvbiB0aGUgc3JjcGFkIGlmIGNhcHMgb24gdGhlIHNpbmtwYWQgYXJlIG5ldmVyIHNldC4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIHRoZSBnNzExIHRvIHdvcmsgd2l0aCBidXJnZXIncyBydHBiaW4gZWxlbWVudC4KCjIwMDUtMTAtMjggMTk6MTk6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgQWRkIGNoZWNrcyBmb3IgcmV0dXJuIHZhbHVlcyBmcm9tIGdzdF9wYWRfcHVzaCBhbmQgZ3N0X3BhZF9hbGxvY19idWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgY2hlY2tzIGZvciByZXR1cm4gdmFsdWVzIGZyb20gZ3N0X3BhZF9wdXNoIGFuZCBnc3RfcGFkX2FsbG9jX2J1ZmZlci4KCjIwMDUtMTAtMjggMTU6MzI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgU2ltcGxlQmxvY2sgc3VwcG9ydCB0byBtYXRyb3NrYSBkZW11eGVyIGFuZCBtdXhlciAocGFydCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3Rlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2luaXQpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV9idWZmZXJfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgU2ltcGxlQmxvY2sgc3VwcG9ydCB0byBtYXRyb3NrYSBkZW11eGVyIGFuZCBtdXhlciAocGFydCBvZgoJICBNYXRyb3NrYSB2MikuICgjMzE5NzMxKQoKMjAwNS0xMC0yOCAxMzoyNDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQ2xlYW51cHMuIERvbid0IGNyZWF0ZSBjYXBzIGZvciBldmVyeSBjaGFpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKSwKCSAgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQ2xlYW51cHMuIERvbid0IGNyZWF0ZSBjYXBzIGZvciBldmVyeSBjaGFpbi4KCjIwMDUtMTAtMjcgMTg6NDY6MzIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgRml4IHRvIHNldCB0aW1lc3RhbXAgb24gYnVmZmVyLCBpdCB3YXMgdGVzdGVkIHdpdGggUlRQIEc3MTEgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gc2V0IHRpbWVzdGFtcCBvbiBidWZmZXIsIGl0IHdhcyB0ZXN0ZWQgd2l0aCBSVFAgRzcxMSBlbGVtZW50cy4KCjIwMDUtMTAtMjcgMTE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6IFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgoyMDA1LTEwLTI3IDExOjI1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZSBvbiB0aGUgYnVzIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyBpbnN0ZWFkLgoKMjAwNS0xMC0yNyAxMTowMDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IFNldCBjb3JyZWN0IGZvcm1hdCBvbiBvc3MgaW5zdGVhZCBvZiBhIHNpbGx5IHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIFNldCBjb3JyZWN0IGZvcm1hdCBvbiBvc3MgaW5zdGVhZCBvZiBhIHNpbGx5IHZhbHVlLgoKMjAwNS0xMC0yNyAwOTo1MjowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogVXNlIGxpYm9pbCBmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19ib3hfY29weV9wbGFuZV9pNDIwKSwKCSAgKGdzdF92aWRlb19ib3hfaTQyMCksIChnc3RfdmlkZW9fYm94X2F5dXYpOiBVc2UgbGlib2lsIGZvcgoJICBJNDIwIHJlbmRlcmluZyBhcyB3ZWxsLCBkb2Vzbid0IGJyaW5nIG11Y2ggZm9yIG15IHBsYXRmb3JtLgoJICBNaWdodCBoZWxwIG9uIHNvbWUgb3RoZXIgcGxhdGZvcm1zLgoKMjAwNS0xMC0yNiAyMTo0NzozNiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBEZWNsYXJpbmcgdGhlIHBhZHRlbXBsYXRlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIERlY2xhcmluZyB0aGUgcGFkdGVtcGxhdGUgY29ycmVjdGx5LgoKMjAwNS0xMC0yNiAyMDoyODozMiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBTZXR0aW5nIHRoZSBwcm9wZXIgY29weXJpZ2h0IG5vdGljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldHRpbmcgdGhlIHByb3BlciBjb3B5cmlnaHQgbm90aWNlLgoKMjAwNS0xMC0yNiAxNzoyMzowNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06IFVzZSBsaWJvaWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOiBVc2UgbGlib2lsLgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogTG90IG9mIG9wdGltaXphdGlvbiBpbiBBWVVWIHJlbmRlcmluZwoJICB1c2luZyBsaWJvaWwuIFdpbGwgZG90IHRoZSBzYW1lIHRvIEk0MjAgYm9yZGVyIGdlbmVyYXRpb24KCSAgdG9tb3Jyb3cuCgoyMDA1LTEwLTI2IDE2OjM2OjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIGZpeCBhdXRvbWFrZSB3YXJuaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGF1dG9tYWtlIHdhcm5pbmdzCgoyMDA1LTEwLTI2IDE0OjUwOjU5ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgSGFja2VkIHRoZSBHNzExIChkZSlwYXlsb2FkZXIgdG8gdHJ5IHRvIG1ha2UgdGhpbmdzIHJpZ2h0LiBydHBnNzExZGVjIG5vdyBpbmhlcml0cyBmcm9tIHRoZSBiYXNlcnRwZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYWNrZWQgdGhlIEc3MTEgKGRlKXBheWxvYWRlciB0byB0cnkgdG8gbWFrZSB0aGluZ3MgcmlnaHQuIHJ0cGc3MTFkZWMgbm93IGluaGVyaXRzIGZyb20gdGhlIGJhc2VydHBkZXBheWxvYWRlci4KCjIwMDUtMTAtMjYgMTQ6MjM6NDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFJlbW92aW5nIHRoaXMgZm9yZ290dGVuIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IFJlbW92aW5nIHRoaXMgZm9yZ290dGVuIGRlYnVnLgoKMjAwNS0xMC0yNiAxNDowODo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IHRoZSBzdHJpZGUgaXNzdWUgd2hlbiBib3hpbmcgdG8gQVlVVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBGaXggdGhlIHN0cmlkZSBpc3N1ZSB3aGVuIGJveGluZyB0byBBWVVWLgoKMjAwNS0xMC0yNiAxMToxMjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBBY3R1YWxseSB1c2UgdGhlICdvc3MnIGRlYnVnIGNhdGVnb3J5IHdlIHJlZ2lzdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIEFjdHVhbGx5IHVzZSB0aGUgJ29zcycgZGVidWcgY2F0ZWdvcnkgd2UgcmVnaXN0ZXIuCgoyMDA1LTEwLTI2IDEwOjM4OjE4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBhbmQgZHJvcCB0aGUgcmVmIHRoYXQgd2FzIGFkZGVkIHRocm91Z2ggdGhhdCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKToKCSAgVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBhbmQgZHJvcCB0aGUgcmVmIHRoYXQgd2FzIGFkZGVkIHRocm91Z2gKCSAgdGhhdCBjYWxsLgoKMjAwNS0xMC0yNiAxMDowMzowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIGZpeCBjb21waWxhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGNvbXBpbGF0aW9uCgoyMDA1LTEwLTI1IDIxOjA5OjM2ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgIEp1c3QgcmVtb3ZlZCBhIGNvdXBsZSBvZiBsaW5lcyBvZiB3ZWlyZCBjb2RlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50L3Rlc3QgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgcmVtb3ZlZCBhIGNvdXBsZSBvZiBsaW5lcyBvZiB3ZWlyZCBjb2RlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50L3Rlc3QgdGltZS4KCjIwMDUtMTAtMjUgMTk6MTk6MzggKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJICBHNzExIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgY3JlYXRlZCBieSBFZGdhcmQgTGltYSAoaXQgc3VwcG9ydHMgbXVsYXcgYW5kIGFsYXcgKGRlYyllbmNvZGVycykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEc3MTEgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlciBjcmVhdGVkIGJ5IEVkZ2FyZCBMaW1hIChpdCBzdXBwb3J0cwoJICBtdWxhdyBhbmQgYWxhdyAoZGVjKWVuY29kZXJzKQoKMjAwNS0xMC0yNSAxNzo1NToxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRG9oICEgSSBpbnRyb2R1Y2VkIHdpbmdvJ3MgYnVnIGFnYWluICEgU29ycnkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6CgkgIERvaCAhIEkgaW50cm9kdWNlZCB3aW5nbydzIGJ1ZyBhZ2FpbiAhIFNvcnJ5Li4uCgoyMDA1LTEwLTI1IDE2OjAyOjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA1LTEwLTI1IDE1OjA3OjAyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICBHZXR0aW5nIHRoZSBHU00gKGRlKXBheWxvYWRlciB3b3JraW5nIGFuZCBjb21wYXRpYmxlIHdpdGggb3VyIHBsYW5zIGZvciBSVFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHZXR0aW5nIHRoZSBHU00gKGRlKXBheWxvYWRlciB3b3JraW5nIGFuZCBjb21wYXRpYmxlIHdpdGggb3VyIHBsYW5zIGZvciBSVFAuCgoyMDA1LTEwLTI1IDEzOjAzOjA0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBmaXggbWlzdGFrZW4gY2xhaW0gb24gR1BMLCBpdHMgTEdQTAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1pc3Rha2VuIGNsYWltIG9uIEdQTCwgaXRzIExHUEwKCjIwMDUtMTAtMjUgMTA6NDc6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUHVzaCBhIG5ld3NlZ21lbnQgZXZlbnQsIG1vdmUgc29tZSByZWR1bmRhbnQgY29kZSBpbiBhIHNpbmdsZSBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX3Rhc2spOiBQdXNoCgkgIGEgbmV3c2VnbWVudCBldmVudCwgbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlIGluIGEgc2luZ2xlIHBsYWNlLgoKMjAwNS0xMC0yNSAxMDoyMzoyNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBUZW1wb3JhcnkgaGFjayB0byBnZXQgY29ycmVjdCBjb2xvcnMgb3JkZXIgd2hlbiB3ZSBoYXZlIGEgcG5nIGltYWdlIHdpdGggYWxwaGEgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX3Rhc2spOiBUZW1wb3JhcnkKCSAgaGFjayB0byBnZXQgY29ycmVjdCBjb2xvcnMgb3JkZXIgd2hlbiB3ZSBoYXZlIGEgcG5nIGltYWdlIHdpdGgKCSAgYWxwaGEgY2hhbm5lbC4KCjIwMDUtMTAtMjQgMTc6Mjk6MDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcyB3aGVuIHRoZXJlIHdpbGwgYmUgbm8gbW9yZSBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpOgoJICBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcyB3aGVuIHRoZXJlIHdpbGwgYmUgbm8gbW9yZSBwYWRzLgoKMjAwNS0xMC0yNCAxNjozOTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCB0d28gbmV3IHBheWxvYWRlcnMsIGFuIFJGQyAyMTkwIHBheWxvYWRlciBmb3IgaDI2MyBhbmQgYSBwYXlsb2FkIGNvbnZlcnRvciBmb3IgYW4gYXN0ZXJpc2sgc2VydmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2dldF90eXBlKSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfYmFzZV9pbml0KSwgKGdzdF9hc3Rlcmlza2gyNjNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2luaXQpLCAoZ3N0X2FzdGVyaXNraDI2M19maW5hbGl6ZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2NoYWluKSwgKGdzdF9hc3Rlcmlza2gyNjNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hc3Rlcmlza2gyNjNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuYzogKGdzdF9ydHBoMjYzZW5jX2dldF90eXBlKSwKCSAgKGdzdF9ydHBoMjYzZW5jX2Jhc2VfaW5pdCksIChnc3RfcnRwaDI2M2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBoMjYzZW5jX2luaXQpLCAoZ3N0X3J0cGgyNjNlbmNfZmluYWxpemUpLAoJICAoZ3N0X3J0cGgyNjNlbmNfc2V0Y2FwcyksIChnc3RfcnRwaDI2M2VuY19nb2JmaW5lciksCgkgIChnc3RfcnRwaDI2M2VuY19mbHVzaCksIChnc3RfcnRwaDI2M2VuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBoMjYzZW5jX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuaDoKCSAgQWRkZWQgdHdvIG5ldyBwYXlsb2FkZXJzLCBhbiBSRkMgMjE5MCBwYXlsb2FkZXIgZm9yIGgyNjMgYW5kCgkgIGEgcGF5bG9hZCBjb252ZXJ0b3IgZm9yIGFuIGFzdGVyaXNrIHNlcnZlci4KCjIwMDUtMTAtMjQgMTU6NTc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy5jOiBTZXQgYnl0ZXNfcGVyX3NhbXBsZSBjb3JyZWN0bHkgKGlzIG5vdCBhbHdheXMgNCwgYnV0IGRlcGVuZHMgb24gd2lkdGggYW5kIG51bWJlciBvZiBjaGFubmVscykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19wcmVwYXJlKToKCSAgU2V0IGJ5dGVzX3Blcl9zYW1wbGUgY29ycmVjdGx5IChpcyBub3QgYWx3YXlzIDQsIGJ1dAoJICBkZXBlbmRzIG9uIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMpLgoKMjAwNS0xMC0yNCAxNTo1MDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogRml4IHNlZWtpbmcsIHNvIHRoYXQgZmxhY2VuYyBjYW4gcmV3cml0ZSB0aGUgaGVhZGVyIHdpdGggdGhlIGNvcnJlY3QgZHVyYXRpb24gYW5kIGFtb3VudCBvZiBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNlbmNfaW5pdCksIChnc3RfZmxhY2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNlbmNfc2Vla19jYWxsYmFjayksIChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KSwgKGdzdF9mbGFjZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfZmxhY2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZsYWNlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEZpeCBzZWVraW5nLCBzbyB0aGF0IGZsYWNlbmMgY2FuIHJld3JpdGUgdGhlIGhlYWRlciB3aXRoIHRoZQoJICBjb3JyZWN0IGR1cmF0aW9uIGFuZCBhbW91bnQgb2Ygc2FtcGxlcyBhbmQgYWxsIHRoYXQgYXQgRU9TOwoJICBhbHNvIHNldCB0aW1lc3RhbXBzIGFuZCBncmFudWxlcG9zIG9uIG91dGdvaW5nIGJ1ZmZlcnM7IGFkZAoJICBkZWJ1ZyBjYXRlZ29yeTsgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTAtMjQgMTM6NDY6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXN0cmljdCB2aWRlbyBnZW9tZXRyeSBmcm9tIDE2IHRvIDQwOTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXN0cmljdCB2aWRlbyBnZW9tZXRyeQoJICBmcm9tIDE2IHRvIDQwOTYuCgoyMDA1LTEwLTI0IDEzOjIyOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggY2FwcyBuZWdvdGlhdGlvbiBjb3JyZWN0bHksIGFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICBGaXggY2FwcyBuZWdvdGlhdGlvbiBjb3JyZWN0bHksIGFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgoyMDA1LTEwLTI0IDEzOjAyOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoKMjAwNS0xMC0yNCAwODo1OToyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBEb24ndCB1c2UgZml4ZWQgY2FwcyBvbiBhIHNpbmsgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpOiBEb24ndCB1c2UgZml4ZWQKCSAgY2FwcyBvbgoJICBhIHNpbmsgcGFkLgoKMjAwNS0xMC0yMyAyMzowNTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy91cGxvYWQubWFrOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjQgPT09CgoyMDA1LTEwLTIzIDIyOjQzOjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjQKCjIwMDUtMTAtMjMgMTE6MDc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBTVE9QUEVELT5GQUlMRUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNUT1BQRUQtPkZBSUxFRAoKMjAwNS0xMC0yMSAxNzowMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5LCBmaXggcXVlcnkgdHlwZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9zcGVleGVuY19zcmNfcXVlcnkpOgoJICBBZGQgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5LCBmaXggcXVlcnkgdHlwZSBmdW5jdGlvbi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgTGV0J3Mgbm90IHNldCBub24tZml4ZWQgY2FwcyBvbiBzb3VyY2UgcGFkcy4KCjIwMDUtMTAtMjEgMTY6MTU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTZXQgY29ycmVjdCBzdHJlYW1fdGltZSBpbiBuZXdzZWdtZW50IGV2ZW50LiBhdmkgY2FuIGFsc28gaGFuZGxlIGEgZHVyYXRpb24gcXVlcnkgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgU2V0IGNvcnJlY3Qgc3RyZWFtX3RpbWUgaW4gbmV3c2VnbWVudCBldmVudC4KCSAgYXZpIGNhbiBhbHNvIGhhbmRsZSBhIGR1cmF0aW9uIHF1ZXJ5IG5vdy4KCjIwMDUtMTAtMjEgMTA6MDY6NDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgYWRkaXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBhZGRpdGlvbnMKCjIwMDUtMTAtMjAgMTk6MTQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGR1cmF0aW9uIHF1ZXJ5OyBmaXggYmFzZXRpbWUgaW4gbmV3c2VnbWVudCBldmVudCBhZnRlciBzZWVrOyBmaXggZHVyYXRpb24gaW4gaW5pdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgRml4IGR1cmF0aW9uIHF1ZXJ5OyBmaXggYmFzZXRpbWUgaW4gbmV3c2VnbWVudCBldmVudCBhZnRlcgoJICBzZWVrOyBmaXggZHVyYXRpb24gaW4gaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50LgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIEV4dHJhY3QgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGVyYXRlIGZyb20gdm9yYmlzIGhlYWRlcnM7CgkgIGFkZCBzb21lIGRlYnVnIG1lc3NhZ2VzIHdoZW4gcXVlcnlpbmcgdGhlIGR1cmF0aW9ucyBvZiB0aGUKCSAgaW5wdXQgc3RyZWFtcy4KCjIwMDUtMTAtMjAgMTE6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2V0IHN0cmVhbSB0aW1lIGNvcnJlY3RseSBpbiBuZXdzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgU2V0IHN0cmVhbSB0aW1lIGNvcnJlY3RseSBpbiBuZXdzZWdtZW50LgoKMjAwNS0xMC0yMCAxMTozOTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ29ycmVjdGx5IGZpbGwgaW4gdGhlIHN0cmVhbSB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgQ29ycmVjdGx5IGZpbGwgaW4gdGhlIHN0cmVhbSB0aW1lLgoKMjAwNS0xMC0xOSAyMDo0ODoyNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB1c2UgRUxFTUVOVCBtZXNzYWdlcyBpbnN0ZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgRUxFTUVOVCBtZXNzYWdlcyBpbnN0ZWFkCgoyMDA1LTEwLTE5IDE1OjU4OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9nZXRfcXVlcnlfdHlwZXMpLCAoc3BlZWRfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX2dldF9xdWVyeV90eXBlcyksIChnc3RfdHRhX3BhcnNlX3F1ZXJ5KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDE1OjU3OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbGVuZ3RoKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zcmNfcXVlcnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzogKGdzdF9uYXZzZWVrX3NlZWspOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDEwOjU3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBNYWtlIGlubGluZSBmdW5jdGlvbnMgZWl0aGVyICdzdGF0aWMgaW5saW5lJyBvciAnZXh0ZXJuIGlubGluZScsIG90aGVyd2lzZSB0aGUgRm9ydGUgY29tcGlsZXIgYXBwYXJlbnRseSB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzoKCSAgTWFrZSBpbmxpbmUgZnVuY3Rpb25zIGVpdGhlciAnc3RhdGljIGlubGluZScgb3IgJ2V4dGVybiBpbmxpbmUnLAoJICBvdGhlcndpc2UgdGhlIEZvcnRlIGNvbXBpbGVyIGFwcGFyZW50bHkgd29uJ3QgaW5saW5lIHRoZW0gKCMzMTczMDApLgoKMjAwNS0xMC0xOCAyMjo1MDoxMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBmb3Jnb3QgdGhlIGJ1ZmZlciB1bnJlZiBpbiBwdWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IGZvcmdvdCB0aGUgYnVmZmVyIHVucmVmIGluIHB1bGwuCgoyMDA1LTEwLTE4IDIyOjQ0OjExICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IENvbXBsZXRlIHJld3JpdGUgb2YgcG5nZGVjLiBJdCdzIG5vdyB2ZXJ5IG5pY2UgYW5kIGhhbmRsZSBwdXNoL3B1bGwgYmFzZWQgbW9kZWwuIGlmIHlvdSBoYXZlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19pbml0KSwgKHVzZXJfZXJyb3JfZm4pLCAodXNlcl93YXJuaW5nX2ZuKSwKCSAgKHVzZXJfaW5mb19jYWxsYmFjayksICh1c2VyX2VuZHJvd19jYWxsYmFjayksCgkgICh1c2VyX2VuZF9jYWxsYmFjayksCgkgICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLAoJICAoZ3N0X3BuZ2RlY190YXNrKSwgKGdzdF9wbmdkZWNfY2hhaW4pLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2NsZWFyKSwgKGdzdF9wbmdkZWNfbGlicG5nX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOiBDb21wbGV0ZSByZXdyaXRlIG9mIHBuZ2RlYy4gSXQncyBub3cKCSAgdmVyeSBuaWNlIGFuZCBoYW5kbGUgcHVzaC9wdWxsIGJhc2VkIG1vZGVsLiBpZiB5b3UgaGF2ZSBmaWxlc3JjCgkgIGNvbm5lY3RlZCB0byBpdCwgaXQgd2lsbCBkbyByYW5kb20gYWNjZXNzIHRvIGxvYWQgdGhlIHBuZyBmaWxlLgoJICBJZiB5b3UgaGF2ZSBhIG5ldHdvcmsgc291cmNlIHRoYXQgY2FuJ3QgZG8gX2dldHJhbmdlLCBpdCBkb2VzCgkgIHByb2dyZXNzaXZlIGxvYWRpbmcgdGhyb3VnaCB0aGUgY2hhaW4gZnVuY3Rpb24uCgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpOiBGaXggY2FwcyBuZWdvdGlhdGlvbiBjb3JyZWN0bHkKCSAgdGhhbmtzIHRvIE1hc3RlciBXaW0gVGF5bWFucyA7LSkKCjIwMDUtMTAtMTggMTg6MTI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBQb3J0ZWQgbWF0cm9za2EgZGVtdXhlciB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQb3J0ZWQgbWF0cm9za2EgZGVtdXhlciB0byAwLjkuCgoyMDA1LTEwLTE4IDE4OjA2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXBlZzQgaW5wdXQgaGFuZGxpbmcgKCMzMTg4NDcpOyBhbHNvLCB3aGlsZSB3ZSdyZSBhdCBpdCwgZml4IG1lZGlhIHR5cGUgZm9yIE1vdGlvbi1KLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtcGVnNCBpbnB1dCBoYW5kbGluZyAoIzMxODg0Nyk7IGFsc28sIHdoaWxlIHdlJ3JlIGF0IGl0LAoJICBmaXggbWVkaWEgdHlwZSBmb3IgTW90aW9uLUpQRUc6IHNob3VsZCBiZSBpbWFnZS9qcGVnLgoKMjAwNS0xMC0xOCAxMzoyMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggZm9yIHNlZ21lbnQtc3RhcnQvc3RvcCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgRml4IGZvciBzZWdtZW50LXN0YXJ0L3N0b3AgQVBJIGNoYW5nZS4KCjIwMDUtMTAtMTcgMTc6MTg6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gaW4gYSBiZXR0ZXIgd2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKTogSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gaW4gYQoJICBiZXR0ZXIKCSAgd2F5LgoKMjAwNS0xMC0xNyAxNjo1OToyMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IGNhcHMgbmVnbyBzb21lIG1vcmUgdG8gZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6IEZpeCBjYXBzIG5lZ28gc29tZSBtb3JlIHRvIGdldAoJICBBWVVWCgkgIG91dHB1dCBkZWNsYXJlZCBpbiB0cmFuc2Zvcm1fY2Fwcy4KCjIwMDUtMTAtMTcgMTU6MjM6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogV2UgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCk6IFdlIHVzZSBmaXhlZCBjYXBzLgoKMjAwNS0xMC0xNyAxNToxNDoyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IHdyb25nIHNpemUgY2FsY3VsYXRpb25zIGFuZCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6IEZpeCB3cm9uZyBzaXplIGNhbGN1bGF0aW9ucyBhbmQKCSAgaW1wbGVtZW50IGdldF91bml0X3NpemUgY29ycmVjdGx5LgoKMjAwNS0xMC0xNyAxNDo1NjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGZseCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGZseCBwbHVnaW4uCgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGZseF9kZWNvZGVfY2h1bmtzKToKCSAgRml4IGdjYzQgc2lnbmVkbmVzcyBpc3N1ZS4KCjIwMDUtMTAtMTcgMDg6NDY6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGRpbmcgdmlkZW9taXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IEFkZGluZyB2aWRlb21peGVyLgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpLAoJICAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jaGFpbik6IE1vcmUgZGVidWdnaW5nLgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbTogQWRkaW5nIGFscGhhY29sb3IKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfY29sb3JfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2JnciksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2lwKSwKCSAgKHBsdWdpbl9pbml0KTogUG9ydGVkIHRvIDAuOSB1c2luZyBpbiBwbGFjZSBiYXNlIHRyYW5mb3JtLgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9saW5rKSwgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLCAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgUG9ydGVkCgkgIHRvIDAuOSB1c2luZyBjb2xsZWN0cGFkcy4KCjIwMDUtMTAtMTYgMjE6MTk6NDQgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4IHBsdWdpbiBwb3J0ZWQgdG8gMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmbHggcGx1Z2luIHBvcnRlZCB0byAwLjkKCjIwMDUtMTAtMTYgMTQ6MzM6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICB1c2UgZ3N0X3ZlcnNpb25fc3RyaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgZ3N0X3ZlcnNpb25fc3RyaW5nCgoyMDA1LTEwLTE2IDEzOjE3OjExICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWM6IEdMSUJfQ0hFQ0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzogR0xJQl9DSEVDSy4KCjIwMDUtMTAtMTUgMTY6NDg6NTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy86IFBvcnRlZCBwbmdkZWMgdG8gMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL2dzdHBuZy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19pbml0KSwgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6IFBvcnRlZCBwbmdkZWMgdG8gMC45CgoyMDA1LTEwLTE0IDEyOjQzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBtYXRyb3NrYSBtdXhlciB0byAwLjkgKCMzMTg4NDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUG9ydCBtYXRyb3NrYSBtdXhlciB0byAwLjkgKCMzMTg4NDcpLgoKMjAwNS0xMC0xMyAxODo1OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBGaXggaGFuZGxpbmcgb2YgR1NUX1RBR19EQVRFLCB3aGljaCBpcyBub3cgb2YgR1NUX1RZUEVfREFURTsgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRSgpIGFuZCBmci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19nZXRfdGFnX3ZhbHVlKSwKCSAgKGNvbW1lbnRfaW5pdCksIChjb21tZW50X2FkZCk6CgkgIEZpeCBoYW5kbGluZyBvZiBHU1RfVEFHX0RBVEUsIHdoaWNoIGlzIG5vdyBvZiBHU1RfVFlQRV9EQVRFOwoJICB1c2UgR1NUX1JFQURfVUlOVDMyX0xFKCkgYW5kIGZyaWVuZHMgcmF0aGVyIHRoYW4gdGhlIHByaXZhdGUKCSAgaW1wbGVtZW50YXRpb24gb2YgdGhvc2Ugc2FtZSBtYWNyb3MuCgoyMDA1LTEwLTEzIDE2OjAxOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0CgoyMDA1LTEwLTEzIDE1OjI4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzogbW9yZSB0eXBvIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICBtb3JlIHR5cG8gZml4ZXMKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAxNDoyOTo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9vcGVuX2F1ZGlvKSwKCSAgKGdzdF9lc2Rtb25fY2xvc2VfYXVkaW8pLCAoZ3N0X2VzZG1vbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0b3ZlcmxheV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlmaWxlc3JjX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNyY19nZXQpLCAoZ3N0X211bHRpZmlsZXNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNyY19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6IChnc3RfcGlwZWZpbHRlcl9pbml0KSwKCSAgKGdzdF9waXBlZmlsdGVyX29wZW5fZmlsZSksIChnc3RfcGlwZWZpbHRlcl9jbG9zZV9maWxlKSwKCSAgKGdzdF9waXBlZmlsdGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAwMzoxNDo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3QgY2Fpcm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc3QgY2Fpcm8KCjIwMDUtMTAtMTIgMDM6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0LzogdXBkYXRlIG9mIGNhaXJvLWJhc2VkIHRpbWVvdmVybGF5IHRvIDEuMCBDYWlybyBBUEkgZG9lc24ndCB3b3JrIHlldCBmb3IgcmVzaXppbmcgb2Ygb3V0cHV0IHNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0b3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X3RpbWVvdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCksCgkgIChnc3RfdGltZW92ZXJsYXlfc2V0dXApLCAoZ3N0X3RpbWVvdmVybGF5X3BsYW5hcjQxMSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIHVwZGF0ZSBvZiBjYWlyby1iYXNlZCB0aW1lb3ZlcmxheSB0byAxLjAgQ2Fpcm8gQVBJCgkgIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHJlc2l6aW5nIG9mIG91dHB1dCBzaW5rCgoyMDA1LTEwLTEyIDAzOjA3OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGNoZWNrCgoyMDA1LTEwLTEyIDAzOjAzOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGdzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBnc3RjaGVjawoKMjAwNS0xMC0xMSAxNzozODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBuZXdzZWdtZW50IEFQSSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbik6CgkgIG5ld3NlZ21lbnQgQVBJIGZpeC4KCjIwMDUtMTAtMTEgMTY6MzQ6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMTEgMTY6MzM6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZXZlbnQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMTEgMTA6MDc6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBTaWduZWRuZXNzIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogU2lnbmVkbmVzcyBjbGVhbnVwcy4KCjIwMDUtMTAtMTAgMTk6NTc6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgU3BlZXhlbmMgcG9ydGVkIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNwZWV4ZW5jIHBvcnRlZCB0byAwLjkuCgoyMDA1LTEwLTEwIDE0OjE2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy86IENsZWFudXBzLCBtYWtlIGRldmljZSBjb25maWd1cmFibGUgaW4gdGhlIHNpbmssIGhhbmRsZSBhbmQgcmVwb3J0IGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3Nfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3Jlc2V0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zcmNfaW5pdCksIChnc3Rfb3NzX3NyY19vcGVuKSwKCSAgKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBDbGVhbnVwcywgbWFrZSBkZXZpY2UgY29uZmlndXJhYmxlIGluIHRoZSBzaW5rLCBoYW5kbGUgYW5kIHJlcG9ydAoJICBlcnJvcnMuCgoyMDA1LTEwLTEwIDEyOjMxOjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mLzogTWFrZSBzdXJlIGVsZW1lbnQgaXMgTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KToKCSAgTWFrZSBzdXJlIGVsZW1lbnQgaXMgTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluLgoKMjAwNS0xMC0wNyAxNjoyODoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgRG9uJ3QgdW5yZWYgdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOiBEb24ndCB1bnJlZiB0aGUgbWVzc2FnZS4KCjIwMDUtMTAtMDcgMTY6MjI6NTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIGNhYmxlIGlzIHVucGx1Z2dlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIGNhYmxlIGlzCgkgIHVucGx1Z2dlZC4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlLCBnc3RfZHYxMzk0c3JjX3VubG9jayk6IFJlbW92ZSBzb21lIHByaW50cy4KCjIwMDUtMTAtMDcgMTU6MjQ6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0IGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0CgkgIGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgoyMDA1LTEwLTA3IDEzOjE3OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogQ2xlYW4gdXAgZm9yIHN0eWxlIGJlZm9yZSBkb2luZyBzb21lIGhhY2tpbmcuIFRoZSBvbmx5IGNoYW5nZSBzaG91bGQgYmUgdGhhdCB0aGUgc3RhdGUgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IENsZWFuIHVwIGZvciBzdHlsZSBiZWZvcmUgZG9pbmcgc29tZQoJICBoYWNraW5nLiBUaGUgb25seSBjaGFuZ2Ugc2hvdWxkIGJlIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBzdHVmZiB3YXMKCSAgcHV0IGludG8gYmFzZXNyYydzIHN0YXJ0KCkgYW5kIHN0b3AoKSByb3V0aW5lcywgd2hpY2ggY29hbGVzY2VzCgkgIHNvbWUgc3RlcHMuCgoyMDA1LTEwLTA3IDExOjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgY2hlY2sgZm9yIG1tYXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgY2hlY2sgZm9yIG1tYXAKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIE9ubHkgY29tcGlsZSBlZmVuY2UgcGx1Z2luIG9uIHN5c3RlbXMgdGhhdCBoYXZlIG1tYXAuCgoyMDA1LTEwLTA1IDE2OjM2OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgZmlsZXMKCjIwMDUtMTAtMDUgMTE6Mzg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvOiBQb3J0IHByb2dyZXNzcmVwb3J0LCBuYXZzZWVrLCBuYXZpZ2F0aW9udGVzdCwgdGVzdHNpbmsgYW5kIGJyZWFrbXlkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIFBvcnQgcHJvZ3Jlc3NyZXBvcnQsIG5hdnNlZWssIG5hdmlnYXRpb250ZXN0LCB0ZXN0c2luayBhbmQKCSAgYnJlYWtteWRhdGEuCgoyMDA1LTEwLTA1IDExOjE1OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogRml4ZXMgZm9yIGJldHRlciBjb252ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpOgoJICBGaXhlcyBmb3IgYmV0dGVyIGNvbnZlcnNpb24KCjIwMDUtMTAtMDQgMTc6NTg6NDAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogU2V0IHN0YXRlIG9mIGVsZW1lbnRzIHRvIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gYmlucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFNldCBzdGF0ZSBvZiBlbGVtZW50cyB0byBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIGJpbnMuCgkgIFNldCBzdGF0ZSBvZiB0ZXN0IGVsZW1lbnQgdG8gTlVMTCBpZiB3ZSBmYWlsZWQgdG8gbW92ZSBpdCB0byBSRUFEWQoKMjAwNS0xMC0wNCAxNzo0NDo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi86IEFkZGVkIERFRkFVTFQgPD09PiBCWVRFUywgVElNRSBjb252ZXJzaW9ucyBvbiBzcmNwYWQsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NyY19jb252ZXIpOgoJICBBZGRlZCBERUZBVUxUIDw9PT4gQllURVMsIFRJTUUgY29udmVyc2lvbnMgb24gc3JjcGFkLAoJICBDb3JyZWN0ZWQgdGhlIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbiBzbyBpdCBkb2Vzbid0IGZvcmdldCB3aGF0CgkgIGZvcm1hdCB3YXMgYXNrZWQsIGFuZCBjYWxscyB0aGUgY29udmVyc2lvbiBmdW5jdGlvbnMgb24gdGhlIGNvcnJlY3QgcGFkLgoKMjAwNS0xMC0wMyAxNzo1OToxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS4zID09PQoKMjAwNS0xMC0wMyAxNzo0ODo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFQURNRToKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2UgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzZSB0aW1lCgoyMDA1LTEwLTAyIDIzOjA4OjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKTogRGVhbCB3aXRoIHBhZF9hbGxvYyBlcnJvciByZXR1cm5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKTogRGVhbCB3aXRoIHBhZF9hbGxvYwoJICBlcnJvciByZXR1cm5zLgoKMjAwNS0xMC0wMiAxNTozMzoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiBDaGFuZ2UgdG8gYmUgbGlrZSAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiBDaGFuZ2UgdG8gYmUgbGlrZSAtYmFzZS4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFBvcnRlZCB0byAwLjkuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY19sb29wKTogSGFuZGxlIGVycm9ycyBiZXR0ZXIuCgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06IEFkZCB0aGUgR1NUX1BMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMsCgkgIGFuZCBsaW5rIHRvIGdzdHRhZ2VkaXQuIEVuYWJsZSBmbGFjZW5jLgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogUmUtZW5hYmxlIHRhZyByZWFkaW5nLgoKMjAwNS0wOS0zMCAxNjozNjo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBWYXJpb3VzIGNsYXNzIGFuZCBjYXBzIGZpeGVzIGZyb20gQW5kcmUgTWFnYWxoYWVzIChhbmRydW5rbykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzogKGdzdF9ydHBhbXJlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgIFZhcmlvdXMgY2xhc3MgYW5kIGNhcHMgZml4ZXMgZnJvbSBBbmRyZSBNYWdhbGhhZXMgKGFuZHJ1bmtvKQoKMjAwNS0wOS0yOSAxMzowODo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IFVwZGF0ZSBmb3IgbmV3IGJ1cyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgVXBkYXRlIGZvciBuZXcgYnVzIEFQSS4KCjIwMDUtMDktMjggMTM6Mzg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgIE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoKMjAwNS0wOS0yOCAwOTo0NTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHVuZXhwYW5kZWQgYXV0b2NvbmYgbWFjcm8gR1NUX0RPQywgd2hpY2ggaGFzIGJlZW4gcmVuYW1lZCB0byBHU1RfRE9DQk9PS19DSEVDSyAoc2VlIGNvbW1vbi9tNC9nc3QtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB1bmV4cGFuZGVkIGF1dG9jb25mIG1hY3JvIEdTVF9ET0MsIHdoaWNoIGhhcyBiZWVuIHJlbmFtZWQKCSAgdG8gR1NUX0RPQ0JPT0tfQ0hFQ0sgKHNlZSBjb21tb24vbTQvZ3N0LWRvYy5tNCkgKCMzMTYyMDIpLgoKMjAwNS0wOS0yNyAxNToxMjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBGaXggcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIChieXRlc19wZXJfc2FtcGxlIHNob3VsZCBiZSBzZXQgZnJvbSB0aGUgc2FtcGxlIHdpZHRoIGFuZCB0aGUgbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgRml4IHBsYXliYWNrIG9mIG1vbm8gc3RyZWFtcyAoYnl0ZXNfcGVyX3NhbXBsZSBzaG91bGQgYmUgc2V0CgkgIGZyb20gdGhlIHNhbXBsZSB3aWR0aCBhbmQgdGhlIG51bWJlciBvZiBjaGFubmVscyBuZWdvdGlhdGVkLAoJICBhbmQgbm90IGp1c3QgYmUgc2V0IHRvIDQpICgjMzE3MzM4KQoKMjAwNS0wOS0yNiAxNDo1OToxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYXVwYXJzZSB0byBwbHVnaW5zIGxpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhdXBhcnNlIHRvIHBsdWdpbnMgbGlzdAoKMjAwNS0wOS0yNiAxNDo0MjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IFNldCBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19mbHVzaCksCgkgIChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICBTZXQgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseS4KCjIwMDUtMDktMjYgMTM6MDY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGNyYXNoIHdoZW4gZW5jb3VudGVyaW5nIGEgc3RyZWFtIHdpdGggYW4gdW5rbm93biBmb3VyY2Mgb3IgY29kZWMgaWQuIEluc3RlYWQsIGNyZWF0ZSBhIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvdW50ZXJpbmcgYSBzdHJlYW0gd2l0aCBhbiB1bmtub3duIGZvdXJjYyBvcgoJICBjb2RlYyBpZC4gSW5zdGVhZCwgY3JlYXRlIGEgcGFkIG9mIHR5cGUgdmlkZW8veC1hdmktdW5rbm93biBvcgoJICBhdWRpby94LWF2aS11bmtub3duLCB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IGFsc28gcmVzdWx0cyBpbiBsZXNzCgkgIGNvbmZ1c2luZyBlcnJvciBtZXNzYWdlcyBpbiBwbGF5ZXJzICgnbm8gZGVjb2RlcicgdnMuICdubyBzdHJlYW1zJyk7CgkgIG1pbm9yIGZpeGVzIHRvIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgY2xhc3NfaW5pdCBmdW5jdGlvbi4KCjIwMDUtMDktMjQgMTM6MzQ6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzZXQgdXAgcGx1Z2luIHBhdGhzIHByb3Blcmx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgdXAgcGx1Z2luIHBhdGhzIHByb3Blcmx5CgoyMDA1LTA5LTI0IDEzOjEwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBUaGVzZSBhcmUgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KToKCSAgVGhlc2UgYXJlIHNpbmtzLgoKMjAwNS0wOS0yNCAxMjoxMDowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiBmaXggdGVzdCBmb3IgbmV3IEdzdENsb2NrVGltZSB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IHRlc3QgZm9yIG5ldyBHc3RDbG9ja1RpbWUgdXNlCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCksIChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGZpeCB1cCB0aGUgZGVjYXkgcGVhaywgZW5zdXJpbmcgdGhlIGRlY2F5IHBlYWsgaXMgbmV2ZXIgbG93ZXIKCSAgdGhhbiB0aGUgcGVhayBmb3IgdGhhdCBpbnRlcnZhbAoKMjAwNS0wOS0yMyAxODoyMzowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB1cGRhdGluZyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGluZyBkb2NzCgoyMDA1LTA5LTIzIDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNvbW1vbjoKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNvbnZlcnQgdG8gdXNpbmcgR3N0Q2xvY2tUaW1lIGZvciBhbGwgdGltZSB2YWx1ZXMsIGZpbmFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb252ZXJ0IHRvIHVzaW5nIEdzdENsb2NrVGltZSBmb3IgYWxsIHRpbWUgdmFsdWVzLCBmaW5hbGx5LgoKMjAwNS0wOS0yMyAxNTowMTowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIG9mIGdvb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBvZiBnb29tCgoyMDA1LTA5LTIzIDE0OjIwOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHdlIGhhbmRsZSBtb3JlIHRoYW4gdHdvIGNoYW5uZWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3ZSBoYW5kbGUgbW9yZSB0aGFuIHR3byBjaGFubmVscwoKMjAwNS0wOS0yMyAwNDoyMzowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCjIwMDUtMDktMjIgMjI6Mzg6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBBdXBhcnNlIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBhdXBhcnNlICEgb3Nzc2luayBhbmQgYWxzYXNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEF1cGFyc2UgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGF1cGFyc2UgISBvc3NzaW5rIGFuZCBhbHNhc2luawoKMjAwNS0wOS0yMiAxNDoxMzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVc2UgaXNfZmlsbGVkIHRvIGJvdGggY2hlY2sgTVRVIGFuZCBtYXgtcHRpbWUgb2YgYmFzZSBjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9UT0RPOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJICBVc2UgaXNfZmlsbGVkIHRvIGJvdGggY2hlY2sgTVRVIGFuZCBtYXgtcHRpbWUgb2YgYmFzZSBjbGFzcy4KCjIwMDUtMDktMjIgMTE6Mjg6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogRG9uJ3QgZnJhZ21lbnQgcGFja2V0cyB3aXRoIG11bHRpcGxlIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICBEb24ndCBmcmFnbWVudCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgZnJhbWVzLgoKMjAwNS0wOS0yMiAxMDozOToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBSZW1vdmUgZ19wcmludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9UT0RPOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksCgkgIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICBSZW1vdmUgZ19wcmludC4KCSAgVXBkYXRlIFRPRE8KCSAgTWFrZSBwYXlsb2FkIGVuY29kZXIgYSBiaXQgc21hcnRlciBhbmQgbW9yZSBjb3JyZWN0IHdpdGgKCSAgdGltZXN0YW1wcy4KCSAgQWRkZWQgb3B0aW9uIGluIHBheWxvYWRlciB0byBpbmNsdWRlIGNvbmZpZyBzdHJpbmcgaW4tYmFuZC4KCjIwMDUtMDktMjEgMTk6NDE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFN0cmlwIHNwYWNlcyBmb3Iga2V5L3ZhbHVlIHBhaXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBTdHJpcCBzcGFjZXMgZm9yIGtleS92YWx1ZSBwYWlycy4KCjIwMDUtMDktMjEgMTc6NTM6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1vcmUgU0RQIHBhcnNpbmcgYW5kIGNhcHMgc2V0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgU0RQIHBhcnNpbmcgYW5kIGNhcHMgc2V0dGluZy4KCSAgRG8gTk9fUFJFUk9MTCBkaWZmZXJlbnRseS4KCSAgYWRkIHBhZHMgb25seSBhZnRlciBuZWdvdGlhdGVkLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19nZXRjYXBzKToKCSAgSW1wbGVtZW50IHRoZSBnZXRjYXBzIGZ1bmN0aW9uLgoKMjAwNS0wOS0yMSAxNzo1MDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IEhhbmRsZSBtdWx0aXBsZSBBTXIgcGFja2V0cyBwZXIgcGF5bG9hZC4gSGFuZGxlIENSQyBhbmQgcGFyc2UgSUxML0lMUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogKGdzdF9ydHBhbXJkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBhbXJkZWNfY2hhaW4pOgoJICBIYW5kbGUgbXVsdGlwbGUgQU1yIHBhY2tldHMgcGVyIHBheWxvYWQuIEhhbmRsZSBDUkMgYW5kCgkgIHBhcnNlIElMTC9JTFAuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzogKGdzdF9ydHBhbXJlbmNfc2V0Y2Fwcyk6CgkgIE1ha2UgY2FwcyBwYXJhbXMgc3RyaW5ncyBmb3IgZWFzeSBTRFAgbWFwcGluZy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBjYXBzbmVnbyBiZXR0ZXIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX25ld19jYXBzKToKCSAgR2VuZXJhdGUgYW5kIHBhcnNlIGNvbmZpZyBzdHJpbmcgaW4gdGhlIGNhcHMuCgoyMDA1LTA5LTIxIDEyOjE5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiAoZ3N0X3J0cGFtcmRlY19zaW5rX3NldGNhcHMpOgoJICBNYWtlIGV4dHJhIHBhcmFtcyBhcyBzdHJpbmdzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSByZXR1cm4gTk9fUFJFUk9MTCBhcyB0aGlzIGlzIGEgbGl2ZQoJICBzb3VyY2UuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgRG9uJ3QgdW5yZWYgb2xkIGNhcHMgd2hlbiBOVUxMLgoKMjAwNS0wOS0yMCAxNzozNToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIFVSSSBoYW5kbGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lZGlhX2dldF9mb3JtYXQpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQWRkIFVSSSBoYW5kbGVyLgoJICBQYXJzZSBTRFAgYW5kIGNyZWF0ZSBjYXBzLgoKMjAwNS0wOS0yMCAxNzoxOTo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBtb3JlIHNwZWMgZmlsZSBmaXhvcmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBzcGVjIGZpbGUgZml4b3JpbmcKCjIwMDUtMDktMjAgMTc6MDQ6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0LXBsdWdpbnMuc3BlYy5pbjoKCSAgZml4IHNwZWMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjIGZpbGVzCgoyMDA1LTA5LTIwIDEwOjUxOjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIGRvbid0IHVzZSB1bmRlcnNjb3JlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdXNlIHVuZGVyc2NvcmVzCgoyMDA1LTA5LTIwIDA3OjMwOjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogZml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDA1LTA5LTE5IDE3OjU3OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgcHJlcmVxcyBhcyB3ZWxsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwcmVyZXFzIGFzIHdlbGwKCjIwMDUtMDktMTkgMTc6NTM6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICBjb21taXQgcmVzdWx0IG9mIHNjYW5vYmogc3RlcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IHJlc3VsdCBvZiBzY2Fub2JqIHN0ZXAKCjIwMDUtMDktMTkgMTc6MDM6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6IERvbid0IGNoZWNrIHBheWxvYWQgZm9yIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOiAoZ3N0X3J0cGgyNjNwZGVjX2NoYWluKToKCSAgRG9uJ3QgY2hlY2sgcGF5bG9hZCBmb3Igbm93LgoKMjAwNS0wOS0xOSAxNjo0Mzo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoKMjAwNS0wOS0xOSAxNjoyNjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBGaXggd2F2cGFyc2Ugc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEZpeCB3YXZwYXJzZSBzb21lIG1vcmUuCgoyMDA1LTA5LTE5IDExOjQ4OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogRml4IGZvciBidXMgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGZvciBidXMgQVBJIGNoYW5nZS4KCjIwMDUtMDktMTkgMTE6Mzg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBGaXggZm9yIG5ldyBidXMgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgIEZpeCBmb3IgbmV3IGJ1cyBBUEkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgU2V0IGNhcHMgb24gcGFkcy4KCjIwMDUtMDktMTkgMTE6MDY6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBkaXNhYmxlIGZsYWdzIGZvciB1bmJ1aWx0IHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc2FibGUgZmxhZ3MgZm9yIHVuYnVpbHQgcGx1Z2lucwoKMjAwNS0wOS0xOSAwODoyMToyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9zY2Fub2JqLWJ1aWxkLnN0YW1wOgoJICBub3JtYWwgYnVpbGRzIHNob3VsZG4ndCBzY2FuIGdvYmplY3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBub3JtYWwgYnVpbGRzIHNob3VsZG4ndCBzY2FuIGdvYmplY3RzCgoyMDA1LTA5LTE2IDAwOjM4OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICByZW1vdmUgZ3N0LXJlZ2lzdGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZ3N0LXJlZ2lzdGVyCgoyMDA1LTA5LTE1IDEzOjU3OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgVXBkYXRlcyB0byBwYXlsb2FkZXIvZGVwYXlsb2FkZXJzLCBtYWtlIHBheWxvYWRlcnMgdXNlIHRoZSBiYXNlIGNsYXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGVzIHRvIHBheWxvYWRlci9kZXBheWxvYWRlcnMsIG1ha2UgcGF5bG9hZGVycyB1c2UKCSAgdGhlIGJhc2UgY2xhc3Nlcy4KCSAgVXBkYXRlZCBSRUFETUUgd2l0aCBzdWdnZXN0ZWQgUlRQIGNhcHMgYW5kIGhvdyB0byBjb252ZXJ0CgkgIHRvL2Zyb20gU0RQLgoJICBBZGRlZCBjb25maWcgZGVzY3JpcHRvciBpbiBtcDR2IHBheWxvYWRlci4KCjIwMDUtMDktMTUgMTA6NDc6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMTUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCk6IFVwZGF0ZSBmb3IgbmV3IHJlZ2lzdHJ5IEFQSS4KCjIwMDUtMDktMTQgMjA6NTE6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29tbW9uLzogYSBzaW1wbGUgcHkgc2NyaXB0IHRvIGdlbmVyYXRlIHZhbGlkIHhtbCBmcm9tIGEgQyBleGFtcGxlIHByb2JhYmx5IGFsc28gbmVlZCB0byBzdHJpcCBhbiBNSVQgbGljZW5zZSB3aGVuIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9jLXRvLXhtbC5weToKCSAgKiBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hazoKCSAgYSBzaW1wbGUgcHkgc2NyaXB0IHRvIGdlbmVyYXRlIHZhbGlkIHhtbCBmcm9tIGEgQyBleGFtcGxlCgkgIHByb2JhYmx5IGFsc28gbmVlZCB0byBzdHJpcCBhbiBNSVQgbGljZW5zZSB3aGVuIHdlIGRlY2lkZQoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCk6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgYWRkIGFuIGV4YW1wbGUgdG8gbGV2ZWwgdGhhdCB3aWxsIHNob3cgdXAgaW4gdGhlIGRvY3MKCSAgKiBnc3QvcnRwL1RPRE86CgkgIGFkZCBhIG5vdGUgZm9yIHRoZSBmdXR1cmUKCjIwMDUtMDktMTQgMTE6NDQ6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IEFjdHVhbGx5IGRlZmluZSB0aGUgZGVidWcgb2JqZWN0IGJlaW5nIHVzZWQgaW4gd2F2ZW5jLiBGaXhlcyAjMzE2MjA1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBkZWZpbmUgdGhlIGRlYnVnIG9iamVjdCBiZWluZyB1c2VkIGluIHdhdmVuYy4gRml4ZXMgIzMxNjIwNQoKMjAwNS0wOS0xNCAxMToyMzo0NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIExpbmsgc21wdGUgcGx1Z2luIGFnYWluc3QgR1NUX0JBU0VfTElCUywgdG8gZ2V0IGxpYmdzdGJhc2U7IG5lZWRlZCB0byBidWlsZCBvbiB3aW4zMiBhcyB0aGlzIHBsdWdpbiB1c2VzIGNvbGxlY3RwYWRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTGluayBzbXB0ZSBwbHVnaW4gYWdhaW5zdCBHU1RfQkFTRV9MSUJTLCB0byBnZXQgbGliZ3N0YmFzZTsgbmVlZGVkIHRvCgkgIGJ1aWxkIG9uIHdpbjMyIGFzIHRoaXMgcGx1Z2luIHVzZXMgY29sbGVjdHBhZHMgKGJ1ZyAzMTYyMDQpCgoyMDA1LTA5LTEyIDE2OjM3OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IHVwIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoKMjAwNS0wOS0xMiAxNjoxNDo0OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgYXV0b2dlbi5zaCAocGFja2FnZSk6IE5vdyB0eXBlICdtYWtlJyB0byBidWlsZCBnc3QtcGx1Z2lucy1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBhdXRvZ2VuLnNoIChwYWNrYWdlKTogTm93IHR5cGUgJ21ha2UnIHRvIGJ1aWxkIGdzdC1wbHVnaW5zLWdvb2QuCgoyMDA1LTA5LTExIDE3OjUyOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGFkZCBzb3VyY2UgbW9kdWxlIHRvIGRvY3M7IHJlaW5zcGVjdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvdXJjZSBtb2R1bGUgdG8gZG9jczsgcmVpbnNwZWN0CgoyMDA1LTA5LTA5IDE3OjU2OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgZmRzcmMgYmFjayBpbnRvIGdzdHJlYW1lciBjb3JlIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zkc3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZHNyYy9nc3RmZHNyYy5jOgoJICAqIGdzdC9mZHNyYy9nc3RmZHNyYy5oOgoJICBNb3ZlIGZkc3JjIGJhY2sgaW50byBnc3RyZWFtZXIgY29yZSBlbGVtZW50cy4KCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpOgoJICBCYXNldHJhbnNmb3JtIGNoYW5nZXMuCgoyMDA1LTA5LTA5IDE2OjExOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwNS0wOS0wOSAxMTowOTo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46IHNwZWMgZmlsZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHNwZWMgZmlsZSBmaXhlcwoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbGVhcik6CgkgIGl0IGFjdHVhbGx5IGhlbHBzIHRvIGFjdHVhbGx5IHN0cmVhbSBpZiB3ZSBob29rIHVwIHRoZQoJICBhZGQgc2lnbmFsIHRvIGFuIGFjdHVhbCBpbXBsZW1lbnRhdGlvbgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgc29tZSBkZWJ1Z2dpbmcKCjIwMDUtMDktMDggMTY6NTg6NDAgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICBqcGdlbmMgcG9ydGVkIHRvIEdTVHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGpwZ2VuYyBwb3J0ZWQgdG8gR1NUcmVhbWVyIDAuOQoKMjAwNS0wOS0wOCAxNjoyNjoxNyArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkgIGpwZWdlbmMgcG9ydGVkIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGpwZWdlbmMgcG9ydGVkIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDcgMTM6NDk6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC86IGdzdHRhZ2ludGVyZmFjZS5oIC0+IGdzdHRhZ3NldHRlci5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBnc3R0YWdpbnRlcmZhY2UuaCAtPiBnc3R0YWdzZXR0ZXIuaAoKMjAwNS0wOS0wNiAyMzozMDowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHRvIDAuOSBhbmQgcmUtZW5hYmxlIGVmZW5jZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9jbGFzc19pbml0KSwgKGdzdF9lZmVuY2VfaW5pdCksCgkgIChnc3RfZWZlbmNlX2NoYWluKSwgKGdzdF9lZmVuY2VfYnVmZmVyX2FsbG9jKSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfYWxsb2MpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9pbml0KSwgKGdzdF9mZW5jZWRfYnVmZmVyX2dldF90eXBlKToKCSAgUG9ydCB0byAwLjkgYW5kIHJlLWVuYWJsZSBlZmVuY2UgcGx1Z2luLgoKMjAwNS0wOS0wNiAyMTozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogQWRkIHN1cHBvcnQgZm9yIGZsYWMgZmlsZXMgd2l0aCAyNC8zMiBiaXRzIHBlciBzYW1wbGU7IGFuZCBtaXNjLiBtaW5vciBjbGVhbi11cHMuIFNlZWtpbmcgaXMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChmbGFjX2NhcHNfZmFjdG9yeSksIChyYXdfY2Fwc19mYWN0b3J5KSwKCSAgKGdzdF9mbGFjZGVjX3dyaXRlKSwgKGdzdF9mbGFjZGVjX2NvbnZlcnRfc3JjKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjIGZpbGVzIHdpdGggMjQvMzIgYml0cyBwZXIgc2FtcGxlOyBhbmQgbWlzYy4KCSAgbWlub3IgY2xlYW4tdXBzLiBTZWVraW5nIGlzIHN0aWxsIHBhcnRseSBicm9rZW4gKGZvciBtZSBhdCBsZWFzdCkuCgoyMDA1LTA5LTA2IDE1OjUwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIG1wZWc0IHZpZGVvIHBheWxvYWQgZW5jb2Rlci9kZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19nZXRfdHlwZSksCgkgIChnc3RfcnRwbXA0dmRlY19iYXNlX2luaXQpLCAoZ3N0X3J0cG1wNHZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmRlY19pbml0KSwgKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpLAoJICAoZ3N0X3J0cG1wNHZkZWNfY2hhaW4pLCAoZ3N0X3J0cG1wNHZkZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwbXA0dmRlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cG1wNHZkZWNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cG1wNHZlbmNfYmFzZV9pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaW5pdCksIChnc3RfcnRwbXA0dmVuY19zZXRjYXBzKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2ZsdXNoKSwgKGdzdF9ydHBtcDR2ZW5jX2NoYWluKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwbXA0dmVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZlbmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBtcDR2ZW5jX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOiAoZ3N0X3J0cG1wYWRlY19jaGFpbik6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfZmx1c2gpOgoJICBBZGRlZCBtcGVnNCB2aWRlbyBwYXlsb2FkIGVuY29kZXIvZGVjb2Rlci4KCSAgQWRkZWQgc29tZSBkb2NzIGluIG1wYSBwYXlsb2FkZXIuCgoyMDA1LTA5LTA2IDE0OjA2OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS4xID09PQoKMjAwNS0wOS0wNiAxNDowNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFQURNRToKCSogUkVMRUFTRToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjkuMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS4yCgoyMDA1LTA5LTA1IDE3OjIwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA5LTA1IDE2OjI4OjE2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFpbik6IE1vdmUgdGhlIHBhZCBhZGRpbmcgaGVyZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgaGFuZGxlciwgc28gd2UgZmlyZSBzaWduYWxzIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhaW4pOiBNb3ZlIHRoZSBwYWQgYWRkaW5nCgkgIGhlcmUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGhhbmRsZXIsIHNvIHdlIGZpcmUgc2lnbmFscyB3aXRob3V0CgkgIGhvbGRpbmcgdGhlIHN0YXRlIGxvY2suCgoyMDA1LTA5LTA1IDE1OjEwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgY2xlYW5pbmcgdXAgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbmluZyB1cCBiYWQKCjIwMDUtMDktMDUgMTM6MTg6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgbWFpbnRlbmFuY2UgY29tbWl0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFpbnRlbmFuY2UgY29tbWl0cwoKMjAwNS0wOS0wNCAxNTowOTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkaXN0Y2hlY2sgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc3RjaGVjayBmaXhlcwoKMjAwNS0wOS0wNCAxMTo1MDo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3RjaGVjawoKMjAwNS0wOS0wMiAxNTo1Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHZhcmlvdXMgc3BlYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBzcGVjIGZpeGVzCgoyMDA1LTA5LTAyIDE1OjQ0OjUwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDEgMjE6MjQ6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToyMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjIwOjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MTU6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMDoyMzoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay8uZ2l0aWdub3JlOgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFuZHJld2lvIFBhdHJpY2tvZm9ydXMgV2luZ29ueW11cyAtIDUgYWRkaXRpb25hbCB0ZXN0cyBmb3IgeW91ciBzaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbmRyZXdpbyBQYXRyaWNrb2ZvcnVzIFdpbmdvbnltdXMgLSA1IGFkZGl0aW9uYWwgdGVzdHMgZm9yIHlvdXIgc2lucwoJICBBZGQgYSByZWdyZXNzaW9uIHRlc3QgZm9yIGxldmVsIGFuZCBmaXggYSBjYXN0aW5nIGJ1ZyB0aGF0IG1hZGUgdGhlIGFkZGl0aW9uYWwKCSAgY2hhbm5lbHMgdHVybiBvdXQgd3JvbmcKCjIwMDUtMDktMDEgMTc6NTU6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGRvY3MgdG8gYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICBhZGQgZG9jcyB0byBidWlsZAoJICAqIGNvbW1vbi9wbHVnaW5zLnhzbDoKCSAgd3JhcCBEZXNjcmlwdGlvbiBpbnRvIGEgcmVmc2VjdDIKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9nZXRfdHlwZSksIChnc3RfZ29vbV9iYXNlX2luaXQpLAoJICAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX2Rpc3Bvc2UpLAoJICAoZ3N0X2dvb21fc2lua19zZXRjYXBzKSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fZXZlbnQpLCAoZ3N0X2dvb21fY2hhaW4pLAoJICAoZ3N0X2dvb21fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIEdzdEdPT00gLT4gR3N0R29vbQoJICBhZGQgYW4gZXhhbXBsZSBsYXVuY2ggbGluZQoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGNsZWFudXBzCgoyMDA1LTA4LTMxIDE2OjI4OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9kdmRscGNtZGVjLy5naXRpZ25vcmU6CgkqIGdzdC9kdmRscGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkbHBjbWRlYy9nc3RkdmRscGNtZGVjLmM6CgkqIGdzdC9kdmRscGNtZGVjL2dzdGR2ZGxwY21kZWMuaDoKCSAgcmVtb3ZlIGR2ZGxwY21kZWMsIGl0J3MgZHZkIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZHZkbHBjbWRlYywgaXQncyBkdmQgc3R1ZmYKCjIwMDUtMDgtMzAgMTk6NDE6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgYWRkIHNvbWUgaTE4biBoZWFkZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBpMThuIGhlYWRlcnMKCjIwMDUtMDgtMzAgMTk6MjQ6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNS0wOC0zMCAxOToyNDowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFrZWZpbGUuYW0KCjIwMDUtMDgtMzAgMTk6MjA6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy91cGxvYWQubWFrOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkgIGNvbW1pdCBuZXcgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1pdCBuZXcgc3R1ZmYKCjIwMDUtMDgtMzAgMTk6MDE6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkgIGRvY3VtZW50IGVsZW1lbnRzIGFuZCBwbHVnaW5zLiAgU2hhemFtICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvY3VtZW50IGVsZW1lbnRzIGFuZCBwbHVnaW5zLiAgU2hhemFtICEKCjIwMDUtMDgtMzAgMTc6Mzc6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogQ09QWUlORzoKCSogUkVMRUFTRToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgc29tZSBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgZmlsZXMKCjIwMDEtMTItMTcgMTg6Mzc6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYnVpbGRpbmcgdXAgc3BlZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkaW5nIHVwIHNwZWVkCgo=